Merge Dev in Staging (#87)
This commit is contained in:
commit
2a03ed8958
@ -19,14 +19,6 @@ export default async function main() {
|
|||||||
try {
|
try {
|
||||||
const prisma = new PrismaClient();
|
const prisma = new PrismaClient();
|
||||||
|
|
||||||
const randomString = () => {
|
|
||||||
const chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
||||||
let result = "";
|
|
||||||
for (let i = 10; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
const idNot1 = "dlefvlef";
|
|
||||||
const idNot2 = "jelkvelknvlkn";
|
const idNot2 = "jelkvelknvlkn";
|
||||||
const idNot3 = "rleenrenlnr";
|
const idNot3 = "rleenrenlnr";
|
||||||
const idNot4 = "ljfeflecnmd";
|
const idNot4 = "ljfeflecnmd";
|
||||||
@ -35,9 +27,9 @@ export default async function main() {
|
|||||||
|
|
||||||
const addresses: Address[] = [
|
const addresses: Address[] = [
|
||||||
{
|
{
|
||||||
address: "148 Avenue du bac",
|
address: "template",
|
||||||
city: "Rennes",
|
city: "template",
|
||||||
zip_code: 35000,
|
zip_code: 0o00,
|
||||||
created_at: new Date(),
|
created_at: new Date(),
|
||||||
updated_at: new Date(),
|
updated_at: new Date(),
|
||||||
},
|
},
|
||||||
@ -421,9 +413,9 @@ export default async function main() {
|
|||||||
|
|
||||||
const offices: Office[] = [
|
const offices: Office[] = [
|
||||||
{
|
{
|
||||||
idNot: idNot1,
|
idNot: "0000",
|
||||||
name: "Office Rennes",
|
name: "Office Template",
|
||||||
crpcen: randomString(),
|
crpcen: "0000",
|
||||||
address: addresses[0],
|
address: addresses[0],
|
||||||
created_at: new Date(),
|
created_at: new Date(),
|
||||||
updated_at: new Date(),
|
updated_at: new Date(),
|
||||||
|
@ -84,9 +84,6 @@ export default class AuthService extends BaseService {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
public generateAccessToken(user: any): string {
|
public generateAccessToken(user: any): string {
|
||||||
console.log("date now", Date.now());
|
|
||||||
console.log("date local", new Date().toLocaleString())
|
|
||||||
console.log("date iso",new Date().toISOString());
|
|
||||||
return jwt.sign({ ...user}, this.variables.ACCESS_TOKEN_SECRET, { expiresIn: "15m" });
|
return jwt.sign({ ...user}, this.variables.ACCESS_TOKEN_SECRET, { expiresIn: "15m" });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,10 +4,13 @@ import { Service } from "typedi";
|
|||||||
import jwt from "jsonwebtoken";
|
import jwt from "jsonwebtoken";
|
||||||
import UsersService from "@Services/super-admin/UsersService/UsersService";
|
import UsersService from "@Services/super-admin/UsersService/UsersService";
|
||||||
import { IdNotJwtPayload } from "../AuthService/AuthService";
|
import { IdNotJwtPayload } from "../AuthService/AuthService";
|
||||||
import User, { Office, Role } from "le-coffre-resources/dist/SuperAdmin";
|
import User, { DeedType, Office, OfficeRole, Role, DocumentType } from "le-coffre-resources/dist/SuperAdmin";
|
||||||
import RolesService from "@Services/super-admin/RolesService/RolesService";
|
import RolesService from "@Services/super-admin/RolesService/RolesService";
|
||||||
import OfficesService from "@Services/super-admin/OfficesService/OfficesService";
|
import OfficesService from "@Services/super-admin/OfficesService/OfficesService";
|
||||||
import { EOfficeStatus } from "@prisma/client";
|
import { EOfficeStatus } from "@prisma/client";
|
||||||
|
import OfficeRolesService from "@Services/super-admin/OfficeRolesService/OfficeRolesService";
|
||||||
|
import DeedTypesService from "@Services/super-admin/DeedTypesService/DeedTypesService";
|
||||||
|
import DocumentTypesService from "@Services/super-admin/DocumentTypesService/DocumentTypesService";
|
||||||
|
|
||||||
interface IIdNotToken {
|
interface IIdNotToken {
|
||||||
access_token: string;
|
access_token: string;
|
||||||
@ -93,6 +96,7 @@ enum EIdnotRole {
|
|||||||
SUPPLEANT = "Suppléant",
|
SUPPLEANT = "Suppléant",
|
||||||
ADMINISTRATEUR = "Administrateur",
|
ADMINISTRATEUR = "Administrateur",
|
||||||
RESPONSABLE = "Responsable",
|
RESPONSABLE = "Responsable",
|
||||||
|
CURATEUR = "Curateur",
|
||||||
}
|
}
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
@ -102,6 +106,9 @@ export default class IdNotService extends BaseService {
|
|||||||
private userService: UsersService,
|
private userService: UsersService,
|
||||||
private officeService: OfficesService,
|
private officeService: OfficesService,
|
||||||
private rolesService: RolesService,
|
private rolesService: RolesService,
|
||||||
|
private officeRolesService: OfficeRolesService,
|
||||||
|
private deedTypesService: DeedTypesService,
|
||||||
|
private documentTypesService: DocumentTypesService,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@ -114,10 +121,8 @@ export default class IdNotService extends BaseService {
|
|||||||
code: code,
|
code: code,
|
||||||
grant_type: "authorization_code",
|
grant_type: "authorization_code",
|
||||||
});
|
});
|
||||||
console.log(query)
|
|
||||||
const token = await fetch(this.variables.IDNOT_BASE_URL + this.variables.IDNOT_CONNEXION_URL + "?" + query, { method: "POST" });
|
const token = await fetch(this.variables.IDNOT_BASE_URL + this.variables.IDNOT_CONNEXION_URL + "?" + query, { method: "POST" });
|
||||||
const decodedToken = (await token.json()) as IIdNotToken;
|
const decodedToken = (await token.json()) as IIdNotToken;
|
||||||
console.log(decodedToken)
|
|
||||||
const decodedIdToken = jwt.decode(decodedToken.id_token) as IdNotJwtPayload;
|
const decodedIdToken = jwt.decode(decodedToken.id_token) as IdNotJwtPayload;
|
||||||
|
|
||||||
return decodedIdToken;
|
return decodedIdToken;
|
||||||
@ -125,29 +130,46 @@ export default class IdNotService extends BaseService {
|
|||||||
|
|
||||||
public async getRole(roleName: string): Promise<Role> {
|
public async getRole(roleName: string): Promise<Role> {
|
||||||
switch (roleName) {
|
switch (roleName) {
|
||||||
case EIdnotRole.DIRECTEUR:
|
|
||||||
return (await this.rolesService.get({ where: { name: "admin" } }))[0]!;
|
|
||||||
case EIdnotRole.NOTAIRE_TITULAIRE:
|
case EIdnotRole.NOTAIRE_TITULAIRE:
|
||||||
return (await this.rolesService.get({ where: { name: "admin" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "admin" } }))[0]!;
|
||||||
case EIdnotRole.NOTAIRE_ASSOCIE:
|
case EIdnotRole.NOTAIRE_ASSOCIE:
|
||||||
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "admin" } }))[0]!;
|
||||||
case EIdnotRole.NOTAIRE_SALARIE:
|
case EIdnotRole.NOTAIRE_SALARIE:
|
||||||
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
||||||
case EIdnotRole.COLLABORATEUR:
|
case EIdnotRole.COLLABORATEUR:
|
||||||
return (await this.rolesService.get({ where: { name: "collaborator" } }))[0]!;
|
|
||||||
case EIdnotRole.SECRETAIRE_GENERAL:
|
|
||||||
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
||||||
case EIdnotRole.SUPPLEANT:
|
case EIdnotRole.SUPPLEANT:
|
||||||
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
||||||
case EIdnotRole.ADMINISTRATEUR:
|
case EIdnotRole.ADMINISTRATEUR:
|
||||||
return (await this.rolesService.get({ where: { name: "admin" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
||||||
case EIdnotRole.RESPONSABLE:
|
case EIdnotRole.CURATEUR:
|
||||||
return (await this.rolesService.get({ where: { name: "collaborator" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "notary" } }))[0]!;
|
||||||
default:
|
default:
|
||||||
return (await this.rolesService.get({ where: { name: "default" } }))[0]!;
|
return (await this.rolesService.get({ where: { name: "default" } }))[0]!;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async getOfficeRole(roleName: string, officeUid: string) {
|
||||||
|
switch (roleName) {
|
||||||
|
case EIdnotRole.NOTAIRE_TITULAIRE:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Notaire" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.NOTAIRE_ASSOCIE:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Notaire" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.NOTAIRE_SALARIE:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Notaire" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.COLLABORATEUR:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Collaborateur" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.SUPPLEANT:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Collaborateur" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.ADMINISTRATEUR:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Collaborateur" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
case EIdnotRole.CURATEUR:
|
||||||
|
return (await this.officeRolesService.get({ where: {AND:[{ name: "Collaborateur" }, {office_uid: officeUid}]}}))[0]!;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public getOfficeStatus(statusName: string) {
|
public getOfficeStatus(statusName: string) {
|
||||||
switch (statusName) {
|
switch (statusName) {
|
||||||
case "Pourvu":
|
case "Pourvu":
|
||||||
@ -253,7 +275,6 @@ export default class IdNotService extends BaseService {
|
|||||||
|
|
||||||
public async updateOffice(officeId: string) {
|
public async updateOffice(officeId: string) {
|
||||||
const officeInfos = await this.officeService.getByUid(officeId);
|
const officeInfos = await this.officeService.getByUid(officeId);
|
||||||
console.log(officeInfos)
|
|
||||||
const office = Office.hydrate<Office>(officeInfos!);
|
const office = Office.hydrate<Office>(officeInfos!);
|
||||||
const searchParams = new URLSearchParams({
|
const searchParams = new URLSearchParams({
|
||||||
key: this.variables.IDNOT_API_KEY,
|
key: this.variables.IDNOT_API_KEY,
|
||||||
@ -271,7 +292,6 @@ export default class IdNotService extends BaseService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const officeData = (await officeRawData.json()) as IOfficeData;
|
const officeData = (await officeRawData.json()) as IOfficeData;
|
||||||
console.log(officeData);
|
|
||||||
let updates = 0;
|
let updates = 0;
|
||||||
if(office.name !== officeData.denominationSociale) {
|
if(office.name !== officeData.denominationSociale) {
|
||||||
updates++;
|
updates++;
|
||||||
@ -342,8 +362,40 @@ export default class IdNotService extends BaseService {
|
|||||||
updated_at: null,
|
updated_at: null,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const userToHydrate = User.hydrate<User>(userToAdd);
|
let userHydrated = User.hydrate<User>(userToAdd);
|
||||||
return await this.userService.create(userToHydrate);
|
const user = await this.userService.create(userHydrated);
|
||||||
|
userHydrated = User.hydrate<User>(user);
|
||||||
|
|
||||||
|
const officeRoles = await this.officeRolesService.get({ where: { office: { idNot: "0000" }}, include: { office: true, rules: true } });
|
||||||
|
const documentTypes = await this.documentTypesService.get({ where: { office: { idNot: "0000" }}, include: { office: true } });
|
||||||
|
const deedTypes = await this.deedTypesService.get({ where:{ office: { idNot: "0000" }}, include: { office: true } });
|
||||||
|
|
||||||
|
const officeRolesHydrated = OfficeRole.hydrateArray<OfficeRole>(officeRoles);
|
||||||
|
const documentTypesHydrated = DocumentType.hydrateArray<DocumentType>(documentTypes);
|
||||||
|
const deedTypesHydrated = DeedType.hydrateArray<DeedType>(deedTypes);
|
||||||
|
|
||||||
|
officeRolesHydrated.forEach(async (officeRole) => {
|
||||||
|
officeRole.office.uid = user.office_uid;
|
||||||
|
await this.officeRolesService.create(officeRole);
|
||||||
|
});
|
||||||
|
documentTypesHydrated.forEach(async (documentType) => {
|
||||||
|
documentType.office!.uid = user.office_uid;
|
||||||
|
await this.documentTypesService.create(documentType);
|
||||||
|
});
|
||||||
|
deedTypesHydrated.forEach(async (deedType) => {
|
||||||
|
deedType.office!.uid = user.office_uid;
|
||||||
|
await this.deedTypesService.create(deedType);
|
||||||
|
});
|
||||||
|
|
||||||
|
const officeRole = await this.getOfficeRole(userData.typeLien.name, user.office_uid);
|
||||||
|
|
||||||
|
if(officeRole) {
|
||||||
|
const officeRoleHydrated = OfficeRole.hydrate<OfficeRole>(officeRole!);
|
||||||
|
userHydrated.office_role = officeRoleHydrated;
|
||||||
|
await this.userService.update(user.uid, userHydrated);
|
||||||
|
}
|
||||||
|
|
||||||
|
return user;
|
||||||
}
|
}
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user