@lilaquadrat/studio 10.0.0-beta.8 → 10.0.0

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 (244) hide show
  1. package/eslint.config.js +146 -0
  2. package/lib/fastify-plugins.d.ts +6 -0
  3. package/lib/fastify-plugins.js +7 -0
  4. package/lib/fastify-plugins.js.map +1 -0
  5. package/lib/helpers.d.ts +4 -2
  6. package/lib/helpers.js +13 -2
  7. package/lib/helpers.js.map +1 -1
  8. package/lib/main.d.ts +1 -3
  9. package/lib/main.js +7 -3
  10. package/lib/main.js.map +1 -1
  11. package/lib/models.d.ts +4 -4
  12. package/lib/models.js +4 -4
  13. package/lib/models.js.map +1 -1
  14. package/lib/services.d.ts +5 -5
  15. package/lib/services.js +5 -13
  16. package/lib/services.js.map +1 -1
  17. package/lib/src/Immutable.class.d.ts +8 -1
  18. package/lib/src/Immutable.class.js +52 -8
  19. package/lib/src/Immutable.class.js.map +1 -1
  20. package/lib/src/ShareClientFactory.class.d.ts +1 -3
  21. package/lib/src/ShareClientFactory.class.js +1 -9
  22. package/lib/src/ShareClientFactory.class.js.map +1 -1
  23. package/lib/src/classes/models.class.js.map +1 -1
  24. package/lib/src/classes/modelv2.class.d.ts +2 -0
  25. package/lib/src/classes/modelv2.class.js +1 -1
  26. package/lib/src/classes/modelv2.class.js.map +1 -1
  27. package/lib/src/classes/mongo.class.js +4 -14
  28. package/lib/src/classes/mongo.class.js.map +1 -1
  29. package/lib/src/functions/handleError.d.ts +2 -3
  30. package/lib/src/functions/handleError.js +3 -16
  31. package/lib/src/functions/handleError.js.map +1 -1
  32. package/lib/src/functions/optionsHelper.d.ts +4 -4
  33. package/lib/src/functions/optionsHelper.js +5 -4
  34. package/lib/src/functions/optionsHelper.js.map +1 -1
  35. package/lib/src/functions/respondCode.d.ts +2 -1
  36. package/lib/src/functions/respondCode.js +1 -1
  37. package/lib/src/functions/respondCode.js.map +1 -1
  38. package/lib/src/helpers/ControllerHelper.d.ts +73 -0
  39. package/lib/src/helpers/ControllerHelper.js +242 -0
  40. package/lib/src/helpers/ControllerHelper.js.map +1 -0
  41. package/lib/src/helpers/EnvMapper.js +1 -0
  42. package/lib/src/helpers/EnvMapper.js.map +1 -0
  43. package/lib/src/helpers/auth0config.d.ts +6 -0
  44. package/lib/src/helpers/auth0config.js +23 -0
  45. package/lib/src/helpers/auth0config.js.map +1 -0
  46. package/lib/src/helpers/authPlugin.d.ts +29 -0
  47. package/lib/src/helpers/authPlugin.js +77 -0
  48. package/lib/src/helpers/authPlugin.js.map +1 -0
  49. package/lib/src/helpers/cacheHelper.d.ts +69 -0
  50. package/lib/src/helpers/cacheHelper.js +235 -0
  51. package/lib/src/helpers/cacheHelper.js.map +1 -0
  52. package/lib/src/helpers/createSasToken.d.ts +0 -2
  53. package/lib/src/helpers/createSasToken.js +35 -32
  54. package/lib/src/helpers/createSasToken.js.map +1 -1
  55. package/lib/src/helpers/getSecrets.d.ts +1 -1
  56. package/lib/src/helpers/getSecrets.js +10 -12
  57. package/lib/src/helpers/getSecrets.js.map +1 -1
  58. package/lib/src/helpers/limiterPlugin.d.ts +9 -0
  59. package/lib/src/helpers/limiterPlugin.js +72 -0
  60. package/lib/src/helpers/limiterPlugin.js.map +1 -0
  61. package/lib/src/helpers/loggingPlugin.d.ts +30 -0
  62. package/lib/src/helpers/loggingPlugin.js +87 -0
  63. package/lib/src/helpers/loggingPlugin.js.map +1 -0
  64. package/lib/src/helpers/queryAssertionPlugin.d.ts +3 -0
  65. package/lib/src/helpers/queryAssertionPlugin.js +20 -0
  66. package/lib/src/helpers/queryAssertionPlugin.js.map +1 -0
  67. package/lib/src/helpers/safeObjectId.d.ts +1 -1
  68. package/lib/src/helpers/safeObjectId.js +5 -1
  69. package/lib/src/helpers/safeObjectId.js.map +1 -1
  70. package/lib/src/helpers/storageSdkFactory.d.ts +2 -0
  71. package/lib/src/helpers/storageSdkFactory.js +11 -0
  72. package/lib/src/helpers/storageSdkFactory.js.map +1 -0
  73. package/lib/src/helpers/studioAppPlugin.d.ts +3 -0
  74. package/lib/src/helpers/studioAppPlugin.js +16 -0
  75. package/lib/src/helpers/studioAppPlugin.js.map +1 -0
  76. package/lib/src/logger.js +57 -8
  77. package/lib/src/logger.js.map +1 -1
  78. package/lib/src/models/access.model.d.ts +14 -3
  79. package/lib/src/models/access.model.js +7 -9
  80. package/lib/src/models/access.model.js.map +1 -1
  81. package/lib/src/models/customers.model.js +14 -4
  82. package/lib/src/models/customers.model.js.map +1 -1
  83. package/lib/src/models/design.model.d.ts +4 -0
  84. package/lib/src/models/design.model.js +58 -0
  85. package/lib/src/models/design.model.js.map +1 -0
  86. package/lib/src/models/domain.model.js +1 -1
  87. package/lib/src/models/domain.model.js.map +1 -1
  88. package/lib/src/models/editor.model.js +7 -0
  89. package/lib/src/models/editor.model.js.map +1 -1
  90. package/lib/src/models/emailLimit.model.d.ts +4 -0
  91. package/lib/src/models/emailLimit.model.js +31 -0
  92. package/lib/src/models/emailLimit.model.js.map +1 -0
  93. package/lib/src/models/hosting.model.js +1 -3
  94. package/lib/src/models/hosting.model.js.map +1 -1
  95. package/lib/src/models/hostingSettings.model.js +6 -4
  96. package/lib/src/models/hostingSettings.model.js.map +1 -1
  97. package/lib/src/models/invoice.model.d.ts +4 -0
  98. package/lib/src/models/invoice.model.js +235 -0
  99. package/lib/src/models/invoice.model.js.map +1 -0
  100. package/lib/src/models/mailFrom.model.js +51 -10
  101. package/lib/src/models/mailFrom.model.js.map +1 -1
  102. package/lib/src/models/project.model.js +2 -4
  103. package/lib/src/models/project.model.js.map +1 -1
  104. package/lib/src/models/publish-method.model.js +79 -430
  105. package/lib/src/models/publish-method.model.js.map +1 -1
  106. package/lib/src/models/publish.model.js +6 -0
  107. package/lib/src/models/publish.model.js.map +1 -1
  108. package/lib/src/models/storage.model.js +23 -5
  109. package/lib/src/models/storage.model.js.map +1 -1
  110. package/lib/src/models/structure.model.js +40 -0
  111. package/lib/src/models/structure.model.js.map +1 -1
  112. package/lib/src/models/upload.model.js +38 -2
  113. package/lib/src/models/upload.model.js.map +1 -1
  114. package/lib/src/prompts/textGeneration.js +88 -0
  115. package/lib/src/prompts/textGeneration.js.map +1 -1
  116. package/lib/src/prompts/textGenerationMulti.js +78 -44
  117. package/lib/src/prompts/textGenerationMulti.js.map +1 -1
  118. package/lib/src/services/access.service.d.ts +132 -33
  119. package/lib/src/services/access.service.js +270 -92
  120. package/lib/src/services/access.service.js.map +1 -1
  121. package/lib/src/services/ai.service.d.ts +4 -3
  122. package/lib/src/services/ai.service.js +22 -29
  123. package/lib/src/services/ai.service.js.map +1 -1
  124. package/lib/src/services/auth.service.d.ts +11 -0
  125. package/lib/src/services/auth.service.js +70 -0
  126. package/lib/src/services/auth.service.js.map +1 -0
  127. package/lib/src/services/conf.service.d.ts +3 -31
  128. package/lib/src/services/conf.service.js +58 -167
  129. package/lib/src/services/conf.service.js.map +1 -1
  130. package/lib/src/services/customers.service.d.ts +8 -4
  131. package/lib/src/services/customers.service.js +34 -7
  132. package/lib/src/services/customers.service.js.map +1 -1
  133. package/lib/src/services/designs.service.d.ts +7 -0
  134. package/lib/src/services/designs.service.js +10 -0
  135. package/lib/src/services/designs.service.js.map +1 -0
  136. package/lib/src/services/domains.service.d.ts +18 -84
  137. package/lib/src/services/domains.service.js +91 -583
  138. package/lib/src/services/domains.service.js.map +1 -1
  139. package/lib/src/services/editor.service.d.ts +4 -0
  140. package/lib/src/services/editor.service.js +28 -0
  141. package/lib/src/services/editor.service.js.map +1 -1
  142. package/lib/src/services/emailLimit.service.d.ts +21 -0
  143. package/lib/src/services/emailLimit.service.js +51 -0
  144. package/lib/src/services/emailLimit.service.js.map +1 -0
  145. package/lib/src/services/hosting.service.d.ts +12 -24
  146. package/lib/src/services/hosting.service.js +32 -122
  147. package/lib/src/services/hosting.service.js.map +1 -1
  148. package/lib/src/services/hostingAdmin.service.d.ts +1 -1
  149. package/lib/src/services/hostingAdmin.service.js +2 -2
  150. package/lib/src/services/hostingAdmin.service.js.map +1 -1
  151. package/lib/src/services/import.service.d.ts +6 -22
  152. package/lib/src/services/import.service.js +63 -65
  153. package/lib/src/services/import.service.js.map +1 -1
  154. package/lib/src/services/invoices.service.d.ts +30 -0
  155. package/lib/src/services/invoices.service.js +265 -0
  156. package/lib/src/services/invoices.service.js.map +1 -0
  157. package/lib/src/services/jetstream.service.d.ts +5 -3
  158. package/lib/src/services/jetstream.service.js +63 -7
  159. package/lib/src/services/jetstream.service.js.map +1 -1
  160. package/lib/src/services/listParticipants.service.d.ts +3 -5
  161. package/lib/src/services/listParticipants.service.js +76 -16
  162. package/lib/src/services/listParticipants.service.js.map +1 -1
  163. package/lib/src/services/mailFrom.service.d.ts +14 -1
  164. package/lib/src/services/mailFrom.service.js +59 -0
  165. package/lib/src/services/mailFrom.service.js.map +1 -1
  166. package/lib/src/services/me.service.d.ts +23 -12
  167. package/lib/src/services/me.service.js +65 -88
  168. package/lib/src/services/me.service.js.map +1 -1
  169. package/lib/src/services/publish.service.d.ts +6 -8
  170. package/lib/src/services/publish.service.js +34 -32
  171. package/lib/src/services/publish.service.js.map +1 -1
  172. package/lib/src/services/publishData.service.d.ts +10 -7
  173. package/lib/src/services/publishData.service.js +32 -75
  174. package/lib/src/services/publishData.service.js.map +1 -1
  175. package/lib/src/services/spamAnalasys.service.d.ts +4 -4
  176. package/lib/src/services/spamAnalasys.service.js +36 -44
  177. package/lib/src/services/spamAnalasys.service.js.map +1 -1
  178. package/lib/src/services/storage.service.d.ts +68 -39
  179. package/lib/src/services/storage.service.js +378 -209
  180. package/lib/src/services/storage.service.js.map +1 -1
  181. package/lib/src/services/structures.service.d.ts +8 -1
  182. package/lib/src/services/structures.service.js +26 -1
  183. package/lib/src/services/structures.service.js.map +1 -1
  184. package/lib/src/services/upload.service.d.ts +8 -1
  185. package/lib/src/services/upload.service.js +76 -3
  186. package/lib/src/services/upload.service.js.map +1 -1
  187. package/lib/tests/groupStructuresByModel.spec.d.ts +1 -0
  188. package/lib/tests/groupStructuresByModel.spec.js +33 -0
  189. package/lib/tests/groupStructuresByModel.spec.js.map +1 -0
  190. package/lib/tests/listParticipantsServiceJoin.spec.d.ts +1 -0
  191. package/lib/tests/listParticipantsServiceJoin.spec.js +151 -0
  192. package/lib/tests/listParticipantsServiceJoin.spec.js.map +1 -0
  193. package/lib/tests/storageServiceHandleFile.spec.d.ts +1 -0
  194. package/lib/tests/storageServiceHandleFile.spec.js +94 -0
  195. package/lib/tests/storageServiceHandleFile.spec.js.map +1 -0
  196. package/lib/tests/storageServiceToken.spec.d.ts +1 -0
  197. package/lib/tests/storageServiceToken.spec.js +104 -0
  198. package/lib/tests/storageServiceToken.spec.js.map +1 -0
  199. package/lib/tests/uploadServiceCreate.spec.d.ts +1 -0
  200. package/lib/tests/uploadServiceCreate.spec.js +81 -0
  201. package/lib/tests/uploadServiceCreate.spec.js.map +1 -0
  202. package/package.json +30 -26
  203. package/lib/src/AzureBlobStorage.share.d.ts +0 -19
  204. package/lib/src/AzureBlobStorage.share.js +0 -162
  205. package/lib/src/AzureBlobStorage.share.js.map +0 -1
  206. package/lib/src/AzureFileStorage.share.d.ts +0 -22
  207. package/lib/src/AzureFileStorage.share.js +0 -139
  208. package/lib/src/AzureFileStorage.share.js.map +0 -1
  209. package/lib/src/AzureVault.d.ts +0 -14
  210. package/lib/src/AzureVault.js +0 -28
  211. package/lib/src/AzureVault.js.map +0 -1
  212. package/lib/src/dns.challenge.class.d.ts +0 -17
  213. package/lib/src/dns.challenge.class.js +0 -41
  214. package/lib/src/dns.challenge.class.js.map +0 -1
  215. package/lib/src/http.challenge.class.d.ts +0 -33
  216. package/lib/src/http.challenge.class.js +0 -58
  217. package/lib/src/http.challenge.class.js.map +0 -1
  218. package/lib/src/models/certificate-action.model.d.ts +0 -5
  219. package/lib/src/models/certificate-action.model.js +0 -230
  220. package/lib/src/models/certificate-action.model.js.map +0 -1
  221. package/lib/src/models/certificate.model.d.ts +0 -4
  222. package/lib/src/models/certificate.model.js +0 -96
  223. package/lib/src/models/certificate.model.js.map +0 -1
  224. package/lib/src/models/editorBase.model.d.ts +0 -4
  225. package/lib/src/models/editorBase.model.js +0 -39
  226. package/lib/src/models/editorBase.model.js.map +0 -1
  227. package/lib/src/services/certificates.service.js +0 -199
  228. package/lib/src/services/certificates.service.js.map +0 -1
  229. package/lib/src/services/certificatesAction.service.d.ts +0 -0
  230. package/lib/src/services/certificatesAction.service.js +0 -237
  231. package/lib/src/services/certificatesAction.service.js.map +0 -1
  232. package/lib/src/services/editorBase.service.d.ts +0 -46
  233. package/lib/src/services/editorBase.service.js +0 -161
  234. package/lib/src/services/editorBase.service.js.map +0 -1
  235. package/lib/src/services/handleFile.service.d.ts +0 -9
  236. package/lib/src/services/handleFile.service.js +0 -45
  237. package/lib/src/services/handleFile.service.js.map +0 -1
  238. package/lib/src/services/media.service.d.ts +0 -35
  239. package/lib/src/services/media.service.js +0 -418
  240. package/lib/src/services/media.service.js.map +0 -1
  241. package/lib/src/services/share.service.d.ts +0 -6
  242. package/lib/src/services/share.service.js +0 -4
  243. package/lib/src/services/share.service.js.map +0 -1
  244. /package/lib/src/{services/certificates.service.d.ts → helpers/EnvMapper.d.ts} +0 -0
