@appsemble/node-utils 0.24.9 → 0.24.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/app.js +1 -0
- package/package.json +3 -3
- package/resource.js +5 -0
- package/server/controllers/appMembers.js +2 -2
- package/server/controllers/resources.js +12 -5
- package/server/types.d.ts +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
#  Appsemble Node Utilities
|
|
2
2
|
|
|
3
3
|
> NodeJS utilities used by Appsemble internally.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@appsemble/node-utils)
|
|
6
|
-
[](https://gitlab.com/appsemble/appsemble/-/releases/0.24.12)
|
|
7
7
|
[](https://prettier.io)
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
@@ -26,5 +26,5 @@ compatibility is not guaranteed.
|
|
|
26
26
|
|
|
27
27
|
## License
|
|
28
28
|
|
|
29
|
-
[LGPL-3.0-only](https://gitlab.com/appsemble/appsemble/-/blob/0.24.
|
|
29
|
+
[LGPL-3.0-only](https://gitlab.com/appsemble/appsemble/-/blob/0.24.12/LICENSE.md) ©
|
|
30
30
|
[Appsemble](https://appsemble.com)
|
package/app.js
CHANGED
|
@@ -42,6 +42,7 @@ export async function getRemapperContext(app, language, userInfo, options, conte
|
|
|
42
42
|
return cache(message || `'{${id}}'`);
|
|
43
43
|
},
|
|
44
44
|
userInfo,
|
|
45
|
+
appMember: userInfo === null || userInfo === void 0 ? void 0 : userInfo.appMember,
|
|
45
46
|
context: {},
|
|
46
47
|
locale: (_b = (_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.locale) !== null && _a !== void 0 ? _a : app.definition.defaultLanguage) !== null && _b !== void 0 ? _b : defaultLocale,
|
|
47
48
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appsemble/node-utils",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.12",
|
|
4
4
|
"description": "NodeJS utilities used by Appsemble internally.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"app",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"test": "vitest"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@appsemble/types": "0.24.
|
|
42
|
-
"@appsemble/utils": "0.24.
|
|
41
|
+
"@appsemble/types": "0.24.12",
|
|
42
|
+
"@appsemble/utils": "0.24.12",
|
|
43
43
|
"@formatjs/fast-memoize": "^2.0.0",
|
|
44
44
|
"@fortawesome/fontawesome-free": "^6.0.0",
|
|
45
45
|
"@koa/cors": "^4.0.0",
|
package/resource.js
CHANGED
|
@@ -98,6 +98,7 @@ export function extractResourceBody(ctx) {
|
|
|
98
98
|
* 3. Asset IDs from the `knownAssetIds` array which are no longer used.
|
|
99
99
|
*/
|
|
100
100
|
export function processResourceBody(ctx, definition, knownAssetIds = [], knownExpires, knownAssetNameIds = []) {
|
|
101
|
+
var _a;
|
|
101
102
|
const [resource, assets, preValidateProperty] = extractResourceBody(ctx);
|
|
102
103
|
const validator = new Validator();
|
|
103
104
|
const assetIdMap = new Map();
|
|
@@ -146,6 +147,10 @@ export function processResourceBody(ctx, definition, knownAssetIds = [], knownEx
|
|
|
146
147
|
},
|
|
147
148
|
$clonable: { type: 'boolean' },
|
|
148
149
|
$ephemeral: { type: 'boolean' },
|
|
150
|
+
...Object.fromEntries(Object.values((_a = definition.references) !== null && _a !== void 0 ? _a : {}).map((reference) => [
|
|
151
|
+
`$${reference.resource}`,
|
|
152
|
+
{ type: 'integer' },
|
|
153
|
+
])),
|
|
149
154
|
},
|
|
150
155
|
};
|
|
151
156
|
const customErrors = [];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { assertKoaError } from '../../koa.js';
|
|
2
2
|
export function createGetAppMember({ getApp, getAppMembers }) {
|
|
3
3
|
return async (ctx) => {
|
|
4
|
-
const { pathParams: { appId,
|
|
4
|
+
const { pathParams: { appId, userId }, } = ctx;
|
|
5
5
|
const app = await getApp({ context: ctx, query: { where: { id: appId } } });
|
|
6
6
|
assertKoaError(!app, ctx, 404, 'App not found');
|
|
7
7
|
assertKoaError(app.definition.security === undefined, ctx, 404, 'App does not have a security definition');
|
|
8
|
-
const appMembers = await getAppMembers({ context: ctx, app,
|
|
8
|
+
const appMembers = await getAppMembers({ context: ctx, app, userId });
|
|
9
9
|
assertKoaError(appMembers.length !== 1, ctx, 404, 'App member not found');
|
|
10
10
|
ctx.body = appMembers[0];
|
|
11
11
|
};
|
|
@@ -182,11 +182,18 @@ export function createCreateResource(options) {
|
|
|
182
182
|
await createAppResourcesWithAssets({
|
|
183
183
|
app,
|
|
184
184
|
context: ctx,
|
|
185
|
-
resources: resources.map((resource) =>
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
resources: resources.map((resource) => {
|
|
186
|
+
var _a;
|
|
187
|
+
const cleanResource = { ...resource };
|
|
188
|
+
for (const referencedProperty of Object.keys((_a = resourceDefinition.references) !== null && _a !== void 0 ? _a : {})) {
|
|
189
|
+
delete cleanResource[referencedProperty];
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
...cleanResource,
|
|
193
|
+
$seed: true,
|
|
194
|
+
$ephemeral: false,
|
|
195
|
+
};
|
|
196
|
+
}),
|
|
190
197
|
preparedAssets,
|
|
191
198
|
resourceType,
|
|
192
199
|
action,
|
package/server/types.d.ts
CHANGED
|
@@ -132,7 +132,7 @@ export interface GetAppMessagesParams extends GetAppSubEntityParams {
|
|
|
132
132
|
merge?: string[] | string;
|
|
133
133
|
}
|
|
134
134
|
export interface GetAppMembersParams extends GetAppSubEntityParams {
|
|
135
|
-
|
|
135
|
+
userId: string;
|
|
136
136
|
}
|
|
137
137
|
export interface GetAppUserInfoParams {
|
|
138
138
|
context: ParameterizedContext<DefaultState, DefaultContextInterface, any>;
|