fix(userModuleAccess): small return fixes
This commit is contained in:
parent
42060ad9b4
commit
f499abbb78
|
|
@ -1,6 +1,5 @@
|
||||||
import { DisplayLanguage, PreferencesDto } from "../dtos/preferences.dto";
|
import { DisplayLanguage, PreferencesDto } from "../dtos/preferences.dto";
|
||||||
import { PrismaService } from "src/prisma/prisma.service";
|
import { PrismaService } from "src/prisma/prisma.service";
|
||||||
import { Preferences } from "@prisma/client";
|
|
||||||
import { Injectable } from "@nestjs/common";
|
import { Injectable } from "@nestjs/common";
|
||||||
import { Result } from "src/common/errors/result-error.factory";
|
import { Result } from "src/common/errors/result-error.factory";
|
||||||
import { EmailToIdResolver } from "src/common/mappers/email-id.mapper";
|
import { EmailToIdResolver } from "src/common/mappers/email-id.mapper";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ export class ModuleAccess {
|
||||||
@IsBoolean() timesheets_approval!: boolean;
|
@IsBoolean() timesheets_approval!: boolean;
|
||||||
@IsBoolean() employee_list!: boolean;
|
@IsBoolean() employee_list!: boolean;
|
||||||
@IsBoolean() employee_management!: boolean;
|
@IsBoolean() employee_management!: boolean;
|
||||||
@IsBoolean() personnal_profile!: boolean;
|
@IsBoolean() personal_profile!: boolean;
|
||||||
@IsBoolean() dashboard!: boolean;
|
@IsBoolean() dashboard!: boolean;
|
||||||
}
|
}
|
||||||
|
|
@ -34,7 +34,7 @@ export class AccessGetService {
|
||||||
timesheets_approval: access.timesheets_approval,
|
timesheets_approval: access.timesheets_approval,
|
||||||
employee_list: access.employee_list,
|
employee_list: access.employee_list,
|
||||||
employee_management: access.employee_management,
|
employee_management: access.employee_management,
|
||||||
personnal_profile: access.personal_profile,
|
personal_profile: access.personal_profile,
|
||||||
dashboard: access.dashboard,
|
dashboard: access.dashboard,
|
||||||
};
|
};
|
||||||
return { success: true, data: granted_access }
|
return { success: true, data: granted_access }
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export class AccessUpdateService {
|
||||||
private readonly emailResolver: EmailToIdResolver,
|
private readonly emailResolver: EmailToIdResolver,
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
async updateModuleAccess(email: string, dto: ModuleAccess, employee_email?: string): Promise<Result<boolean, string>> {
|
async updateModuleAccess(email: string, dto: ModuleAccess, employee_email?: string): Promise<Result<ModuleAccess, string>> {
|
||||||
const account_email = employee_email ?? email;
|
const account_email = employee_email ?? email;
|
||||||
const user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
const user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
||||||
if (!user_id.success) return { success: false, error: 'EMPLOYEE_NOT_FOUND' };
|
if (!user_id.success) return { success: false, error: 'EMPLOYEE_NOT_FOUND' };
|
||||||
|
|
@ -30,21 +30,29 @@ export class AccessUpdateService {
|
||||||
});
|
});
|
||||||
if (!orignal_access) return { success: false, error: 'MODULE_ACCESS_NOT_FOUND' };
|
if (!orignal_access) return { success: false, error: 'MODULE_ACCESS_NOT_FOUND' };
|
||||||
|
|
||||||
await this.prisma.userModuleAccess.update({
|
const updated_access:ModuleAccess = await this.prisma.userModuleAccess.update({
|
||||||
where: { id: orignal_access.id },
|
where: { id: orignal_access.id },
|
||||||
data: {
|
data: {
|
||||||
timesheets: dto.timesheets,
|
timesheets: dto.timesheets,
|
||||||
timesheets_approval: dto.timesheets_approval,
|
timesheets_approval: dto.timesheets_approval,
|
||||||
employee_list: dto.employee_list,
|
employee_list: dto.employee_list,
|
||||||
employee_management: dto.employee_management,
|
employee_management: dto.employee_management,
|
||||||
personal_profile: dto.personnal_profile,
|
personal_profile: dto.personal_profile,
|
||||||
dashboard: dto.dashboard,
|
dashboard: dto.dashboard,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
timesheets: true,
|
||||||
|
timesheets_approval: true,
|
||||||
|
employee_list: true,
|
||||||
|
employee_management: true,
|
||||||
|
personal_profile: true,
|
||||||
|
dashboard: true,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return { success: true, data: true };
|
return { success: true, data: updated_access };
|
||||||
}
|
}
|
||||||
|
|
||||||
async revokeModuleAccess(email: string, employee_email?: string): Promise<Result<boolean, string>> {
|
async revokeModuleAccess(email: string, employee_email?: string): Promise<Result<ModuleAccess, string>> {
|
||||||
const account_email = employee_email ?? email;
|
const account_email = employee_email ?? email;
|
||||||
const user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
const user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
||||||
if (!user_id.success) return { success: false, error: 'EMPLOYEE_NOT_FOUND' };
|
if (!user_id.success) return { success: false, error: 'EMPLOYEE_NOT_FOUND' };
|
||||||
|
|
@ -55,7 +63,7 @@ export class AccessUpdateService {
|
||||||
});
|
});
|
||||||
if (!access) return { success: false, error: 'MODULE_ACCESS_NOT_FOUND' };
|
if (!access) return { success: false, error: 'MODULE_ACCESS_NOT_FOUND' };
|
||||||
|
|
||||||
await this.prisma.userModuleAccess.update({
|
const revoked_access: ModuleAccess = await this.prisma.userModuleAccess.update({
|
||||||
where: { id: access.id },
|
where: { id: access.id },
|
||||||
data: {
|
data: {
|
||||||
timesheets: false,
|
timesheets: false,
|
||||||
|
|
@ -63,10 +71,18 @@ export class AccessUpdateService {
|
||||||
employee_list: false,
|
employee_list: false,
|
||||||
employee_management: false,
|
employee_management: false,
|
||||||
personal_profile: false,
|
personal_profile: false,
|
||||||
dashboard: true,
|
dashboard: false,
|
||||||
},
|
},
|
||||||
|
select: {
|
||||||
|
timesheets: true,
|
||||||
|
timesheets_approval: true,
|
||||||
|
employee_list: true,
|
||||||
|
employee_management: true,
|
||||||
|
personal_profile: true,
|
||||||
|
dashboard: true,
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return { success: true, data: true };
|
return { success: true, data: revoked_access };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user