@lilaquadrat/studio 10.0.0-beta.5 → 10.0.0-beta.51

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 (212) hide show
  1. package/eslint.config.js +146 -0
  2. package/lib/fastify-plugins.d.ts +4 -0
  3. package/lib/fastify-plugins.js +5 -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 -8
  15. package/lib/services.js +27 -9
  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.d.ts +0 -0
  42. package/lib/src/helpers/EnvMapper.js +1 -0
  43. package/lib/src/helpers/EnvMapper.js.map +1 -0
  44. package/lib/src/helpers/auth0config.d.ts +6 -0
  45. package/lib/src/helpers/auth0config.js +23 -0
  46. package/lib/src/helpers/auth0config.js.map +1 -0
  47. package/lib/src/helpers/authPlugin.d.ts +29 -0
  48. package/lib/src/helpers/authPlugin.js +77 -0
  49. package/lib/src/helpers/authPlugin.js.map +1 -0
  50. package/lib/src/helpers/cacheHelper.d.ts +69 -0
  51. package/lib/src/helpers/cacheHelper.js +235 -0
  52. package/lib/src/helpers/cacheHelper.js.map +1 -0
  53. package/lib/src/helpers/createSasToken.d.ts +0 -2
  54. package/lib/src/helpers/createSasToken.js +35 -32
  55. package/lib/src/helpers/createSasToken.js.map +1 -1
  56. package/lib/src/helpers/getSecrets.d.ts +1 -1
  57. package/lib/src/helpers/getSecrets.js +10 -12
  58. package/lib/src/helpers/getSecrets.js.map +1 -1
  59. package/lib/src/helpers/queryAssertionPlugin.d.ts +3 -0
  60. package/lib/src/helpers/queryAssertionPlugin.js +20 -0
  61. package/lib/src/helpers/queryAssertionPlugin.js.map +1 -0
  62. package/lib/src/helpers/safeObjectId.d.ts +1 -1
  63. package/lib/src/helpers/safeObjectId.js +5 -1
  64. package/lib/src/helpers/safeObjectId.js.map +1 -1
  65. package/lib/src/helpers/storageSdkFactory.d.ts +2 -0
  66. package/lib/src/helpers/storageSdkFactory.js +11 -0
  67. package/lib/src/helpers/storageSdkFactory.js.map +1 -0
  68. package/lib/src/helpers/studioAppPlugin.d.ts +3 -0
  69. package/lib/src/helpers/studioAppPlugin.js +16 -0
  70. package/lib/src/helpers/studioAppPlugin.js.map +1 -0
  71. package/lib/src/logger.js +154 -32
  72. package/lib/src/logger.js.map +1 -1
  73. package/lib/src/models/customers.model.js +14 -4
  74. package/lib/src/models/customers.model.js.map +1 -1
  75. package/lib/src/models/design.model.d.ts +4 -0
  76. package/lib/src/models/design.model.js +58 -0
  77. package/lib/src/models/design.model.js.map +1 -0
  78. package/lib/src/models/domain.model.js +1 -1
  79. package/lib/src/models/domain.model.js.map +1 -1
  80. package/lib/src/models/editor.model.js +7 -0
  81. package/lib/src/models/editor.model.js.map +1 -1
  82. package/lib/src/models/emailLimit.model.d.ts +4 -0
  83. package/lib/src/models/emailLimit.model.js +31 -0
  84. package/lib/src/models/emailLimit.model.js.map +1 -0
  85. package/lib/src/models/hosting.model.js +1 -3
  86. package/lib/src/models/hosting.model.js.map +1 -1
  87. package/lib/src/models/hostingSettings.model.js +6 -4
  88. package/lib/src/models/hostingSettings.model.js.map +1 -1
  89. package/lib/src/models/invoice.model.d.ts +4 -0
  90. package/lib/src/models/invoice.model.js +235 -0
  91. package/lib/src/models/invoice.model.js.map +1 -0
  92. package/lib/src/models/mailFrom.model.js +53 -10
  93. package/lib/src/models/mailFrom.model.js.map +1 -1
  94. package/lib/src/models/project.model.js +2 -4
  95. package/lib/src/models/project.model.js.map +1 -1
  96. package/lib/src/models/publish-method.model.js +79 -430
  97. package/lib/src/models/publish-method.model.js.map +1 -1
  98. package/lib/src/models/storage.model.js +11 -3
  99. package/lib/src/models/storage.model.js.map +1 -1
  100. package/lib/src/prompts/textGeneration.js +88 -0
  101. package/lib/src/prompts/textGeneration.js.map +1 -1
  102. package/lib/src/prompts/textGenerationMulti.js +78 -44
  103. package/lib/src/prompts/textGenerationMulti.js.map +1 -1
  104. package/lib/src/services/access.service.d.ts +0 -37
  105. package/lib/src/services/access.service.js +119 -108
  106. package/lib/src/services/access.service.js.map +1 -1
  107. package/lib/src/services/ai.service.d.ts +4 -3
  108. package/lib/src/services/ai.service.js +22 -29
  109. package/lib/src/services/ai.service.js.map +1 -1
  110. package/lib/src/services/auth.service.d.ts +10 -0
  111. package/lib/src/services/auth.service.js +63 -0
  112. package/lib/src/services/auth.service.js.map +1 -0
  113. package/lib/src/services/conf.service.d.ts +3 -31
  114. package/lib/src/services/conf.service.js +58 -167
  115. package/lib/src/services/conf.service.js.map +1 -1
  116. package/lib/src/services/customers.service.d.ts +8 -4
  117. package/lib/src/services/customers.service.js +34 -7
  118. package/lib/src/services/customers.service.js.map +1 -1
  119. package/lib/src/services/designs.service.d.ts +7 -0
  120. package/lib/src/services/designs.service.js +10 -0
  121. package/lib/src/services/designs.service.js.map +1 -0
  122. package/lib/src/services/domains.service.d.ts +18 -91
  123. package/lib/src/services/domains.service.js +91 -559
  124. package/lib/src/services/domains.service.js.map +1 -1
  125. package/lib/src/services/editor.service.d.ts +4 -0
  126. package/lib/src/services/editor.service.js +28 -0
  127. package/lib/src/services/editor.service.js.map +1 -1
  128. package/lib/src/services/emailLimit.service.d.ts +21 -0
  129. package/lib/src/services/emailLimit.service.js +51 -0
  130. package/lib/src/services/emailLimit.service.js.map +1 -0
  131. package/lib/src/services/hosting.service.d.ts +12 -24
  132. package/lib/src/services/hosting.service.js +32 -122
  133. package/lib/src/services/hosting.service.js.map +1 -1
  134. package/lib/src/services/hostingAdmin.service.d.ts +1 -1
  135. package/lib/src/services/hostingAdmin.service.js +2 -2
  136. package/lib/src/services/hostingAdmin.service.js.map +1 -1
  137. package/lib/src/services/import.service.d.ts +6 -22
  138. package/lib/src/services/import.service.js +63 -65
  139. package/lib/src/services/import.service.js.map +1 -1
  140. package/lib/src/services/invoices.service.d.ts +30 -0
  141. package/lib/src/services/invoices.service.js +265 -0
  142. package/lib/src/services/invoices.service.js.map +1 -0
  143. package/lib/src/services/jetstream.service.d.ts +5 -3
  144. package/lib/src/services/jetstream.service.js +63 -7
  145. package/lib/src/services/jetstream.service.js.map +1 -1
  146. package/lib/src/services/listParticipants.service.d.ts +2 -5
  147. package/lib/src/services/listParticipants.service.js +17 -14
  148. package/lib/src/services/listParticipants.service.js.map +1 -1
  149. package/lib/src/services/mailFrom.service.d.ts +14 -1
  150. package/lib/src/services/mailFrom.service.js +55 -0
  151. package/lib/src/services/mailFrom.service.js.map +1 -1
  152. package/lib/src/services/me.service.d.ts +22 -12
  153. package/lib/src/services/me.service.js +58 -89
  154. package/lib/src/services/me.service.js.map +1 -1
  155. package/lib/src/services/publish.service.d.ts +3 -7
  156. package/lib/src/services/publish.service.js +32 -32
  157. package/lib/src/services/publish.service.js.map +1 -1
  158. package/lib/src/services/publishData.service.d.ts +10 -7
  159. package/lib/src/services/publishData.service.js +32 -75
  160. package/lib/src/services/publishData.service.js.map +1 -1
  161. package/lib/src/services/spamAnalasys.service.d.ts +4 -4
  162. package/lib/src/services/spamAnalasys.service.js +36 -44
  163. package/lib/src/services/spamAnalasys.service.js.map +1 -1
  164. package/lib/src/services/storage.service.d.ts +22 -29
  165. package/lib/src/services/storage.service.js +123 -57
  166. package/lib/src/services/storage.service.js.map +1 -1
  167. package/lib/src/services/structures.service.d.ts +1 -1
  168. package/lib/src/services/upload.service.js +6 -1
  169. package/lib/src/services/upload.service.js.map +1 -1
  170. package/package.json +28 -29
  171. package/lib/src/AzureBlobStorage.share.d.ts +0 -19
  172. package/lib/src/AzureBlobStorage.share.js +0 -162
  173. package/lib/src/AzureBlobStorage.share.js.map +0 -1
  174. package/lib/src/AzureFileStorage.share.d.ts +0 -22
  175. package/lib/src/AzureFileStorage.share.js +0 -139
  176. package/lib/src/AzureFileStorage.share.js.map +0 -1
  177. package/lib/src/AzureVault.d.ts +0 -14
  178. package/lib/src/AzureVault.js +0 -28
  179. package/lib/src/AzureVault.js.map +0 -1
  180. package/lib/src/dns.challenge.class.d.ts +0 -17
  181. package/lib/src/dns.challenge.class.js +0 -41
  182. package/lib/src/dns.challenge.class.js.map +0 -1
  183. package/lib/src/http.challenge.class.d.ts +0 -33
  184. package/lib/src/http.challenge.class.js +0 -58
  185. package/lib/src/http.challenge.class.js.map +0 -1
  186. package/lib/src/models/certificate-action.model.d.ts +0 -5
  187. package/lib/src/models/certificate-action.model.js +0 -230
  188. package/lib/src/models/certificate-action.model.js.map +0 -1
  189. package/lib/src/models/certificate.model.d.ts +0 -4
  190. package/lib/src/models/certificate.model.js +0 -96
  191. package/lib/src/models/certificate.model.js.map +0 -1
  192. package/lib/src/models/editorBase.model.d.ts +0 -4
  193. package/lib/src/models/editorBase.model.js +0 -39
  194. package/lib/src/models/editorBase.model.js.map +0 -1
  195. package/lib/src/services/certificates.service.d.ts +0 -56
  196. package/lib/src/services/certificates.service.js +0 -169
  197. package/lib/src/services/certificates.service.js.map +0 -1
  198. package/lib/src/services/certificatesAction.service.d.ts +0 -41
  199. package/lib/src/services/certificatesAction.service.js +0 -188
  200. package/lib/src/services/certificatesAction.service.js.map +0 -1
  201. package/lib/src/services/editorBase.service.d.ts +0 -46
  202. package/lib/src/services/editorBase.service.js +0 -161
  203. package/lib/src/services/editorBase.service.js.map +0 -1
  204. package/lib/src/services/handleFile.service.d.ts +0 -9
  205. package/lib/src/services/handleFile.service.js +0 -45
  206. package/lib/src/services/handleFile.service.js.map +0 -1
  207. package/lib/src/services/media.service.d.ts +0 -35
  208. package/lib/src/services/media.service.js +0 -418
  209. package/lib/src/services/media.service.js.map +0 -1
  210. package/lib/src/services/share.service.d.ts +0 -6
  211. package/lib/src/services/share.service.js +0 -4
  212. package/lib/src/services/share.service.js.map +0 -1
@@ -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;