@@ -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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"}
@@ -1,46 +0,0 @@
1
- import Immutable from '../Immutable.class.js';
2
- import { EditorBase, ShareClientInterface } from '@lilaquadrat/interfaces';
3
- declare class EditorBaseService extends Immutable<EditorBase> {
4
- model: import("../classes/modelv2.class.js").default<EditorBase, string>;
5
- get shareClient(): ShareClientInterface;
6
- /**
7
- * creates basic CDN folders for this project
8
- *
9
- * @param {string} project
10
- * @param {string} customer
11
- * @returns
12
- * @memberof ProjectClass
13
- */
14
- createBase(company: string, project: string): Promise<boolean>;
15
- /** copy basic editor setup into the project */
16
- copyBase(company: string, project: string, type: 'app' | 'server', path: string | undefined, user: string, app: string): Promise<(import("mongodb").UpdateResult<import("bson").Document> & {
17
- _id: import("bson").ObjectId;
18
- }) | import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<EditorBase>>>;
19
- copyEditorBase(company: string, project: string, type: 'app' | 'server', path?: string): Promise<boolean>;
20
- copyEditorBasev3(company: string, project: string, type: 'app' | 'server', path?: string): Promise<boolean>;
21
- single(company: string, project: string, type: 'app' | 'server'): Promise<import("mongodb").WithId<EditorBase> | null>;
22
- /**
23
- * updates/adds new entry at editorBase to make update process possible
24
- */
25
- upsertType(company: string, project: string, type: 'app' | 'server', version: string, custom: boolean, user: string, app: string): Promise<(import("mongodb").UpdateResult<import("bson").Document> & {
26
- _id: import("bson").ObjectId;
27
- }) | import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<EditorBase>>>;
28
- updateFiles(file: Buffer, type: 'app' | 'server', version: string, options: {
29
- company: string;
30
- project: string;
31
- user: string;
32
- app: string;
33
- isBase?: boolean;
34
- }): Promise<(import("mongodb").UpdateResult<import("bson").Document> & {
35
- _id: import("bson").ObjectId;
36
- }) | import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<EditorBase>>>;
37
- syncFiles(company: string, project: string, user: string, app: string, isBase?: boolean): Promise<(import("mongodb").UpdateResult<import("bson").Document> & {
38
- _id: import("bson").ObjectId;
39
- }) | import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<EditorBase>>>;
40
- syncFilesType(company: string, project: string, type: 'app' | 'server', user: string, app: string, isBase?: boolean, reset?: boolean): Promise<(import("mongodb").UpdateResult<import("bson").Document> & {
41
- _id: import("bson").ObjectId;
42
- }) | import("@lilaquadrat/interfaces").CreateResult<import("@lilaquadrat/interfaces").BasicData<EditorBase>>>;
43
- updateAvailable(company: string, project: string, type: 'app' | 'server'): Promise<boolean>;
44
- }
45
- declare const _default: EditorBaseService;
46
- export default _default;
@@ -1,161 +0,0 @@
1
- import Immutable from '../Immutable.class.js';
2
- import { EditorBaseModel } from '../../models.js';
3
- import { logger, ShareClientFactory } from '../../main.js';
4
- import { HandleFileService } from '../../services.js';
5
- class EditorBaseService extends Immutable {
6
- constructor() {
7
- super(...arguments);
8
- this.model = EditorBaseModel;
9
- }
10
- get shareClient() {
11
- const shareClient = ShareClientFactory(process.env.STORAGE_TYPE, {
12
- endpoint: process.env.STORAGE_ENDPOINT,
13
- accessKey: process.env.STORAGE_ACCESSKEY,
14
- secretKey: process.env.STORAGE_SECRETKEY,
15
- container: 'customers',
16
- });
17
- return shareClient;
18
- }
19
- /**
20
- * creates basic CDN folders for this project
21
- *
22
- * @param {string} project
23
- * @param {string} customer
24
- * @returns
25
- * @memberof ProjectClass
26
- */
27
- createBase(company, project) {
28
- const { shareClient } = this;
29
- /**
30
- * create the project folder for the customer
31
- */
32
- return shareClient
33
- .createFolder(company, project)
34
- .then(() => shareClient.createFolder(`${company}/${project}`, 'editor'))
35
- .then(() => shareClient.createFolder(`${company}/${project}`, 'upload'));
36
- }
37
- /** copy basic editor setup into the project */
38
- async copyBase(company, project, type, path = 'lilaquadrat/base/editorBase', user, app) {
39
- const base = await this.single('lilaquadrat', 'base', type);
40
- if (!base)
41
- throw new Error('BASE_NOT_FOUND');
42
- console.log('base', base);
43
- if (base.version === '3') {
44
- await this.copyEditorBasev3(company, project, type, path);
45
- }
46
- else {
47
- await this.copyEditorBase(company, project, type, path);
48
- }
49
- return this.upsertType(company, project, type, base.version, false, user, app);
50
- }
51
- copyEditorBase(company, project, type, path = 'lilaquadrat/base/editorBase') {
52
- const filter = type === 'app' ? /(.(js|css|woff)|index\.html)$/i : /.(json|server\.html)$/i;
53
- return this.shareClient
54
- .list(path, filter)
55
- .then((foundFiles) => {
56
- logger.info(`projects.create.${company}.${project}.files.copy`);
57
- logger.info(`projects.create.${company}.${project}.files.copy.${foundFiles.length}`);
58
- logger.debug(path);
59
- logger.debug(`${company}/${project}/editor`);
60
- return this.shareClient.copy(foundFiles, path, `${company}/${project}/editor`);
61
- });
62
- }
63
- async copyEditorBasev3(company, project, type, path = 'lilaquadrat/base/editorBase') {
64
- let files;
65
- let assets;
66
- const targetFolder = `${company}/${project}/editor`;
67
- logger.info(`projects.create.${company}.${project}.files.copy`);
68
- if (type === 'server') {
69
- logger.info(`projects.create.v3.${company}.${project}.files.copy.server`);
70
- await this.shareClient.copy(['index.server.html', 'index.mail.html', 'server-entry.js', 'ssr-manifest.json'], `${path}/server`, targetFolder);
71
- }
72
- if (type === 'app') {
73
- assets = await this.shareClient.list(`${path}/app`, /(.(js|css|woff|png|map|webmanifest))$/i);
74
- logger.info(`projects.create.v3.${company}.${project}.files.copy.app.${assets.length}`);
75
- await this.shareClient.copy(assets, `${path}/app`, targetFolder);
76
- logger.info(`projects.create.v3.${company}.${project}.files.copy.index`);
77
- await this.shareClient.copy(['index.html'], `${path}/app`, targetFolder);
78
- }
79
- return true;
80
- }
81
- single(company, project, type) {
82
- return this.model.db.findOne({ company, project, type });
83
- }
84
- /**
85
- * updates/adds new entry at editorBase to make update process possible
86
- */
87
- upsertType(company, project, type, version, custom, user, app) {
88
- return this.immutableUpsert({ company, project, type }, {
89
- company,
90
- project,
91
- type,
92
- date: new Date(),
93
- custom,
94
- version,
95
- }, user, 'change', app);
96
- }
97
- async updateFiles(file, type, version, options) {
98
- let targetFolder = 'editor';
99
- let cleanFolder = 'editor';
100
- if (options.isBase) {
101
- if (type === 'app') {
102
- targetFolder = 'editorBase/app';
103
- cleanFolder = 'editorBase/app';
104
- }
105
- if (type === 'server') {
106
- targetFolder = 'editorBase/server';
107
- cleanFolder = 'editorBase/server';
108
- }
109
- }
110
- else {
111
- if (version === '3') {
112
- targetFolder = 'editor';
113
- }
114
- else {
115
- targetFolder = 'editor';
116
- cleanFolder = 'editor';
117
- }
118
- }
119
- if (type === 'app')
120
- await HandleFileService.clean(options.company, options.project, cleanFolder);
121
- return HandleFileService.add(options.company, options.project, file, targetFolder)
122
- .then(() => this.upsertType(options.company, options.project, type, version, !options.isBase, options.user, options.app));
123
- }
124
- syncFiles(company, project, user, app, isBase = false) {
125
- return this.syncFilesType(company, project, 'app', user, app, isBase)
126
- .then(() => this.syncFilesType(company, project, 'server', user, app, isBase));
127
- }
128
- async syncFilesType(company, project, type, user, app, isBase = false, reset) {
129
- /**
130
- if its not a reset to the standard renderer, we need to check if that the target is NOT a custom renderer
131
- */
132
- if (!reset) {
133
- const target = await this.single(company, project, type);
134
- if (target?.custom)
135
- throw new Error('CANT_SYNC_CUSTOM_RENDERER');
136
- }
137
- const base = await this.single('lilaquadrat', 'base', type);
138
- if (!base)
139
- throw new Error('BASE_NOT_FOUND');
140
- if (type === 'app')
141
- await HandleFileService.clean(company, project, isBase ? 'editorBase' : 'editor');
142
- return this.copyBase(company, project, type, 'lilaquadrat/base/editorBase', user, app)
143
- .then(() => this.upsertType(company, project, type, base.version, false, user, app));
144
- }
145
- async updateAvailable(company, project, type) {
146
- const companyBase = await this.model.db.findOne({ company, project, type });
147
- const systemBase = await this.model.db.findOne({ company: 'lilaquadrat', project: 'base', type });
148
- if (!systemBase)
149
- return false;
150
- if (!companyBase)
151
- return true;
152
- // if the used base is a customized, dont show an available update
153
- if (companyBase.custom)
154
- return false;
155
- if (companyBase.date < systemBase.date)
156
- return true;
157
- return false;
158
- }
159
- }
160
- export default new EditorBaseService();
161
- //# sourceMappingURL=editorBase.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editorBase.service.js","sourceRoot":"","sources":["../../../src/services/editorBase.service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { ShareClientInterface } from '@lilaquadrat/interfaces';
2
- export declare class HandleFileService {
3
- client: ShareClientInterface;
4
- constructor();
5
- clean(company: string, project: string, folder?: string): Promise<boolean[]>;
6
- add(company: string, project: string, data: Buffer, folder?: string): Promise<unknown>;
7
- }
8
- declare const _default: HandleFileService;
9
- export default _default;
@@ -1,45 +0,0 @@
1
- import unzipper from 'unzipper';
2
- import { Readable } from 'stream';
3
- import mime from 'mime-types';
4
- import { ShareClientFactory } from '../../main.js';
5
- export class HandleFileService {
6
- constructor() {
7
- const connectionString = process.env.STORAGE_HOSTED;
8
- this.client = ShareClientFactory('azureBlob', {
9
- connectionString,
10
- shareName: 'main',
11
- accountName: process.env.STORAGE_ACCOUNT,
12
- });
13
- }
14
- clean(company, project, folder = 'editor') {
15
- return this.client.list(`${company}/${project}/${folder}`, /.(js|css|woff|map)$/i)
16
- .then((files) => {
17
- const cleanArray = [];
18
- files.forEach((file) => {
19
- cleanArray.push(this.client.remove(`${company}/${project}/${folder}`, file));
20
- });
21
- return Promise.all(cleanArray);
22
- });
23
- }
24
- add(company, project, data, folder = 'editor') {
25
- return new Promise((resolve, reject) => {
26
- const readable = new Readable();
27
- readable.push(data);
28
- readable.push(null);
29
- readable
30
- .pipe(unzipper.Parse())
31
- .on('entry', async (entry) => {
32
- if (entry.type === 'Directory')
33
- return entry.autodrain();
34
- return this.client.create(`${company}/${project}/${folder}`, entry.path, await entry.buffer(), mime.lookup(entry.path))
35
- .then(() => entry.autodrain())
36
- .catch(() => entry.autodrain());
37
- })
38
- .on('close', () => {
39
- resolve(true);
40
- });
41
- });
42
- }
43
- }
44
- export default new HandleFileService();
45
- //# sourceMappingURL=handleFile.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleFile.service.js","sourceRoot":"","sources":["../../../src/services/handleFile.service.ts"],"names":[],"mappings":"AAAA,OAAO,QAAmB,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,OAAO,iBAAiB;IAI5B;QAEE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAwB,CAAC;QAE9D,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAC9B,WAAW,EACX;YACE,gBAAgB;YAChB,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAyB;SACnD,CACF,CAAC;IAEJ,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAe,EAAE,MAAM,GAAG,QAAQ;QAEvD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,sBAAsB,CAAC;aAC/E,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAEd,MAAM,UAAU,GAAuB,EAAE,CAAC;YAE1C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAErB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/E,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEjC,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,IAAY,EAAE,MAAM,GAAG,QAAQ;QAEnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,QAAQ;iBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;iBACtB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAY,EAAE,EAAE;gBAElC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;oBAAE,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;gBAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;qBAC9H,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;qBAC7B,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAEpC,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAEhB,OAAO,CAAC,IAAI,CAAC,CAAC;YAEhB,CAAC,CAAC,CAAC;QAEP,CAAC,CAAC,CAAC;IAEL,CAAC;CAEF;AACD,eAAe,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- import fs from 'fs';
2
- import { BulkWriteResult, ObjectId, UnorderedBulkOperation } from 'mongodb';
3
- import Immutable from '../Immutable.class.js';
4
- import { Media, MediaStats, ListOfModels, Options, BasicData, History } from '@lilaquadrat/interfaces';
5
- export declare class MediaService extends Immutable<Media> {
6
- model: import("../classes/modelv2.class.js").default<import("@lilaquadrat/interfaces").Storage, string>;
7
- getNewModel(company: string, project: string, app: string | undefined, appId: string | undefined, filename: string, originalname: string, mimetype: string, fromCompany?: string, fromProject?: string, file?: Buffer, stream?: fs.WriteStream): Promise<Media>;
8
- /** creates/deletes folders based upon tags of files in the project */
9
- refreshFolder(company: string, project: string): Promise<BulkWriteResult>;
10
- get(company: string, project?: string, app?: string, query?: any, limit?: {
11
- skip: number;
12
- limit: number;
13
- }): Promise<ListOfModels<Media>>;
14
- getTags(company: string, project: string, search: string): Promise<string[]>;
15
- getByInternalId(internalId: ObjectId, options: Required<Options>): Promise<import("mongodb").WithId<import("@lilaquadrat/interfaces").Storage> | null>;
16
- single(company: string, project: string, filename: string): Promise<Media | null>;
17
- content(company: string, project: string, id: ObjectId): Promise<Media | null>;
18
- exists(company: string, project: string | undefined, filename: string): Promise<boolean>;
19
- removeFromCdn(company: string, project: string, id: ObjectId): Promise<import("mongodb").DeleteResult>;
20
- matchSortTags(documents: any[], search: RegExp | string, sort: string): string[];
21
- stats(company: string, project: string): Promise<MediaStats>;
22
- updateImportIds(importData: BasicData<Media>[], options: Required<Options>): Record<string, ObjectId>;
23
- export(options: Options): Promise<import("mongodb").WithId<import("@lilaquadrat/interfaces").Storage>[]>;
24
- exportFiles(options: Options): Promise<{
25
- filename: string;
26
- buffer: Buffer<ArrayBufferLike>;
27
- }[]>;
28
- import(importData: BasicData<Media>[], importHistoryData: BasicData<Media & History>[], idMapping: Record<string, ObjectId>, bulkHistory: UnorderedBulkOperation, options: Required<Options>): Promise<{
29
- filteredData: BasicData<Media>[];
30
- skippedData: BasicData<Media>[];
31
- bulk: UnorderedBulkOperation;
32
- }>;
33
- }
34
- declare const _default: MediaService;
35
- export default _default;