refacto rules assignment in jwt
This commit is contained in:
parent
04871a0d10
commit
527a4fd837
@ -835,13 +835,6 @@ export default async function main() {
|
|||||||
];
|
];
|
||||||
|
|
||||||
const officeRoles: OfficeRole[] = [
|
const officeRoles: OfficeRole[] = [
|
||||||
{
|
|
||||||
name: "admin",
|
|
||||||
created_at: new Date(),
|
|
||||||
updated_at: new Date(),
|
|
||||||
office: offices[0]!,
|
|
||||||
rules: rules.slice(0, 40),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Notaire",
|
name: "Notaire",
|
||||||
created_at: new Date(),
|
created_at: new Date(),
|
||||||
|
@ -31,6 +31,7 @@ export default class RolesRepository extends BaseRepository {
|
|||||||
const createArgs: Prisma.RolesCreateArgs = {
|
const createArgs: Prisma.RolesCreateArgs = {
|
||||||
data: {
|
data: {
|
||||||
name: role.name,
|
name: role.name,
|
||||||
|
label: role.label,
|
||||||
rules: {
|
rules: {
|
||||||
connect: role.rules?.map((rule) => ({
|
connect: role.rules?.map((rule) => ({
|
||||||
uid: rule.uid!,
|
uid: rule.uid!,
|
||||||
@ -52,6 +53,7 @@ export default class RolesRepository extends BaseRepository {
|
|||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
name: role.name,
|
name: role.name,
|
||||||
|
label: role.label,
|
||||||
rules: {
|
rules: {
|
||||||
set: role.rules?.map((rule) => ({
|
set: role.rules?.map((rule) => ({
|
||||||
uid: rule.uid!,
|
uid: rule.uid!,
|
||||||
|
@ -31,6 +31,7 @@ export default class RulesRepository extends BaseRepository {
|
|||||||
const createArgs: Prisma.RulesCreateArgs = {
|
const createArgs: Prisma.RulesCreateArgs = {
|
||||||
data: {
|
data: {
|
||||||
name: rule.name,
|
name: rule.name,
|
||||||
|
label: rule.label
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ export default class RulesRepository extends BaseRepository {
|
|||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
name: rule.name,
|
name: rule.name,
|
||||||
|
label: rule.label
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ enum PROVIDER_OPENID {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface ICustomerJwtPayload {
|
interface ICustomerJwtPayload {
|
||||||
userId: string;
|
customerId: string;
|
||||||
email: string;
|
email: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ export default class AuthService extends BaseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
userId: customer.uid,
|
customerId: customer.uid,
|
||||||
email: contact.email,
|
email: contact.email,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -57,22 +57,19 @@ export default class AuthService extends BaseService {
|
|||||||
if (!user) return null;
|
if (!user) return null;
|
||||||
|
|
||||||
const rules: string[] = [];
|
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) => {
|
user.role.rules.forEach((rule) => {
|
||||||
rules.push(rule.name);
|
rules.push(rule.name);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (user.office_role) {
|
||||||
|
user.office_role.rules.forEach((rule) => {
|
||||||
|
if(!rules.includes(rule.name)) {
|
||||||
|
rules.push(rule.name);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
userId: user.uid,
|
userId: user.uid,
|
||||||
openId: { providerName: providerName, userId: user.idNot },
|
openId: { providerName: providerName, userId: user.idNot },
|
||||||
|
@ -95,6 +95,7 @@ export const initRules = (rule: Rule): Promise<Rules> => {
|
|||||||
return prisma.rules.create({
|
return prisma.rules.create({
|
||||||
data: {
|
data: {
|
||||||
name: rule.name,
|
name: rule.name,
|
||||||
|
label: rule.label,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -103,6 +104,7 @@ export const initRoles = (role: Role): Promise<Roles> => {
|
|||||||
return prisma.roles.create({
|
return prisma.roles.create({
|
||||||
data: {
|
data: {
|
||||||
name: role.name,
|
name: role.name,
|
||||||
|
label: role.label,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -154,6 +156,7 @@ export const initUsers = (user: User): Promise<Users> => {
|
|||||||
},
|
},
|
||||||
create: {
|
create: {
|
||||||
name: user.role!.name,
|
name: user.role!.name,
|
||||||
|
label: user.role!.label
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user