add role and rules label
This commit is contained in:
parent
78fe4c0e55
commit
232633fc93
4
package-lock.json
generated
4
package-lock.json
generated
@ -19,7 +19,7 @@
|
||||
"cron": "^2.3.1",
|
||||
"express": "^4.18.2",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.67",
|
||||
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.68",
|
||||
"module-alias": "^2.2.2",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"next": "^13.1.5",
|
||||
@ -4030,7 +4030,7 @@
|
||||
}
|
||||
},
|
||||
"node_modules/le-coffre-resources": {
|
||||
"resolved": "git+ssh://git@github.com/smart-chain-fr/leCoffre-resources.git#e0b1ff55a860f624b7708d37f5bfe3072ef63e5f",
|
||||
"resolved": "git+ssh://git@github.com/smart-chain-fr/leCoffre-resources.git#ad0660abcb9de6ee7f396dce9b25fa7731a8e3b8",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"class-transformer": "^0.5.1",
|
||||
|
@ -52,7 +52,7 @@
|
||||
"cron": "^2.3.1",
|
||||
"express": "^4.18.2",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.67",
|
||||
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.68",
|
||||
"module-alias": "^2.2.2",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"next": "^13.1.5",
|
||||
|
@ -0,0 +1,12 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `label` to the `roles` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `label` to the `rules` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "roles" ADD COLUMN "label" VARCHAR(255) NOT NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "rules" ADD COLUMN "label" VARCHAR(255) NOT NULL;
|
@ -241,6 +241,7 @@ model DeedTypes {
|
||||
model Roles {
|
||||
uid String @id @unique @default(uuid())
|
||||
name String @db.VarChar(255)
|
||||
label String @db.VarChar(255)
|
||||
created_at DateTime? @default(now())
|
||||
updated_at DateTime? @updatedAt
|
||||
rules Rules[] @relation("RolesHasRules")
|
||||
@ -265,6 +266,7 @@ model OfficeRoles {
|
||||
model Rules {
|
||||
uid String @id @unique @default(uuid())
|
||||
name String @db.VarChar(255)
|
||||
label String @db.VarChar(255)
|
||||
created_at DateTime? @default(now())
|
||||
updated_at DateTime? @updatedAt
|
||||
role Roles[] @relation("RolesHasRules")
|
||||
|
@ -515,301 +515,289 @@ export default async function main() {
|
||||
const rules: Rule[] = [
|
||||
{
|
||||
name: "GET users",
|
||||
label: "Lecture des utilisateurs",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET offices",
|
||||
label: "Lecture des offices",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET customers",
|
||||
label: "Lecture des clients",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET deeds",
|
||||
label: "Lecture des actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET deed-types",
|
||||
label: "Lecture des types d'actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET documents",
|
||||
label: "Lecture des documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET document-types",
|
||||
label: "Lecture des types de documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET files",
|
||||
label: "Lecture des fichiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET folders",
|
||||
label: "Lecture des dossiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET roles",
|
||||
label: "Lecture utilisateurs",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET rules",
|
||||
label: "Lecture des droits",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "GET office-roles",
|
||||
label: "Lecture des rôles d'office",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT users",
|
||||
label: "Modification des utilisateurs",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT offices",
|
||||
label: "Modification des offices",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT customers",
|
||||
label: "Modification des clients",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT deeds",
|
||||
label: "Modification des actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT deed-types",
|
||||
label: "Modification des types d'actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT documents",
|
||||
label: "Modification des documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT document-types",
|
||||
label: "Modification des types de documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT files",
|
||||
label: "Modification des fichiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT folders",
|
||||
label: "Modification des dossiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT roles",
|
||||
label: "Modification des rôles",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT rules",
|
||||
label: "Modification des droits",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "PUT office-roles",
|
||||
label: "Modification des rôles d'office",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST users",
|
||||
label: "Création des utilisateurs",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST offices",
|
||||
label: "Création des offices",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST customers",
|
||||
label: "Création des clients",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST deeds",
|
||||
label: "Création des actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST deed-types",
|
||||
label: "Création des types d'actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST documents",
|
||||
label: "Création des documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST document-types",
|
||||
label: "Création des types de documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST files",
|
||||
label: "Création des fichiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST folders",
|
||||
label: "Création des dossiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST roles",
|
||||
label: "Création des rôles",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST rules",
|
||||
label: "Création des droits",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST office-roles",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST users",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST offices",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST customers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST deeds",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST deed-types",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST document-types",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST files",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST folders",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST roles",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST rules",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "POST office-roles",
|
||||
label: "Création des rôles d'office",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE users",
|
||||
label: "Suppression des utilisateurs",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE offices",
|
||||
label: "Suppression des offices",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE customers",
|
||||
label: "Suppression des clients",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE deeds",
|
||||
label: "Suppression des actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE deed-types",
|
||||
label: "Suppression des types d'actes",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE documents",
|
||||
label: "Suppression des documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE document-types",
|
||||
label: "Suppression des types de documents",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE files",
|
||||
label: "Suppression des fichiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE folders",
|
||||
label: "Suppression des dossiers",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE roles",
|
||||
label: "Suppression des rôles",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE rules",
|
||||
label: "Suppression des droits",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
{
|
||||
name: "DELETE office-roles",
|
||||
label: "Suppression des rôles d'office",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
},
|
||||
@ -818,24 +806,28 @@ export default async function main() {
|
||||
const roles: Role[] = [
|
||||
{
|
||||
name: "super-admin",
|
||||
label: "Super administrateur",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
rules: rules,
|
||||
},
|
||||
{
|
||||
name: "admin",
|
||||
label: "Administrateur",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
rules: rules.slice(0, 33),
|
||||
},
|
||||
{
|
||||
name: "notary",
|
||||
label: "Notaire",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
rules: rules.slice(0, 22),
|
||||
},
|
||||
{
|
||||
name: "default",
|
||||
label: "Utilisateur",
|
||||
created_at: new Date(),
|
||||
updated_at: new Date(),
|
||||
rules: rules.slice(0, 11),
|
||||
@ -1381,6 +1373,7 @@ export default async function main() {
|
||||
const ruleCreated = await prisma.rules.create({
|
||||
data: {
|
||||
name: rule.name,
|
||||
label: rule.label,
|
||||
},
|
||||
});
|
||||
rule.uid = ruleCreated.uid;
|
||||
@ -1390,6 +1383,7 @@ export default async function main() {
|
||||
const roleCreated = await prisma.roles.create({
|
||||
data: {
|
||||
name: role.name,
|
||||
label: role.label,
|
||||
rules: {
|
||||
connect: role.rules?.map((rule) => ({
|
||||
uid: rule.uid!,
|
||||
|
@ -87,6 +87,7 @@ export default class UsersRepository extends BaseRepository {
|
||||
/**
|
||||
* @description : Update data from a user
|
||||
*/
|
||||
|
||||
public async update(uid: string, user: User): Promise<Users> {
|
||||
const updateArgs: Prisma.UsersUpdateArgs = {
|
||||
where: {
|
||||
|
@ -1,5 +1,4 @@
|
||||
import BaseService from "@Services/BaseService";
|
||||
import "reflect-metadata";
|
||||
import { Service } from "typedi";
|
||||
import RolesRepository from "@Repositories/RolesRepository";
|
||||
import { Prisma } from "@prisma/client";
|
||||
|
@ -1,5 +1,4 @@
|
||||
import BaseService from "@Services/BaseService";
|
||||
import "reflect-metadata";
|
||||
import { Service } from "typedi";
|
||||
import RulesRepository from "@Repositories/RulesRepository";
|
||||
import { Prisma } from "@prisma/client";
|
||||
|
@ -1,9 +1,7 @@
|
||||
import BaseService from "@Services/BaseService";
|
||||
import "reflect-metadata";
|
||||
import { Service } from "typedi";
|
||||
import UsersRepository from "@Repositories/UsersRepository";
|
||||
import User from "le-coffre-resources/dist/Notary";
|
||||
import { Prisma, Users } from "@prisma/client";
|
||||
import { Prisma } from "@prisma/client";
|
||||
|
||||
@Service()
|
||||
export default class UsersService extends BaseService {
|
||||
@ -19,22 +17,6 @@ export default class UsersService extends BaseService {
|
||||
return this.userRepository.findMany(query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Create a user
|
||||
* @throws {Error} If user couldn't be created
|
||||
*/
|
||||
public create(userEntity: User): Promise<Users> {
|
||||
return this.userRepository.create(userEntity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Modify a user
|
||||
* @throws {Error} If user modification failed
|
||||
*/
|
||||
public update(uid: string, userEntity: User): Promise<Users> {
|
||||
return this.userRepository.update(uid, userEntity);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Get a user by uid
|
||||
* @throws {Error} If user cannot be get by uid
|
||||
|
Loading…
x
Reference in New Issue
Block a user