Skip to content

Commit 9564e26

Browse files
committed
feat(api): add script to save a new legal document version
1 parent 57e1be6 commit 9564e26

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import 'dotenv/config';
2+
3+
import { usecases } from '../../src/legal-documents/domain/usecases/index.js';
4+
import { Script } from '../../src/shared/application/scripts/script.js';
5+
import { ScriptRunner } from '../../src/shared/application/scripts/script-runner.js';
6+
7+
export class AddNewLegalDocumentVersion extends Script {
8+
constructor() {
9+
super({
10+
description: 'Add a new legal document version.',
11+
permanent: true,
12+
options: {
13+
type: {
14+
type: 'string',
15+
describe: 'Type of document (ex: "TOS", "PDP")',
16+
demandOption: true,
17+
},
18+
service: {
19+
type: 'string',
20+
describe: 'Associated service (ex: "pix-app", "pix-orga",...)',
21+
demandOption: true,
22+
},
23+
versionAt: {
24+
type: 'string',
25+
describe: 'Version date of the legal document, format "YYYY-MM-DD", (ex: "2020-02-27")',
26+
demandOption: true,
27+
},
28+
},
29+
});
30+
}
31+
32+
async handle({ options, logger }) {
33+
let { type, service, versionAt } = options;
34+
35+
type = type?.trim();
36+
service = service?.trim();
37+
versionAt = versionAt?.trim();
38+
39+
logger.info(`Adding new legal document for type:${type}, service:${service}, versionAt:${versionAt}`);
40+
41+
await usecases.createLegalDocument({ type, service, versionAt });
42+
logger.info(`New legal document for type:${type}, service:${service}, versionAt:${versionAt} added successfully.`);
43+
}
44+
}
45+
46+
await ScriptRunner.execute(import.meta.url, AddNewLegalDocumentVersion);

0 commit comments

Comments
 (0)