@lilaquadrat/studio 2.4.2 → 2.4.5

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.
Files changed (98) hide show
  1. package/lib/interfaces.d.ts +2 -1
  2. package/lib/interfaces.d.ts.map +1 -1
  3. package/lib/interfaces.js.map +1 -1
  4. package/lib/main.d.ts +2 -3
  5. package/lib/main.d.ts.map +1 -1
  6. package/lib/main.js +3 -5
  7. package/lib/main.js.map +1 -1
  8. package/lib/models.d.ts +4 -1
  9. package/lib/models.d.ts.map +1 -1
  10. package/lib/models.js +7 -1
  11. package/lib/models.js.map +1 -1
  12. package/lib/services.d.ts +5 -1
  13. package/lib/services.d.ts.map +1 -1
  14. package/lib/services.js +9 -1
  15. package/lib/services.js.map +1 -1
  16. package/lib/src/classes/ControllerBase.class.js +2 -2
  17. package/lib/src/classes/ControllerBase.class.js.map +1 -1
  18. package/lib/src/classes/models.class.js +1 -1
  19. package/lib/src/classes/models.class.js.map +1 -1
  20. package/lib/src/conf.class.d.ts +1 -0
  21. package/lib/src/dns.challenge.class.d.ts.map +1 -1
  22. package/lib/src/dns.challenge.class.js +3 -4
  23. package/lib/src/dns.challenge.class.js.map +1 -1
  24. package/lib/src/docker-compose.class.js +2 -2
  25. package/lib/src/docker-compose.class.js.map +1 -1
  26. package/lib/src/domain.class.d.ts +6 -4
  27. package/lib/src/domain.class.d.ts.map +1 -1
  28. package/lib/src/domain.class.js +33 -45
  29. package/lib/src/domain.class.js.map +1 -1
  30. package/lib/src/helpers/companyRights.js +2 -2
  31. package/lib/src/helpers/companyRights.js.map +1 -1
  32. package/lib/src/interfaces/CertificateActionResult.interface.d.ts +4 -0
  33. package/lib/src/interfaces/CertificateActionResult.interface.d.ts.map +1 -0
  34. package/lib/src/interfaces/CertificateActionResult.interface.js +3 -0
  35. package/lib/src/interfaces/CertificateActionResult.interface.js.map +1 -0
  36. package/lib/src/interfaces/HostingPorts.interface.d.ts +4 -0
  37. package/lib/src/interfaces/HostingPorts.interface.d.ts.map +1 -0
  38. package/lib/src/interfaces/HostingPorts.interface.js +3 -0
  39. package/lib/src/interfaces/HostingPorts.interface.js.map +1 -0
  40. package/lib/src/logger.js +2 -2
  41. package/lib/src/logger.js.map +1 -1
  42. package/lib/src/models/certificate-action.model.d.ts +18 -0
  43. package/lib/src/models/certificate-action.model.d.ts.map +1 -0
  44. package/lib/src/models/certificate-action.model.js +166 -0
  45. package/lib/src/models/certificate-action.model.js.map +1 -0
  46. package/lib/src/models/certificate.model copy.d.ts +17 -0
  47. package/lib/src/models/certificate.model copy.d.ts.map +1 -0
  48. package/lib/src/models/certificate.model copy.js +77 -0
  49. package/lib/src/models/certificate.model copy.js.map +1 -0
  50. package/lib/src/models/certificate.model.d.ts +9 -11
  51. package/lib/src/models/certificate.model.d.ts.map +1 -1
  52. package/lib/src/models/certificate.model.js +76 -39
  53. package/lib/src/models/certificate.model.js.map +1 -1
  54. package/lib/src/models/domain.model.d.ts +14 -0
  55. package/lib/src/models/domain.model.d.ts.map +1 -0
  56. package/lib/src/models/domain.model.js +62 -0
  57. package/lib/src/models/domain.model.js.map +1 -0
  58. package/lib/src/nginx.class.js +1 -1
  59. package/lib/src/nginx.class.js.map +1 -1
  60. package/lib/src/prepareContent.js +4 -4
  61. package/lib/src/prepareContent.js.map +1 -1
  62. package/lib/src/services/certificates.service copy.d.ts +7 -0
  63. package/lib/src/services/certificates.service copy.d.ts.map +1 -0
  64. package/lib/src/services/certificates.service copy.js +20 -0
  65. package/lib/src/services/certificates.service copy.js.map +1 -0
  66. package/lib/src/services/certificates.service.d.ts +39 -0
  67. package/lib/src/services/certificates.service.d.ts.map +1 -0
  68. package/lib/src/services/certificates.service.js +127 -0
  69. package/lib/src/services/certificates.service.js.map +1 -0
  70. package/lib/src/services/certificatesAction.service.d.ts +21 -0
  71. package/lib/src/services/certificatesAction.service.d.ts.map +1 -0
  72. package/lib/src/services/certificatesAction.service.js +79 -0
  73. package/lib/src/services/certificatesAction.service.js.map +1 -0
  74. package/lib/src/services/conf.class.d.ts +36 -0
  75. package/lib/src/services/conf.class.d.ts.map +1 -0
  76. package/lib/src/services/conf.class.js +122 -0
  77. package/lib/src/services/conf.class.js.map +1 -0
  78. package/lib/src/services/conf.service.d.ts +29 -0
  79. package/lib/src/services/conf.service.d.ts.map +1 -0
  80. package/lib/src/services/conf.service.js +115 -0
  81. package/lib/src/services/conf.service.js.map +1 -0
  82. package/lib/src/services/domains.service.d.ts +32 -0
  83. package/lib/src/services/domains.service.d.ts.map +1 -0
  84. package/lib/src/services/domains.service.js +127 -0
  85. package/lib/src/services/domains.service.js.map +1 -0
  86. package/lib/src/services/editorBase.service.js +1 -1
  87. package/lib/src/services/editorBase.service.js.map +1 -1
  88. package/lib/src/services/handleFile.service.js +1 -1
  89. package/lib/src/services/handleFile.service.js.map +1 -1
  90. package/lib/src/services/id.service copy.d.ts +7 -0
  91. package/lib/src/services/id.service copy.d.ts.map +1 -0
  92. package/lib/src/services/id.service copy.js +20 -0
  93. package/lib/src/services/id.service copy.js.map +1 -0
  94. package/lib/src/services/publish.service.js +3 -3
  95. package/lib/src/services/publish.service.js.map +1 -1
  96. package/lib/src/services/secret.service.js +2 -2
  97. package/lib/src/services/secret.service.js.map +1 -1
  98. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prepareContent.js","sourceRoot":"","sources":["../../src/prepareContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareContent.js","sourceRoot":"","sources":["../../src/prepareContent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class IdService {
2
+ static getCurrent(company: string, project: string, app: string, model: string): Promise<import("mongodb").WithId<import("../models/id.model").Id> | null>;
3
+ static getUnique(company: string, project?: string, app?: string, model?: string): Promise<number | undefined>;
4
+ }
5
+ declare const _default: IdService;
6
+ export default _default;
7
+ //# sourceMappingURL=certificates.service%20copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.service copy.d.ts","sourceRoot":"","sources":["../../../src/services/certificates.service copy.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IAEpB,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ9E,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAUjF;;AACD,wBAA+B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdService = void 0;
4
+ const models_1 = require("../../models");
5
+ class IdService {
6
+ static getCurrent(company, project, app, model) {
7
+ return models_1.IdModel.db.findOne({
8
+ company, project, app, model,
9
+ });
10
+ }
11
+ static getUnique(company, project, app, model) {
12
+ return models_1.IdModel.db.findOneAndUpdate({
13
+ company, project, app, model,
14
+ }, { $inc: { count: 1 } }, { upsert: true, returnDocument: 'after' })
15
+ .then((response) => { var _a; return (_a = response.value) === null || _a === void 0 ? void 0 : _a.count; });
16
+ }
17
+ }
18
+ exports.IdService = IdService;
19
+ exports.default = new IdService();
20
+ //# sourceMappingURL=certificates.service%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.service copy.js","sourceRoot":"","sources":["../../../src/services/certificates.service copy.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAEvC,MAAa,SAAS;IAEpB,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe,EAAE,GAAW,EAAE,KAAa;QAE5E,OAAO,gBAAO,CAAC,EAAE,CAAC,OAAO,CAAC;YACxB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;SAC7B,CAAC,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE,GAAY,EAAE,KAAc;QAE9E,OAAO,gBAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;SAC7B,EACD,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAE/C,CAAC;CAEF;AApBD,8BAoBC;AACD,kBAAe,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,39 @@
1
+ /// <reference types="node" />
2
+ import { PeerCertificate } from 'tls';
3
+ import { ClientSecretCredential, DefaultAzureCredential } from '@azure/identity';
4
+ import { CertificateAction } from '../models/certificate-action.model';
5
+ import { Certificate } from '../models/certificate.model';
6
+ import Immutable from '../Immutable.class';
7
+ import { ShareClientInterface, Wildcardcertificates } from '../../interfaces';
8
+ export declare class CertificatesService extends Immutable<Certificate> {
9
+ model: import("../classes/modelv2.class").default<Certificate>;
10
+ shareClient?: ShareClientInterface;
11
+ acme_email?: string;
12
+ acme_directory: string;
13
+ constructor(acme_email?: string, acmeMode?: 'staging' | 'live', shareClient?: ShareClientInterface);
14
+ exists(domain: string, company: string, project: string): Promise<number>;
15
+ getOrRequest(domain: string, company: string, project: string, user: string, app: string): Promise<{
16
+ type: 'certificate' | 'request';
17
+ data: Certificate | CertificateAction['_id'];
18
+ }>;
19
+ getCertificateDetails(cert: string): PeerCertificate;
20
+ getBase(inputDomains: string[], type: 'wildcard' | 'domain', privateKey: string, privateServerKey: string): Promise<{
21
+ acme: any;
22
+ account: any;
23
+ accountKey: any;
24
+ csr: any;
25
+ domains: string[];
26
+ }>;
27
+ /**
28
+ * creates a letsencrypt wildcard SSL certificate on the given azure subscription
29
+ */
30
+ createWildcard(domain: string, privateKey: string, privateServerKey: string, credentials: ClientSecretCredential | DefaultAzureCredential, azureSubscriptionId: string): Promise<Wildcardcertificates>;
31
+ convertToPfx(certificate: string, privateKey: string, tempName: string): Promise<Buffer>;
32
+ /**
33
+ * creates a letsencrypt certificate for all given domain
34
+ * http challenge will be used
35
+ */
36
+ createSSl(domains: string[], company: string, project: string, privateKey: string, privateServerKey: string): Promise<Wildcardcertificates>;
37
+ }
38
+ declare const _default: CertificatesService;
39
+ export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.service.d.ts","sourceRoot":"","sources":["../../../src/services/certificates.service.ts"],"names":[],"mappings":";AAAA,OAAY,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAOjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAyB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,WAAW,CAAC;IAE7D,KAAK,0DAAoB;IAEzB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,cAAc,EAAE,MAAM,CAAC;gBAEX,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB;IAYlG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAC9F,OAAO,CAAC;QAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;QAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;KAAC,CAAC;IAwBxF,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAa9C,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;;;;;;;IA+B/G;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,sBAAsB,GAAG,sBAAsB,EAC5D,mBAAmB,EAAE,MAAM;IAmB7B,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA+BtE;;;OAGG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM;CAqB3B;;AACD,wBAAyC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CertificatesService = void 0;
7
+ const tls_1 = __importDefault(require("tls"));
8
+ const net_1 = __importDefault(require("net"));
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const acme_1 = __importDefault(require("@root/acme"));
11
+ const csr_1 = __importDefault(require("@root/csr"));
12
+ const packer_1 = __importDefault(require("@root/pem/packer"));
13
+ const keypairs_1 = __importDefault(require("@root/keypairs"));
14
+ const child_process_1 = require("child_process");
15
+ const certificate_model_1 = __importDefault(require("../models/certificate.model"));
16
+ const Immutable_class_1 = __importDefault(require("../Immutable.class"));
17
+ const certificatesAction_service_1 = __importDefault(require("./certificatesAction.service"));
18
+ const http_challenge_class_1 = __importDefault(require("../http.challenge.class"));
19
+ const logger_1 = __importDefault(require("../logger"));
20
+ const dns_challenge_class_1 = __importDefault(require("../dns.challenge.class"));
21
+ class CertificatesService extends Immutable_class_1.default {
22
+ constructor(acme_email, acmeMode, shareClient) {
23
+ super();
24
+ this.model = certificate_model_1.default;
25
+ this.shareClient = shareClient;
26
+ this.acme_email = acme_email;
27
+ this.acme_directory = acmeMode === 'live'
28
+ ? 'https://acme-v02.api.letsencrypt.org/directory'
29
+ : 'https://acme-staging-v02.api.letsencrypt.org/directory';
30
+ }
31
+ exists(domain, company, project) {
32
+ return this.model.db.countDocuments({ domains: { $in: [domain] }, company, project });
33
+ }
34
+ async getOrRequest(domain, company, project, user, app) {
35
+ const certificate = await this.model.db.findOne({ domains: { $in: [domain] }, company, project });
36
+ if (certificate)
37
+ return { type: 'certificate', data: certificate };
38
+ const request = await certificatesAction_service_1.default.request([domain], 'domain', 'pem', true, company, project, user, app);
39
+ return {
40
+ type: 'request',
41
+ data: request._id,
42
+ };
43
+ }
44
+ getCertificateDetails(cert) {
45
+ const secureContext = tls_1.default.createSecureContext({ cert });
46
+ const secureSocket = new tls_1.default.TLSSocket(new net_1.default.Socket(), { secureContext });
47
+ const details = secureSocket.getCertificate();
48
+ secureSocket.destroy();
49
+ return details;
50
+ }
51
+ async getBase(inputDomains, type, privateKey, privateServerKey) {
52
+ const domains = type === 'wildcard' ? [`*.${inputDomains[0]}`] : inputDomains;
53
+ const acme = acme_1.default.create({ maintainerEmail: this.acme_email, packageAgent: 'lilastudio/v1.4', notify: () => { } });
54
+ await acme.init(this.acme_directory);
55
+ const accountKey = await keypairs_1.default.import({ pem: privateKey });
56
+ const serverKey = await keypairs_1.default.import({ pem: privateServerKey });
57
+ const account = await acme.accounts.create({ accountKey, subscriberEmail: this.acme_email, agreeToTerms: true });
58
+ const der = await csr_1.default.csr({
59
+ domains,
60
+ jwk: serverKey,
61
+ encoding: 'der',
62
+ });
63
+ const csr = await packer_1.default.packBlock({ type: 'CERTIFICATE REQUEST', bytes: der });
64
+ return {
65
+ acme,
66
+ account,
67
+ accountKey,
68
+ csr,
69
+ domains,
70
+ };
71
+ }
72
+ /**
73
+ * creates a letsencrypt wildcard SSL certificate on the given azure subscription
74
+ */
75
+ async createWildcard(domain, privateKey, privateServerKey, credentials, azureSubscriptionId) {
76
+ const optionsBase = await this.getBase([domain], 'wildcard', privateKey, privateServerKey);
77
+ const options = {
78
+ account: optionsBase.account,
79
+ accountKey: optionsBase.accountKey,
80
+ csr: optionsBase.csr,
81
+ domains: optionsBase.domains,
82
+ challenges: {
83
+ 'dns-01': new dns_challenge_class_1.default(domain, credentials, azureSubscriptionId),
84
+ },
85
+ };
86
+ return optionsBase.acme.certificates.create(options);
87
+ }
88
+ convertToPfx(certificate, privateKey, tempName) {
89
+ return new Promise((resolve, reject) => {
90
+ // eslint-disable-next-line max-len
91
+ child_process_1.exec(`openssl pkcs12 -export -passout pass: -inkey <(echo "${privateKey}") -in <(echo "${certificate}") -out ${tempName}.pfx`, { timeout: 5000 }, (e, stdout, stderr) => {
92
+ // if (this.debug) {
93
+ logger_1.default.debug('stdout ', stdout);
94
+ logger_1.default.debug('stderr ', stderr);
95
+ // }
96
+ if (e instanceof Error) {
97
+ return reject(e);
98
+ }
99
+ const content = fs_1.default.readFileSync(`${tempName}.pfx`);
100
+ fs_1.default.rm(`${tempName}.pfx`, () => { });
101
+ return resolve(content);
102
+ });
103
+ });
104
+ }
105
+ /**
106
+ * creates a letsencrypt certificate for all given domain
107
+ * http challenge will be used
108
+ */
109
+ async createSSl(domains, company, project, privateKey, privateServerKey) {
110
+ if (!this.shareClient)
111
+ throw new Error('SHARECLIENT_NOT_INITIALIZED');
112
+ const optionsBase = await this.getBase(domains, 'domain', privateKey, privateServerKey);
113
+ const options = {
114
+ account: optionsBase.account,
115
+ accountKey: optionsBase.accountKey,
116
+ csr: optionsBase.csr,
117
+ domains: optionsBase.domains,
118
+ challenges: {
119
+ 'http-01': new http_challenge_class_1.default(company, project, this.shareClient),
120
+ },
121
+ };
122
+ return optionsBase.acme.certificates.create(options);
123
+ }
124
+ }
125
+ exports.CertificatesService = CertificatesService;
126
+ exports.default = new CertificatesService();
127
+ //# sourceMappingURL=certificates.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.service.js","sourceRoot":"","sources":["../../../src/services/certificates.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { QueueClient, QueueServiceClient } from '@azure/storage-queue';
2
+ import { ObjectId } from 'mongodb';
3
+ import CertificateActionResult from '../interfaces/CertificateActionResult.interface';
4
+ import Immutable from '../Immutable.class';
5
+ import { CertificateAction } from '../models/certificate-action.model';
6
+ import { Certificate } from '../models/certificate.model';
7
+ export declare class CertificatesActionsService extends Immutable<CertificateAction> {
8
+ model: import("../classes/modelv2.class").default<CertificateAction>;
9
+ service: QueueServiceClient;
10
+ client: QueueClient;
11
+ constructor(connectionString: string);
12
+ request(domains: CertificateAction['domains'], type: CertificateAction['type'], contentType: CertificateAction['contentType'], renew: boolean, company: string, project: string, user: string, app: string): Promise<import("../interfaces/CreateResult.interface").default<CertificateAction>>;
13
+ planRenew(certificate: Certificate, validPercent: number, user: string, app: string): Promise<void> | Promise<import("../interfaces/CreateResult.interface").default<CertificateAction>>;
14
+ planRetry(certificateAction: CertificateAction, user: string, app: string): Promise<import("@azure/storage-queue").QueueSendMessageResponse>;
15
+ addToQueue(actionInternalId: ObjectId, visibilityTimeout?: number): Promise<import("@azure/storage-queue").QueueSendMessageResponse>;
16
+ single(actionInternalId: ObjectId): Promise<import("mongodb").WithId<CertificateAction> | null>;
17
+ setState(actionInternalId: ObjectId, state: CertificateAction['state'], user: string, app: string): Promise<import("mongodb").UpdateResult>;
18
+ setResult(actionInternalId: ObjectId, result: CertificateActionResult, state: CertificateAction['state'], user: string, app: string): Promise<import("mongodb").UpdateResult>;
19
+ }
20
+ declare const _default: CertificatesActionsService;
21
+ export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificatesAction.service.d.ts","sourceRoot":"","sources":["../../../src/services/certificatesAction.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,uBAAuB,MAAM,iDAAiD,CAAC;AACtF,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAA+B,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,qBAAa,0BAA2B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAE1E,KAAK,gEAA0B;IAE/B,OAAO,EAAE,kBAAkB,CAAC;IAE5B,MAAM,EAAE,WAAW,CAAC;gBAER,gBAAgB,EAAE,MAAM;IAc9B,OAAO,CACX,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,EACrC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC/B,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC7C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM;IAoBb,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IA0B7E,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAiBzE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,GAAE,MAAU;IAQ1E,MAAM,CAAC,gBAAgB,EAAE,QAAQ;IAMjC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAejG,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAkBpI;;AACD,wBAAqG"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CertificatesActionsService = void 0;
7
+ const storage_queue_1 = require("@azure/storage-queue");
8
+ const dayjs_1 = __importDefault(require("dayjs"));
9
+ const logger_1 = __importDefault(require("../logger"));
10
+ const Immutable_class_1 = __importDefault(require("../Immutable.class"));
11
+ const certificate_action_model_1 = __importDefault(require("../models/certificate-action.model"));
12
+ const hardCopy_1 = __importDefault(require("../helpers/hardCopy"));
13
+ class CertificatesActionsService extends Immutable_class_1.default {
14
+ constructor(connectionString) {
15
+ super();
16
+ this.model = certificate_action_model_1.default;
17
+ if (connectionString) {
18
+ this.service = storage_queue_1.QueueServiceClient.fromConnectionString(connectionString);
19
+ this.client = this.service.getQueueClient('certs');
20
+ }
21
+ }
22
+ async request(domains, type, contentType, renew, company, project, user, app) {
23
+ const newAction = await this.create({
24
+ domains,
25
+ type,
26
+ contentType,
27
+ renew,
28
+ state: 'new',
29
+ company,
30
+ project,
31
+ }, user, app);
32
+ await this.addToQueue(newAction._id);
33
+ return newAction;
34
+ }
35
+ planRenew(certificate, validPercent, user, app) {
36
+ const validDays = dayjs_1.default(certificate.valid.to).diff(certificate.valid.from, 'days');
37
+ const renewInDays = Math.floor((validDays * (validPercent / 100)));
38
+ if (renewInDays < 1) {
39
+ logger_1.default.info('cant plan renew of certificate, renew in days is smaller than 1');
40
+ return new Promise((resolve) => resolve());
41
+ }
42
+ const renewObject = {
43
+ planned: dayjs_1.default(certificate.valid.from).add(renewInDays, 'days').toDate(),
44
+ type: certificate.type,
45
+ contentType: certificate.contentType,
46
+ domains: certificate.domains,
47
+ state: 'new',
48
+ renew: true,
49
+ };
50
+ return this.create(renewObject, user, app);
51
+ }
52
+ async planRetry(certificateAction, user, app) {
53
+ const renewObject = Object.assign(Object.assign({}, hardCopy_1.default(certificateAction)), { state: 'new', renew: true });
54
+ delete renewObject._id;
55
+ delete renewObject.history;
56
+ delete renewObject.result;
57
+ const newAction = await this.create(renewObject, user, app);
58
+ return this.addToQueue(newAction._id, 86400);
59
+ }
60
+ async addToQueue(actionInternalId, visibilityTimeout = 0) {
61
+ await this.client.createIfNotExists();
62
+ return this.client.sendMessage(Buffer.from(JSON.stringify({ _id: actionInternalId })).toString('base64'), { visibilityTimeout });
63
+ }
64
+ single(actionInternalId) {
65
+ return this.model.db.findOne({ _id: actionInternalId });
66
+ }
67
+ setState(actionInternalId, state, user, app) {
68
+ return this.immutable(actionInternalId, { state }, user, 'change', app, undefined, undefined, 'stateChange');
69
+ }
70
+ setResult(actionInternalId, result, state, user, app) {
71
+ const update = { state };
72
+ if (result)
73
+ update.result = result;
74
+ return this.immutable(actionInternalId, update, user, 'change', app, undefined, undefined, 'stateChangeResult');
75
+ }
76
+ }
77
+ exports.CertificatesActionsService = CertificatesActionsService;
78
+ exports.default = new CertificatesActionsService(process.env.PUBLISH_QUEUE_CONNECTION_STRING);
79
+ //# sourceMappingURL=certificatesAction.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificatesAction.service.js","sourceRoot":"","sources":["../../../src/services/certificatesAction.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import DomainConf from './interfaces/DomainConf.interface';
2
+ import ShareClientInterface from './interfaces/ShareClient.interface';
3
+ export default class ConfClass {
4
+ shareClient: ShareClientInterface;
5
+ /**
6
+ *
7
+ * load the base nginx conf file for further rendering
8
+ */
9
+ getBase(folder: string, name: string): any;
10
+ constructor(shareClient: ShareClientInterface);
11
+ /**
12
+ * generates nginx config
13
+ *
14
+ * @param {string[]} domains
15
+ * @param {string} defaultDomain e.g. $project-$customer.lila2.de
16
+ * @param {string} project
17
+ * @param {string} company
18
+ * @param {string} baseConf
19
+ * @returns
20
+ * @memberof ProjectClass
21
+ */
22
+ render(domains: string[], defaultDomain: string, company: string, project: string, baseConf: string, variables: {
23
+ [key: string]: any;
24
+ }): string;
25
+ renderStreamConf(domains: DomainConf[], confString: string): string;
26
+ getComposeObject(domains: DomainConf[], baseFolder: string, image?: string): {
27
+ [key: string]: any;
28
+ };
29
+ getKey(company: string, project: string): string;
30
+ validateDomains(domains: string[]): string[];
31
+ /**
32
+ * validate domains and remove double entries
33
+ */
34
+ validateStreamDomains(domains: DomainConf[]): DomainConf[];
35
+ }
36
+ //# sourceMappingURL=conf.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conf.class.d.ts","sourceRoot":"","sources":["../../../src/services/conf.class.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,SAAS;IAE5B,WAAW,EAAE,oBAAoB,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;gBAMxB,WAAW,EAAE,oBAAoB;IAM7C;;;;;;;;;;SAUK;IACL,MAAM,CACJ,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC9B,MAAM;IAYT,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAYnE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAuB;;;IAiC1F,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAcjC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE;CAsC5C"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const handlebars_1 = __importDefault(require("handlebars"));
7
+ class ConfClass {
8
+ constructor(shareClient) {
9
+ this.shareClient = shareClient;
10
+ }
11
+ /**
12
+ *
13
+ * load the base nginx conf file for further rendering
14
+ */
15
+ getBase(folder, name) {
16
+ return this.shareClient.get(folder, name);
17
+ }
18
+ /**
19
+ * generates nginx config
20
+ *
21
+ * @param {string[]} domains
22
+ * @param {string} defaultDomain e.g. $project-$customer.lila2.de
23
+ * @param {string} project
24
+ * @param {string} company
25
+ * @param {string} baseConf
26
+ * @returns
27
+ * @memberof ProjectClass
28
+ */
29
+ render(domains, defaultDomain, company, project, baseConf, variables) {
30
+ const template = handlebars_1.default.compile(baseConf);
31
+ const conf = template({
32
+ domains, defaultDomain, company, project, variables,
33
+ });
34
+ return conf.trim();
35
+ }
36
+ renderStreamConf(domains, confString) {
37
+ const template = handlebars_1.default.compile(confString);
38
+ const conf = template({
39
+ domains,
40
+ });
41
+ return conf.trim();
42
+ }
43
+ getComposeObject(domains, baseFolder, image = 'nginx:alpine') {
44
+ const composeObject = {
45
+ version: '3',
46
+ services: {},
47
+ };
48
+ domains.map((domain) => {
49
+ const domainObject = {
50
+ image,
51
+ container_name: this.getKey(domain.company, domain.project),
52
+ ports: [
53
+ `${domain.port.http}:80`,
54
+ `${domain.port.https}:443`,
55
+ ],
56
+ volumes: [
57
+ `${baseFolder}/${domain.company}/${domain.project}/hosting:/var/www/hosting:ro`,
58
+ `${baseFolder}/${domain.company}/${domain.project}/conf:/etc/nginx/conf.d/`,
59
+ `${baseFolder}/${domain.company}/${domain.project}/certs:/var/www/certs`,
60
+ '/base/data/certs:/var/www/base/certs',
61
+ ],
62
+ };
63
+ composeObject.services[this.getKey(domain.company, domain.project)] = domainObject;
64
+ return domainObject;
65
+ });
66
+ return composeObject;
67
+ }
68
+ getKey(company, project) {
69
+ return `${company}-${project}`;
70
+ }
71
+ validateDomains(domains) {
72
+ const fileredDomains = [...new Set(domains)];
73
+ return fileredDomains.filter((domain) => {
74
+ if (!domain)
75
+ return false;
76
+ if (!domain.length)
77
+ return false;
78
+ return true;
79
+ });
80
+ }
81
+ /**
82
+ * validate domains and remove double entries
83
+ */
84
+ validateStreamDomains(domains) {
85
+ const filteredDomains = [];
86
+ domains.map((domain) => {
87
+ var _a, _b, _c;
88
+ /**
89
+ * skip all with missing values
90
+ */
91
+ if (!domain)
92
+ return false;
93
+ if (!((_a = domain === null || domain === void 0 ? void 0 : domain.domains) === null || _a === void 0 ? void 0 : _a.length))
94
+ return false;
95
+ if (!domain.company.length)
96
+ return false;
97
+ if (!domain.project.length)
98
+ return false;
99
+ if (((_b = domain.port) === null || _b === void 0 ? void 0 : _b.http) < 1)
100
+ return false;
101
+ if (((_c = domain.port) === null || _c === void 0 ? void 0 : _c.https) < 1)
102
+ return false;
103
+ /**
104
+ * skip double entries
105
+ */
106
+ const unique = filteredDomains.filter((searchDomain) => {
107
+ // if (domain.domains.includes(searchDomain.domain)) return true;
108
+ if (searchDomain.company === domain.company && searchDomain.project === domain.project)
109
+ return true;
110
+ if (searchDomain.port === domain.port)
111
+ return true;
112
+ return false;
113
+ });
114
+ if (unique.length)
115
+ return false;
116
+ return filteredDomains.push(domain);
117
+ });
118
+ return filteredDomains;
119
+ }
120
+ }
121
+ exports.default = ConfClass;
122
+ //# sourceMappingURL=conf.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conf.class.js","sourceRoot":"","sources":["../../../src/services/conf.class.ts"],"names":[],"mappings":";;;;;AAAA,4DAAoC;AAIpC,MAAqB,SAAS;IAc5B,YAAY,WAAiC;QAE3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjC,CAAC;IAdD;;;OAGG;IACH,OAAO,CAAC,MAAc,EAAE,IAAY;QAElC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5C,CAAC;IAQD;;;;;;;;;;SAUK;IACL,MAAM,CACJ,OAAiB,EACjB,aAAqB,EACrB,OAAe,EACf,OAAe,EACf,QAAgB,EAChB,SAA+B;QAG/B,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;SACpD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAErB,CAAC;IAED,gBAAgB,CAAC,OAAqB,EAAE,UAAkB;QAExD,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAErB,CAAC;IAED,gBAAgB,CAAC,OAAqB,EAAE,UAAkB,EAAE,QAAgB,cAAc;QAExF,MAAM,aAAa,GAAyB;YAC1C,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAErB,MAAM,YAAY,GAAG;gBACnB,KAAK;gBACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBAC3D,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK;oBACxB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM;iBAC3B;gBACD,OAAO,EAAE;oBACP,GAAG,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,8BAA8B;oBAC/E,GAAG,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,0BAA0B;oBAC3E,GAAG,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,uBAAuB;oBACxE,sCAAsC;iBACvC;aACF,CAAC;YAEF,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,YAAY,CAAC;YACnF,OAAO,YAAY,CAAC;QAEtB,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IAEvB,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAe;QAErC,OAAO,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAEjC,CAAC;IAED,eAAe,CAAC,OAAiB;QAE/B,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAEtC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC;QAEd,CAAC,CAAC,CAAC;IAEL,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAAqB;QAEzC,MAAM,eAAe,GAAiB,EAAE,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAErB;;cAEE;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1B,IAAI,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,CAAA;gBAAE,OAAO,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACzC,IAAI,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,IAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,IAAI,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,KAAK,IAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEzC;;cAEE;YACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;gBAErD,iEAAiE;gBACjE,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBACpG,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAEnD,OAAO,KAAK,CAAC;YAEf,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAChC,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtC,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IAEzB,CAAC;CAEF;AA5JD,4BA4JC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import DomainConf from '../interfaces/DomainConf.interface';
3
+ import ShareClientInterface from '../interfaces/ShareClient.interface';
4
+ export default class ConfService {
5
+ shareClient: ShareClientInterface;
6
+ /**
7
+ *
8
+ * load the base nginx conf file for further rendering
9
+ */
10
+ getBase(folder: string, name: string): Promise<Buffer>;
11
+ constructor(shareClient: ShareClientInterface);
12
+ /**
13
+ * generates nginx config
14
+ *
15
+ */
16
+ render(domains: string[], defaultDomain: string, company: string, project: string, baseConf: string, variables: {
17
+ [key: string]: any;
18
+ }): string;
19
+ renderStreamConf(domains: DomainConf[], confString: string): string;
20
+ getComposeObject(domains: DomainConf[], baseFolder: string, image?: string): {
21
+ [key: string]: any;
22
+ };
23
+ getKey(company: string, project: string): string;
24
+ validateDomains(domains: string[]): string[];
25
+ /**
26
+ * validate domains and remove double entries
27
+ */
28
+ validateStreamDomains(domains: DomainConf[]): DomainConf[];
29
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conf.service.d.ts","sourceRoot":"","sources":["../../../src/services/conf.service.ts"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,WAAW;IAE9B,WAAW,EAAE,oBAAoB,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;gBAMxB,WAAW,EAAE,oBAAoB;IAM7C;;;SAGK;IACL,MAAM,CACJ,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC9B,MAAM;IAYT,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAYnE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAuB;;;IAiC1F,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAcjC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE;CAsC5C"}