fix report & comment reset pass
This commit is contained in:
parent
0be55a03a9
commit
db9875a84b
3 changed files with 128 additions and 138 deletions
|
|
@ -174,13 +174,13 @@ export class ReportController extends Controller {
|
|||
async registryOfficer(
|
||||
@Query() node?: number,
|
||||
@Query() nodeId?: string,
|
||||
@Query() posTypeName?: string,
|
||||
@Query() posLevelName?: string,
|
||||
@Query() posType?: string,
|
||||
@Query() posLevel?: string,
|
||||
@Query() position?: string,
|
||||
@Query() posExecutiveName?: string,
|
||||
@Query() gender?: string,
|
||||
@Query() relationship?: string,
|
||||
@Query() degree?: string,
|
||||
@Query() status?: string,
|
||||
@Query() education?: string,
|
||||
@Query() startDateAppoint?: Date,
|
||||
@Query() endDateAppoint?: Date,
|
||||
@Query() ageMin?: number,
|
||||
|
|
@ -251,58 +251,60 @@ export class ReportController extends Controller {
|
|||
})
|
||||
.andWhere(IsLeavecondition.join(" AND "), parameters)
|
||||
.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.orWhere(
|
||||
posTypeName != null && posTypeName != ""
|
||||
? "registryOfficer.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
{
|
||||
posTypeName: `%${posTypeName}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
posLevelName != null && posLevelName != ""
|
||||
? "registryOfficer.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevelName}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
position != null && position != "" ? "registryOfficer.position LIKE :position" : "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
posExecutiveName != null && posExecutiveName != ""
|
||||
? "registryOfficer.posExecutiveName LIKE :posExecutiveName"
|
||||
: "1=1",
|
||||
{
|
||||
posExecutiveName: `%${posExecutiveName}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
gender != null && gender != "" ? "registryOfficer.gender LIKE :gender" : "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
relationship != null && relationship != ""
|
||||
? "registryOfficer.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
{
|
||||
relationship: `%${relationship}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
degree != null && degree != "" ? "registryOfficer.degree LIKE :degree" : "1=1",
|
||||
{
|
||||
degree: `%${degree}%`,
|
||||
},
|
||||
);
|
||||
}),
|
||||
posType != null && posType != ""
|
||||
? "registryOfficer.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
{
|
||||
posTypeName: `%${posType}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryOfficer.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevel}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
position != null && position != ""
|
||||
? "registryOfficer.position LIKE :position"
|
||||
: "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
posExecutiveName != null && posExecutiveName != ""
|
||||
? "registryOfficer.posExecutiveName LIKE :posExecutiveName"
|
||||
: "1=1",
|
||||
{
|
||||
posExecutiveName: `%${posExecutiveName}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
gender != null && gender != ""
|
||||
? "registryOfficer.gender LIKE :gender"
|
||||
: "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
status != null && status != ""
|
||||
? "registryOfficer.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
{
|
||||
relationship: `%${status}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
education != null && education != ""
|
||||
? "registryOfficer.degree LIKE :degree"
|
||||
: "1=1",
|
||||
{
|
||||
degree: `%${education}%`,
|
||||
}
|
||||
)
|
||||
.orderBy(`registryOfficer.${sortBy}`, sort)
|
||||
.getManyAndCount();
|
||||
|
|
@ -469,12 +471,12 @@ export class ReportController extends Controller {
|
|||
async registryEmployee(
|
||||
@Query() node?: number,
|
||||
@Query() nodeId?: string,
|
||||
@Query() posTypeName?: string,
|
||||
@Query() posLevelName?: string,
|
||||
@Query() posType?: string,
|
||||
@Query() posLevel?: string,
|
||||
@Query() position?: string,
|
||||
@Query() gender?: string,
|
||||
@Query() relationship?: string,
|
||||
@Query() degree?: string,
|
||||
@Query() status?: string,
|
||||
@Query() education?: string,
|
||||
@Query() startDateAppoint?: Date,
|
||||
@Query() endDateAppoint?: Date,
|
||||
@Query() isProbation?: boolean,
|
||||
|
|
@ -545,50 +547,52 @@ export class ReportController extends Controller {
|
|||
.andWhere(IsLeavecondition.join(" AND "), parameters)
|
||||
.andWhere("registryEmployee.employeeClass = 'PERM'")
|
||||
.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.orWhere(
|
||||
posTypeName != null && posTypeName != ""
|
||||
? "registryEmployee.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
{
|
||||
posTypeName: `%${posTypeName}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
posLevelName != null && posLevelName != ""
|
||||
? "registryEmployee.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevelName}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
position != null && position != "" ? "registryEmployee.position LIKE :position" : "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
gender != null && gender != "" ? "registryEmployee.gender LIKE :gender" : "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
relationship != null && relationship != ""
|
||||
? "registryEmployee.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
{
|
||||
relationship: `%${relationship}%`,
|
||||
},
|
||||
);
|
||||
qb.orWhere(
|
||||
degree != null && degree != "" ? "registryEmployee.degree LIKE :degree" : "1=1",
|
||||
{
|
||||
degree: `%${degree}%`,
|
||||
},
|
||||
);
|
||||
}),
|
||||
posType != null && posType != ""
|
||||
? "registryOfficer.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
{
|
||||
posTypeName: `%${posType}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryOfficer.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevel}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
position != null && position != ""
|
||||
? "registryOfficer.position LIKE :position"
|
||||
: "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
gender != null && gender != ""
|
||||
? "registryOfficer.gender LIKE :gender"
|
||||
: "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
status != null && status != ""
|
||||
? "registryOfficer.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
{
|
||||
relationship: `%${status}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
education != null && education != ""
|
||||
? "registryOfficer.degree LIKE :degree"
|
||||
: "1=1",
|
||||
{
|
||||
degree: `%${education}%`,
|
||||
}
|
||||
)
|
||||
.orderBy(`registryEmployee.${sortBy}`, sort)
|
||||
.getManyAndCount();
|
||||
|
|
|
|||
|
|
@ -830,18 +830,4 @@ export class KeycloakController extends Controller {
|
|||
return result;
|
||||
}
|
||||
|
||||
@Post("user/reset-password")
|
||||
async forgetPassword(
|
||||
@Request() request: { user: { sub: string; preferred_username: string } },
|
||||
@Body()
|
||||
body: {
|
||||
username: string;
|
||||
},
|
||||
) {
|
||||
const result = await resetPassword(body.username);
|
||||
if (!result) {
|
||||
throw new Error("Failed. Cannot change password.");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -767,26 +767,26 @@ export async function changeUserPassword(userId: string, newPassword: string) {
|
|||
// Function to reset password
|
||||
export async function resetPassword(username: string) {
|
||||
try {
|
||||
if (!API_KEY || !AUTH_ACCOUNT_SECRET) {
|
||||
throw new Error("KC_CLIENT_ID and KC_SECRET are required to used this feature.");
|
||||
}
|
||||
const body = new URLSearchParams();
|
||||
body.append("client_id", "gettoken");
|
||||
body.append("client_secret", AUTH_ACCOUNT_SECRET?.toString());
|
||||
body.append("grant_type", "client_credentials");
|
||||
const tokenResponse = await fetch(`${process.env.KC_URL}/realms/${process.env.KC_REALMS}/protocol/openid-connect/token`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
api_key: API_KEY,
|
||||
},
|
||||
body: body
|
||||
});
|
||||
if (!tokenResponse.ok) {
|
||||
throw new Error("Failed to get admin token");
|
||||
}
|
||||
const tokenData = await tokenResponse.json();
|
||||
const adminToken = tokenData.access_token;
|
||||
// if (!API_KEY || !AUTH_ACCOUNT_SECRET) {
|
||||
// throw new Error("KC_CLIENT_ID and KC_SECRET are required to used this feature.");
|
||||
// }
|
||||
// const body = new URLSearchParams();
|
||||
// body.append("client_id", "gettoken");
|
||||
// body.append("client_secret", AUTH_ACCOUNT_SECRET?.toString());
|
||||
// body.append("grant_type", "client_credentials");
|
||||
// const tokenResponse = await fetch(`${process.env.KC_URL}/realms/${process.env.KC_REALMS}/protocol/openid-connect/token`, {
|
||||
// method: "POST",
|
||||
// headers: {
|
||||
// "Content-Type": "application/x-www-form-urlencoded",
|
||||
// api_key: API_KEY,
|
||||
// },
|
||||
// body: body
|
||||
// });
|
||||
// if (!tokenResponse.ok) {
|
||||
// throw new Error("Failed to get admin token");
|
||||
// }
|
||||
// const tokenData = await tokenResponse.json();
|
||||
// const adminToken = tokenData.access_token;
|
||||
|
||||
const users = await fetch(`${KC_URL}/admin/realms/${KC_REALMS}/users?email=${encodeURIComponent(username)}`, {
|
||||
headers: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue