@appsemble/cli 0.40.3 → 0.40.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 (179) hide show
  1. package/README.md +3 -74
  2. package/index.js +0 -2
  3. package/lib/app.d.ts +1 -2
  4. package/lib/app.js +1 -1
  5. package/package.json +8 -23
  6. package/templates/apps/empty/app-definition.yaml +2 -2
  7. package/templates/blocks/mini-jsx/package.json +1 -1
  8. package/templates/blocks/preact/package.json +2 -2
  9. package/templates/blocks/vanilla/package.json +1 -1
  10. package/commands/serve.d.ts +0 -14
  11. package/commands/serve.js +0 -305
  12. package/lib/createServers.d.ts +0 -15
  13. package/lib/createServers.js +0 -62
  14. package/server/argv.d.ts +0 -117
  15. package/server/argv.js +0 -25
  16. package/server/controllers/apps/actions/index.d.ts +0 -5
  17. package/server/controllers/apps/actions/index.js +0 -6
  18. package/server/controllers/apps/actions/proxyDelete.d.ts +0 -2
  19. package/server/controllers/apps/actions/proxyDelete.js +0 -4
  20. package/server/controllers/apps/actions/proxyGet.d.ts +0 -2
  21. package/server/controllers/apps/actions/proxyGet.js +0 -4
  22. package/server/controllers/apps/actions/proxyPatch.d.ts +0 -2
  23. package/server/controllers/apps/actions/proxyPatch.js +0 -4
  24. package/server/controllers/apps/actions/proxyPost.d.ts +0 -2
  25. package/server/controllers/apps/actions/proxyPost.js +0 -4
  26. package/server/controllers/apps/actions/proxyPut.d.ts +0 -2
  27. package/server/controllers/apps/actions/proxyPut.js +0 -4
  28. package/server/controllers/apps/index.d.ts +0 -2
  29. package/server/controllers/apps/index.js +0 -3
  30. package/server/controllers/apps/members/current/getCurrentAppMember.d.ts +0 -2
  31. package/server/controllers/apps/members/current/getCurrentAppMember.js +0 -4
  32. package/server/controllers/apps/members/current/groups/getCurrentAppMemberGroups.d.ts +0 -2
  33. package/server/controllers/apps/members/current/groups/getCurrentAppMemberGroups.js +0 -4
  34. package/server/controllers/apps/members/current/groups/index.d.ts +0 -1
  35. package/server/controllers/apps/members/current/groups/index.js +0 -2
  36. package/server/controllers/apps/members/current/index.d.ts +0 -2
  37. package/server/controllers/apps/members/current/index.js +0 -3
  38. package/server/controllers/apps/members/index.d.ts +0 -1
  39. package/server/controllers/apps/members/index.js +0 -2
  40. package/server/controllers/common/apps/assets/getAppAssetById.d.ts +0 -2
  41. package/server/controllers/common/apps/assets/getAppAssetById.js +0 -4
  42. package/server/controllers/common/apps/assets/index.d.ts +0 -1
  43. package/server/controllers/common/apps/assets/index.js +0 -2
  44. package/server/controllers/common/apps/groups/getAppGroups.d.ts +0 -2
  45. package/server/controllers/common/apps/groups/getAppGroups.js +0 -4
  46. package/server/controllers/common/apps/groups/index.d.ts +0 -1
  47. package/server/controllers/common/apps/groups/index.js +0 -2
  48. package/server/controllers/common/apps/index.d.ts +0 -5
  49. package/server/controllers/common/apps/index.js +0 -6
  50. package/server/controllers/common/apps/messages/getAppMessages.d.ts +0 -2
  51. package/server/controllers/common/apps/messages/getAppMessages.js +0 -4
  52. package/server/controllers/common/apps/messages/index.d.ts +0 -1
  53. package/server/controllers/common/apps/messages/index.js +0 -2
  54. package/server/controllers/common/apps/resources/countAppResources.d.ts +0 -2
  55. package/server/controllers/common/apps/resources/countAppResources.js +0 -4
  56. package/server/controllers/common/apps/resources/createAppResource.d.ts +0 -2
  57. package/server/controllers/common/apps/resources/createAppResource.js +0 -4
  58. package/server/controllers/common/apps/resources/deleteAppResource.d.ts +0 -2
  59. package/server/controllers/common/apps/resources/deleteAppResource.js +0 -4
  60. package/server/controllers/common/apps/resources/getAppResourceById.d.ts +0 -2
  61. package/server/controllers/common/apps/resources/getAppResourceById.js +0 -4
  62. package/server/controllers/common/apps/resources/index.d.ts +0 -6
  63. package/server/controllers/common/apps/resources/index.js +0 -7
  64. package/server/controllers/common/apps/resources/queryAppResources.d.ts +0 -2
  65. package/server/controllers/common/apps/resources/queryAppResources.js +0 -4
  66. package/server/controllers/common/apps/resources/updateAppResource.d.ts +0 -2
  67. package/server/controllers/common/apps/resources/updateAppResource.js +0 -4
  68. package/server/controllers/common/apps/variables/getAppVariables.d.ts +0 -2
  69. package/server/controllers/common/apps/variables/getAppVariables.js +0 -4
  70. package/server/controllers/common/apps/variables/index.d.ts +0 -1
  71. package/server/controllers/common/apps/variables/index.js +0 -2
  72. package/server/controllers/common/index.d.ts +0 -1
  73. package/server/controllers/common/index.js +0 -2
  74. package/server/controllers/index.d.ts +0 -3
  75. package/server/controllers/index.js +0 -4
  76. package/server/controllers/main/apps/assets/createAppAsset.d.ts +0 -2
  77. package/server/controllers/main/apps/assets/createAppAsset.js +0 -4
  78. package/server/controllers/main/apps/assets/index.d.ts +0 -1
  79. package/server/controllers/main/apps/assets/index.js +0 -2
  80. package/server/controllers/main/apps/index.d.ts +0 -1
  81. package/server/controllers/main/apps/index.js +0 -2
  82. package/server/controllers/main/index.d.ts +0 -1
  83. package/server/controllers/main/index.js +0 -2
  84. package/server/db/index.d.ts +0 -2
  85. package/server/db/index.js +0 -10
  86. package/server/db/methods.d.ts +0 -11
  87. package/server/db/methods.js +0 -241
  88. package/server/models/Resource.d.ts +0 -16
  89. package/server/models/Resource.js +0 -23
  90. package/server/models/Theme.d.ts +0 -17
  91. package/server/models/Theme.js +0 -11
  92. package/server/options/applyAppServiceSecrets.d.ts +0 -3
  93. package/server/options/applyAppServiceSecrets.js +0 -2
  94. package/server/options/checkAppMemberAppPermissions.d.ts +0 -1
  95. package/server/options/checkAppMemberAppPermissions.js +0 -4
  96. package/server/options/checkAppPermissions.d.ts +0 -1
  97. package/server/options/checkAppPermissions.js +0 -4
  98. package/server/options/checkAuthSubjectAppPermissions.d.ts +0 -1
  99. package/server/options/checkAuthSubjectAppPermissions.js +0 -4
  100. package/server/options/checkUserOrganizationPermissions.d.ts +0 -1
  101. package/server/options/checkUserOrganizationPermissions.js +0 -4
  102. package/server/options/createAppAsset.d.ts +0 -2
  103. package/server/options/createAppAsset.js +0 -14
  104. package/server/options/createAppResourcesWithAssets.d.ts +0 -3
  105. package/server/options/createAppResourcesWithAssets.js +0 -16
  106. package/server/options/createSettings.d.ts +0 -2
  107. package/server/options/createSettings.js +0 -34
  108. package/server/options/createTheme.d.ts +0 -2
  109. package/server/options/createTheme.js +0 -7
  110. package/server/options/deleteAppAsset.d.ts +0 -2
  111. package/server/options/deleteAppAsset.js +0 -15
  112. package/server/options/deleteAppResource.d.ts +0 -2
  113. package/server/options/deleteAppResource.js +0 -16
  114. package/server/options/email.d.ts +0 -1
  115. package/server/options/email.js +0 -2
  116. package/server/options/getApp.d.ts +0 -3
  117. package/server/options/getApp.js +0 -5
  118. package/server/options/getAppAsset.d.ts +0 -2
  119. package/server/options/getAppAsset.js +0 -8
  120. package/server/options/getAppAssets.d.ts +0 -2
  121. package/server/options/getAppAssets.js +0 -8
  122. package/server/options/getAppBlockStyles.d.ts +0 -2
  123. package/server/options/getAppBlockStyles.js +0 -27
  124. package/server/options/getAppDetails.d.ts +0 -2
  125. package/server/options/getAppDetails.js +0 -8
  126. package/server/options/getAppGroups.d.ts +0 -2
  127. package/server/options/getAppGroups.js +0 -4
  128. package/server/options/getAppIcon.d.ts +0 -2
  129. package/server/options/getAppIcon.js +0 -6
  130. package/server/options/getAppMessages.d.ts +0 -3
  131. package/server/options/getAppMessages.js +0 -4
  132. package/server/options/getAppReadmes.d.ts +0 -2
  133. package/server/options/getAppReadmes.js +0 -11
  134. package/server/options/getAppResource.d.ts +0 -3
  135. package/server/options/getAppResource.js +0 -5
  136. package/server/options/getAppResources.d.ts +0 -3
  137. package/server/options/getAppResources.js +0 -5
  138. package/server/options/getAppScreenshots.d.ts +0 -2
  139. package/server/options/getAppScreenshots.js +0 -20
  140. package/server/options/getAppStyles.d.ts +0 -2
  141. package/server/options/getAppStyles.js +0 -10
  142. package/server/options/getAppUrl.d.ts +0 -2
  143. package/server/options/getAppUrl.js +0 -5
  144. package/server/options/getAppVariables.d.ts +0 -3
  145. package/server/options/getAppVariables.js +0 -4
  146. package/server/options/getBlockAsset.d.ts +0 -2
  147. package/server/options/getBlockAsset.js +0 -33
  148. package/server/options/getBlockAssetsPaths.d.ts +0 -2
  149. package/server/options/getBlockAssetsPaths.js +0 -8
  150. package/server/options/getBlockMessages.d.ts +0 -2
  151. package/server/options/getBlockMessages.js +0 -4
  152. package/server/options/getCsp.d.ts +0 -2
  153. package/server/options/getCsp.js +0 -14
  154. package/server/options/getCurrentAppMember.d.ts +0 -3
  155. package/server/options/getCurrentAppMember.js +0 -4
  156. package/server/options/getCurrentAppMemberGroups.d.ts +0 -3
  157. package/server/options/getCurrentAppMemberGroups.js +0 -2
  158. package/server/options/getDbUpdated.d.ts +0 -1
  159. package/server/options/getDbUpdated.js +0 -2
  160. package/server/options/getHost.d.ts +0 -2
  161. package/server/options/getHost.js +0 -5
  162. package/server/options/getTheme.d.ts +0 -2
  163. package/server/options/getTheme.js +0 -6
  164. package/server/options/index.d.ts +0 -40
  165. package/server/options/index.js +0 -41
  166. package/server/options/options.d.ts +0 -2
  167. package/server/options/options.js +0 -46
  168. package/server/options/parseQuery.d.ts +0 -2
  169. package/server/options/parseQuery.js +0 -86
  170. package/server/options/reloadUser.d.ts +0 -1
  171. package/server/options/reloadUser.js +0 -2
  172. package/server/options/sendNotifications.d.ts +0 -1
  173. package/server/options/sendNotifications.js +0 -2
  174. package/server/options/updateAppResource.d.ts +0 -3
  175. package/server/options/updateAppResource.js +0 -16
  176. package/server/routes/appRouter/index.d.ts +0 -2
  177. package/server/routes/appRouter/index.js +0 -4
  178. package/server/utils/resourceLock.d.ts +0 -11
  179. package/server/utils/resourceLock.js +0 -23
