add role and rules label

This commit is contained in:
OxSaitama 2023-08-16 16:27:52 +02:00
parent 78fe4c0e55
commit 232633fc93
9 changed files with 73 additions and 84 deletions

4
package-lock.json generated
View File

@ -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",

View File

@ -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",

View File

@ -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;

View File

@ -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")

View File

@ -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!,

View File

@ -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: {

View File

@ -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";

View File

@ -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";

View File

@ -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