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 { PrismaService } from "src/prisma/prisma.service";
|
||||
import { Preferences } from "@prisma/client";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Result } from "src/common/errors/result-error.factory";
|
||||
import { EmailToIdResolver } from "src/common/mappers/email-id.mapper";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ export class ModuleAccess {
|
|||
@IsBoolean() timesheets_approval!: boolean;
|
||||
@IsBoolean() employee_list!: boolean;
|
||||
@IsBoolean() employee_management!: boolean;
|
||||
@IsBoolean() personnal_profile!: boolean;
|
||||
@IsBoolean() personal_profile!: boolean;
|
||||
@IsBoolean() dashboard!: boolean;
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ export class AccessGetService {
|
|||
timesheets_approval: access.timesheets_approval,
|
||||
employee_list: access.employee_list,
|
||||
employee_management: access.employee_management,
|
||||
personnal_profile: access.personal_profile,
|
||||
personal_profile: access.personal_profile,
|
||||
dashboard: access.dashboard,
|
||||
};
|
||||
return { success: true, data: granted_access }
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ export class AccessUpdateService {
|
|||
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 user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
||||
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' };
|
||||
|
||||
await this.prisma.userModuleAccess.update({
|
||||
const updated_access:ModuleAccess = await this.prisma.userModuleAccess.update({
|
||||
where: { id: orignal_access.id },
|
||||
data: {
|
||||
timesheets: dto.timesheets,
|
||||
timesheets_approval: dto.timesheets_approval,
|
||||
employee_list: dto.employee_list,
|
||||
employee_management: dto.employee_management,
|
||||
personal_profile: dto.personnal_profile,
|
||||
personal_profile: dto.personal_profile,
|
||||
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 user_id = await this.emailResolver.resolveUserIdWithEmail(account_email);
|
||||
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' };
|
||||
|
||||
await this.prisma.userModuleAccess.update({
|
||||
const revoked_access: ModuleAccess = await this.prisma.userModuleAccess.update({
|
||||
where: { id: access.id },
|
||||
data: {
|
||||
timesheets: false,
|
||||
|
|
@ -63,10 +71,18 @@ export class AccessUpdateService {
|
|||
employee_list: false,
|
||||
employee_management: 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