@@ -1,241 +0,0 @@
1
- import { getDb } from './index.js';
2
- const defaults = {
3
- AppId: 1,
4
- AuthorId: 1,
5
- $created: new Date(),
6
- $updated: new Date(),
7
- expires: null,
8
- };
9
- let appName = 'app';
10
- export function setAppName(name) {
11
- appName = name;
12
- }
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- const comparators = ['gt', 'gte', 'lt', 'lte', 'eq', 'ne'];
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- const expressions = ['and', 'or'];
17
- function parseValue(value) {
18
- const toNumber = Number(value);
19
- if (!Number.isNaN(toNumber)) {
20
- return toNumber;
21
- }
22
- const toDate = Date.parse(value);
23
- if (!Number.isNaN(toDate)) {
24
- return toDate;
25
- }
26
- if (value === 'false' || value === 'true') {
27
- return Boolean(value);
28
- }
29
- return value;
30
- }
31
- function applyQuery(entity, key, query) {
32
- if (query == null && entity[key] == null) {
33
- return true;
34
- }
35
- if (query === undefined && entity[key] === undefined) {
36
- return true;
37
- }
38
- const parsedEntityValue = parseValue(entity[key]);
39
- if (typeof query === 'string') {
40
- return parsedEntityValue === parseValue(query);
41
- }
42
- if (query.or && Array.isArray(query.or)) {
43
- return query.or.some((subQuery) => applyQuery(entity, key, subQuery));
44
- }
45
- if (query.and && Array.isArray(query.and)) {
46
- return query.and.every((subQuery) => applyQuery(entity, key, subQuery));
47
- }
48
- if (query.gt) {
49
- return parsedEntityValue > parseValue(query.gt);
50
- }
51
- if (query.gte) {
52
- return parsedEntityValue >= parseValue(query.gte);
53
- }
54
- if (query.lt) {
55
- return parsedEntityValue < parseValue(query.lt);
56
- }
57
- if (query.lte) {
58
- return parsedEntityValue <= parseValue(query.lte);
59
- }
60
- if (query.eq || query.eq === '') {
61
- return parsedEntityValue === parseValue(query.eq);
62
- }
63
- if (query.eq == null && entity[key] === undefined) {
64
- return true;
65
- }
66
- if (query.ne || query.ne === '') {
67
- return parsedEntityValue !== parseValue(query.ne);
68
- }
69
- return entity[key] === query;
70
- }
71
- function checkOr(entity, or) {
72
- return or.some((subQuery) => {
73
- if (subQuery.or) {
74
- return checkOr(entity, subQuery.or);
75
- }
76
- if (subQuery.and) {
77
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
78
- return checkAnd(entity, subQuery.and);
79
- }
80
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
81
- return checkEntity(entity, subQuery);
82
- });
83
- }
84
- function checkAnd(entity, and) {
85
- return and.every((subQuery) => {
86
- if (subQuery.or) {
87
- return checkOr(entity, subQuery.or);
88
- }
89
- if (subQuery.and) {
90
- return checkAnd(entity, subQuery.and);
91
- }
92
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
93
- return checkEntity(entity, subQuery);
94
- });
95
- }
96
- function checkEntity(entity, query) {
97
- if (query.or && Array.isArray(query.or)) {
98
- return checkOr(entity, query.or);
99
- }
100
- if (query.and && Array.isArray(query.and)) {
101
- return checkAnd(entity, query.and);
102
- }
103
- return Object.entries(query).every(([key, value]) => applyQuery(entity, key, value));
104
- }
105
- function applyAttributes(entities, attributes) {
106
- return entities.map((entity) => {
107
- const result = {};
108
- for (const attribute of attributes) {
109
- if (entity[attribute] !== undefined) {
110
- result[attribute] = entity[attribute];
111
- }
112
- }
113
- return result;
114
- });
115
- }
116
- function applyOrder(entities, order) {
117
- for (const orderItem of order) {
118
- entities.sort((a, b) => {
119
- const [property, direction] = orderItem;
120
- if (a[property] > b[property]) {
121
- return direction === 'DESC' ? -1 : 1;
122
- }
123
- if (a[property] < b[property]) {
124
- return direction === 'DESC' ? 1 : -1;
125
- }
126
- return 0;
127
- });
128
- }
129
- }
130
- function clearEntity(entity) {
131
- const { AppId, AuthorId, type, ...cleanPayload } = entity;
132
- if (!cleanPayload.expires) {
133
- delete cleanPayload.expires;
134
- }
135
- return cleanPayload;
136
- }
137
- export const Methods = {
138
- async create(values, modelDir = '/') {
139
- const db = await getDb(appName);
140
- const existing = await this.findAll({}, modelDir);
141
- const payload = {
142
- ...values,
143
- id: existing.length + 1,
144
- ...defaults,
145
- };
146
- await db.push(modelDir, payload, true);
147
- return clearEntity(payload);
148
- },
149
- async bulkCreate(values, modelDir = '/', override = false) {
150
- const db = await getDb(appName);
151
- const existing = await this.findAll({}, modelDir);
152
- const payload = values.map((value, index) => ({
153
- ...value,
154
- id: existing.length + index + 1,
155
- ...defaults,
156
- }));
157
- await db.push(modelDir, payload, existing.length === 0 ? true : override);
158
- return payload.map((instance) => clearEntity(instance));
159
- },
160
- async findById(id, modelDir = '/') {
161
- try {
162
- const db = await getDb(appName);
163
- const entityIndex = await db.getIndex(modelDir, id);
164
- return await db.getObject(`${modelDir}[${entityIndex}]`);
165
- }
166
- catch {
167
- return null;
168
- }
169
- },
170
- async findOne(query, modelDir = '/') {
171
- try {
172
- const db = await getDb(appName);
173
- const entities = await db.getObject(modelDir);
174
- let mapped = entities;
175
- if (query.attributes && query.attributes.length > 0) {
176
- mapped = applyAttributes(mapped, query.attributes);
177
- }
178
- let filtered = mapped;
179
- if (query.where) {
180
- filtered = filtered.filter((entity) => checkEntity(entity, query.where));
181
- }
182
- const sorted = filtered;
183
- if (query.order) {
184
- applyOrder(sorted, query.order);
185
- }
186
- return clearEntity(sorted[0]) || null;
187
- }
188
- catch {
189
- return null;
190
- }
191
- },
192
- async findAll(query = {}, modelDir = '/') {
193
- try {
194
- const db = await getDb(appName);
195
- const entities = await db.getObject(modelDir);
196
- const sliced = entities.slice(query.offset || 0, ((query.limit ? query.limit - 1 + (query.offset || 0) : 0) || entities.length) + 1);
197
- let mapped = sliced;
198
- if (query.attributes && query.attributes.length > 0) {
199
- mapped = applyAttributes(mapped, query.attributes);
200
- }
201
- let filtered = mapped;
202
- if (query.where) {
203
- filtered = filtered.filter((entity) => checkEntity(entity, query.where));
204
- }
205
- const sorted = filtered;
206
- if (query.order) {
207
- applyOrder(sorted, query.order);
208
- }
209
- return sorted.map((instance) => clearEntity(instance));
210
- }
211
- catch {
212
- return [];
213
- }
214
- },
215
- async updateOne(id, values, modelDir = '/') {
216
- try {
217
- const db = await getDb(appName);
218
- const entityIndex = await db.getIndex(modelDir, id);
219
- const existing = await this.findById(id, modelDir);
220
- await db.push(`${modelDir}[${entityIndex}]`, { ...existing, ...values }, true);
221
- // @ts-expect-error 2322 null is not assignable to type (strictNullChecks)
222
- return this.findOne({ where: values }, modelDir);
223
- }
224
- catch {
225
- // @ts-expect-error 2322 null is not assignable to type (strictNullChecks)
226
- return null;
227
- }
228
- },
229
- async deleteOne(id, modelDir = '/') {
230
- try {
231
- const db = await getDb(appName);
232
- const entityIndex = await db.getIndex(modelDir, id);
233
- return await db.delete(`${modelDir}[${entityIndex}]`);
234
- }
235
- catch {
236
- // @ts-expect-error 2322 null is not assignable to type (strictNullChecks)
237
- return null;
238
- }
239
- },
240
- };
241
- //# sourceMappingURL=methods.js.map
@@ -1,16 +0,0 @@
1
- import { type FindOptions } from '@appsemble/node-utils';
2
- export declare class Resource {
3
- id: number;
4
- $clonable: boolean;
5
- $seed: boolean;
6
- $ephemeral: boolean;
7
- $created: string;
8
- $updated: string;
9
- [key: string]: unknown;
10
- static create(values: Record<string, unknown>, type: string): Promise<Resource | null>;
11
- static bulkCreate(values: Record<string, unknown>[], type: string, override?: boolean): Promise<Resource[] | []>;
12
- static findById(id: number | string, type: string): Promise<Resource | null>;
13
- static findAll(query: FindOptions, type: string): Promise<Resource[] | []>;
14
- static updateOne(id: number | string, values: Record<string, unknown>, type: string): Promise<Resource | null>;
15
- static deleteOne(id: number | string, type: string): Promise<void>;
16
- }
@@ -1,23 +0,0 @@
1
- import { Methods } from '../db/methods.js';
2
- const dir = '/resources';
3
- export class Resource {
4
- static create(values, type) {
5
- return Methods.create({ ...values, type }, `${dir}/${type}[]`);
6
- }
7
- static bulkCreate(values, type, override = false) {
8
- return Methods.bulkCreate(values.map((value) => ({ ...value, type })), `${dir}/${type}`, override);
9
- }
10
- static findById(id, type) {
11
- return Methods.findById(id, `${dir}/${type}`);
12
- }
13
- static findAll(query, type) {
14
- return Methods.findAll(query, `${dir}/${type}`);
15
- }
16
- static updateOne(id, values, type) {
17
- return Methods.updateOne(id, values, `${dir}/${type}`);
18
- }
19
- static deleteOne(id, type) {
20
- return Methods.deleteOne(id, `${dir}/${type}`);
21
- }
22
- }
23
- //# sourceMappingURL=Resource.js.map
@@ -1,17 +0,0 @@
1
- import { type FindOptions } from '@appsemble/node-utils';
2
- export declare class Theme {
3
- bulmaVersion: string;
4
- primaryColor: string;
5
- linkColor: string;
6
- successColor: string;
7
- infoColor: string;
8
- warningColor: string;
9
- dangerColor: string;
10
- themeColor: string;
11
- splashColor: string;
12
- fontFamily: string;
13
- fontSource: string;
14
- css: string;
15
- static create(values: Record<string, unknown>): Promise<Theme | null>;
16
- static findOne(query: FindOptions): Promise<Theme | null>;
17
- }
@@ -1,11 +0,0 @@
1
- import { Methods } from '../db/methods.js';
2
- const dir = '/themes';
3
- export class Theme {
4
- static create(values) {
5
- return Methods.create(values, dir);
6
- }
7
- static findOne(query) {
8
- return Methods.findOne(query, dir);
9
- }
10
- }
11
- //# sourceMappingURL=Theme.js.map
@@ -1,3 +0,0 @@
1
- import { type ApplyAppServiceSecretsParams } from '@appsemble/node-utils';
2
- import { type RawAxiosRequestConfig } from 'axios';
3
- export declare const applyAppServiceSecrets: ({ axiosConfig, }: ApplyAppServiceSecretsParams) => Promise<RawAxiosRequestConfig>;
@@ -1,2 +0,0 @@
1
- export const applyAppServiceSecrets = ({ axiosConfig, }) => Promise.resolve(axiosConfig);
2
- //# sourceMappingURL=applyAppServiceSecrets.js.map
@@ -1 +0,0 @@
1
- export declare function checkAppMemberAppPermissions(): Promise<void>;
@@ -1,4 +0,0 @@
1
- export function checkAppMemberAppPermissions() {
2
- return Promise.resolve();
3
- }
4
- //# sourceMappingURL=checkAppMemberAppPermissions.js.map
@@ -1 +0,0 @@
1
- export declare function checkAppPermissions(): Promise<void>;
@@ -1,4 +0,0 @@
1
- export function checkAppPermissions() {
2
- return Promise.resolve();
3
- }
4
- //# sourceMappingURL=checkAppPermissions.js.map
@@ -1 +0,0 @@
1
- export declare function checkAuthSubjectAppPermissions(): Promise<void>;
@@ -1,4 +0,0 @@
1
- export function checkAuthSubjectAppPermissions() {
2
- return Promise.resolve();
3
- }
4
- //# sourceMappingURL=checkAuthSubjectAppPermissions.js.map
@@ -1 +0,0 @@
1
- export declare function checkUserOrganizationPermissions(): Promise<void>;
@@ -1,4 +0,0 @@
1
- export function checkUserOrganizationPermissions() {
2
- return Promise.resolve();
3
- }
4
- //# sourceMappingURL=checkUserOrganizationPermissions.js.map
@@ -1,2 +0,0 @@
1
- import { type AppAsset, type CreateAppAssetParams } from '@appsemble/node-utils';
2
- export declare function createAppAsset({ context, payload }: CreateAppAssetParams): Promise<AppAsset>;
@@ -1,14 +0,0 @@
1
- import { createReadStream } from 'node:fs';
2
- export function createAppAsset({ context, payload }) {
3
- const { filename, mime, name, path } = payload;
4
- const asset = {
5
- id: name,
6
- mime,
7
- name,
8
- filename,
9
- stream: createReadStream(path),
10
- };
11
- context.appAssets.push(asset);
12
- return Promise.resolve(asset);
13
- }
14
- //# sourceMappingURL=createAppAsset.js.map
@@ -1,3 +0,0 @@
1
- import { type CreateAppResourcesWithAssetsParams } from '@appsemble/node-utils';
2
- import { type Resource as ResourceInterface } from '@appsemble/types';
3
- export declare function createAppResourcesWithAssets({ app, context, preparedAssets, resourceType, resources, }: CreateAppResourcesWithAssetsParams): Promise<ResourceInterface[]>;
@@ -1,16 +0,0 @@
1
- import { createReadStream } from 'node:fs';
2
- import { Resource } from '../models/Resource.js';
3
- export async function createAppResourcesWithAssets({ app, context, preparedAssets, resourceType, resources, }) {
4
- const existingResources = await Resource.findAll({}, resourceType);
5
- const firstIndex = existingResources.length;
6
- const createdResources = await Resource.bulkCreate(resources.map((resource, index) => ({
7
- id: firstIndex + index,
8
- AppId: app.id,
9
- ...resource,
10
- })), resourceType);
11
- for (const asset of preparedAssets) {
12
- context.appAssets.push({ ...asset, stream: createReadStream(asset.path) });
13
- }
14
- return createdResources;
15
- }
16
- //# sourceMappingURL=createAppResourcesWithAssets.js.map
@@ -1,2 +0,0 @@
1
- import { type CreateSettingsParams } from '@appsemble/node-utils';
2
- export declare function createSettings({ context, host, languages, }: CreateSettingsParams): Promise<[digest: string, script: string]>;
@@ -1,34 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { createSettings as createUtilsSettings, } from '@appsemble/node-utils';
4
- import { getProjectBuildConfig } from '../../lib/config.js';
5
- import { buildProject, makeProjectPayload } from '../../lib/project.js';
6
- export async function createSettings({ context, host, languages, }) {
7
- const { appBlocks, appPath, appsembleApp } = context;
8
- const controllerPath = join(appPath, 'controller');
9
- let controllerCode;
10
- let controllerImplementations;
11
- if (existsSync(controllerPath)) {
12
- const controllerBuildConfig = await getProjectBuildConfig(controllerPath);
13
- const controllerBuildResult = await buildProject(controllerBuildConfig);
14
- [, controllerImplementations] = await makeProjectPayload(controllerBuildConfig);
15
- controllerCode = controllerBuildResult.outputFiles?.[0].text;
16
- }
17
- return createUtilsSettings({
18
- apiUrl: host,
19
- appControllerCode: controllerCode,
20
- appControllerImplementations: JSON.stringify(controllerImplementations),
21
- blockManifests: appBlocks,
22
- id: appsembleApp.id,
23
- languages,
24
- definition: appsembleApp.definition,
25
- appUpdated: appsembleApp.$updated,
26
- logins: [],
27
- development: true,
28
- supportedLanguages: ['en'],
29
- // Locally served apps have no app record backing them, so two factor authentication can never
30
- // be set up for them.
31
- totp: 'disabled',
32
- });
33
- }
34
- //# sourceMappingURL=createSettings.js.map
@@ -1,2 +0,0 @@
1
- import { type CreateThemeParams, type Theme as ThemeInterface } from '@appsemble/node-utils';
2
- export declare function createTheme({ css, ...theme }: CreateThemeParams): Promise<ThemeInterface>;
@@ -1,7 +0,0 @@
1
- import { Theme } from '../models/Theme.js';
2
- export function createTheme({ css, ...theme }) {
3
- // @ts-expect-error 2345 argument of type is not assignable to parameter of type
4
- // (strictNullChecks)
5
- return Theme.create({ ...theme, css });
6
- }
7
- //# sourceMappingURL=createTheme.js.map
@@ -1,2 +0,0 @@
1
- import { type DeleteAppAssetParams } from '@appsemble/node-utils';
2
- export declare function deleteAppAsset({ app, id }: DeleteAppAssetParams): Promise<number>;
@@ -1,15 +0,0 @@
1
- import { rm } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { logger } from '@appsemble/node-utils';
4
- export async function deleteAppAsset({ app, id }) {
5
- try {
6
- await rm(join(process.cwd(), '/apps/', app.definition.name, '/assets/', id));
7
- return 1;
8
- }
9
- catch (error) {
10
- logger.error(`An error occurred while deleting asset ${id} of app ${app.definition.name}`);
11
- logger.error(error);
12
- return 0;
13
- }
14
- }
15
- //# sourceMappingURL=deleteAppAsset.js.map
@@ -1,2 +0,0 @@
1
- import { type DeleteAppResourceParams } from '@appsemble/node-utils';
2
- export declare function deleteAppResource({ context, id, ifMatch, type, }: DeleteAppResourceParams): Promise<void>;
@@ -1,16 +0,0 @@
1
- import { createResourceEtag, matchesResourceIfMatch, throwResourcePreconditionFailedKoaError, } from '@appsemble/node-utils';
2
- import { Resource } from '../models/Resource.js';
3
- import { withResourceLock } from '../utils/resourceLock.js';
4
- export function deleteAppResource({ context, id, ifMatch, type, }) {
5
- return withResourceLock(type, id, async () => {
6
- if (ifMatch) {
7
- const existing = await Resource.findById(id, type);
8
- if (!existing ||
9
- !matchesResourceIfMatch(ifMatch, createResourceEtag(existing))) {
10
- throwResourcePreconditionFailedKoaError(context, type, id);
11
- }
12
- }
13
- return Resource.deleteOne(id, type);
14
- });
15
- }
16
- //# sourceMappingURL=deleteAppResource.js.map
@@ -1 +0,0 @@
1
- export declare const email: () => Promise<void>;
@@ -1,2 +0,0 @@
1
- export const email = () => Promise.resolve();
2
- //# sourceMappingURL=email.js.map
@@ -1,3 +0,0 @@
1
- import { type GetAppParams } from '@appsemble/node-utils';
2
- import { type App as AppInterface } from '@appsemble/types';
3
- export declare function getApp({ context }: GetAppParams): Promise<AppInterface>;
@@ -1,5 +0,0 @@
1
- export function getApp({ context }) {
2
- const { appsembleApp } = context;
3
- return Promise.resolve(appsembleApp);
4
- }
5
- //# sourceMappingURL=getApp.js.map
@@ -1,2 +0,0 @@
1
- import { type AppAsset, type GetAppAssetParams } from '@appsemble/node-utils';
2
- export declare function getAppAsset({ context, id: filename }: GetAppAssetParams): Promise<AppAsset>;
@@ -1,8 +0,0 @@
1
- import { createReadStream } from 'node:fs';
2
- export function getAppAsset({ context, id: filename }) {
3
- const assetFound = context.appAssets.find((asset) => asset.name === filename);
4
- // @ts-expect-error 2345 argument of type is not assignable to parameter of type
5
- // (strictNullChecks)
6
- return Promise.resolve({ ...assetFound, stream: createReadStream(assetFound.filename) });
7
- }
8
- //# sourceMappingURL=getAppAsset.js.map
@@ -1,2 +0,0 @@
1
- import { type AppAsset, type GetAppSubEntityParams } from '@appsemble/node-utils';
2
- export declare function getAppAssets({ context }: GetAppSubEntityParams): Promise<AppAsset[]>;
@@ -1,8 +0,0 @@
1
- import { createReadStream } from 'node:fs';
2
- export function getAppAssets({ context }) {
3
- return Promise.resolve(
4
- // @ts-expect-error 2345 argument of type is not assignable to parameter of type
5
- // (strictNullChecks)
6
- context.appAssets.map((asset) => ({ ...asset, stream: createReadStream(asset.filename) })));
7
- }
8
- //# sourceMappingURL=getAppAssets.js.map
@@ -1,2 +0,0 @@
1
- import { type AppBlockStyle as AppBlockStyleInterface, type GetAppBlockStylesParams } from '@appsemble/node-utils';
2
- export declare function getAppBlockStyles({ context, name, }: GetAppBlockStylesParams): Promise<AppBlockStyleInterface[]>;
@@ -1,27 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { parseBlockName } from '@appsemble/lang-sdk';
4
- import { opendirSafe, replaceAssetFunctions, } from '@appsemble/node-utils';
5
- import { processCss } from '../../lib/processCss.js';
6
- export async function getAppBlockStyles({ context, name, }) {
7
- const { apiUrl, appPath, appsembleApp } = context;
8
- const [, blockName] = parseBlockName(name);
9
- let style = '';
10
- const themeDirPath = join(appPath, 'theme');
11
- if (!existsSync(themeDirPath)) {
12
- return [{ style }];
13
- }
14
- await opendirSafe(join(appPath, 'theme'), async (themeDir, themeStat) => {
15
- const blockDir = join(themeDir, blockName);
16
- if (themeStat.name.startsWith('@') && existsSync(blockDir)) {
17
- await opendirSafe(blockDir, async (file) => {
18
- if (file.endsWith('.css')) {
19
- const css = await processCss(join(file));
20
- style = replaceAssetFunctions(css, appsembleApp.id, apiUrl);
21
- }
22
- });
23
- }
24
- });
25
- return [{ style }];
26
- }
27
- //# sourceMappingURL=getAppBlockStyles.js.map
@@ -1,2 +0,0 @@
1
- import { type AppDetails, type GetAppParams } from '@appsemble/node-utils';
2
- export declare function getAppDetails({ context }: GetAppParams): Promise<AppDetails>;
@@ -1,8 +0,0 @@
1
- export function getAppDetails({ context }) {
2
- const { appsembleApp } = context;
3
- return Promise.resolve({
4
- appPath: appsembleApp.path,
5
- organizationId: appsembleApp.OrganizationId,
6
- });
7
- }
8
- //# sourceMappingURL=getAppDetails.js.map
@@ -1,2 +0,0 @@
1
- import { type ExtendedGroup, type GetAppSubEntityParams } from '@appsemble/node-utils';
2
- export declare function getAppGroups({ context }: GetAppSubEntityParams): Promise<ExtendedGroup[]>;
@@ -1,4 +0,0 @@
1
- export function getAppGroups({ context }) {
2
- return Promise.resolve(context.appGroups);
3
- }
4
- //# sourceMappingURL=getAppGroups.js.map
@@ -1,2 +0,0 @@
1
- import { type GetAppSubEntityParams } from '@appsemble/node-utils';
2
- export declare function getAppIcon({ app }: GetAppSubEntityParams): Promise<Buffer>;
@@ -1,6 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { readAsset } from '@appsemble/node-utils';
3
- export function getAppIcon({ app }) {
4
- return app.iconUrl ? readFile(app.iconUrl) : readAsset('appsemble.png');
5
- }
6
- //# sourceMappingURL=getAppIcon.js.map
@@ -1,3 +0,0 @@
1
- import { type GetAppSubEntityParams } from '@appsemble/node-utils';
2
- import { type AppMessages } from '@appsemble/types';
3
- export declare function getAppMessages({ context }: GetAppSubEntityParams): Promise<AppMessages[]>;
@@ -1,4 +0,0 @@
1
- export function getAppMessages({ context }) {
2
- return Promise.resolve(context.appMessages);
3
- }
4
- //# sourceMappingURL=getAppMessages.js.map
@@ -1,2 +0,0 @@
1
- import { type AppReadme as AppReadmeInterface, type GetAppSubEntityParams } from '@appsemble/node-utils';
2
- export declare function getAppReadmes({ app }: GetAppSubEntityParams): Promise<AppReadmeInterface[]>;
@@ -1,11 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- export async function getAppReadmes({ app }) {
3
- const readme = await readFile(`${app.path}/readmes/${app.readmeUrl}`);
4
- return [
5
- {
6
- id: 0,
7
- file: readme,
8
- },
9
- ];
10
- }
11
- //# sourceMappingURL=getAppReadmes.js.map
@@ -1,3 +0,0 @@
1
- import { type GetAppResourceParams } from '@appsemble/node-utils';
2
- import { type Resource as ResourceInterface } from '@appsemble/types';
3
- export declare function getAppResource({ id, type, }: GetAppResourceParams): Promise<ResourceInterface | null>;