refacto rules assignment in jwt

This commit is contained in:
OxSaitama 2023-08-17 11:28:30 +02:00
parent 04871a0d10
commit 527a4fd837
5 changed files with 18 additions and 21 deletions

View File

@ -835,13 +835,6 @@ export default async function main() {
];
const officeRoles: OfficeRole[] = [
{
name: "admin",
created_at: new Date(),
updated_at: new Date(),
office: offices[0]!,
rules: rules.slice(0, 40),
},
{
name: "Notaire",
created_at: new Date(),

View File

@ -31,6 +31,7 @@ export default class RolesRepository extends BaseRepository {
const createArgs: Prisma.RolesCreateArgs = {
data: {
name: role.name,
label: role.label,
rules: {
connect: role.rules?.map((rule) => ({
uid: rule.uid!,
@ -52,6 +53,7 @@ export default class RolesRepository extends BaseRepository {
},
data: {
name: role.name,
label: role.label,
rules: {
set: role.rules?.map((rule) => ({
uid: rule.uid!,

View File

@ -31,6 +31,7 @@ export default class RulesRepository extends BaseRepository {
const createArgs: Prisma.RulesCreateArgs = {
data: {
name: rule.name,
label: rule.label
},
};
@ -47,6 +48,7 @@ export default class RulesRepository extends BaseRepository {
},
data: {
name: rule.name,
label: rule.label
},
};

View File

@ -12,7 +12,7 @@ enum PROVIDER_OPENID {
}
interface ICustomerJwtPayload {
userId: string;
customerId: string;
email: string;
}
@ -46,7 +46,7 @@ export default class AuthService extends BaseService {
}
return {
userId: customer.uid,
customerId: customer.uid,
email: contact.email,
};
}
@ -57,22 +57,19 @@ export default class AuthService extends BaseService {
if (!user) return null;
const rules: string[] = [];
if (user.office_role) {
user.office_role.rules.forEach((rule) => {
rules.push(rule.name);
});
return {
userId: user.uid,
openId: { providerName: providerName, userId: user.idNot },
office_Id: user.office_membership.uid,
role: user.role.name,
rules: rules,
};
}
user.role.rules.forEach((rule) => {
rules.push(rule.name);
});
if (user.office_role) {
user.office_role.rules.forEach((rule) => {
if(!rules.includes(rule.name)) {
rules.push(rule.name);
}
});
}
return {
userId: user.uid,
openId: { providerName: providerName, userId: user.idNot },

View File

@ -95,6 +95,7 @@ export const initRules = (rule: Rule): Promise<Rules> => {
return prisma.rules.create({
data: {
name: rule.name,
label: rule.label,
},
});
};
@ -103,6 +104,7 @@ export const initRoles = (role: Role): Promise<Roles> => {
return prisma.roles.create({
data: {
name: role.name,
label: role.label,
},
});
};
@ -154,6 +156,7 @@ export const initUsers = (user: User): Promise<Users> => {
},
create: {
name: user.role!.name,
label: user.role!.label
},
},
},