Merge branch 'preprod'
This commit is contained in:
commit
c23dc6eff6
@ -59,7 +59,7 @@
|
|||||||
"file-type-checker": "^1.0.8",
|
"file-type-checker": "^1.0.8",
|
||||||
"fp-ts": "^2.16.1",
|
"fp-ts": "^2.16.1",
|
||||||
"jsonwebtoken": "^9.0.0",
|
"jsonwebtoken": "^9.0.0",
|
||||||
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.160",
|
"le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.167",
|
||||||
"module-alias": "^2.2.2",
|
"module-alias": "^2.2.2",
|
||||||
"monocle-ts": "^2.3.13",
|
"monocle-ts": "^2.3.13",
|
||||||
"multer": "^1.4.5-lts.1",
|
"multer": "^1.4.5-lts.1",
|
||||||
|
@ -4,16 +4,16 @@ import ApiController from "@Common/system/controller-pattern/ApiController";
|
|||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
import DocumentsNotaryService from "@Services/notary/DocumentsNotaryService/DocumentsNotaryService";
|
import DocumentsNotaryService from "@Services/notary/DocumentsNotaryService/DocumentsNotaryService";
|
||||||
import { Prisma } from "@prisma/client";
|
import { Prisma } from "@prisma/client";
|
||||||
import { DocumentNotary } from "le-coffre-resources/dist/Notary";
|
|
||||||
import authHandler from "@App/middlewares/AuthHandler";
|
import authHandler from "@App/middlewares/AuthHandler";
|
||||||
|
import DocumentNotary from "le-coffre-resources/dist/Notary/DocumentNotary";
|
||||||
|
|
||||||
// import NotificationBuilder from "@Common/notifications/NotificationBuilder";
|
// import NotificationBuilder from "@Common/notifications/NotificationBuilder";
|
||||||
|
|
||||||
@Controller()
|
@Controller()
|
||||||
@Service()
|
@Service()
|
||||||
export default class DocumentsNotaryController extends ApiController {
|
export default class DocumentsNotaryController extends ApiController {
|
||||||
constructor(
|
constructor(private documentsNotaryService: DocumentsNotaryService) {
|
||||||
private documentsNotaryService: DocumentsNotaryService,
|
|
||||||
) {
|
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
54
src/app/api/customer/FilesNotaryController.ts
Normal file
54
src/app/api/customer/FilesNotaryController.ts
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import authHandler from "@App/middlewares/AuthHandler";
|
||||||
|
import ApiController from "@Common/system/controller-pattern/ApiController";
|
||||||
|
import { Controller, Get } from "@ControllerPattern/index";
|
||||||
|
import { EDocumentNotaryStatus } from "@prisma/client";
|
||||||
|
import FilesNotaryService from "@Services/common/FilesNotaryService/FilesNotaryService";
|
||||||
|
import DocumentsNotaryService from "@Services/notary/DocumentsNotaryService/DocumentsNotaryService";
|
||||||
|
import { Request, Response } from "express";
|
||||||
|
import { Service } from "typedi";
|
||||||
|
|
||||||
|
@Controller()
|
||||||
|
@Service()
|
||||||
|
export default class FilesNotaryController extends ApiController {
|
||||||
|
constructor(private filesNotaryService: FilesNotaryService, private documentsNotaryService: DocumentsNotaryService) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Get a specific File by uid
|
||||||
|
*/
|
||||||
|
@Get("/api/v1/customer/files-notary/:filesNotaryUid/documents-notary/:documentsNotaryUid/download", [authHandler])
|
||||||
|
protected async download(req: Request, response: Response) {
|
||||||
|
const filesNotaryUid = req.params["filesNotaryUid"];
|
||||||
|
const documentsNotaryUid = req.params["documentsNotaryUid"];
|
||||||
|
|
||||||
|
if (!filesNotaryUid) {
|
||||||
|
this.httpBadRequest(response, "filesNotaryUid not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!documentsNotaryUid) {
|
||||||
|
this.httpBadRequest(response, "documentsNotaryUid not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const fileInfo = await this.filesNotaryService.download(filesNotaryUid);
|
||||||
|
|
||||||
|
if (!fileInfo) {
|
||||||
|
this.httpNotFoundRequest(response, "file not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setHeader("Content-Type", fileInfo.file.mimetype);
|
||||||
|
response.setHeader("Content-Disposition", `inline; filename=${encodeURIComponent(fileInfo.file.file_name)}`);
|
||||||
|
|
||||||
|
await this.documentsNotaryService.changeStatus(documentsNotaryUid, EDocumentNotaryStatus.DOWNLOADED);
|
||||||
|
|
||||||
|
this.httpSuccess(response, fileInfo.buffer);
|
||||||
|
} catch (error) {
|
||||||
|
this.httpInternalError(response, error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -90,6 +90,7 @@ export default class OfficeFoldersController extends ApiController {
|
|||||||
const sortedHashes = [...folderHashes].sort();
|
const sortedHashes = [...folderHashes].sort();
|
||||||
const anchoringProof = await this.secureService.download(sortedHashes, officeFolder.office!.name);
|
const anchoringProof = await this.secureService.download(sortedHashes, officeFolder.office!.name);
|
||||||
|
|
||||||
|
|
||||||
const addFileToZip =
|
const addFileToZip =
|
||||||
(zip: Zip) =>
|
(zip: Zip) =>
|
||||||
(uid: string): Promise<void> =>
|
(uid: string): Promise<void> =>
|
||||||
|
@ -57,7 +57,9 @@ import NotesController from "./api/customer/NotesController";
|
|||||||
import MailchimpController from "./api/notary/MailchimpController";
|
import MailchimpController from "./api/notary/MailchimpController";
|
||||||
import DocumentsReminderController from "./api/notary/DocumentsReminderController";
|
import DocumentsReminderController from "./api/notary/DocumentsReminderController";
|
||||||
import DocumentsNotaryController from "./api/notary/DocumentsNotaryController";
|
import DocumentsNotaryController from "./api/notary/DocumentsNotaryController";
|
||||||
|
import DocumentsNotaryControllerCustomer from "./api/customer/DocumentsNotaryController";
|
||||||
import FilesNotaryController from "./api/notary/FilesNotaryController";
|
import FilesNotaryController from "./api/notary/FilesNotaryController";
|
||||||
|
import FilesNotaryControllerCustomer from "./api/customer/FilesNotaryController";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description This allow to declare all controllers used in the application
|
* @description This allow to declare all controllers used in the application
|
||||||
@ -124,5 +126,7 @@ export default {
|
|||||||
Container.get(DocumentsReminderController);
|
Container.get(DocumentsReminderController);
|
||||||
Container.get(DocumentsNotaryController);
|
Container.get(DocumentsNotaryController);
|
||||||
Container.get(FilesNotaryController);
|
Container.get(FilesNotaryController);
|
||||||
|
Container.get(DocumentsNotaryControllerCustomer);
|
||||||
|
Container.get(FilesNotaryControllerCustomer);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
-- CreateEnum
|
||||||
|
CREATE TYPE "EDocumentNotaryStatus" AS ENUM ('SENT', 'DOWNLOADED');
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "documents_notary" ADD COLUMN "document_status" "EDocumentNotaryStatus" NOT NULL DEFAULT 'SENT';
|
@ -227,17 +227,18 @@ model Documents {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model DocumentsNotary {
|
model DocumentsNotary {
|
||||||
uid String @id @unique @default(uuid())
|
uid String @id @unique @default(uuid())
|
||||||
folder OfficeFolders @relation(fields: [folder_uid], references: [uid])
|
folder OfficeFolders @relation(fields: [folder_uid], references: [uid])
|
||||||
folder_uid String @db.VarChar(255)
|
folder_uid String @db.VarChar(255)
|
||||||
depositor Users @relation(fields: [depositor_uid], references: [uid], onDelete: Cascade)
|
depositor Users @relation(fields: [depositor_uid], references: [uid], onDelete: Cascade)
|
||||||
depositor_uid String @db.VarChar(255)
|
depositor_uid String @db.VarChar(255)
|
||||||
created_at DateTime? @default(now())
|
created_at DateTime? @default(now())
|
||||||
updated_at DateTime? @updatedAt
|
updated_at DateTime? @updatedAt
|
||||||
files FilesNotary[]
|
files FilesNotary[]
|
||||||
customer Customers @relation(fields: [customer_uid], references: [uid], onDelete: Cascade)
|
customer Customers @relation(fields: [customer_uid], references: [uid], onDelete: Cascade)
|
||||||
customer_uid String @db.VarChar(255)
|
customer_uid String @db.VarChar(255)
|
||||||
document String @default("") @db.VarChar(255)
|
document String @default("") @db.VarChar(255)
|
||||||
|
document_status EDocumentNotaryStatus @default(SENT)
|
||||||
|
|
||||||
@@map("documents_notary")
|
@@map("documents_notary")
|
||||||
}
|
}
|
||||||
@ -558,3 +559,8 @@ enum EAnchoringStatus {
|
|||||||
VERIFYING_ON_CHAIN
|
VERIFYING_ON_CHAIN
|
||||||
ABANDONED
|
ABANDONED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum EDocumentNotaryStatus {
|
||||||
|
SENT
|
||||||
|
DOWNLOADED
|
||||||
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import Database from "@Common/databases/database";
|
import Database from "@Common/databases/database";
|
||||||
import BaseRepository from "@Repositories/BaseRepository";
|
import BaseRepository from "@Repositories/BaseRepository";
|
||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
import { DocumentsNotary, Prisma } from "@prisma/client";
|
import { DocumentsNotary, EDocumentNotaryStatus, Prisma } from "@prisma/client";
|
||||||
import { DocumentNotary } from "le-coffre-resources/dist/Notary";
|
import { DocumentNotary } from "le-coffre-resources/dist/Notary";
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
@ -99,4 +99,15 @@ export default class DocumentsNotaryRepository extends BaseRepository {
|
|||||||
include: { files: true },
|
include: { files: true },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async changeStatus(uid: string, status: EDocumentNotaryStatus) {
|
||||||
|
return this.model.update({
|
||||||
|
where: {
|
||||||
|
uid: uid,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
document_status: status,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import BaseService from "@Services/BaseService";
|
import BaseService from "@Services/BaseService";
|
||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
import puppeteer from "puppeteer";
|
import puppeteer from "puppeteer";
|
||||||
|
import proofTemplate from "./proofTemplate";
|
||||||
|
|
||||||
export interface AnchoringProofData {
|
export interface AnchoringProofData {
|
||||||
rootHash: string;
|
rootHash: string;
|
||||||
@ -15,132 +16,32 @@ export default class AnchoringProofService extends BaseService {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
// private static svgTemplateDocument: string = `
|
|
||||||
// <svg width="842" height="595" viewBox="0 0 842 595" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
// <rect width="842" height="595" fill="#FFFFFF"/>
|
|
||||||
// <g filter="url(#filter0_d_4903_34411)">
|
|
||||||
// <rect x="40" y="40" width="762" height="515" rx="8" fill="white"/>
|
|
||||||
// <g clip-path="url(#clip0_4903_34411)">
|
|
||||||
// <path d="M347.515 87.0484C347.531 86.6422 347.299 86.2272 346.8 86.0109L333.931 80.4455C332.896 79.9973 331.678 79.9973 330.641 80.4455L317.844 85.98C317.337 86.1985 317.098 86.618 317.112 87.033V112.454L319.988 113.82L321.707 112.99L329.847 116.379V118.103L332.341 119.286L334.858 118.072V116.396L342.986 113.012L344.696 113.82L347.522 112.456V87.0484H347.515Z" fill="#C5B2D4"/>
|
|
||||||
// <path d="M332.339 119.409L329.736 118.175V116.455L321.707 113.112L319.985 113.943L317 112.523L317.004 86.9214C317.037 86.4733 317.335 86.0803 317.801 85.8772L330.6 80.3427C331.656 79.8858 332.918 79.8858 333.975 80.3427L346.844 85.9081C347.305 86.1068 347.594 86.4953 347.625 86.9369H347.627V112.525L344.694 113.94L342.981 113.132L334.968 116.47V118.141L332.341 119.409H332.339ZM329.955 118.033L332.339 119.164L334.747 118.002V116.322L334.815 116.294L342.986 112.892L344.692 113.697L347.408 112.386V87.1576H347.404V87.0428C347.421 86.641 347.179 86.2944 346.756 86.1112L333.887 80.5458C332.885 80.1131 331.687 80.1131 330.685 80.5458L317.886 86.0803C317.457 86.2657 317.208 86.619 317.219 87.0274V87.14V112.382L319.985 113.695L321.7 112.867L321.746 112.885L329.955 116.302V118.029V118.033Z" fill="#4E1480"/>
|
|
||||||
// <path d="M329.574 114.592C329.191 114.592 328.804 114.515 328.439 114.358L320.079 110.766C319.01 110.307 318.319 109.252 318.319 108.08L318.312 92.2755C318.312 91.2887 318.8 90.3769 319.616 89.8338C320.432 89.2908 321.455 89.2003 322.354 89.5932L330.72 93.238C331.781 93.6994 332.468 94.7524 332.468 95.9202V111.672C332.468 112.654 331.982 113.566 331.171 114.109C330.689 114.431 330.134 114.594 329.576 114.594L329.574 114.592ZM328.697 113.749C329.39 114.047 330.18 113.974 330.808 113.555C331.435 113.135 331.811 112.431 331.811 111.669V95.918C331.811 95.0151 331.282 94.2027 330.46 93.8451L322.094 90.2003C321.401 89.8979 320.609 89.9685 319.977 90.388C319.345 90.8074 318.968 91.5138 318.968 92.2755L318.975 108.08C318.975 108.987 319.509 109.802 320.335 110.157L328.695 113.749H328.697Z" fill="white"/>
|
|
||||||
// <path d="M332.601 98.7287V97.9008C332.601 97.8787 332.588 97.8611 332.568 97.8523L331.556 97.4107C331.521 97.3953 331.481 97.4218 331.481 97.4593V98.2872C331.481 98.3092 331.494 98.3269 331.514 98.3357L332.527 98.7772C332.562 98.7927 332.601 98.7662 332.601 98.7287Z" fill="white"/>
|
|
||||||
// <path d="M332.549 99.1146C332.496 99.1146 332.446 99.1035 332.396 99.0815L331.385 98.6399C331.245 98.5803 331.155 98.4413 331.155 98.2867V97.4589C331.155 97.3286 331.219 97.2094 331.326 97.1366C331.433 97.0659 331.569 97.0549 331.687 97.1057L332.7 97.5472C332.84 97.6068 332.929 97.7459 332.929 97.9004V98.7282C332.929 98.8585 332.866 98.9777 332.756 99.0506C332.693 99.0925 332.621 99.1146 332.549 99.1146ZM331.812 98.1057L332.273 98.3066V98.0858L331.812 97.8849V98.1057Z" fill="white"/>
|
|
||||||
// <path d="M332.638 111.686V110.858C332.638 110.836 332.625 110.818 332.605 110.809L331.593 110.368C331.558 110.352 331.518 110.379 331.518 110.416V111.244C331.518 111.266 331.532 111.284 331.551 111.293L332.564 111.734C332.599 111.75 332.638 111.723 332.638 111.686Z" fill="white"/>
|
|
||||||
// <path d="M332.586 112.074C332.535 112.074 332.485 112.063 332.435 112.043L331.422 111.602C331.282 111.54 331.193 111.401 331.193 111.248V110.42C331.193 110.29 331.256 110.171 331.363 110.098C331.47 110.025 331.606 110.016 331.724 110.067L332.737 110.509C332.877 110.568 332.966 110.707 332.966 110.862V111.69C332.966 111.82 332.903 111.939 332.796 112.01C332.732 112.052 332.66 112.074 332.586 112.074ZM331.849 111.065L332.31 111.266V111.043L331.849 110.842V111.065Z" fill="white"/>
|
|
||||||
// <path d="M322.914 97.0753C321.215 97.742 320.81 100.802 322.006 103.906C323.203 107.012 325.552 108.988 327.251 108.319C328.951 107.65 329.355 104.592 328.159 101.488C326.963 98.3845 324.613 96.4064 322.914 97.0753ZM325.781 102.76C325.762 102.687 325.738 102.614 325.709 102.541C325.652 102.391 325.58 102.254 325.501 102.133L325.908 99.0644C326.562 99.709 327.162 100.63 327.584 101.722C327.993 102.782 328.168 103.835 328.133 104.738L325.779 102.758L325.781 102.76ZM323.354 98.1637C323.925 97.9385 324.587 98.0864 325.237 98.5147L324.826 101.601C324.753 101.592 324.683 101.599 324.618 101.623C324.578 101.638 324.541 101.661 324.509 101.689L322.192 99.7399C322.38 98.9651 322.772 98.3911 323.351 98.1637H323.354ZM322.621 103.676C322.205 102.597 322.03 101.526 322.074 100.612L324.296 102.482C324.314 102.661 324.358 102.853 324.432 103.045C324.478 103.164 324.533 103.274 324.592 103.376L324.211 106.244C323.59 105.603 323.026 104.718 322.623 103.674L322.621 103.676ZM324.88 106.826L325.259 103.976C325.351 103.998 325.44 103.998 325.521 103.965C325.626 103.923 325.707 103.837 325.764 103.72L328.023 105.621C327.84 106.416 327.444 107.007 326.853 107.239C326.254 107.473 325.556 107.303 324.88 106.826Z" fill="white"/>
|
|
||||||
// <path d="M325.329 102.461C325.639 102.967 325.637 103.534 325.342 103.715C325.047 103.896 324.544 103.631 324.268 103.106C323.975 102.547 323.968 102.044 324.242 101.867C324.561 101.664 325.009 101.945 325.329 102.461Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M427.367 94.3582C427.564 93.6076 427.892 92.8967 428.351 92.2234C428.81 91.5501 429.368 90.9607 430.024 90.4507C430.68 89.943 431.42 89.5456 432.238 89.2586C433.058 88.9716 433.928 88.8281 434.845 88.8281H439.635L438.979 91.5766H436.879C435.785 91.5766 434.878 91.8481 434.156 92.3868C433.434 92.9277 432.986 93.5855 432.811 94.356L432.122 97.1045H436.288L435.599 99.8529H431.433L428.054 113.662H422.608L427.365 94.356L427.367 94.3582Z" fill="#4E1480"/>
|
|
||||||
// <path d="M439.932 94.3582C440.129 93.6076 440.457 92.8967 440.916 92.2234C441.376 91.5501 441.933 90.9607 442.59 90.4507C443.246 89.943 443.985 89.5456 444.803 89.2586C445.623 88.9716 446.494 88.8281 447.41 88.8281H452.2L451.544 91.5766H449.444C448.351 91.5766 447.443 91.8481 446.721 92.3868C445.999 92.9277 445.551 93.5855 445.376 94.356L444.687 97.1045H448.854L448.165 99.8529H443.998L440.619 113.662H435.173L439.93 94.356L439.932 94.3582Z" fill="#4E1480"/>
|
|
||||||
// <path d="M463.882 94.3599L463.193 97.1084H461.126C460.032 97.1084 459.125 97.3799 458.403 97.9186C457.681 98.4594 457.222 99.1173 457.025 99.8877L453.646 113.663H448.167L451.546 99.9209C451.721 99.1923 452.032 98.4925 452.482 97.817C452.931 97.1437 453.484 96.5476 454.14 96.0288C454.796 95.51 455.54 95.1016 456.371 94.8036C457.202 94.5056 458.099 94.3555 459.061 94.3555H463.884L463.882 94.3599Z" fill="#4E1480"/>
|
|
||||||
// <path d="M468.015 113.665C466.397 113.665 465.166 113.268 464.324 112.473C463.481 111.678 463.059 110.674 463.059 109.459C463.059 109.084 463.114 108.643 463.223 108.135L465.257 99.8563C465.454 99.1057 465.782 98.3949 466.242 97.7216C466.701 97.0482 467.259 96.4632 467.915 95.9665C468.571 95.4698 469.315 95.0791 470.146 94.7899C470.977 94.5029 471.852 94.3594 472.77 94.3594H476.904C478.523 94.3594 479.747 94.7523 480.579 95.536C481.41 96.3197 481.825 97.3198 481.825 98.534C481.825 98.9313 481.771 99.3839 481.661 99.8916L480.316 105.389H469.391L468.702 108.17C468.505 108.943 468.63 109.594 469.081 110.124C469.529 110.654 470.299 110.919 471.395 110.919H476.906L476.25 113.667H468.015V113.665ZM470.082 102.638H475.561L476.217 99.874C476.392 99.1057 476.283 98.4523 475.889 97.9158C475.496 97.3772 474.916 97.1101 474.15 97.1101C473.779 97.1101 473.407 97.1807 473.035 97.3242C472.663 97.4677 472.324 97.6642 472.018 97.9158C471.712 98.1675 471.445 98.4633 471.215 98.8033C470.986 99.1433 470.826 99.5009 470.741 99.874L470.085 102.638H470.082Z" fill="#4E1480"/>
|
|
||||||
// <path d="M485.174 113.663V108.133H490.653V113.663H485.174Z" fill="#4E1480"/>
|
|
||||||
// <path d="M498.819 94.3582H504.298L499.541 113.664H494.062L498.819 94.3582ZM500.165 88.8281H505.643L504.987 91.5766H499.508L500.165 88.8281Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M511.188 113.665C509.569 113.665 508.338 113.268 507.496 112.473C506.654 111.678 506.232 110.674 506.232 109.459C506.232 109.084 506.286 108.643 506.396 108.135L508.43 99.8563C508.627 99.1057 508.955 98.3949 509.414 97.7216C509.873 97.0482 510.431 96.4632 511.087 95.9665C511.743 95.4698 512.487 95.0791 513.318 94.7899C514.149 94.5029 515.024 94.3594 515.943 94.3594H520.077C521.695 94.3594 522.92 94.7567 523.751 95.5515C524.582 96.3462 524.998 97.3396 524.998 98.5318C524.998 98.9071 524.943 99.3486 524.834 99.8563L522.8 108.135C522.603 108.908 522.275 109.625 521.815 110.287C521.356 110.95 520.798 111.535 520.142 112.042C519.486 112.55 518.747 112.947 517.929 113.234C517.109 113.521 516.238 113.665 515.32 113.665H511.186H511.188ZM519.357 99.8894C519.554 99.1168 519.455 98.4611 519.062 97.9202C518.668 97.3794 518.088 97.1101 517.323 97.1101C516.557 97.1101 515.847 97.3816 515.19 97.9202C514.534 98.4611 514.108 99.119 513.911 99.8894L511.877 108.135C511.68 108.908 511.778 109.565 512.172 110.104C512.566 110.645 513.145 110.914 513.911 110.914C514.283 110.914 514.655 110.844 515.026 110.7C515.398 110.557 515.737 110.358 516.043 110.104C516.35 109.85 516.612 109.559 516.831 109.228C517.05 108.896 517.214 108.532 517.323 108.135L519.357 99.8894Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M416.906 96.1486C412.73 95.0691 408.376 98.0163 407.179 102.729C405.983 107.443 408.398 112.141 412.575 113.22C416.75 114.3 421.105 111.352 422.301 106.639C423.498 101.926 421.083 97.2281 416.906 96.1486ZM416.07 105.5C416.114 105.399 416.151 105.293 416.18 105.182C416.236 104.955 416.254 104.727 416.234 104.509L420.602 101.553C421.166 102.966 421.3 104.624 420.88 106.284C420.471 107.893 419.607 109.244 418.489 110.207L416.068 105.5H416.07ZM416.527 97.8198C417.931 98.1818 419.088 99.0538 419.891 100.222L415.497 103.195C415.364 103.107 415.217 103.041 415.055 102.999C414.957 102.972 414.858 102.959 414.76 102.955L412.378 98.3209C413.651 97.6652 415.101 97.4511 416.527 97.8198ZM408.678 103.131C409.093 101.493 409.981 100.122 411.127 99.1576L413.413 103.602C413.24 103.816 413.107 104.076 413.032 104.368C412.986 104.549 412.967 104.73 412.969 104.906L408.883 107.67C408.38 106.299 408.275 104.716 408.678 103.131ZM409.557 109.03L413.616 106.284C413.774 106.407 413.955 106.502 414.156 106.553C414.417 106.619 414.679 106.61 414.926 106.542L417.249 111.061C415.961 111.745 414.482 111.973 413.032 111.597C411.562 111.218 410.362 110.282 409.557 109.03Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M414.318 113.551C413.73 113.551 413.137 113.478 412.549 113.326C410.499 112.796 408.8 111.396 407.768 109.387C406.737 107.383 406.49 105.008 407.076 102.701C407.66 100.394 409.008 98.431 410.867 97.1727C412.73 95.9122 414.885 95.5104 416.936 96.0402C421.164 97.133 423.618 101.899 422.411 106.665C421.37 110.767 417.949 113.551 414.32 113.551H414.318ZM415.152 96.0336C413.715 96.0336 412.28 96.4839 410.989 97.3581C409.174 98.5856 407.859 100.504 407.289 102.758C406.718 105.012 406.956 107.33 407.962 109.288C408.966 111.242 410.615 112.599 412.603 113.114C416.713 114.178 421.018 111.259 422.196 106.612C423.375 101.965 420.991 97.3184 416.879 96.2565C416.309 96.1086 415.729 96.0358 415.149 96.0358L415.152 96.0336ZM414.434 111.884C413.953 111.884 413.474 111.825 413.006 111.703C411.569 111.332 410.311 110.403 409.465 109.089L409.406 108.999L413.62 106.147L413.684 106.195C413.837 106.314 414.003 106.398 414.185 106.445C414.419 106.504 414.657 106.502 414.898 106.434L414.983 106.409L417.398 111.105L417.301 111.156C416.394 111.637 415.412 111.882 414.434 111.882V111.884ZM409.708 109.061C410.523 110.279 411.709 111.14 413.061 111.491C414.408 111.84 415.803 111.674 417.102 111.014L414.869 106.672C414.62 106.727 414.373 106.725 414.13 106.663C413.946 106.617 413.774 106.535 413.614 106.42L409.71 109.063L409.708 109.061ZM418.459 110.381L415.95 105.504L415.972 105.456C416.015 105.354 416.05 105.255 416.077 105.155C416.129 104.948 416.147 104.734 416.129 104.52L416.123 104.456L420.657 101.387L420.707 101.513C421.297 102.994 421.398 104.698 420.989 106.312C420.587 107.895 419.749 109.273 418.563 110.29L418.459 110.381ZM416.193 105.495L418.526 110.032C419.622 109.052 420.399 107.749 420.777 106.257C421.164 104.734 421.083 103.129 420.554 101.72L416.35 104.564C416.361 104.782 416.341 104.999 416.287 105.208C416.263 105.303 416.232 105.398 416.193 105.493V105.495ZM408.828 107.84L408.78 107.71C408.249 106.257 408.177 104.665 408.57 103.105C408.973 101.515 409.856 100.082 411.055 99.0735L411.16 98.9851L413.542 103.615L413.496 103.67C413.325 103.882 413.205 104.124 413.137 104.394C413.096 104.562 413.074 104.732 413.078 104.902V104.961L408.831 107.838L408.828 107.84ZM408.677 103.131L408.782 103.158C408.411 104.628 408.463 106.125 408.938 107.5L412.857 104.849C412.857 104.679 412.881 104.509 412.923 104.343C412.993 104.067 413.113 103.815 413.279 103.592L411.09 99.3339C409.979 100.308 409.161 101.661 408.78 103.16L408.675 103.133L408.677 103.131ZM415.499 103.328L415.438 103.288C415.311 103.204 415.176 103.142 415.029 103.105C414.944 103.082 414.854 103.069 414.756 103.065H414.692L412.229 98.2743L412.328 98.2235C413.684 97.5259 415.145 97.3493 416.553 97.7136C417.942 98.0712 419.126 98.9189 419.981 100.16L420.044 100.252L415.497 103.33L415.499 103.328ZM414.83 102.848C414.92 102.855 415.003 102.871 415.084 102.89C415.228 102.928 415.366 102.985 415.495 103.063L419.736 100.193C418.918 99.0448 417.8 98.2633 416.499 97.9255C415.176 97.5833 413.804 97.7378 412.525 98.3692L414.828 102.848H414.83Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M358.639 88.8906H364.118L358.672 110.978H366.874L366.218 113.726H352.537L358.639 88.8906Z" fill="#4E1480"/>
|
|
||||||
// <path d="M375.763 88.8906H389.443L388.787 91.6391H380.585L378.519 99.9507H385.999L385.343 102.699H377.862L375.796 110.978H383.997L383.341 113.726H369.661L375.763 88.8906Z" fill="#4E1480"/>
|
|
||||||
// <path d="M395.644 108.196C395.447 108.968 395.546 109.626 395.939 110.165C396.333 110.706 396.913 110.975 397.678 110.975C399.275 110.975 400.423 110.048 401.123 108.193H403.846C403.277 110.048 402.402 111.434 401.221 112.35C400.04 113.267 398.422 113.724 396.366 113.724H394.955C393.337 113.724 392.105 113.326 391.263 112.531C390.421 111.737 389.999 110.732 389.999 109.518C389.999 109.143 390.054 108.701 390.163 108.193L392.197 99.9149C392.394 99.1643 392.722 98.4535 393.181 97.7802C393.641 97.1068 394.198 96.5218 394.855 96.0251C395.511 95.5284 396.254 95.1377 397.085 94.8485C397.917 94.5615 398.791 94.418 399.71 94.418H401.121C402.892 94.418 404.161 94.7337 404.926 95.3628C405.692 95.992 406.075 96.9346 406.075 98.1952C406.075 98.725 406.009 99.299 405.878 99.9171H403.155C403.395 98.0848 402.706 97.1686 401.088 97.1686C400.322 97.1686 399.612 97.4402 398.955 97.9788C398.299 98.5197 397.873 99.1776 397.676 99.948L395.642 108.193L395.644 108.196Z" fill="#4E1480"/>
|
|
||||||
// <path d="M478.256 125.411C477.917 125.411 477.484 125.301 477.28 125.054V125.283H476.705V119.402H477.296V121.714C477.58 121.285 477.98 120.959 478.54 120.959C479.485 120.959 480.082 121.879 480.082 123.096C480.082 124.312 479.461 125.407 478.256 125.407V125.411ZM478.343 121.526C477.926 121.526 477.659 121.756 477.477 121.994C477.328 122.193 477.296 122.281 477.296 122.495V124.323C477.296 124.665 477.595 124.928 478.162 124.928C479.028 124.928 479.467 124.164 479.467 123.228C479.467 122.292 479.098 121.528 478.341 121.528L478.343 121.526Z" fill="#320756"/>
|
|
||||||
// <path d="M482.54 125.579C482.304 126.285 481.911 126.921 480.872 127.001L480.824 126.469C481.469 126.46 481.871 126.047 482.044 125.42L480.524 121.082H481.169L482.005 123.641C482.162 124.117 482.296 124.57 482.344 124.722H482.359C482.414 124.499 482.54 124.087 482.683 123.619L483.455 121.084H484.015L482.543 125.581L482.54 125.579Z" fill="#320756"/>
|
|
||||||
// <path d="M489.682 125.284V120.568C489.682 119.588 489.117 119.019 488.107 119.019C487.464 119.019 486.9 119.31 486.506 119.827C486.257 120.131 486.217 120.277 486.217 120.674V125.284H485.233V118.277H486.152V119.389C486.676 118.608 487.411 118.078 488.422 118.078C489.747 118.078 490.666 118.899 490.666 120.409V125.284H489.682Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M495.377 125.536C493.212 125.536 492.306 123.655 492.306 121.761C492.306 119.867 493.303 118.039 495.429 118.039C497.555 118.039 498.5 119.867 498.5 121.774C498.5 123.682 497.503 125.536 495.377 125.536ZM495.429 118.9C493.868 118.9 493.33 120.476 493.33 121.761C493.33 123.046 493.789 124.662 495.377 124.662C496.965 124.662 497.477 123.019 497.477 121.774C497.477 120.529 497.017 118.9 495.429 118.9Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M502.135 125.509C500.902 125.509 500.364 124.648 500.364 123.602V119.244H499.196V118.41H500.364V116.873L501.348 116.516V118.41H503.238V119.244H501.348V123.483C501.348 124.251 501.729 124.648 502.45 124.648C502.752 124.648 503.015 124.556 503.211 124.45L503.395 125.271C503.08 125.403 502.595 125.509 502.135 125.509Z" fill="#3FA79E"/>
|
|
||||||
// <path d="M505.469 125.365C505.062 125.365 504.786 125.074 504.786 124.663C504.786 124.252 505.049 123.961 505.455 123.961C505.862 123.961 506.138 124.252 506.138 124.663C506.138 125.074 505.875 125.365 505.469 125.365Z" fill="#4E1480"/>
|
|
||||||
// <path d="M507.568 125.285V115.934H508.644V125.285H507.568Z" fill="#4E1480"/>
|
|
||||||
// <path d="M513.198 116.927V125.285H512.109V116.927H509.051V115.934H516.295V116.927H513.198Z" fill="#4E1480"/>
|
|
||||||
// </g>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="12" letter-spacing="0.5px"><tspan x="333" y="187.364">[[ANCHORING_TIME]]</tspan></text>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="21" font-weight="600" letter-spacing="0em"><tspan x="258" y="163.136">Certificat de dépôt international</tspan></text>
|
|
||||||
// <text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="119" y="262">Hash :</tspan></text>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="267" y="261.5">[[ROOT_HASH]]</tspan></text>
|
|
||||||
// <path d="M119 290H723" stroke="#E7E7E7"/>
|
|
||||||
// <text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="119" y="327.091">Déposant(s)</tspan></text>
|
|
||||||
// <text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="119" y="356">Auteur :</tspan></text>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="267" y="356">Not.IT</tspan></text>
|
|
||||||
// <text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="119" y="378">Partenaire technique :</tspan></text>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="267" y="377.5">Smart-Chain</tspan></text>
|
|
||||||
// <path d="M119 406H723" stroke="#E7E7E7"/>
|
|
||||||
// <text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="119" y="443.091">Explorateur blockchain</tspan></text>
|
|
||||||
// <text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px" text-decoration="underline"><tspan x="119" y="472"><a href="[[TX_LINK]]">[[TX_LINK]]</a></tspan></text>
|
|
||||||
// </g>
|
|
||||||
// </svg>
|
|
||||||
// `;
|
|
||||||
|
|
||||||
private static svgTemplateDocumentBis: string = `
|
|
||||||
<svg width="842" height="595" viewBox="0 0 842 595" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g clip-path="url(#clip0_4903_34411)">
|
|
||||||
<rect width="842" height="595" fill="#F9F9F9"/>
|
|
||||||
<g filter="url(#filter0_d_4903_34411)">
|
|
||||||
<rect x="16" y="16" width="810" height="563" rx="8" fill="white" shape-rendering="crispEdges"/>
|
|
||||||
<path d="M410.815 52.8886C410.99 52.2251 411.284 51.5967 411.694 51.0015C412.104 50.4063 412.603 49.8852 413.189 49.4344C413.775 48.9855 414.435 48.6343 415.166 48.3806C415.899 48.1269 416.677 48 417.496 48H421.775L421.189 50.4297H419.313C418.336 50.4297 417.525 50.6697 416.88 51.1459C416.235 51.624 415.835 52.2056 415.678 52.8867L415.063 55.3164H418.785L418.17 57.7461H414.447L411.428 69.953H406.562L410.813 52.8867L410.815 52.8886Z" fill="#4E1480"/>
|
|
||||||
<path d="M422.039 52.8886C422.215 52.2251 422.508 51.5967 422.918 51.0015C423.329 50.4063 423.827 49.8852 424.413 49.4344C425 48.9855 425.66 48.6343 426.391 48.3806C427.124 48.1269 427.901 48 428.72 48H433L432.413 50.4297H430.537C429.56 50.4297 428.749 50.6697 428.105 51.1459C427.46 51.624 427.059 52.2056 426.903 52.8867L426.287 55.3164H430.01L429.394 57.7461H425.672L422.653 69.953H417.787L422.037 52.8867L422.039 52.8886Z" fill="#4E1480"/>
|
|
||||||
<path d="M443.442 52.8906L442.827 55.3203H440.98C440.003 55.3203 439.192 55.5604 438.547 56.0365C437.903 56.5147 437.492 57.0962 437.316 57.7773L434.297 69.955H429.402L432.421 57.8066C432.578 57.1626 432.855 56.5439 433.258 55.9468C433.658 55.3515 434.153 54.8246 434.739 54.366C435.325 53.9074 435.989 53.5463 436.732 53.2829C437.475 53.0194 438.276 52.8867 439.136 52.8867H443.444L443.442 52.8906Z" fill="#4E1480"/>
|
|
||||||
<path d="M447.127 69.9531C445.681 69.9531 444.581 69.6018 443.829 68.8992C443.076 68.1967 442.699 67.3087 442.699 66.2354C442.699 65.9036 442.748 65.5133 442.846 65.0644L444.663 57.7461C444.839 57.0826 445.132 56.4542 445.542 55.8589C445.953 55.2637 446.451 54.7466 447.037 54.3075C447.623 53.8684 448.288 53.5229 449.03 53.2673C449.773 53.0136 450.555 52.8867 451.375 52.8867H455.068C456.514 52.8867 457.609 53.2341 458.351 53.9269C459.094 54.6197 459.465 55.5038 459.465 56.5771C459.465 56.9284 459.416 57.3285 459.319 57.7773L458.117 62.6367H448.356L447.741 65.0956C447.565 65.7787 447.676 66.3544 448.079 66.8228C448.479 67.2911 449.167 67.5253 450.146 67.5253H455.07L454.484 69.955H447.127V69.9531ZM448.974 60.205H453.869L454.455 57.7617C454.611 57.0826 454.514 56.5049 454.162 56.0307C453.81 55.5545 453.292 55.3184 452.608 55.3184C452.276 55.3184 451.944 55.3808 451.612 55.5077C451.28 55.6345 450.977 55.8082 450.703 56.0307C450.43 56.2532 450.191 56.5147 449.986 56.8152C449.781 57.1157 449.638 57.4319 449.562 57.7617L448.976 60.205H448.974Z" fill="#4E1480"/>
|
|
||||||
<path d="M462.457 69.9551V65.0664H467.352V69.9551H462.457Z" fill="#4E1480"/>
|
|
||||||
<path d="M474.647 52.8886H479.542L475.291 69.955H470.396L474.647 52.8886ZM475.848 48H480.743L480.157 50.4297H475.262L475.848 48Z" fill="#3FA79E"/>
|
|
||||||
<path d="M485.705 69.9531C484.259 69.9531 483.159 69.6018 482.407 68.8992C481.654 68.1967 481.277 67.3087 481.277 66.2354C481.277 65.9036 481.326 65.5133 481.424 65.0644L483.241 57.7461C483.417 57.0826 483.71 56.4542 484.121 55.8589C484.531 55.2637 485.029 54.7466 485.615 54.3075C486.202 53.8684 486.866 53.5229 487.609 53.2673C488.351 53.0136 489.133 52.8867 489.953 52.8867H493.647C495.093 52.8867 496.187 53.238 496.929 53.9406C497.672 54.6431 498.043 55.5213 498.043 56.5752C498.043 56.9069 497.994 57.2972 497.897 57.7461L496.079 65.0644C495.904 65.7475 495.61 66.3817 495.2 66.9672C494.79 67.5527 494.291 68.0698 493.705 68.5187C493.119 68.9675 492.459 69.3188 491.728 69.5725C490.995 69.8262 490.217 69.9531 489.396 69.9531H485.703H485.705ZM493.004 57.7754C493.18 57.0923 493.092 56.5127 492.74 56.0346C492.388 55.5564 491.87 55.3184 491.186 55.3184C490.503 55.3184 489.867 55.5584 489.281 56.0346C488.695 56.5127 488.314 57.0943 488.138 57.7754L486.321 65.0644C486.145 65.7475 486.233 66.329 486.585 66.8052C486.936 67.2833 487.454 67.5214 488.138 67.5214C488.47 67.5214 488.802 67.459 489.135 67.3321C489.467 67.2053 489.77 67.0296 490.043 66.8052C490.317 66.5808 490.551 66.3232 490.747 66.0304C490.942 65.7377 491.089 65.4157 491.186 65.0644L493.004 57.7754Z" fill="#3FA79E"/>
|
|
||||||
<path d="M401.473 54.4782C397.743 53.5239 393.852 56.1293 392.783 60.2958C391.715 64.4624 393.872 68.6153 397.604 69.5696C401.334 70.5239 405.225 67.9186 406.294 63.752C407.363 59.5855 405.205 55.4326 401.473 54.4782ZM400.727 62.745C400.766 62.6553 400.799 62.5616 400.824 62.464C400.875 62.263 400.891 62.062 400.873 61.8688L404.776 59.2556C405.28 60.5046 405.399 61.9703 405.024 63.4378C404.658 64.8605 403.886 66.0549 402.888 66.9057L400.725 62.745H400.727ZM401.135 55.9556C402.39 56.2756 403.423 57.0465 404.14 58.0789L400.215 60.7076C400.096 60.6295 399.965 60.571 399.82 60.5339C399.732 60.5105 399.644 60.4988 399.556 60.4949L397.428 56.3986C398.565 55.819 399.861 55.6297 401.135 55.9556ZM394.122 60.651C394.493 59.203 395.287 57.991 396.31 57.1382L398.352 61.0667C398.198 61.256 398.079 61.4863 398.012 61.7439C397.971 61.9039 397.954 62.0639 397.956 62.2201L394.306 64.6634C393.856 63.4515 393.762 62.0522 394.122 60.651ZM394.907 65.8656L398.534 63.4378C398.675 63.5471 398.837 63.631 399.017 63.6759C399.249 63.7345 399.484 63.7267 399.705 63.6662L401.78 67.661C400.629 68.266 399.308 68.467 398.012 68.1352C396.699 67.7996 395.627 66.9721 394.907 65.8656Z" fill="#3FA79E"/>
|
|
||||||
<path d="M399.164 69.8646C398.639 69.8646 398.109 69.8002 397.583 69.6656C395.752 69.1972 394.234 67.9599 393.312 66.184C392.391 64.412 392.171 62.3121 392.694 60.2727C393.216 58.2333 394.42 56.4984 396.081 55.386C397.746 54.2717 399.67 53.9165 401.503 54.3849C405.28 55.3509 407.473 59.5643 406.394 63.7777C405.464 67.4037 402.408 69.8646 399.166 69.8646H399.164ZM399.909 54.379C398.625 54.379 397.343 54.7771 396.19 55.55C394.568 56.635 393.394 58.3309 392.884 60.3235C392.374 62.316 392.587 64.3651 393.486 66.0962C394.383 67.8233 395.856 69.0235 397.632 69.4782C401.304 70.4189 405.15 67.8389 406.203 63.7309C407.256 59.6229 405.126 55.5148 401.452 54.5761C400.942 54.4454 400.425 54.381 399.907 54.381L399.909 54.379ZM399.268 68.3912C398.838 68.3912 398.41 68.3385 397.992 68.2312C396.708 67.9033 395.584 67.0817 394.828 65.9205L394.775 65.8405L398.541 63.3191L398.598 63.362C398.734 63.4674 398.883 63.5416 399.045 63.5826C399.254 63.6353 399.467 63.6333 399.682 63.5728L399.758 63.5513L401.916 67.7023L401.83 67.7472C401.019 68.1726 400.141 68.3892 399.268 68.3892V68.3912ZM395.045 65.8952C395.774 66.9724 396.833 67.7335 398.041 68.0438C399.244 68.3522 400.491 68.2058 401.652 67.6223L399.657 63.7836C399.434 63.8324 399.213 63.8304 398.996 63.7758C398.832 63.7348 398.678 63.6626 398.535 63.5611L395.047 65.8971L395.045 65.8952ZM402.863 67.0622L400.622 62.7512L400.641 62.7083C400.681 62.6185 400.712 62.5307 400.735 62.4429C400.782 62.2594 400.798 62.0701 400.782 61.8808L400.776 61.8242L404.827 59.1115L404.872 59.2228C405.4 60.5323 405.49 62.0389 405.124 63.4655C404.765 64.8647 404.016 66.0825 402.957 66.9822L402.863 67.0622ZM400.839 62.7434L402.924 66.7538C403.903 65.8873 404.597 64.7359 404.935 63.4167C405.28 62.0701 405.208 60.6513 404.735 59.4062L400.98 61.9198C400.989 62.113 400.972 62.3043 400.923 62.4897C400.901 62.5736 400.874 62.6575 400.839 62.7414V62.7434ZM394.259 64.8159L394.217 64.7008C393.742 63.4167 393.677 62.0096 394.029 60.6299C394.388 59.2247 395.178 57.9582 396.249 57.0663L396.343 56.9883L398.471 61.0807L398.429 61.1295C398.277 61.3168 398.17 61.5315 398.109 61.7696C398.072 61.9179 398.052 62.0682 398.056 62.2184V62.2711L394.261 64.814L394.259 64.8159ZM394.125 60.6533L394.218 60.6767C393.886 61.9764 393.933 63.2996 394.357 64.5154L397.859 62.1716C397.859 62.0213 397.88 61.871 397.918 61.7247C397.98 61.4807 398.088 61.2583 398.236 61.0612L396.28 57.2966C395.287 58.1572 394.557 59.3535 394.217 60.6786L394.123 60.6552L394.125 60.6533ZM400.219 60.827L400.165 60.7918C400.051 60.7177 399.93 60.663 399.799 60.6299C399.723 60.6103 399.643 60.5986 399.555 60.5947H399.498L397.298 56.3599L397.386 56.315C398.598 55.6983 399.903 55.5422 401.161 55.8642C402.402 56.1803 403.459 56.9297 404.223 58.0265L404.28 58.1084L400.217 60.8289L400.219 60.827ZM399.621 60.4035C399.702 60.4093 399.776 60.423 399.848 60.4406C399.977 60.4737 400.1 60.5245 400.215 60.5928L404.004 58.0558C403.274 57.0409 402.275 56.3501 401.112 56.0515C399.93 55.749 398.705 55.8856 397.562 56.4438L399.619 60.4035H399.621Z" fill="#3FA79E"/>
|
|
||||||
<path d="M349.409 48.043H354.304L349.438 67.5683H356.766L356.18 69.998H343.957L349.409 48.043Z" fill="#4E1480"/>
|
|
||||||
<path d="M364.706 48.043H376.928L376.342 50.4727H369.014L367.168 57.8203H373.851L373.265 60.2499H366.582L364.735 67.5683H372.063L371.477 69.998H359.254L364.706 48.043Z" fill="#4E1480"/>
|
|
||||||
<path d="M382.471 65.1093C382.295 65.7924 382.383 66.374 382.735 66.8501C383.087 67.3283 383.605 67.5664 384.288 67.5664C385.715 67.5664 386.741 66.7467 387.366 65.1074H389.799C389.291 66.7467 388.509 67.9723 387.454 68.7822C386.399 69.5921 384.953 69.996 383.116 69.996H381.856C380.41 69.996 379.31 69.6448 378.557 68.9422C377.805 68.2396 377.428 67.3517 377.428 66.2783C377.428 65.9466 377.477 65.5563 377.574 65.1074L379.392 57.7891C379.567 57.1255 379.861 56.4971 380.271 55.9019C380.681 55.3067 381.18 54.7895 381.766 54.3504C382.352 53.9113 383.016 53.5659 383.759 53.3102C384.501 53.0565 385.283 52.9297 386.104 52.9297H387.364C388.947 52.9297 390.08 53.2088 390.764 53.765C391.448 54.3211 391.79 55.1545 391.79 56.2688C391.79 56.7372 391.732 57.2446 391.614 57.791H389.181C389.396 56.1712 388.781 55.3613 387.335 55.3613C386.651 55.3613 386.016 55.6014 385.43 56.0775C384.843 56.5557 384.462 57.1372 384.287 57.8183L382.469 65.1074L382.471 65.1093Z" fill="#4E1480"/>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="21" font-weight="600" letter-spacing="0em"><tspan x="258" y="106.136">Certificat de dépôt international</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="12" letter-spacing="0.5px"><tspan x="343" y="130.364">[[ANCHORING_TIME]]</tspan></text>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="48" y="190.091">Nom de l'office</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="242" y="189">[[OFFICE_NAME]]</tspan></text>
|
|
||||||
<path d="M32 208H810" stroke="#E7E7E7"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="48" y="236.091">Déposant(s)</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="242" y="235">LEcoffre.io</tspan></text>
|
|
||||||
<path d="M32 254H810" stroke="#E7E7E7"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="48" y="282.091">Hash</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px"><tspan x="242" y="281">[[ROOT_HASH]]</tspan></text>
|
|
||||||
<path d="M32 300H810" stroke="#E7E7E7"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="14" font-weight="600" letter-spacing="0.5px"><tspan x="48" y="328.091">Explorateur blockchain</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" letter-spacing="0.5px" text-decoration="underline"><tspan x="242" y="327"><a href="[[TX_LINK]]">[[TX_LINK]]</a></tspan></text>
|
|
||||||
<rect x="32" y="371" width="778" height="192" rx="8" fill="#F9F9F9"/>
|
|
||||||
<path d="M165 405V399.75M165 399.75C165.518 399.75 166.021 399.684 166.5 399.561M165 399.75C164.482 399.75 163.979 399.684 163.5 399.561M167.25 407.039C166.521 407.178 165.769 407.25 165 407.25C164.231 407.25 163.479 407.178 162.75 407.039M166.5 409.422C166.007 409.474 165.507 409.5 165 409.5C164.493 409.5 163.993 409.474 163.5 409.422M167.25 405V404.808C167.25 403.825 167.908 402.985 168.758 402.492C170.996 401.194 172.5 398.773 172.5 396C172.5 391.858 169.142 388.5 165 388.5C160.858 388.5 157.5 391.858 157.5 396C157.5 398.773 159.004 401.194 161.242 402.492C162.092 402.985 162.75 403.825 162.75 404.808V405" stroke="#320756" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="120.215" y="429.5">À quoi ça sert ?</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0.5px"><tspan x="48" y="456.773">Un </tspan><tspan x="64.9985" y="456.773">certificat </tspan><tspan x="112.136" y="456.773">d'ancrage </tspan><tspan x="162.79" y="456.773">sur </tspan><tspan x="181.633" y="456.773">la </tspan><tspan x="193.903" y="456.773">blockchain </tspan><tspan x="248.599" y="456.773">permet </tspan><tspan x="48" y="467.773">d'établir </tspan><tspan x="91.8574" y="467.773">de </tspan><tspan x="108.669" y="467.773">manière </tspan><tspan x="151.122" y="467.773">irréfutable </tspan><tspan x="205.305" y="467.773">l'enregistrement </tspan><tspan x="48" y="478.773">de </tspan><tspan x="63.6406" y="478.773">données </tspan><tspan x="107.621" y="478.773">spécifiques </tspan><tspan x="165.555" y="478.773">à </tspan><tspan x="174.938" y="478.773">une </tspan><tspan x="195.983" y="478.773">date </tspan><tspan x="220.912" y="478.773">et </tspan><tspan x="234.232" y="478.773">une </tspan><tspan x="255.277" y="478.773">heure </tspan><tspan x="48" y="489.773">déterminées. </tspan><tspan x="112.671" y="489.773">Il </tspan><tspan x="121.348" y="489.773">constitue </tspan><tspan x="168.514" y="489.773">une </tspan><tspan x="188.905" y="489.773">preuve </tspan><tspan x="224.288" y="489.773">immuable </tspan><tspan x="272.492" y="489.773">et </tspan><tspan x="48" y="500.773">juridiquement </tspan><tspan x="119.991" y="500.773">opposable </tspan><tspan x="176.307" y="500.773">de </tspan><tspan x="195.504" y="500.773">l'existence </tspan><tspan x="253.295" y="500.773">et </tspan><tspan x="270.172" y="500.773">de </tspan><tspan x="48" y="511.773">l'intégrité </tspan><tspan x="95.9414" y="511.773">des </tspan><tspan x="116.003" y="511.773">informations. </tspan><tspan x="177.777" y="511.773"> </tspan><tspan x="48" y="522.773">En </tspan><tspan x="63.5905" y="522.773">cas </tspan><tspan x="83.8381" y="522.773">de </tspan><tspan x="99.6132" y="522.773">litige, </tspan><tspan x="129.982" y="522.773">ce </tspan><tspan x="145.194" y="522.773">certificat </tspan><tspan x="192.216" y="522.773">peut </tspan><tspan x="217.384" y="522.773">démontrer </tspan><tspan x="270.172" y="522.773">de </tspan><tspan x="48" y="533.773">manière </tspan><tspan x="88.951" y="533.773">incontestable </tspan><tspan x="156.457" y="533.773">que </tspan><tspan x="177.39" y="533.773">les </tspan><tspan x="194.448" y="533.773">données </tspan><tspan x="238.097" y="533.773">n'ont </tspan><tspan x="265.242" y="533.773">pas </tspan><tspan x="48" y="544.773">été </tspan><tspan x="66.2246" y="544.773">altérées </tspan><tspan x="107.296" y="544.773">depuis </tspan><tspan x="141.707" y="544.773">leur </tspan><tspan x="162.69" y="544.773">enregistrement.</tspan></text>
|
|
||||||
<path d="M420.25 398.25L420.291 398.229C420.865 397.943 421.51 398.46 421.355 399.082L420.645 401.918C420.49 402.54 421.135 403.057 421.709 402.771L421.75 402.75M430 399C430 403.971 425.971 408 421 408C416.029 408 412 403.971 412 399C412 394.029 416.029 390 421 390C425.971 390 430 394.029 430 399ZM421 395.25H421.008V395.258H421V395.25Z" stroke="#320756" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="302.544" y="429.5">Qu'est-ce qu'un explorateur blockchain ?</tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0.5px"><tspan x="304" y="456.773">Un </tspan><tspan x="320.3" y="456.773">explorateur </tspan><tspan x="377.574" y="456.773">blockchain </tspan><tspan x="431.571" y="456.773">est </tspan><tspan x="449.646" y="456.773">un </tspan><tspan x="464.504" y="456.773">outil </tspan><tspan x="488.509" y="456.773">numérique </tspan><tspan x="304" y="467.773">permettant </tspan><tspan x="367.507" y="467.773">d'accéder </tspan><tspan x="425.363" y="467.773">et </tspan><tspan x="446.102" y="467.773">de </tspan><tspan x="469.16" y="467.773">consulter </tspan><tspan x="524.424" y="467.773">les </tspan><tspan x="304" y="478.773">transactions </tspan><tspan x="367.556" y="478.773">et </tspan><tspan x="382.123" y="478.773">les </tspan><tspan x="400.758" y="478.773">données </tspan><tspan x="445.985" y="478.773">enregistrées </tspan><tspan x="509.954" y="478.773">sur </tspan><tspan x="529.793" y="478.773">la </tspan><tspan x="304" y="489.773">blockchain. </tspan><tspan x="364.41" y="489.773">Il </tspan><tspan x="376.726" y="489.773">assure </tspan><tspan x="414.667" y="489.773">une </tspan><tspan x="438.698" y="489.773">transparence </tspan><tspan x="507.676" y="489.773">totale, </tspan><tspan x="304" y="500.773">permettant </tspan><tspan x="359.508" y="500.773">à </tspan><tspan x="368.311" y="500.773">toute </tspan><tspan x="396.314" y="500.773">partie </tspan><tspan x="427.401" y="500.773">prenante </tspan><tspan x="472.61" y="500.773">de </tspan><tspan x="487.67" y="500.773">vérifier </tspan><tspan x="524.424" y="500.773">les </tspan><tspan x="304" y="511.773">opérations </tspan><tspan x="359.15" y="511.773">et </tspan><tspan x="373.553" y="511.773">les </tspan><tspan x="392.024" y="511.773">enregistrements </tspan><tspan x="473.597" y="511.773">effectués </tspan><tspan x="523.22" y="511.773">sur </tspan><tspan x="304" y="522.773">la </tspan><tspan x="315.238" y="522.773">chaîne </tspan><tspan x="349.324" y="522.773">de </tspan><tspan x="364.184" y="522.773">blocs.</tspan></text>
|
|
||||||
<path d="M674.879 394.519C676.05 393.494 677.95 393.494 679.122 394.519C680.293 395.544 680.293 397.206 679.122 398.231C678.918 398.41 678.692 398.557 678.451 398.673C677.706 399.034 677 399.672 677 400.5V401.25M686 399C686 403.971 681.971 408 677 408C672.029 408 668 403.971 668 399C668 394.029 672.029 390 677 390C681.971 390 686 394.029 686 399ZM677 404.25H677.008V404.258H677V404.25Z" stroke="#320756" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<text fill="#320756" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="11" font-weight="600" letter-spacing="0.5px"><tspan x="610.791" y="429.5">Qu'est-ce qu'un hash ? </tspan></text>
|
|
||||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0.5px"><tspan x="560" y="456.773">Un </tspan><tspan x="581.231" y="456.773">hash </tspan><tspan x="611.934" y="456.773">est </tspan><tspan x="634.939" y="456.773">une </tspan><tspan x="660.467" y="456.773">empreinte </tspan><tspan x="716.1" y="456.773">cryptographique </tspan><tspan x="560" y="467.773">unique </tspan><tspan x="597.79" y="467.773">générée </tspan><tspan x="642.399" y="467.773">par </tspan><tspan x="664.011" y="467.773">un </tspan><tspan x="681.713" y="467.773">algorithme </tspan><tspan x="738.219" y="467.773">à </tspan><tspan x="749.998" y="467.773">partir </tspan><tspan x="782.172" y="467.773">de </tspan><tspan x="560" y="478.773">données </tspan><tspan x="603.199" y="478.773">spécifiques. </tspan><tspan x="663.33" y="478.773">Il </tspan><tspan x="671.879" y="478.773">agit </tspan><tspan x="692.871" y="478.773">comme </tspan><tspan x="729.683" y="478.773">une </tspan><tspan x="749.946" y="478.773">signature </tspan><tspan x="560" y="489.773">numérique </tspan><tspan x="614.479" y="489.773">permettant </tspan><tspan x="671.744" y="489.773">de </tspan><tspan x="688.561" y="489.773">vérifier </tspan><tspan x="727.071" y="489.773">l'intégrité </tspan><tspan x="776.97" y="489.773">des </tspan><tspan x="560" y="500.773">données </tspan><tspan x="604.77" y="500.773">: </tspan><tspan x="612.35" y="500.773">toute </tspan><tspan x="641.723" y="500.773">modification, </tspan><tspan x="707.783" y="500.773">même </tspan><tspan x="740.506" y="500.773">infime, </tspan><tspan x="776.97" y="500.773">des </tspan><tspan x="560" y="511.773">données </tspan><tspan x="607.11" y="511.773">d'origine </tspan><tspan x="655.115" y="511.773">entraîne </tspan><tspan x="700.889" y="511.773">la </tspan><tspan x="716.038" y="511.773">production </tspan><tspan x="773.921" y="511.773">d'un </tspan><tspan x="560" y="522.773">hash </tspan><tspan x="586.719" y="522.773">distinct, </tspan><tspan x="629.446" y="522.773">garantissant </tspan><tspan x="692.412" y="522.773">ainsi </tspan><tspan x="718.531" y="522.773">l'authenticité </tspan><tspan x="784.492" y="522.773">et </tspan><tspan x="560" y="533.773">l'intégrité </tspan><tspan x="607.941" y="533.773">des </tspan><tspan x="628.003" y="533.773">informations.</tspan></text>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description : Generate a PDF file from a SVG template from anchoring proof data
|
* @description : Generate a PDF file from a SVG template from anchoring proof data
|
||||||
*/
|
*/
|
||||||
public async generate(data: AnchoringProofData): Promise<Buffer> {
|
public async generate(data: AnchoringProofData): Promise<Buffer> {
|
||||||
const browser = await puppeteer.launch({
|
const browser = await puppeteer.launch({
|
||||||
headless: "new",
|
headless: "new",
|
||||||
executablePath: `/usr/bin/chromium`,
|
|
||||||
args: ["--no-sandbox", "--disable-setuid-sandbox"],
|
args: ["--no-sandbox", "--disable-setuid-sandbox"],
|
||||||
});
|
});
|
||||||
|
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
|
|
||||||
|
const proofTemplateSvg = proofTemplate({
|
||||||
|
rootHash: data.rootHash,
|
||||||
|
anchoringTime: data.anchoringTime,
|
||||||
|
officeName: data.office_name,
|
||||||
|
txLink: data.txLink,
|
||||||
|
});
|
||||||
|
|
||||||
var htmlContent = `
|
var htmlContent = `
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
${AnchoringProofService.svgTemplateDocumentBis}
|
${proofTemplateSvg}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
htmlContent = htmlContent
|
|
||||||
.replace("[[ROOT_HASH]]", data.rootHash)
|
|
||||||
.replace("[[ANCHORING_TIME]]", data.anchoringTime)
|
|
||||||
.replace("[[OFFICE_NAME]]", data.office_name)
|
|
||||||
.replace(/\[\[TX_LINK\]\]/g, data.txLink);
|
|
||||||
|
|
||||||
await page.setContent(htmlContent);
|
await page.setContent(htmlContent);
|
||||||
await page.addStyleTag({
|
await page.addStyleTag({
|
||||||
content: `
|
content: `
|
||||||
|
111
src/services/common/AnchoringProofService/proofTemplate.ts
Normal file
111
src/services/common/AnchoringProofService/proofTemplate.ts
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
export default function proofTemplate({
|
||||||
|
rootHash,
|
||||||
|
anchoringTime,
|
||||||
|
officeName,
|
||||||
|
txLink,
|
||||||
|
}: {
|
||||||
|
rootHash: string;
|
||||||
|
anchoringTime: string;
|
||||||
|
officeName: string;
|
||||||
|
txLink: string;
|
||||||
|
}) {
|
||||||
|
return `<svg width="842" height="595" viewBox="0 0 842 595" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_523_25027)">
|
||||||
|
<rect width="842" height="595" fill="#EFF0F6"/>
|
||||||
|
<g filter="url(#filter0_d_523_25027)">
|
||||||
|
<rect x="16" y="16" width="810" height="563" rx="8" fill="white" shape-rendering="crispEdges"/>
|
||||||
|
<path d="M375.811 67.4303H381.927V69.7976H372.845V51.9224H375.811V67.4303Z" fill="#005BCB"/>
|
||||||
|
<path d="M396.682 63.8051H385.728C385.815 64.9361 386.239 65.847 387.004 66.5318C387.765 67.2166 388.703 67.5605 389.813 67.5605C391.409 67.5605 392.537 66.9005 393.196 65.5805H396.397C395.964 66.885 395.177 67.9509 394.042 68.7813C392.907 69.6117 391.496 70.03 389.813 70.03C388.443 70.03 387.214 69.7263 386.129 69.1159C385.044 68.5086 384.194 67.6503 383.58 66.5442C382.965 65.438 382.655 64.1583 382.655 62.699C382.655 61.2396 382.953 59.9599 383.552 58.8537C384.151 57.7476 384.991 56.8955 386.076 56.2944C387.16 55.6933 388.405 55.3927 389.81 55.3927C391.214 55.3927 392.368 55.684 393.428 56.2665C394.487 56.849 395.309 57.667 395.901 58.7236C396.491 59.7771 396.785 60.9917 396.785 62.3612C396.785 62.8942 396.751 63.3744 396.682 63.802V63.8051ZM393.688 61.4379C393.669 60.3565 393.28 59.492 392.518 58.8413C391.753 58.1907 390.81 57.8653 389.681 57.8653C388.656 57.8653 387.781 58.1876 387.054 58.8289C386.326 59.4734 385.891 60.341 385.753 61.4379H393.688Z" fill="#005BCB"/>
|
||||||
|
<path d="M400.466 56.1147C401.29 54.7266 402.41 53.6421 403.824 52.8613C405.238 52.0804 406.787 51.69 408.47 51.69C410.395 51.69 412.11 52.1579 413.609 53.0906C415.11 54.0263 416.198 55.3493 416.876 57.0628H413.311C412.844 56.1209 412.192 55.4175 411.361 54.9527C410.53 54.488 409.564 54.2587 408.473 54.2587C407.276 54.2587 406.21 54.5251 405.272 55.055C404.335 55.5879 403.601 56.3502 403.074 57.3448C402.545 58.3394 402.281 59.4951 402.281 60.8151C402.281 62.135 402.545 63.2939 403.074 64.2885C403.604 65.2831 404.338 66.0515 405.272 66.5907C406.206 67.1298 407.276 67.3994 408.473 67.3994C409.567 67.3994 410.53 67.167 411.361 66.7053C412.192 66.2436 412.844 65.5403 413.311 64.5952H416.876C416.198 66.3087 415.11 67.6286 413.609 68.5551C412.107 69.4815 410.395 69.9432 408.47 69.9432C406.771 69.9432 405.216 69.5528 403.811 68.772C402.407 67.9912 401.29 66.9067 400.466 65.5186C399.641 64.1305 399.231 62.5595 399.231 60.812C399.231 59.0644 399.641 57.4935 400.466 56.1054V56.1147Z" fill="#005BCB"/>
|
||||||
|
<path d="M422.08 69.1159C420.986 68.5086 420.127 67.6503 419.503 66.5442C418.879 65.438 418.565 64.1583 418.565 62.699C418.565 61.2396 418.885 59.9816 419.528 58.8661C420.171 57.7507 421.045 56.8955 422.155 56.2944C423.265 55.6933 424.507 55.3927 425.877 55.3927C427.247 55.3927 428.488 55.6933 429.598 56.2944C430.708 56.8955 431.586 57.7507 432.226 58.8661C432.868 59.9816 433.188 61.2582 433.188 62.699C433.188 64.1398 432.859 65.4163 432.201 66.5318C431.542 67.6472 430.642 68.5086 429.507 69.1159C428.372 69.7232 427.118 70.03 425.748 70.03C424.378 70.03 423.171 69.7263 422.08 69.1159ZM427.893 66.9408C428.561 66.5814 429.103 66.0391 429.52 65.3203C429.937 64.6014 430.144 63.7246 430.144 62.6959C430.144 61.6672 429.943 60.7965 429.545 60.0869C429.147 59.3743 428.617 58.8382 427.959 58.4788C427.3 58.1194 426.588 57.9397 425.823 57.9397C425.058 57.9397 424.353 58.1194 423.704 58.4788C423.052 58.8382 422.538 59.3743 422.155 60.0869C421.773 60.7996 421.582 61.6672 421.582 62.6959C421.582 64.2234 421.977 65.4008 422.767 66.2312C423.557 67.0616 424.551 67.4799 425.745 67.4799C426.507 67.4799 427.225 67.3002 427.893 66.9408Z" fill="#005BCB"/>
|
||||||
|
<path d="M439.33 58.0171V69.7945H436.339V58.0171H434.649V55.6251H436.339V54.6212C436.339 52.9914 436.778 51.8047 437.653 51.0579C438.528 50.3112 439.904 49.9394 441.779 49.9394V52.3841C440.876 52.3841 440.243 52.5514 439.879 52.8861C439.515 53.2207 439.333 53.8001 439.333 54.6212V55.6251H441.989V58.0171H439.33Z" fill="#005BCB"/>
|
||||||
|
<path d="M448.488 58.0171V69.7945H445.497V58.0171H443.808V55.6251H445.497V54.6212C445.497 52.9914 445.936 51.8047 446.811 51.0579C447.686 50.3112 449.062 49.9394 450.937 49.9394V52.3841C450.034 52.3841 449.401 52.5514 449.037 52.8861C448.673 53.2207 448.492 53.8001 448.492 54.6212V55.6251H451.147V58.0171H448.488Z" fill="#005BCB"/>
|
||||||
|
<path d="M457.922 56C458.643 55.5972 459.496 55.3958 460.487 55.3958V58.4292H459.731C458.568 58.4292 457.69 58.7205 457.091 59.303C456.492 59.8855 456.194 60.8987 456.194 62.3364V69.7945H453.229V55.6251H456.194V57.6825C456.627 56.9637 457.204 56.3997 457.925 55.9969L457.922 56Z" fill="#005BCB"/>
|
||||||
|
<path d="M475.423 63.8051H464.469C464.556 64.9361 464.98 65.847 465.745 66.5318C466.506 67.2166 467.444 67.5605 468.554 67.5605C470.15 67.5605 471.278 66.9005 471.937 65.5805H475.138C474.705 66.885 473.918 67.9509 472.783 68.7813C471.648 69.6117 470.237 70.03 468.554 70.03C467.184 70.03 465.955 69.7263 464.87 69.1159C463.785 68.5086 462.935 67.6503 462.321 66.5442C461.706 65.438 461.396 64.1583 461.396 62.699C461.396 61.2396 461.694 59.9599 462.293 58.8537C462.892 57.7476 463.732 56.8955 464.817 56.2944C465.901 55.6933 467.146 55.3927 468.551 55.3927C469.955 55.3927 471.109 55.684 472.169 56.2665C473.228 56.849 474.05 57.667 474.642 58.7236C475.232 59.7771 475.526 60.9917 475.526 62.3612C475.526 62.8942 475.492 63.3744 475.423 63.802V63.8051ZM472.429 61.4379C472.41 60.3565 472.021 59.492 471.259 58.8413C470.494 58.1907 469.551 57.8653 468.422 57.8653C467.397 57.8653 466.522 58.1876 465.795 58.8289C465.067 59.4734 464.632 60.341 464.494 61.4379H472.429Z" fill="#005BCB"/>
|
||||||
|
<path d="M478.232 69.59C478.041 69.401 477.947 69.1624 477.947 68.8711C477.947 68.5799 478.041 68.3413 478.232 68.1523C478.423 67.9633 478.665 67.8703 478.959 67.8703C479.235 67.8703 479.47 67.9633 479.661 68.1523C479.853 68.3413 479.947 68.5799 479.947 68.8711C479.947 69.1624 479.853 69.4041 479.661 69.59C479.47 69.779 479.235 69.872 478.959 69.872C478.665 69.872 478.42 69.779 478.232 69.59Z" fill="#005BCB"/>
|
||||||
|
<path d="M482.916 52.4492C482.725 52.2695 482.631 52.0247 482.631 51.7148C482.631 51.4236 482.725 51.185 482.916 50.996C483.108 50.807 483.343 50.714 483.619 50.714C483.894 50.714 484.13 50.807 484.321 50.996C484.512 51.185 484.606 51.4236 484.606 51.7148C484.606 52.0247 484.512 52.2664 484.321 52.4492C484.13 52.6289 483.894 52.7187 483.619 52.7187C483.343 52.7187 483.108 52.6289 482.916 52.4492ZM484.192 55.8327V69.7976H483.02V55.8327H484.192Z" fill="#005BCB"/>
|
||||||
|
<path d="M490.437 69.1283C489.378 68.5458 488.55 67.7092 487.951 66.6216C487.352 65.5341 487.055 64.2606 487.055 62.8012C487.055 61.3418 487.359 60.0962 487.964 59.0087C488.572 57.9211 489.409 57.0876 490.475 56.5144C491.541 55.9412 492.736 55.653 494.052 55.653C495.369 55.653 496.561 55.9412 497.617 56.5144C498.677 57.0876 499.505 57.9149 500.103 58.9963C500.702 60.0776 501 61.3449 501 62.8012C501 64.2575 500.696 65.531 500.091 66.6216C499.483 67.7092 498.645 68.5458 497.579 69.1283C496.514 69.7108 495.319 70.0021 494.002 70.0021C492.685 70.0021 491.494 69.7108 490.437 69.1283ZM496.877 68.2917C497.771 67.8362 498.486 67.1484 499.025 66.2219C499.561 65.2955 499.831 64.1552 499.831 62.8012C499.831 61.4472 499.561 60.3317 499.025 59.4053C498.486 58.4788 497.777 57.791 496.89 57.3355C496.006 56.88 495.049 56.6538 494.027 56.6538C493.005 56.6538 492.055 56.88 491.177 57.3355C490.303 57.791 489.594 58.4788 489.058 59.4053C488.519 60.3317 488.252 61.4627 488.252 62.8012C488.252 64.1398 488.516 65.2955 489.045 66.2219C489.575 67.1484 490.278 67.8393 491.152 68.2917C492.027 68.7472 492.977 68.9734 494.002 68.9734C495.027 68.9734 495.984 68.7472 496.877 68.2917Z" fill="#005BCB"/>
|
||||||
|
<path d="M361.804 54.869C361.892 55.0166 362.072 55.0884 362.24 55.0392L365.036 54.2109C365.185 54.1693 365.284 54.0331 365.284 53.8856V48.6695C365.284 48.2988 364.982 48 364.607 48H341.566C341.226 48 341.019 48.227 341.019 48.556L341 60.5012V71.3305C341 71.7012 341.302 72 341.677 72H364.718C365.059 72 365.265 71.7731 365.265 71.4402L365.284 59.4988V59.461C365.284 59.0184 365.219 58.7121 364.611 58.8823L363.514 59.2038C363.338 59.2567 363.223 59.4194 363.23 59.5972L363.25 59.9981C363.25 64.7527 360.744 68.1645 356.323 69.5036C349.09 71.6936 342.492 66.0804 343.077 59.1319C343.482 54.3622 347.361 50.4889 352.18 50.0501C356.258 49.6794 359.887 51.7031 361.8 54.8615L361.804 54.869Z" fill="#005BCB"/>
|
||||||
|
<path d="M356.938 64.7943C357.96 64.0984 358.747 63.0922 359.164 61.9158C359.275 61.5943 359.363 61.2577 359.417 60.9135C359.451 60.7055 359.252 60.5315 359.05 60.5958L357.172 61.1783C357.091 61.2048 357.026 61.2653 356.996 61.3447C356.403 62.8085 354.873 63.7958 353.144 63.5877C351.457 63.3835 350.107 61.9991 349.958 60.3272C349.908 59.7674 349.988 59.2303 350.168 58.7423C350.685 57.3655 352.027 56.3821 353.599 56.3821C354.487 56.3821 355.301 56.696 355.936 57.218C356.009 57.2785 356.108 57.3012 356.204 57.2709L357.986 56.7187C358.086 56.6884 358.151 56.6128 358.178 56.5296C358.201 56.4426 358.189 56.3442 358.124 56.2686C356.973 54.9031 355.198 54.0672 353.228 54.1844C353.205 54.1882 353.182 54.192 353.159 54.192L352.551 52.278C352.475 52.0284 352.207 51.8884 351.954 51.9641L350.57 52.3915C350.317 52.4709 350.176 52.7357 350.256 52.9854L350.707 54.4114C350.788 54.661 350.688 54.9334 350.467 55.0733C349.369 55.7617 348.508 56.7981 348.061 58.0237C347.877 58.5154 347.762 59.0374 347.724 59.5783C347.713 59.7787 347.709 59.9754 347.716 60.1683C347.728 60.4293 347.556 60.6638 347.303 60.7433L345.781 61.2275C345.529 61.3069 345.387 61.5716 345.463 61.8213L345.896 63.1906C345.976 63.4402 346.244 63.5764 346.496 63.5007L348.045 63.0052C348.29 62.9296 348.562 63.0166 348.703 63.2284C349.759 64.7906 351.557 65.8232 353.599 65.8232C353.687 65.8232 353.771 65.8232 353.855 65.8232C354.123 65.8081 354.364 65.9783 354.444 66.2279L354.915 67.7258C354.995 67.9754 355.263 68.1154 355.515 68.036L356.9 67.6085C357.152 67.5329 357.29 67.2643 357.214 67.0147L356.716 65.4487C356.64 65.2066 356.728 64.9419 356.938 64.7981V64.7943Z" fill="#005BCB"/>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="20" letter-spacing="-0.02em"><tspan x="266.5" y="110">Certificat de dépôt international</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="16" font-weight="300" letter-spacing="0.005em"><tspan x="333" y="139.6">${anchoringTime}</tspan></text>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="14" font-weight="600" letter-spacing="0.005em"><tspan x="48" y="200.4">Nom de l'office</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="12" font-weight="300" letter-spacing="0.005em"><tspan x="242" y="198.2">${officeName}</tspan></text>
|
||||||
|
<path d="M32 214H810" stroke="#D7DCE0"/>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="14" font-weight="600" letter-spacing="0.005em"><tspan x="48" y="237.4">Déposant(s)</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="12" font-weight="300" letter-spacing="0.005em"><tspan x="242" y="235.2">LEcoffre.io</tspan></text>
|
||||||
|
<path d="M32 251H810" stroke="#D7DCE0"/>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="14" font-weight="600" letter-spacing="0.005em"><tspan x="48" y="274.4">Hash </tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="12" font-weight="300" letter-spacing="0.005em"><tspan x="242" y="272.2">${rootHash}</tspan></text>
|
||||||
|
<path d="M32 288H810" stroke="#D7DCE0"/>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="14" font-weight="600" letter-spacing="0.005em"><tspan x="48" y="311.4">Explorateur blockchain</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="12" font-weight="300" letter-spacing="0.005em"><tspan x="242" y="309.2"><a href="${txLink}">${txLink}</a></tspan></text>
|
||||||
|
<rect x="32" y="356" width="778" height="207" rx="8" fill="#F7F8F8"/>
|
||||||
|
<g filter="url(#filter1_d_523_25027)">
|
||||||
|
<path d="M145 392C145 380.954 153.954 372 165 372C176.046 372 185 380.954 185 392C185 403.046 176.046 412 165 412C153.954 412 145 403.046 145 392Z" fill="white" shape-rendering="crispEdges"/>
|
||||||
|
<path d="M165 398V392.75M165 392.75C165.518 392.75 166.021 392.684 166.5 392.561M165 392.75C164.482 392.75 163.979 392.684 163.5 392.561M167.25 400.039C166.521 400.178 165.769 400.25 165 400.25C164.231 400.25 163.479 400.178 162.75 400.039M166.5 402.422C166.007 402.474 165.507 402.5 165 402.5C164.493 402.5 163.993 402.474 163.5 402.422M167.25 398V397.808C167.25 396.825 167.908 395.985 168.758 395.492C170.996 394.194 172.5 391.773 172.5 389C172.5 384.858 169.142 381.5 165 381.5C160.858 381.5 157.5 384.858 157.5 389C157.5 391.773 159.004 394.194 161.242 395.492C162.092 395.985 162.75 396.825 162.75 397.808V398" stroke="#005BCB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="10" font-weight="600" letter-spacing="-0.02em"><tspan x="128.023" y="431">À quoi ça sert ?</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="8" letter-spacing="-0.02em"><tspan x="48" y="451.8">Un </tspan><tspan x="60.6902" y="451.8">certificat </tspan><tspan x="97.0535" y="451.8">d'ancrage </tspan><tspan x="138.928" y="451.8">sur </tspan><tspan x="153.224" y="451.8">la </tspan><tspan x="162.774" y="451.8">blockchain </tspan><tspan x="207.606" y="451.8">permet </tspan><tspan x="238.609" y="451.8">d'établir </tspan><tspan x="271.953" y="451.8">de </tspan><tspan x="48" y="463.8">manière </tspan><tspan x="82.9033" y="463.8">irréfutable </tspan><tspan x="124.831" y="463.8">l'enregistrement </tspan><tspan x="189.567" y="463.8">de </tspan><tspan x="201.997" y="463.8">données </tspan><tspan x="238.119" y="463.8">spécifiques </tspan><tspan x="48" y="475.8">à </tspan><tspan x="55.2431" y="475.8">une </tspan><tspan x="71.9553" y="475.8">date </tspan><tspan x="91.9997" y="475.8">et </tspan><tspan x="101.552" y="475.8">une </tspan><tspan x="118.264" y="475.8">heure </tspan><tspan x="142.601" y="475.8">déterminées. </tspan><tspan x="195.014" y="475.8">Il </tspan><tspan x="200.628" y="475.8">constitue </tspan><tspan x="238.334" y="475.8">une </tspan><tspan x="255.046" y="475.8">preuve </tspan><tspan x="48" y="487.8">immuable </tspan><tspan x="91.4516" y="487.8">et </tspan><tspan x="102.426" y="487.8">juridiquement </tspan><tspan x="159.913" y="487.8">opposable </tspan><tspan x="204.861" y="487.8">de </tspan><tspan x="218.327" y="487.8">l'existence </tspan><tspan x="260.979" y="487.8">et </tspan><tspan x="271.953" y="487.8">de </tspan><tspan x="48" y="499.8">l'intégrité </tspan><tspan x="84.6503" y="499.8">des </tspan><tspan x="100.69" y="499.8">informations. </tspan><tspan x="151.055" y="499.8"> </tspan><tspan x="48" y="519.8">En </tspan><tspan x="60.9535" y="519.8">cas </tspan><tspan x="78.9735" y="519.8">de </tspan><tspan x="93.0754" y="519.8">litige, </tspan><tspan x="116.784" y="519.8">ce </tspan><tspan x="130.339" y="519.8">certificat </tspan><tspan x="168.262" y="519.8">peut </tspan><tspan x="190.075" y="519.8">démontrer </tspan><tspan x="235.377" y="519.8">de </tspan><tspan x="249.479" y="519.8">manière </tspan><tspan x="48" y="531.8">incontestable </tspan><tspan x="103.195" y="531.8">que </tspan><tspan x="120.584" y="531.8">les </tspan><tspan x="133.597" y="531.8">données </tspan><tspan x="169.721" y="531.8">n'ont </tspan><tspan x="190.844" y="531.8">pas </tspan><tspan x="207.741" y="531.8">été </tspan><tspan x="222.481" y="531.8">altérées </tspan><tspan x="255.921" y="531.8">depuis </tspan><tspan x="48" y="543.8">leur </tspan><tspan x="64.3641" y="543.8">enregistrement.</tspan></text>
|
||||||
|
<g filter="url(#filter2_d_523_25027)">
|
||||||
|
<path d="M401 392C401 380.954 409.954 372 421 372C432.046 372 441 380.954 441 392C441 403.046 432.046 412 421 412C409.954 412 401 403.046 401 392Z" fill="white" shape-rendering="crispEdges"/>
|
||||||
|
<path d="M420.25 391.25L420.291 391.229C420.865 390.943 421.51 391.46 421.355 392.082L420.645 394.918C420.49 395.54 421.135 396.057 421.709 395.771L421.75 395.75M430 392C430 396.971 425.971 401 421 401C416.029 401 412 396.971 412 392C412 387.029 416.029 383 421 383C425.971 383 430 387.029 430 392ZM421 388.25H421.008V388.258H421V388.25Z" stroke="#005BCB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="10" font-weight="600" letter-spacing="-0.02em"><tspan x="320.374" y="431">Qu'est-ce qu'un explorateur blockchain ?</tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="8" letter-spacing="-0.02em"><tspan x="304" y="451.8">Un </tspan><tspan x="323.757" y="451.8">explorateur </tspan><tspan x="377.207" y="451.8">blockchain </tspan><tspan x="429.106" y="451.8">est </tspan><tspan x="450.242" y="451.8">un </tspan><tspan x="469.718" y="451.8">outil </tspan><tspan x="495.565" y="451.8">numérique </tspan><tspan x="304" y="463.8">permettant </tspan><tspan x="350.803" y="463.8">d'accéder </tspan><tspan x="392.063" y="463.8">et </tspan><tspan x="402.201" y="463.8">de </tspan><tspan x="414.832" y="463.8">consulter </tspan><tspan x="453.193" y="463.8">les </tspan><tspan x="466.406" y="463.8">transactions </tspan><tspan x="517.233" y="463.8">et </tspan><tspan x="527.371" y="463.8">les </tspan><tspan x="304" y="475.8">données </tspan><tspan x="344.266" y="475.8">enregistrées </tspan><tspan x="398.451" y="475.8">sur </tspan><tspan x="416.779" y="475.8">la </tspan><tspan x="430.361" y="475.8">blockchain. </tspan><tspan x="480.745" y="475.8">Il </tspan><tspan x="490.89" y="475.8">assure </tspan><tspan x="523.285" y="475.8">une </tspan><tspan x="304" y="487.8">transparence </tspan><tspan x="359.216" y="487.8">totale, </tspan><tspan x="385.801" y="487.8">permettant </tspan><tspan x="432.86" y="487.8">à </tspan><tspan x="440.945" y="487.8">toute </tspan><tspan x="464.008" y="487.8">partie </tspan><tspan x="489.527" y="487.8">prenante </tspan><tspan x="527.953" y="487.8">de </tspan><tspan x="304" y="499.8">vérifier </tspan><tspan x="332.148" y="499.8">les </tspan><tspan x="345.26" y="499.8">opérations </tspan><tspan x="389.315" y="499.8">et </tspan><tspan x="399.353" y="499.8">les </tspan><tspan x="412.465" y="499.8">enregistrements </tspan><tspan x="478.399" y="499.8">effectués </tspan><tspan x="516.661" y="499.8">sur </tspan><tspan x="530.945" y="499.8">la </tspan><tspan x="304" y="511.8">chaîne </tspan><tspan x="332.442" y="511.8">de </tspan><tspan x="344.463" y="511.8">blocs.</tspan></text>
|
||||||
|
<g filter="url(#filter3_d_523_25027)">
|
||||||
|
<path d="M657 392C657 380.954 665.954 372 677 372C688.046 372 697 380.954 697 392C697 403.046 688.046 412 677 412C665.954 412 657 403.046 657 392Z" fill="white" shape-rendering="crispEdges"/>
|
||||||
|
<path d="M674.879 387.519C676.05 386.494 677.95 386.494 679.122 387.519C680.293 388.544 680.293 390.206 679.122 391.231C678.918 391.41 678.692 391.557 678.451 391.673C677.706 392.034 677 392.672 677 393.5V394.25M686 392C686 396.971 681.971 401 677 401C672.029 401 668 396.971 668 392C668 387.029 672.029 383 677 383C681.971 383 686 387.029 686 392ZM677 397.25H677.008V397.258H677V397.25Z" stroke="#005BCB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
<text fill="#005BCB" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="10" font-weight="600" letter-spacing="-0.02em"><tspan x="620.953" y="431">Qu'est-ce qu'un hash ? </tspan></text>
|
||||||
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="8" letter-spacing="-0.02em"><tspan x="560" y="451.8">Un </tspan><tspan x="572.215" y="451.8">hash </tspan><tspan x="593.415" y="451.8">est </tspan><tspan x="607.009" y="451.8">une </tspan><tspan x="623.744" y="451.8">empreinte </tspan><tspan x="665.839" y="451.8">cryptographique </tspan><tspan x="733.021" y="451.8">unique </tspan><tspan x="761.768" y="451.8">générée </tspan><tspan x="560" y="463.8">par </tspan><tspan x="577.147" y="463.8">un </tspan><tspan x="590.892" y="463.8">algorithme </tspan><tspan x="637.208" y="463.8">à </tspan><tspan x="646.285" y="463.8">partir </tspan><tspan x="670.819" y="463.8">de </tspan><tspan x="684.697" y="463.8">données </tspan><tspan x="722.266" y="463.8">spécifiques. </tspan><tspan x="771.497" y="463.8">Il </tspan><tspan x="778.945" y="463.8">agit </tspan><tspan x="560" y="475.8">comme </tspan><tspan x="595.569" y="475.8">une </tspan><tspan x="615.231" y="475.8">signature </tspan><tspan x="656.792" y="475.8">numérique </tspan><tspan x="704.174" y="475.8">permettant </tspan><tspan x="753.341" y="475.8">de </tspan><tspan x="768.335" y="475.8">vérifier </tspan><tspan x="560" y="487.8">l'intégrité </tspan><tspan x="598.735" y="487.8">des </tspan><tspan x="616.859" y="487.8">données </tspan><tspan x="654.656" y="487.8">: </tspan><tspan x="660.257" y="487.8">toute </tspan><tspan x="684.538" y="487.8">modification, </tspan><tspan x="738.82" y="487.8">même </tspan><tspan x="768.643" y="487.8">infime, </tspan><tspan x="560" y="499.8">des </tspan><tspan x="579.262" y="499.8">données </tspan><tspan x="618.196" y="499.8">d'origine </tspan><tspan x="656.154" y="499.8">entraîne </tspan><tspan x="693.498" y="499.8">la </tspan><tspan x="705.748" y="499.8">production </tspan><tspan x="753.351" y="499.8">d'un </tspan><tspan x="774.82" y="499.8">hash </tspan><tspan x="560" y="511.8">distinct, </tspan><tspan x="594.822" y="511.8">garantissant </tspan><tspan x="649.249" y="511.8">ainsi </tspan><tspan x="672.437" y="511.8">l'authenticité </tspan><tspan x="727.006" y="511.8">et </tspan><tspan x="739.908" y="511.8">l'intégrité </tspan><tspan x="779.933" y="511.8">des </tspan><tspan x="560" y="523.8">informations.</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<filter id="filter0_d_523_25027" x="-8" y="-4" width="858" height="611" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
|
<feOffset dy="4"/>
|
||||||
|
<feGaussianBlur stdDeviation="12"/>
|
||||||
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_523_25027"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_523_25027" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="filter1_d_523_25027" x="129" y="360" width="72" height="72" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
|
<feOffset dy="4"/>
|
||||||
|
<feGaussianBlur stdDeviation="8"/>
|
||||||
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_523_25027"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_523_25027" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="filter2_d_523_25027" x="385" y="360" width="72" height="72" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
|
<feOffset dy="4"/>
|
||||||
|
<feGaussianBlur stdDeviation="8"/>
|
||||||
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_523_25027"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_523_25027" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="filter3_d_523_25027" x="641" y="360" width="72" height="72" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
|
<feOffset dy="4"/>
|
||||||
|
<feGaussianBlur stdDeviation="8"/>
|
||||||
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
|
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||||
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_523_25027"/>
|
||||||
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_523_25027" result="shape"/>
|
||||||
|
</filter>
|
||||||
|
<clipPath id="clip0_523_25027">
|
||||||
|
<rect width="842" height="595" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
`;
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
import { DocumentsNotary, Prisma } from "@prisma/client";
|
import { DocumentsNotary, EDocumentNotaryStatus, Prisma } from "@prisma/client";
|
||||||
import { Document, DocumentNotary } from "le-coffre-resources/dist/Notary";
|
import { Document, DocumentNotary } from "le-coffre-resources/dist/Notary";
|
||||||
import DocumentsNotaryRepository from "@Repositories/DocumentsNotaryRepository";
|
import DocumentsNotaryRepository from "@Repositories/DocumentsNotaryRepository";
|
||||||
import BaseService from "@Services/BaseService";
|
import BaseService from "@Services/BaseService";
|
||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export default class DocumentsService extends BaseService {
|
export default class DocumentsNotaryService extends BaseService {
|
||||||
constructor(private documentsNotaryRepository: DocumentsNotaryRepository) {
|
constructor(private documentsNotaryRepository: DocumentsNotaryRepository) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@ -58,4 +58,8 @@ export default class DocumentsService extends BaseService {
|
|||||||
public async getByUidWithOffice(uid: string) {
|
public async getByUidWithOffice(uid: string) {
|
||||||
return this.documentsNotaryRepository.findOneByUidWithOffice(uid);
|
return this.documentsNotaryRepository.findOneByUidWithOffice(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public changeStatus(uid: string, status: EDocumentNotaryStatus) {
|
||||||
|
return this.documentsNotaryRepository.changeStatus(uid, status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user