@lilaquadrat/studio 10.0.0-beta.40 → 10.0.0-beta.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/models.d.ts +2 -4
- package/lib/models.js +2 -4
- package/lib/models.js.map +1 -1
- package/lib/services.d.ts +2 -1
- package/lib/services.js +2 -1
- package/lib/services.js.map +1 -1
- package/lib/src/models/design.model.d.ts +4 -0
- package/lib/src/models/design.model.js +58 -0
- package/lib/src/models/design.model.js.map +1 -0
- package/lib/src/services/conf.service.js +2 -1
- package/lib/src/services/conf.service.js.map +1 -1
- package/lib/src/services/designs.service.d.ts +7 -0
- package/lib/src/services/designs.service.js +10 -0
- package/lib/src/services/designs.service.js.map +1 -0
- package/lib/src/services/publish.service.js +1 -2
- package/lib/src/services/publish.service.js.map +1 -1
- package/package.json +3 -3
- package/lib/src/models/certificate-action.model.d.ts +0 -5
- package/lib/src/models/certificate-action.model.js +0 -229
- package/lib/src/models/certificate-action.model.js.map +0 -1
- package/lib/src/models/certificate.model.d.ts +0 -4
- package/lib/src/models/certificate.model.js +0 -96
- package/lib/src/models/certificate.model.js.map +0 -1
- package/lib/src/models/editorBase.model.d.ts +0 -4
- package/lib/src/models/editorBase.model.js +0 -39
- package/lib/src/models/editorBase.model.js.map +0 -1
- package/lib/src/services/certificates.service.d.ts +0 -0
- package/lib/src/services/certificates.service.js +0 -199
- package/lib/src/services/certificates.service.js.map +0 -1
- package/lib/src/services/certificatesAction.service.d.ts +0 -0
- package/lib/src/services/certificatesAction.service.js +0 -237
- package/lib/src/services/certificatesAction.service.js.map +0 -1
- package/lib/src/services/editorBase.service.d.ts +0 -0
- package/lib/src/services/editorBase.service.js +0 -185
- package/lib/src/services/editorBase.service.js.map +0 -1
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import Modelv2 from '../classes/modelv2.class.js';
|
|
2
|
-
const model = new Modelv2('certificates', 'certificates');
|
|
3
|
-
model.addIndex({
|
|
4
|
-
key: {
|
|
5
|
-
domains: 1,
|
|
6
|
-
company: 1,
|
|
7
|
-
project: 1,
|
|
8
|
-
},
|
|
9
|
-
name: 'domains',
|
|
10
|
-
}, 1);
|
|
11
|
-
model.setSchema({
|
|
12
|
-
type: 'object',
|
|
13
|
-
properties: {
|
|
14
|
-
company: { type: 'string' },
|
|
15
|
-
project: { type: 'string' },
|
|
16
|
-
filename: { type: 'string' },
|
|
17
|
-
type: { enum: ['domain'] },
|
|
18
|
-
contentType: { enum: ['pem', 'pfx'] },
|
|
19
|
-
domains: {
|
|
20
|
-
type: 'array',
|
|
21
|
-
items: {
|
|
22
|
-
type: 'string',
|
|
23
|
-
minLength: 3,
|
|
24
|
-
maxLength: 50,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
valid: {
|
|
28
|
-
type: 'object',
|
|
29
|
-
properties: {
|
|
30
|
-
from: { type: 'object' },
|
|
31
|
-
to: { type: 'object' },
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
additionalProperties: false,
|
|
35
|
-
},
|
|
36
|
-
required: ['domains', 'company', 'project', 'type', 'contentType'],
|
|
37
|
-
additionalProperties: false,
|
|
38
|
-
}, 'create-domain');
|
|
39
|
-
model.setSchema({
|
|
40
|
-
type: 'object',
|
|
41
|
-
properties: {
|
|
42
|
-
company: { type: 'string' },
|
|
43
|
-
project: { type: 'string' },
|
|
44
|
-
filename: { type: 'string' },
|
|
45
|
-
type: { enum: ['wildcard'] },
|
|
46
|
-
contentType: { enum: ['pem', 'pfx'] },
|
|
47
|
-
domains: {
|
|
48
|
-
type: 'array',
|
|
49
|
-
items: {
|
|
50
|
-
type: 'string',
|
|
51
|
-
minLength: 3,
|
|
52
|
-
maxLength: 50,
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
valid: {
|
|
56
|
-
type: 'object',
|
|
57
|
-
properties: {
|
|
58
|
-
from: { type: 'object' },
|
|
59
|
-
to: { type: 'object' },
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
additionalProperties: false,
|
|
63
|
-
},
|
|
64
|
-
required: ['domains', 'type', 'contentType'],
|
|
65
|
-
additionalProperties: false,
|
|
66
|
-
}, 'create-wildcard');
|
|
67
|
-
model.setSchema({
|
|
68
|
-
type: 'object',
|
|
69
|
-
properties: {
|
|
70
|
-
company: { type: 'string' },
|
|
71
|
-
project: { type: 'string' },
|
|
72
|
-
filename: { type: 'string' },
|
|
73
|
-
type: { enum: ['domain', 'wildcard'] },
|
|
74
|
-
contentType: { enum: ['pem', 'pfx'] },
|
|
75
|
-
domains: {
|
|
76
|
-
type: 'array',
|
|
77
|
-
items: {
|
|
78
|
-
type: 'string',
|
|
79
|
-
minLength: 3,
|
|
80
|
-
maxLength: 50,
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
valid: {
|
|
84
|
-
type: 'object',
|
|
85
|
-
properties: {
|
|
86
|
-
from: { type: 'object' },
|
|
87
|
-
to: { type: 'object' },
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
additionalProperties: false,
|
|
91
|
-
},
|
|
92
|
-
required: ['domains', 'type', 'contentType'],
|
|
93
|
-
additionalProperties: false,
|
|
94
|
-
}, 'change');
|
|
95
|
-
export default model;
|
|
96
|
-
//# sourceMappingURL=certificate.model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.model.js","sourceRoot":"","sources":["../../../src/models/certificate.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import Modelv2 from '../classes/modelv2.class.js';
|
|
2
|
-
const model = new Modelv2('editorBase', 'editorBase');
|
|
3
|
-
model.addIndex({
|
|
4
|
-
key: {
|
|
5
|
-
company: 1,
|
|
6
|
-
project: 1,
|
|
7
|
-
type: 1,
|
|
8
|
-
},
|
|
9
|
-
unique: true,
|
|
10
|
-
name: 'unique-id-project',
|
|
11
|
-
}, 2);
|
|
12
|
-
model.setSchema({
|
|
13
|
-
type: 'object',
|
|
14
|
-
properties: {
|
|
15
|
-
company: { type: 'string' },
|
|
16
|
-
project: { type: 'string' },
|
|
17
|
-
type: { type: 'string' },
|
|
18
|
-
version: { type: 'string' },
|
|
19
|
-
custom: { type: 'boolean' },
|
|
20
|
-
date: { type: 'object' },
|
|
21
|
-
},
|
|
22
|
-
required: ['date', 'type', 'company', 'project'],
|
|
23
|
-
additionalProperties: false,
|
|
24
|
-
}, 'create');
|
|
25
|
-
model.setSchema({
|
|
26
|
-
type: 'object',
|
|
27
|
-
properties: {
|
|
28
|
-
company: { type: 'string' },
|
|
29
|
-
project: { type: 'string' },
|
|
30
|
-
type: { type: 'string' },
|
|
31
|
-
version: { type: 'string' },
|
|
32
|
-
custom: { type: 'boolean' },
|
|
33
|
-
date: { type: 'object' },
|
|
34
|
-
},
|
|
35
|
-
required: ['date', 'type', 'company', 'project'],
|
|
36
|
-
additionalProperties: false,
|
|
37
|
-
}, 'change');
|
|
38
|
-
export default model;
|
|
39
|
-
//# sourceMappingURL=editorBase.model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editorBase.model.js","sourceRoot":"","sources":["../../../src/models/editorBase.model.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAGlD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAa,YAAY,EAAE,YAAY,CAAC,CAAC;AAElE,KAAK,CAAC,QAAQ,CACZ;IACE,GAAG,EAAE;QACH,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;KACR;IACD,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,mBAAmB;CAC1B,EACD,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,SAAS,CACb;IACE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;IAChD,oBAAoB,EAAE,KAAK;CAC5B,EACD,QAAQ,CACT,CAAC;AAEF,KAAK,CAAC,SAAS,CACb;IACE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;IAChD,oBAAoB,EAAE,KAAK;CAC5B,EACD,QAAQ,CACT,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
File without changes
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
// import tls, { PeerCertificate } from 'tls';
|
|
2
|
-
// import net from 'net';
|
|
3
|
-
// import { ClientSecretCredential, DefaultAzureCredential } from '@azure/identity';
|
|
4
|
-
// import fs from 'fs';
|
|
5
|
-
// import ACME from '@root/acme';
|
|
6
|
-
// import CSR from '@root/csr';
|
|
7
|
-
// import PEM from '@root/pem/packer';
|
|
8
|
-
// import Keypairs from '@root/keypairs';
|
|
9
|
-
// import { exec } from 'child_process';
|
|
10
|
-
// import fetch from 'node-fetch';
|
|
11
|
-
// import { X509Certificate } from 'node:crypto';
|
|
12
|
-
// import CertificateModel from '../models/certificate.model.js';
|
|
13
|
-
// import Immutable from '../Immutable.class.js';
|
|
14
|
-
// import certificatesActionsService from './certificatesAction.service.js';
|
|
15
|
-
// import HttpSslChallenge from '../http.challenge.class.js';
|
|
16
|
-
// import logger from '../logger.js';
|
|
17
|
-
// import DnsSslChallenge from '../dns.challenge.class.js';
|
|
18
|
-
// import { BasicData, Certificate, CertificateAction, ShareClientInterface, UserApp, WildcardCertificates } from '@lilaquadrat/interfaces';
|
|
19
|
-
// export class CertificatesService extends Immutable<Certificate> {
|
|
20
|
-
// model = CertificateModel;
|
|
21
|
-
// shareClient?: ShareClientInterface;
|
|
22
|
-
// acme_email?: string;
|
|
23
|
-
// acme_directory: string;
|
|
24
|
-
// constructor(acme_email?: string, acmeMode?: 'staging' | 'live', shareClient?: ShareClientInterface) {
|
|
25
|
-
// super();
|
|
26
|
-
// this.shareClient = shareClient;
|
|
27
|
-
// this.acme_email = acme_email;
|
|
28
|
-
// this.acme_directory = acmeMode === 'live'
|
|
29
|
-
// ? 'https://acme-v02.api.letsencrypt.org/directory'
|
|
30
|
-
// : 'https://acme-staging-v02.api.letsencrypt.org/directory';
|
|
31
|
-
// }
|
|
32
|
-
// exists(domain: string, company: string, project: string) {
|
|
33
|
-
// return this.model.db.countDocuments({ domains: { $in: [domain] }, company, project });
|
|
34
|
-
// }
|
|
35
|
-
// /**
|
|
36
|
-
// * gets a valid domain based certificate for the provided domain, if no certificate matches, a new one will be requested
|
|
37
|
-
// */
|
|
38
|
-
// async getOrRequest(domain: string, company: string, project: string, user: string, app: string):
|
|
39
|
-
// Promise<{ type: 'certificate', data: BasicData<Certificate> } | { type: 'request', data: BasicData<CertificateAction>['_id'] }> {
|
|
40
|
-
// const certificate = await this.model.db.findOne({
|
|
41
|
-
// domains: {
|
|
42
|
-
// $in: [domain],
|
|
43
|
-
// },
|
|
44
|
-
// 'valid.from': { $lte: new Date() },
|
|
45
|
-
// 'valid.to': { $gte: new Date() },
|
|
46
|
-
// company,
|
|
47
|
-
// project,
|
|
48
|
-
// });
|
|
49
|
-
// if (certificate) return { type: 'certificate', data: certificate };
|
|
50
|
-
// const request = await certificatesActionsService.request(
|
|
51
|
-
// [domain],
|
|
52
|
-
// 'domain',
|
|
53
|
-
// 'pem',
|
|
54
|
-
// true,
|
|
55
|
-
// {
|
|
56
|
-
// company,
|
|
57
|
-
// project,
|
|
58
|
-
// user,
|
|
59
|
-
// app,
|
|
60
|
-
// timeout: 120,
|
|
61
|
-
// forceFile: true,
|
|
62
|
-
// },
|
|
63
|
-
// );
|
|
64
|
-
// return {
|
|
65
|
-
// type: 'request',
|
|
66
|
-
// data: request._id,
|
|
67
|
-
// };
|
|
68
|
-
// }
|
|
69
|
-
// async getOrRequestWildcard(domain: string, options: Required<UserApp> & { forceFile?: boolean, saveInVault?: boolean }):
|
|
70
|
-
// Promise<{ type: 'certificate', data: BasicData<Certificate> } | { type: 'request', data: BasicData<CertificateAction>['_id'] }> {
|
|
71
|
-
// const certificate = await this.model.db.findOne({ domains: { $in: [domain] } });
|
|
72
|
-
// if (certificate) return { type: 'certificate', data: certificate };
|
|
73
|
-
// const request = await certificatesActionsService.request(
|
|
74
|
-
// [domain],
|
|
75
|
-
// 'wildcard',
|
|
76
|
-
// 'pem',
|
|
77
|
-
// true,
|
|
78
|
-
// options,
|
|
79
|
-
// );
|
|
80
|
-
// return {
|
|
81
|
-
// type: 'request',
|
|
82
|
-
// data: request._id,
|
|
83
|
-
// };
|
|
84
|
-
// }
|
|
85
|
-
// getCertificateDetails(cert: string): PeerCertificate {
|
|
86
|
-
// const secureContext = tls.createSecureContext({ cert });
|
|
87
|
-
// const secureSocket = new tls.TLSSocket(new net.Socket(), { secureContext });
|
|
88
|
-
// const details = secureSocket.getCertificate() as PeerCertificate;
|
|
89
|
-
// secureSocket.destroy();
|
|
90
|
-
// return details;
|
|
91
|
-
// }
|
|
92
|
-
// async getBase(inputDomains: string[], type: 'wildcard' | 'domain', privateKey: string, privateServerKey: string) {
|
|
93
|
-
// const domains = type === 'wildcard' ? [`*.${inputDomains[0]}`] : inputDomains;
|
|
94
|
-
// const acme = ACME.create({ maintainerEmail: this.acme_email, packageAgent: 'lilastudio/v1.4', notify: () => { } });
|
|
95
|
-
// await acme.init(this.acme_directory);
|
|
96
|
-
// const accountKey = await Keypairs.import({ pem: privateKey });
|
|
97
|
-
// const serverKey = await Keypairs.import({ pem: privateServerKey });
|
|
98
|
-
// const account = await acme.accounts.create({ accountKey, subscriberEmail: this.acme_email, agreeToTerms: true });
|
|
99
|
-
// const der = await CSR.csr(
|
|
100
|
-
// {
|
|
101
|
-
// domains,
|
|
102
|
-
// jwk: serverKey,
|
|
103
|
-
// encoding: 'der',
|
|
104
|
-
// },
|
|
105
|
-
// );
|
|
106
|
-
// const csr = await PEM.packBlock({ type: 'CERTIFICATE REQUEST', bytes: der });
|
|
107
|
-
// return {
|
|
108
|
-
// acme,
|
|
109
|
-
// account,
|
|
110
|
-
// accountKey,
|
|
111
|
-
// csr,
|
|
112
|
-
// domains,
|
|
113
|
-
// };
|
|
114
|
-
// }
|
|
115
|
-
// /**
|
|
116
|
-
// * creates a letsencrypt wildcard SSL certificate on the given azure subscription
|
|
117
|
-
// */
|
|
118
|
-
// async createWildcard(
|
|
119
|
-
// domain: string,
|
|
120
|
-
// privateKey: string,
|
|
121
|
-
// privateServerKey: string,
|
|
122
|
-
// credentials: ClientSecretCredential | DefaultAzureCredential,
|
|
123
|
-
// azureSubscriptionId: string,
|
|
124
|
-
// ) {
|
|
125
|
-
// const optionsBase = await this.getBase([domain], 'wildcard', privateKey, privateServerKey);
|
|
126
|
-
// const options = {
|
|
127
|
-
// account: optionsBase.account,
|
|
128
|
-
// accountKey: optionsBase.accountKey,
|
|
129
|
-
// csr: optionsBase.csr,
|
|
130
|
-
// domains: optionsBase.domains,
|
|
131
|
-
// challenges: {
|
|
132
|
-
// 'dns-01': new DnsSslChallenge(domain, credentials, process.env.AZURE_RESOURCE_GROUP as string, azureSubscriptionId),
|
|
133
|
-
// },
|
|
134
|
-
// };
|
|
135
|
-
// const certificate: WildcardCertificates = await optionsBase.acme.certificates.create(options);
|
|
136
|
-
// const crypto = new X509Certificate(`${certificate.cert}\n${certificate.chain}\n`);
|
|
137
|
-
// certificate.valid = {
|
|
138
|
-
// from: new Date(crypto.validFrom),
|
|
139
|
-
// to: new Date(crypto.validTo),
|
|
140
|
-
// };
|
|
141
|
-
// return certificate;
|
|
142
|
-
// }
|
|
143
|
-
// convertToPfx(certificate: string, privateKey: string, tempName: string) {
|
|
144
|
-
// return new Promise<Buffer>((resolve, reject) => {
|
|
145
|
-
// exec(`openssl pkcs12 -export -passout pass: -inkey <(echo "${privateKey}") -in <(echo "${certificate}") -out ${tempName}.pfx`, { timeout: 5000 }, (e, stdout, stderr) => {
|
|
146
|
-
// // if (this.debug) {
|
|
147
|
-
// logger.debug('stdout ', stdout);
|
|
148
|
-
// logger.debug('stderr ', stderr);
|
|
149
|
-
// // }
|
|
150
|
-
// if (e instanceof Error) {
|
|
151
|
-
// return reject(e);
|
|
152
|
-
// }
|
|
153
|
-
// const content = fs.readFileSync(`${tempName}.pfx`);
|
|
154
|
-
// fs.rm(`${tempName}.pfx`, () => {});
|
|
155
|
-
// return resolve(content);
|
|
156
|
-
// });
|
|
157
|
-
// });
|
|
158
|
-
// }
|
|
159
|
-
// /**
|
|
160
|
-
// * creates a letsencrypt certificate for all given domain
|
|
161
|
-
// * http challenge will be used
|
|
162
|
-
// */
|
|
163
|
-
// async createSSl(
|
|
164
|
-
// domains: string[],
|
|
165
|
-
// company: string,
|
|
166
|
-
// project: string,
|
|
167
|
-
// privateKey: string,
|
|
168
|
-
// privateServerKey: string,
|
|
169
|
-
// ) {
|
|
170
|
-
// if (!this.shareClient) throw new Error('SHARECLIENT_NOT_INITIALIZED');
|
|
171
|
-
// const optionsBase = await this.getBase(domains, 'domain', privateKey, privateServerKey);
|
|
172
|
-
// const options = {
|
|
173
|
-
// account: optionsBase.account,
|
|
174
|
-
// accountKey: optionsBase.accountKey,
|
|
175
|
-
// csr: optionsBase.csr,
|
|
176
|
-
// domains: optionsBase.domains,
|
|
177
|
-
// challenges: {
|
|
178
|
-
// 'http-01': new HttpSslChallenge(company, project, this.shareClient),
|
|
179
|
-
// },
|
|
180
|
-
// };
|
|
181
|
-
// const certificate: WildcardCertificates = await optionsBase.acme.certificates.create(options);
|
|
182
|
-
// const crypto = new X509Certificate(`${certificate.cert}\n${certificate.chain}\n`);
|
|
183
|
-
// certificate.valid = {
|
|
184
|
-
// from: new Date(crypto.validFrom),
|
|
185
|
-
// to: new Date(crypto.validTo),
|
|
186
|
-
// };
|
|
187
|
-
// return certificate;
|
|
188
|
-
// }
|
|
189
|
-
// /**
|
|
190
|
-
// * calls ``http://DOMAIN/.studio/check/`` to check if the response code is 202
|
|
191
|
-
// */
|
|
192
|
-
// checkResponses(domains: string[]) {
|
|
193
|
-
// const PromiseArray = domains.map((single) => fetch(`http://${single}/.studio/check/`, { timeout: 5000 }));
|
|
194
|
-
// return Promise.all(PromiseArray)
|
|
195
|
-
// .then((responses) => responses.filter((single) => single.status !== 202).length === 0);
|
|
196
|
-
// }
|
|
197
|
-
// }
|
|
198
|
-
// export default new CertificatesService();
|
|
199
|
-
//# sourceMappingURL=certificates.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"certificates.service.js","sourceRoot":"","sources":["../../../src/services/certificates.service.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
// import { QueueClient, QueueServiceClient } from '@azure/storage-queue';
|
|
2
|
-
// import { Filter, ObjectId } from 'mongodb';
|
|
3
|
-
// import dayjs from 'dayjs';
|
|
4
|
-
// import logger from '../logger.js';
|
|
5
|
-
// import Immutable from '../Immutable.class.js';
|
|
6
|
-
// import CertificateActionModel from '../models/certificate-action.model.js';
|
|
7
|
-
// import hardCopy from '../helpers/hardCopy.js';
|
|
8
|
-
// import { CertificateAction, Certificate, BasicData, CertificateActionResult, CreateResult, ListCustomQueries, Options, SkipLimitSort, UserApp, UserAppWithOptions } from '@lilaquadrat/interfaces';
|
|
9
|
-
// import { DefaultAzureCredential } from '@azure/identity';
|
|
10
|
-
// export class CertificatesActionsService extends Immutable<CertificateAction> {
|
|
11
|
-
// model = CertificateActionModel;
|
|
12
|
-
// service: QueueServiceClient;
|
|
13
|
-
// client: QueueClient;
|
|
14
|
-
// constructor(connectionString: string, storageAccount?: string) {
|
|
15
|
-
// super();
|
|
16
|
-
// if (storageAccount) {
|
|
17
|
-
// logger.info('certificates-action.use.storage_account');
|
|
18
|
-
// const credentials = new DefaultAzureCredential();
|
|
19
|
-
// this.service = new QueueServiceClient(`https://${storageAccount}.queue.core.windows.net`, credentials);
|
|
20
|
-
// } else if (connectionString) {
|
|
21
|
-
// logger.info('certificates-action.use.connection_string');
|
|
22
|
-
// this.service = QueueServiceClient.fromConnectionString(connectionString);
|
|
23
|
-
// }
|
|
24
|
-
// if (this.service) {
|
|
25
|
-
// this.client = this.service.getQueueClient('certs');
|
|
26
|
-
// }
|
|
27
|
-
// }
|
|
28
|
-
// async request(
|
|
29
|
-
// domains: CertificateAction['domains'],
|
|
30
|
-
// type: 'domain',
|
|
31
|
-
// contentType: CertificateAction['contentType'],
|
|
32
|
-
// renew: boolean,
|
|
33
|
-
// options: Required<UserApp> & Required<Options> & { timeout?: number, forceFile?: CertificateAction['forceFile'], saveInVault?: CertificateAction['saveInVault'] },
|
|
34
|
-
// ): Promise<CreateResult<CertificateAction>>;
|
|
35
|
-
// async request(
|
|
36
|
-
// domains: CertificateAction['domains'],
|
|
37
|
-
// type: 'wildcard',
|
|
38
|
-
// contentType: CertificateAction['contentType'],
|
|
39
|
-
// renew: boolean,
|
|
40
|
-
// options: Required<UserApp> & { timeout?: number, forceFile?: CertificateAction['forceFile'], saveInVault?: CertificateAction['saveInVault'] },
|
|
41
|
-
// ): Promise<CreateResult<CertificateAction>>;
|
|
42
|
-
// async request(
|
|
43
|
-
// domains: CertificateAction['domains'],
|
|
44
|
-
// type: CertificateAction['type'],
|
|
45
|
-
// contentType: CertificateAction['contentType'],
|
|
46
|
-
// renew: boolean,
|
|
47
|
-
// options: Required<UserApp> & Options & { timeout?: number, forceFile?: CertificateAction['forceFile'], saveInVault?: CertificateAction['saveInVault'] },
|
|
48
|
-
// ): Promise<CreateResult<CertificateAction>> {
|
|
49
|
-
// const actionObject: CertificateAction = {
|
|
50
|
-
// domains,
|
|
51
|
-
// type,
|
|
52
|
-
// contentType,
|
|
53
|
-
// renew,
|
|
54
|
-
// state: 'new',
|
|
55
|
-
// maxRetries: 5,
|
|
56
|
-
// };
|
|
57
|
-
// if (options.company) actionObject.company = options.company;
|
|
58
|
-
// if (options.project) actionObject.project = options.project;
|
|
59
|
-
// if (options.forceFile) actionObject.forceFile = true;
|
|
60
|
-
// if (options.saveInVault) actionObject.saveInVault = true;
|
|
61
|
-
// const action = type === 'wildcard'
|
|
62
|
-
// ? 'create-wildcard'
|
|
63
|
-
// : 'create-domain';
|
|
64
|
-
// const newAction = await this.create(actionObject, options.user, options.app, undefined, undefined, action);
|
|
65
|
-
// await this.addToQueue(newAction._id, options.timeout);
|
|
66
|
-
// return newAction;
|
|
67
|
-
// }
|
|
68
|
-
// planRenew(
|
|
69
|
-
// certificate: Certificate,
|
|
70
|
-
// validPercent: number,
|
|
71
|
-
// options: Required<UserApp> & Options & { timeout?: number, forceFile?: CertificateAction['forceFile'], saveInVault?: CertificateAction['saveInVault'] },
|
|
72
|
-
// ) {
|
|
73
|
-
// const validDays = dayjs(certificate.valid.to).diff(certificate.valid.from, 'days');
|
|
74
|
-
// const renewInDays = Math.floor((validDays * (validPercent / 100)));
|
|
75
|
-
// if (renewInDays < 1) {
|
|
76
|
-
// logger.info('cant plan renew of certificate, renew in days is smaller than 1');
|
|
77
|
-
// return new Promise<void>((resolve) => resolve());
|
|
78
|
-
// }
|
|
79
|
-
// const renewObject: CertificateAction = {
|
|
80
|
-
// planned: dayjs(certificate.valid.from).add(renewInDays, 'days').toDate(),
|
|
81
|
-
// type: certificate.type,
|
|
82
|
-
// contentType: certificate.contentType,
|
|
83
|
-
// domains: certificate.domains,
|
|
84
|
-
// state: 'new',
|
|
85
|
-
// renew: true,
|
|
86
|
-
// maxRetries: 5,
|
|
87
|
-
// };
|
|
88
|
-
// if (certificate.company) renewObject.company = certificate.company;
|
|
89
|
-
// if (certificate.project) renewObject.project = certificate.project;
|
|
90
|
-
// if (options.forceFile) renewObject.forceFile = true;
|
|
91
|
-
// if (options.saveInVault) renewObject.saveInVault = true;
|
|
92
|
-
// const action = certificate.type === 'wildcard'
|
|
93
|
-
// ? 'create-wildcard'
|
|
94
|
-
// : 'create-domain';
|
|
95
|
-
// return this.create(renewObject, options.user, options.app, undefined, undefined, action);
|
|
96
|
-
// }
|
|
97
|
-
// async planRetry(certificateAction: BasicData<CertificateAction>, error: CertificateActionResult, retryTimeout = 86400, user: string, app: string) {
|
|
98
|
-
// const retry = certificateAction.retryCount !== certificateAction.maxRetries;
|
|
99
|
-
// const renewObject: BasicData<CertificateAction> = {
|
|
100
|
-
// ...hardCopy(certificateAction),
|
|
101
|
-
// state: retry ? 'retry' : 'failed',
|
|
102
|
-
// renew: true,
|
|
103
|
-
// };
|
|
104
|
-
// if (!renewObject.results && error) renewObject.results = [];
|
|
105
|
-
// renewObject.results?.push(error);
|
|
106
|
-
// if (retry) {
|
|
107
|
-
// renewObject.retryCount = renewObject.retryCount
|
|
108
|
-
// ? renewObject.retryCount += 1
|
|
109
|
-
// : 1;
|
|
110
|
-
// }
|
|
111
|
-
// delete renewObject._id;
|
|
112
|
-
// delete renewObject.history;
|
|
113
|
-
// // hardCopy converts the Date Object to a string, validation expects a object
|
|
114
|
-
// if (renewObject.planned) renewObject.planned = new Date(renewObject.planned);
|
|
115
|
-
// await this.immutable(certificateAction._id, renewObject, user, 'change', app);
|
|
116
|
-
// if (retry) await this.addToQueue(certificateAction._id as ObjectId, retryTimeout);
|
|
117
|
-
// return true;
|
|
118
|
-
// }
|
|
119
|
-
// async addToQueue(actionInternalId: ObjectId, visibilityTimeout: number = 0) {
|
|
120
|
-
// await this.client.createIfNotExists();
|
|
121
|
-
// return this.client.sendMessage(Buffer.from(JSON.stringify({ _id: actionInternalId })).toString('base64'), { visibilityTimeout });
|
|
122
|
-
// }
|
|
123
|
-
// single(actionInternalId: ObjectId) {
|
|
124
|
-
// return this.model.db.findOne({ _id: actionInternalId });
|
|
125
|
-
// }
|
|
126
|
-
// async latest(domain: string, company: string, project: string) {
|
|
127
|
-
// const latest = await this.model.db.find({ domains: { $in: [domain] }, company, project }).sort({ _id: -1 }).limit(1).toArray();
|
|
128
|
-
// return latest[0];
|
|
129
|
-
// }
|
|
130
|
-
// getPlanned() {
|
|
131
|
-
// const select: any = {
|
|
132
|
-
// state: 'new',
|
|
133
|
-
// planned: { $lte: new Date(), $exists: true },
|
|
134
|
-
// };
|
|
135
|
-
// return CertificateActionModel.db.find(
|
|
136
|
-
// select,
|
|
137
|
-
// { sort: { planned: -1 } },
|
|
138
|
-
// )
|
|
139
|
-
// .toArray();
|
|
140
|
-
// }
|
|
141
|
-
// async handlePlanned() {
|
|
142
|
-
// const planned = await this.getPlanned();
|
|
143
|
-
// const all = planned.map((single) => this.addToQueue(single._id));
|
|
144
|
-
// return all;
|
|
145
|
-
// }
|
|
146
|
-
// setState(actionInternalId: ObjectId, state: CertificateAction['state'], user: string, app: string) {
|
|
147
|
-
// return this.immutable(
|
|
148
|
-
// actionInternalId,
|
|
149
|
-
// { state },
|
|
150
|
-
// user,
|
|
151
|
-
// 'change',
|
|
152
|
-
// app,
|
|
153
|
-
// undefined,
|
|
154
|
-
// undefined,
|
|
155
|
-
// 'stateChange',
|
|
156
|
-
// );
|
|
157
|
-
// }
|
|
158
|
-
// async setResult(
|
|
159
|
-
// actionInternalId: ObjectId,
|
|
160
|
-
// result: CertificateActionResult,
|
|
161
|
-
// state: CertificateAction['state'],
|
|
162
|
-
// user: string,
|
|
163
|
-
// app: string,
|
|
164
|
-
// ) {
|
|
165
|
-
// const baseAction: Partial<BasicData<CertificateAction>> | null = await this.model.db.findOne(
|
|
166
|
-
// { _id: actionInternalId }, { projection: { state: 1, results: 1 } },
|
|
167
|
-
// );
|
|
168
|
-
// if (!baseAction) throw new Error('BASE_ACTION_MISSING');
|
|
169
|
-
// delete baseAction._id;
|
|
170
|
-
// baseAction.state = state;
|
|
171
|
-
// if (!baseAction.results && result) baseAction.results = [];
|
|
172
|
-
// baseAction.results?.push(result);
|
|
173
|
-
// return this.immutable(
|
|
174
|
-
// actionInternalId,
|
|
175
|
-
// baseAction,
|
|
176
|
-
// user,
|
|
177
|
-
// 'change',
|
|
178
|
-
// app,
|
|
179
|
-
// undefined,
|
|
180
|
-
// undefined,
|
|
181
|
-
// 'stateChangeResult',
|
|
182
|
-
// );
|
|
183
|
-
// }
|
|
184
|
-
// getCustomQuery(filter: { domain?: string, state?: CertificateAction['state'] }, options: UserAppWithOptions & SkipLimitSort): ListCustomQueries<CertificateAction> {
|
|
185
|
-
// const match: Filter<CertificateAction> = {};
|
|
186
|
-
// if (filter?.state) {
|
|
187
|
-
// match.state = filter.state;
|
|
188
|
-
// }
|
|
189
|
-
// // if (filter?.mode) {
|
|
190
|
-
// // match.mode = filter.mode;
|
|
191
|
-
// // }
|
|
192
|
-
// if (filter?.domain) {
|
|
193
|
-
// match.domains = { $in: [filter.domain] };
|
|
194
|
-
// }
|
|
195
|
-
// const aggregation: Object[] = [
|
|
196
|
-
// {
|
|
197
|
-
// $match: match,
|
|
198
|
-
// },
|
|
199
|
-
// {
|
|
200
|
-
// $project: {
|
|
201
|
-
// type: 1,
|
|
202
|
-
// domains: 1,
|
|
203
|
-
// renew: 1,
|
|
204
|
-
// company: 1,
|
|
205
|
-
// project: 1,
|
|
206
|
-
// state: 1,
|
|
207
|
-
// planned: 1,
|
|
208
|
-
// history: 1,
|
|
209
|
-
// },
|
|
210
|
-
// },
|
|
211
|
-
// ];
|
|
212
|
-
// aggregation.push({
|
|
213
|
-
// $sort: options.sort || { _id: -1 },
|
|
214
|
-
// });
|
|
215
|
-
// if (options.skip) { }
|
|
216
|
-
// aggregation.push(
|
|
217
|
-
// {
|
|
218
|
-
// $skip: options.skip,
|
|
219
|
-
// },
|
|
220
|
-
// {
|
|
221
|
-
// $limit: options.limit,
|
|
222
|
-
// },
|
|
223
|
-
// );
|
|
224
|
-
// return { aggregation, countQuery: match };
|
|
225
|
-
// }
|
|
226
|
-
// async actionExistsForDomain(domain: string) {
|
|
227
|
-
// return await this.model.db.countDocuments({ domains: { $in: [domain] }, state: { $in: ['new', 'planned', 'retry'] } }) > 0;
|
|
228
|
-
// }
|
|
229
|
-
// async cancel(internalId: ObjectId, options: Required<UserApp>) {
|
|
230
|
-
// return this.immutable({ _id: internalId }, { state: 'canceled' }, options.user, 'change', options.app, undefined, undefined, 'stateChange');
|
|
231
|
-
// }
|
|
232
|
-
// }
|
|
233
|
-
// export default new CertificatesActionsService(
|
|
234
|
-
// process.env.PUBLISH_QUEUE_CONNECTION_STRING as string,
|
|
235
|
-
// process.env.STORAGE_ACCOUNT as string,
|
|
236
|
-
// );
|
|
237
|
-
//# sourceMappingURL=certificatesAction.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"certificatesAction.service.js","sourceRoot":"","sources":["../../../src/services/certificatesAction.service.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|