@liminalfunctions/framework 1.0.24 → 1.0.26
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/dist/F_Collection.d.ts +2 -1
- package/dist/F_Collection.js +3 -1
- package/dist/F_Collection.js.map +1 -1
- package/dist/F_Security_Models/F_SM_Role_Membership.js +3 -3
- package/dist/F_Security_Models/F_SM_Role_Membership.js.map +1 -1
- package/dist/code_generation/generate_client_library.js +1 -0
- package/dist/code_generation/generate_client_library.js.map +1 -1
- package/dist/code_generation/templates/collection.mustache +4 -0
- package/package.json +1 -1
- package/src/F_Collection.ts +3 -1
- package/src/F_Security_Models/F_SM_Role_Membership.ts +2 -2
- package/src/code_generation/generate_client_library.ts +1 -0
- package/src/code_generation/templates/collection.mustache +4 -0
- package/test/1_0_basic_server.test.ts +3 -3
- package/test/1_1_security_ownership.test.ts +2 -2
- package/test/1_2_role_membership.test.ts +28 -28
- package/test/2_0_client_library_basic_type_generation.test.ts +23 -23
- package/test/2_0_client_library_query_type_generation.test.ts +11 -11
- package/test/2_1_client_library_generation.test.ts +4 -4
- package/test/tmp/dist/Brief_News_Category.d.ts +2 -0
- package/test/tmp/dist/Brief_News_Category.js +4 -0
- package/test/tmp/dist/Brief_News_Category.js.map +1 -1
- package/test/tmp/dist/Client.d.ts +2 -0
- package/test/tmp/dist/Client.js +4 -0
- package/test/tmp/dist/Client.js.map +1 -1
- package/test/tmp/dist/Institution.d.ts +2 -0
- package/test/tmp/dist/Institution.js +4 -0
- package/test/tmp/dist/Institution.js.map +1 -1
- package/test/tmp/dist/Project.d.ts +2 -0
- package/test/tmp/dist/Project.js +4 -0
- package/test/tmp/dist/Project.js.map +1 -1
- package/test/tmp/src/Brief_News_Category.ts +4 -0
- package/test/tmp/src/Client.ts +4 -0
- package/test/tmp/src/Institution.ts +4 -0
- package/test/tmp/src/Project.ts +4 -0
package/dist/F_Collection.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type F_Layer<Collection_ID extends string, ZodSchema extends z.ZodObject>
|
|
|
7
7
|
};
|
|
8
8
|
export declare class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodObject> {
|
|
9
9
|
collection_id: Collection_ID;
|
|
10
|
+
collection_name_plural: string;
|
|
10
11
|
validator: ZodSchema;
|
|
11
12
|
mongoose_schema: any;
|
|
12
13
|
mongoose_model: Model<z.infer<ZodSchema>>;
|
|
@@ -16,6 +17,6 @@ export declare class F_Collection<Collection_ID extends string, ZodSchema extend
|
|
|
16
17
|
post_validator: z.ZodType;
|
|
17
18
|
is_compiled: boolean;
|
|
18
19
|
access_layers: F_Layer<Collection_ID, ZodSchema>[];
|
|
19
|
-
constructor(collection_name: Collection_ID, validator: ZodSchema);
|
|
20
|
+
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema);
|
|
20
21
|
add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[], is_layer_owner?: boolean): void;
|
|
21
22
|
}
|
package/dist/F_Collection.js
CHANGED
|
@@ -2,6 +2,7 @@ import { mongoose_from_zod, schema_from_zod } from "./utils/mongoose_from_zod.js
|
|
|
2
2
|
import { query_validator_from_zod } from "./utils/query_validator_from_zod.js";
|
|
3
3
|
export class F_Collection {
|
|
4
4
|
collection_id;
|
|
5
|
+
collection_name_plural;
|
|
5
6
|
validator;
|
|
6
7
|
mongoose_schema;
|
|
7
8
|
mongoose_model;
|
|
@@ -11,8 +12,9 @@ export class F_Collection {
|
|
|
11
12
|
post_validator;
|
|
12
13
|
is_compiled;
|
|
13
14
|
access_layers;
|
|
14
|
-
constructor(collection_name, validator) {
|
|
15
|
+
constructor(collection_name, collection_name_plural, validator) {
|
|
15
16
|
this.collection_id = collection_name;
|
|
17
|
+
this.collection_name_plural = collection_name_plural;
|
|
16
18
|
this.validator = validator;
|
|
17
19
|
this.mongoose_schema = schema_from_zod(validator);
|
|
18
20
|
this.mongoose_model = mongoose_from_zod(collection_name, validator);
|
package/dist/F_Collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGlF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAQ/E,MAAM,OAAO,YAAY;IACrB,aAAa,CAAgB;IAC7B,SAAS,CAAY;IACrB,eAAe,CAAM;IACrB,cAAc,CAA4B;IAE1C,sBAAsB,CAAY;IAClC,sBAAsB,CAAY;IAClC,aAAa,CAAY;IACzB,cAAc,CAAY;IAC1B,WAAW,CAAU;IAErB,aAAa,CAAsC;IAEnD,YAAY,eAA8B,EAAE,SAAoB;
|
|
1
|
+
{"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGlF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAQ/E,MAAM,OAAO,YAAY;IACrB,aAAa,CAAgB;IAC7B,sBAAsB,CAAS;IAC/B,SAAS,CAAY;IACrB,eAAe,CAAM;IACrB,cAAc,CAA4B;IAE1C,sBAAsB,CAAY;IAClC,sBAAsB,CAAY;IAClC,aAAa,CAAY;IACzB,cAAc,CAAY;IAC1B,WAAW,CAAU;IAErB,aAAa,CAAsC;IAEnD,YAAY,eAA8B,EAAE,sBAA8B,EAAE,SAAoB;QAC5F,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;QACrC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAGpE,IAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE5E,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,MAAgB,EAAE,eAA6D,EAAE,cAAc,GAAG,KAAK;QAC9G,IAAG,IAAI,CAAC,WAAW,EAAC,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,eAAe;SACnC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -60,11 +60,11 @@ export class F_SM_Role_Membership extends F_Security_Model {
|
|
|
60
60
|
console.warn(`role collection ${this.role_collection.collection_id} was missing its permissions field`);
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
|
-
if (!role.permissions[this.collection.
|
|
64
|
-
console.warn(`role collection ${this.role_collection.collection_id} was missing its permissions.${this.collection.
|
|
63
|
+
if (!role.permissions[this.collection.collection_name_plural]) {
|
|
64
|
+
console.warn(`role collection ${this.role_collection.collection_id} was missing its permissions.${this.collection.collection_name_plural} field`);
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
|
-
return role.permissions[this.collection.
|
|
67
|
+
return role.permissions[this.collection.collection_name_plural].includes(operation_permission_map[operation]);
|
|
68
68
|
}
|
|
69
69
|
async handle_empty_query_results(req, res, operation) {
|
|
70
70
|
return { data: null };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"F_SM_Role_Membership.js","sourceRoot":"","sources":["../../src/F_Security_Models/F_SM_Role_Membership.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"F_SM_Role_Membership.js","sourceRoot":"","sources":["../../src/F_Security_Models/F_SM_Role_Membership.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export async function generate_client_library(path, collection_registry, service
|
|
|
11
11
|
let collection = col;
|
|
12
12
|
let mustache_context = {
|
|
13
13
|
collection_id: collection.collection_id,
|
|
14
|
+
collection_name_plural: collection.collection_name_plural,
|
|
14
15
|
type_return: `${get_type_name(collection.collection_id)}`,
|
|
15
16
|
path_type_return: `types/${get_type_name(collection.collection_id)}`,
|
|
16
17
|
type_query: `${get_type_name(collection.collection_id)}_query`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_client_library.js","sourceRoot":"","sources":["../../src/code_generation/generate_client_library.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAcrC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAc,IAAY,EAAE,mBAAuD,EAAE,YAAY,GAAG,iBAAiB;IAC9J,IAAI,WAAW,GAAgB;QAC3B,gBAAgB,EAAE,EAAE;QACpB,QAAQ,EAAE,EAAE;KACf,CAAC;IAGF,KAAI,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,GAAgC,CAAC;QAElD,IAAI,gBAAgB,GAAG;YACnB,aAAa,EAAE,UAAU,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"generate_client_library.js","sourceRoot":"","sources":["../../src/code_generation/generate_client_library.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAcrC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAc,IAAY,EAAE,mBAAuD,EAAE,YAAY,GAAG,iBAAiB;IAC9J,IAAI,WAAW,GAAgB;QAC3B,gBAAgB,EAAE,EAAE;QACpB,QAAQ,EAAE,EAAE;KACf,CAAC;IAGF,KAAI,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,GAAgC,CAAC;QAElD,IAAI,gBAAgB,GAAG;YACnB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;YAEzD,WAAW,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YACzD,gBAAgB,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YAEpE,UAAU,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ;YAC9D,eAAe,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ;YAEzE,QAAQ,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM;YAC1D,aAAa,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM;YAErE,SAAS,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO;YAC5D,cAAc,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO;SAC1E,CAAA;QAED,IAAI,kCAAkC,GAAG,EAAc,CAAC;QACxD,IAAI,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/D,kCAAkC,CAAC,IAAI,CAAC,eAAe,gBAAgB,CAAC,WAAW,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtJ,IAAI,wCAAwC,GAAG,EAAc,CAAC;QAC9D,IAAI,qBAAqB,GAAG,aAAa,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAC7E,wCAAwC,CAAC,IAAI,CAAC,eAAe,gBAAgB,CAAC,UAAU,MAAM,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7J,IAAI,sCAAsC,GAAG,EAAc,CAAC;QAC5D,IAAI,mBAAmB,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAClE,sCAAsC,CAAC,IAAI,CAAC,eAAe,gBAAgB,CAAC,QAAQ,MAAM,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAErJ,IAAI,uCAAuC,GAAG,EAAc,CAAC;QAC7D,IAAI,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpE,uCAAuC,CAAC,IAAI,CAAC,eAAe,gBAAgB,CAAC,SAAS,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzJ,IAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;YAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QACjF,IAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;YAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QACnF,IAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;YAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QACnG,IAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;YAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QACnG,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACpK,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9J,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxJ,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnI,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxI,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpI,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtI,KAAI,IAAI,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC9F,CAAC;IACL,CAAC;IAED,IAAI,aAAa,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrH,IAAI,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvH,IAAI,mBAAmB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACjI,IAAI,gBAAgB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAEhI,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,KAAK,GAAkB,CAAC,WAAW,CAAC,CAAC;IACzC,OAAM,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,gBAAgB,CAAC,yBAAyB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;QACjI,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5D,OAAO;gBACH,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC,aAAa;gBACjD,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBAC/D,qBAAqB,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK;aACjF,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAMD,IAAI,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IAEjC,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAClF,IAAI,gCAAgC,GAAG,EAAE,CAAC;IAE1C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,OAAM,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACjG,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,GAAG,KAAK,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7G,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3F,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpG,gCAAgC,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAC,CAAC,CAAA;QAC/H,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAI,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,IAAI,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAC1D,WAAW,EAAE,YAAY;KAC5B,CAAC,CAAC;IAIH,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;IAGlC,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IACvE,KAAI,IAAI,WAAW,IAAI,gCAAgC,EAAE,CAAC;QACtD,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAkC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAChJ,CAAC;IACD,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAAqB,EAAE,MAAe;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACjC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAClB,IAAG,IAAI,KAAK,GAAG,EAAC,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAA,CAAC;QAClE,IAAG,QAAQ,EAAE,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,IAAiB,EAAE,qBAA+B,EAAE,UAAqC,EAAE,gBAAqB;IACjI,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACnD,OAAM,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QAC7B,IAAI,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;gBAC9B,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,OAAO;aAClB,CAAA;QACL,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,IAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAC,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG;YACzC,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,OAAO;SAClB,CAAA;IACL,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAErD,IAAG,CAAC,OAAO,CAAC,UAAU,EAAC,CAAC;QACpB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAChC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAChD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -11,11 +11,13 @@ export class Collection_{{my_built_collection}} {
|
|
|
11
11
|
path: string[]
|
|
12
12
|
get_auth: () => Promise<any>
|
|
13
13
|
collection_id: string
|
|
14
|
+
collection_name_plural: string
|
|
14
15
|
|
|
15
16
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
16
17
|
this.path = path;
|
|
17
18
|
this.get_auth = get_auth;
|
|
18
19
|
this.collection_id = "{{collection_id}}";
|
|
20
|
+
this.collection_name_plural = "{{collection_name_plural}}"
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
|
|
@@ -51,10 +53,12 @@ export class Collection_{{my_built_collection}} {
|
|
|
51
53
|
let path = this.path;
|
|
52
54
|
let get_auth = this.get_auth;
|
|
53
55
|
let collection_id = this.collection_id;
|
|
56
|
+
let collection_name_plural = this.collection_name_plural;
|
|
54
57
|
return {
|
|
55
58
|
path: [...path, document_id],
|
|
56
59
|
collection_id: collection_id,
|
|
57
60
|
document_id: document_id,
|
|
61
|
+
collection_name_plural: collection_name_plural,
|
|
58
62
|
get_auth: get_auth,
|
|
59
63
|
async get(): Promise<{{type_return}}>{
|
|
60
64
|
try {
|
package/package.json
CHANGED
package/src/F_Collection.ts
CHANGED
|
@@ -12,6 +12,7 @@ export type F_Layer<Collection_ID extends string, ZodSchema extends z.ZodObject>
|
|
|
12
12
|
|
|
13
13
|
export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodObject> {
|
|
14
14
|
collection_id: Collection_ID;
|
|
15
|
+
collection_name_plural: string;
|
|
15
16
|
validator: ZodSchema;
|
|
16
17
|
mongoose_schema: any;
|
|
17
18
|
mongoose_model: Model<z.infer<ZodSchema>>;
|
|
@@ -24,8 +25,9 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
|
|
|
24
25
|
|
|
25
26
|
access_layers: F_Layer<Collection_ID, ZodSchema>[];
|
|
26
27
|
|
|
27
|
-
constructor(collection_name: Collection_ID, validator: ZodSchema){
|
|
28
|
+
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema){
|
|
28
29
|
this.collection_id = collection_name;
|
|
30
|
+
this.collection_name_plural = collection_name_plural;
|
|
29
31
|
this.validator = validator;
|
|
30
32
|
this.mongoose_schema = schema_from_zod(validator);
|
|
31
33
|
this.mongoose_model = mongoose_from_zod(collection_name, validator);
|
|
@@ -78,8 +78,8 @@ export class F_SM_Role_Membership<Collection_ID extends string, ZodSchema extend
|
|
|
78
78
|
|
|
79
79
|
if(!role){ return false; }
|
|
80
80
|
if(!role.permissions){ console.warn(`role collection ${this.role_collection.collection_id} was missing its permissions field`); return false; }
|
|
81
|
-
if(!role.permissions[this.collection.
|
|
82
|
-
return role.permissions[this.collection.
|
|
81
|
+
if(!role.permissions[this.collection.collection_name_plural]){ console.warn(`role collection ${this.role_collection.collection_id} was missing its permissions.${this.collection.collection_name_plural} field`); return false; }
|
|
82
|
+
return role.permissions[this.collection.collection_name_plural].includes(operation_permission_map[operation]);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
async handle_empty_query_results(req: Request, res: Response, operation: Operation): Promise<Empty_Query_Possibilities> {
|
|
@@ -29,6 +29,7 @@ export async function generate_client_library<Collections>(path: string, collect
|
|
|
29
29
|
|
|
30
30
|
let mustache_context = {
|
|
31
31
|
collection_id: collection.collection_id,
|
|
32
|
+
collection_name_plural: collection.collection_name_plural,
|
|
32
33
|
|
|
33
34
|
type_return: `${get_type_name(collection.collection_id)}`,
|
|
34
35
|
path_type_return: `types/${get_type_name(collection.collection_id)}`,
|
|
@@ -11,11 +11,13 @@ export class Collection_{{my_built_collection}} {
|
|
|
11
11
|
path: string[]
|
|
12
12
|
get_auth: () => Promise<any>
|
|
13
13
|
collection_id: string
|
|
14
|
+
collection_name_plural: string
|
|
14
15
|
|
|
15
16
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
16
17
|
this.path = path;
|
|
17
18
|
this.get_auth = get_auth;
|
|
18
19
|
this.collection_id = "{{collection_id}}";
|
|
20
|
+
this.collection_name_plural = "{{collection_name_plural}}"
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
|
|
@@ -51,10 +53,12 @@ export class Collection_{{my_built_collection}} {
|
|
|
51
53
|
let path = this.path;
|
|
52
54
|
let get_auth = this.get_auth;
|
|
53
55
|
let collection_id = this.collection_id;
|
|
56
|
+
let collection_name_plural = this.collection_name_plural;
|
|
54
57
|
return {
|
|
55
58
|
path: [...path, document_id],
|
|
56
59
|
collection_id: collection_id,
|
|
57
60
|
document_id: document_id,
|
|
61
|
+
collection_name_plural: collection_name_plural,
|
|
58
62
|
get_auth: get_auth,
|
|
59
63
|
async get(): Promise<{{type_return}}>{
|
|
60
64
|
try {
|
|
@@ -57,13 +57,13 @@ describe('Basic Server', function () {
|
|
|
57
57
|
// if we define these in mocha's describe() function, it runs before connecting to the database.
|
|
58
58
|
// this causes the mongoose definitions to get attached to a database instance that is closed at
|
|
59
59
|
// the end of the previous test, spawning a MongoNotConnectedError error.
|
|
60
|
-
institution = new F_Collection('institution', validate_institution);
|
|
60
|
+
institution = new F_Collection('institution', 'institutions', validate_institution);
|
|
61
61
|
institution.add_layers([], [new F_SM_Open_Access(institution)]);
|
|
62
62
|
|
|
63
|
-
client = new F_Collection('client', validate_client);
|
|
63
|
+
client = new F_Collection('client', 'clients', validate_client);
|
|
64
64
|
client.add_layers([institution.collection_id], [new F_SM_Open_Access(client)]);
|
|
65
65
|
|
|
66
|
-
project = new F_Collection('project', validate_project);
|
|
66
|
+
project = new F_Collection('project', 'projects', validate_project);
|
|
67
67
|
project.add_layers([institution.collection_id, client.collection_id], [new F_SM_Open_Access(project)]);
|
|
68
68
|
|
|
69
69
|
// build registry
|
|
@@ -48,10 +48,10 @@ describe('Security Model Ownership', function () {
|
|
|
48
48
|
express_app.use(express.json());
|
|
49
49
|
db_connection = await mongoose.connect('mongodb://127.0.0.1:27017/');
|
|
50
50
|
|
|
51
|
-
collection_user = new F_Collection('user', validate_user);
|
|
51
|
+
collection_user = new F_Collection('user', 'users', validate_user);
|
|
52
52
|
collection_user.add_layers([], [new F_SM_Open_Access(collection_user)]);
|
|
53
53
|
|
|
54
|
-
collection_user_display = new F_Collection('user_display', validate_user_display);
|
|
54
|
+
collection_user_display = new F_Collection('user_display', 'user_displays', validate_user_display);
|
|
55
55
|
collection_user_display.add_layers([], [new F_SM_Ownership(collection_user_display)]);
|
|
56
56
|
|
|
57
57
|
let proto_registry = new F_Collection_Registry();
|
|
@@ -18,7 +18,7 @@ import { Server } from "http";
|
|
|
18
18
|
// IF YOU RUN THESE TESTS ON THEIR OWN, THEY WORK FINE
|
|
19
19
|
// there's something janky going on with the mongodb or express
|
|
20
20
|
// setup/teardown that's causing the mto fail.
|
|
21
|
-
describe.
|
|
21
|
+
describe.only('Security Model Role Membership', function () {
|
|
22
22
|
const port = 4601;
|
|
23
23
|
let express_app: Express;
|
|
24
24
|
let server: Server;
|
|
@@ -48,10 +48,10 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
48
48
|
name: z.string(),
|
|
49
49
|
institution_id: z_mongodb_id,
|
|
50
50
|
permissions: z.object({
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
institutions: z.array(z.enum(['read', 'create', 'update', 'delete'])),
|
|
52
|
+
clients: z.array(z.enum(['read', 'create', 'update', 'delete'])),
|
|
53
|
+
projects: z.array(z.enum(['read', 'create', 'update', 'delete'])),
|
|
54
|
+
roles: z.array(z.enum(['read', 'create', 'update', 'delete'])),
|
|
55
55
|
})
|
|
56
56
|
})
|
|
57
57
|
let validate_institution_role_membership = z.object({
|
|
@@ -94,13 +94,13 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
94
94
|
let cache_institution_role_membership = new Cache(60);
|
|
95
95
|
let cache_client_role_membership = new Cache(60);
|
|
96
96
|
|
|
97
|
-
collection_institution = new F_Collection('institution', validate_institution);
|
|
98
|
-
collection_client = new F_Collection('client', validate_client);
|
|
99
|
-
collection_project = new F_Collection('project', validate_project);
|
|
100
|
-
collection_user = new F_Collection('user', validate_user);
|
|
101
|
-
collection_role = new F_Collection('role', validate_role);
|
|
102
|
-
collection_institution_role_membership = new F_Collection('institution_role_membership', validate_institution_role_membership);
|
|
103
|
-
collection_client_role_membership = new F_Collection('client_role_membership', validate_client_role_membership);
|
|
97
|
+
collection_institution = new F_Collection('institution', 'institutions', validate_institution);
|
|
98
|
+
collection_client = new F_Collection('client', 'clients', validate_client);
|
|
99
|
+
collection_project = new F_Collection('project', 'projects', validate_project);
|
|
100
|
+
collection_user = new F_Collection('user', 'users', validate_user);
|
|
101
|
+
collection_role = new F_Collection('role', 'roles', validate_role);
|
|
102
|
+
collection_institution_role_membership = new F_Collection('institution_role_membership', 'institution_role_memberships', validate_institution_role_membership);
|
|
103
|
+
collection_client_role_membership = new F_Collection('client_role_membership', 'client_role_memberships', validate_client_role_membership);
|
|
104
104
|
|
|
105
105
|
collection_institution.add_layers([], [new F_SM_Role_Membership(
|
|
106
106
|
collection_institution,
|
|
@@ -280,10 +280,10 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
280
280
|
name: 'steve full access',
|
|
281
281
|
institution_id: steve_institution._id,
|
|
282
282
|
permissions: {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
283
|
+
institutions: ['read', 'create', 'update', 'delete'],
|
|
284
|
+
clients: ['read', 'create', 'update', 'delete'],
|
|
285
|
+
projects: ['read', 'create', 'update', 'delete'],
|
|
286
|
+
roles: ['read', 'create', 'update', 'delete'],
|
|
287
287
|
}
|
|
288
288
|
});
|
|
289
289
|
|
|
@@ -291,10 +291,10 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
291
291
|
name: 'steve limited access',
|
|
292
292
|
institution_id: steve_institution._id,
|
|
293
293
|
permissions: {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
294
|
+
institutions: ['read'],
|
|
295
|
+
clients: ['read'],
|
|
296
|
+
projects: [],
|
|
297
|
+
roles: ['read'],
|
|
298
298
|
}
|
|
299
299
|
});
|
|
300
300
|
|
|
@@ -302,10 +302,10 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
302
302
|
name: 'edwin full access',
|
|
303
303
|
institution_id: edwin_institution._id,
|
|
304
304
|
permissions: {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
305
|
+
institutions: ['read', 'create', 'update', 'delete'],
|
|
306
|
+
clients: ['read', 'create', 'update', 'delete'],
|
|
307
|
+
projects: ['read', 'create', 'update', 'delete'],
|
|
308
|
+
roles: ['read', 'create', 'update', 'delete'],
|
|
309
309
|
}
|
|
310
310
|
});
|
|
311
311
|
|
|
@@ -313,10 +313,10 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
313
313
|
name: 'edwin limited access',
|
|
314
314
|
institution_id: edwin_institution._id,
|
|
315
315
|
permissions: {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
316
|
+
institutions: ['read'],
|
|
317
|
+
clients: ['read'],
|
|
318
|
+
projects: [],
|
|
319
|
+
roles: ['read'],
|
|
320
320
|
}
|
|
321
321
|
});
|
|
322
322
|
|
|
@@ -40,7 +40,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
40
40
|
it(`should be able to generate a plain object`, async function () {
|
|
41
41
|
const validate_test_collection = z.object({});
|
|
42
42
|
|
|
43
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
43
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
44
44
|
|
|
45
45
|
let proto_registry = new F_Collection_Registry();
|
|
46
46
|
let registry = proto_registry.register(test_collection);
|
|
@@ -58,7 +58,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
58
58
|
test: z.string(),
|
|
59
59
|
});
|
|
60
60
|
|
|
61
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
61
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
62
62
|
|
|
63
63
|
let proto_registry = new F_Collection_Registry();
|
|
64
64
|
let registry = proto_registry.register(test_collection);
|
|
@@ -78,7 +78,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
78
78
|
test: z.number(),
|
|
79
79
|
});
|
|
80
80
|
|
|
81
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
81
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
82
82
|
|
|
83
83
|
let proto_registry = new F_Collection_Registry();
|
|
84
84
|
let registry = proto_registry.register(test_collection);
|
|
@@ -98,7 +98,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
98
98
|
test: z.boolean(),
|
|
99
99
|
});
|
|
100
100
|
|
|
101
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
101
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
102
102
|
|
|
103
103
|
let proto_registry = new F_Collection_Registry();
|
|
104
104
|
let registry = proto_registry.register(test_collection);
|
|
@@ -118,7 +118,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
118
118
|
test: z.date(),
|
|
119
119
|
});
|
|
120
120
|
|
|
121
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
121
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
122
122
|
|
|
123
123
|
let proto_registry = new F_Collection_Registry();
|
|
124
124
|
let registry = proto_registry.register(test_collection);
|
|
@@ -138,7 +138,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
138
138
|
test: z_mongodb_id,
|
|
139
139
|
});
|
|
140
140
|
|
|
141
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
141
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
142
142
|
|
|
143
143
|
let proto_registry = new F_Collection_Registry();
|
|
144
144
|
let registry = proto_registry.register(test_collection);
|
|
@@ -158,7 +158,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
158
158
|
test: z.nullable(z.string()),
|
|
159
159
|
});
|
|
160
160
|
|
|
161
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
161
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
162
162
|
|
|
163
163
|
let proto_registry = new F_Collection_Registry();
|
|
164
164
|
let registry = proto_registry.register(test_collection);
|
|
@@ -178,7 +178,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
178
178
|
test: z.string().or(z.number()),
|
|
179
179
|
});
|
|
180
180
|
|
|
181
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
181
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
182
182
|
|
|
183
183
|
let proto_registry = new F_Collection_Registry();
|
|
184
184
|
let registry = proto_registry.register(test_collection);
|
|
@@ -198,7 +198,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
198
198
|
test: z.nullable(z.string().or(z.number())),
|
|
199
199
|
});
|
|
200
200
|
|
|
201
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
201
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
202
202
|
|
|
203
203
|
let proto_registry = new F_Collection_Registry();
|
|
204
204
|
let registry = proto_registry.register(test_collection);
|
|
@@ -222,7 +222,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
222
222
|
})),
|
|
223
223
|
});
|
|
224
224
|
|
|
225
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
225
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
226
226
|
|
|
227
227
|
let proto_registry = new F_Collection_Registry();
|
|
228
228
|
let registry = proto_registry.register(test_collection);
|
|
@@ -242,7 +242,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
242
242
|
test: z.enum(["red", "green", "blue"]),
|
|
243
243
|
});
|
|
244
244
|
|
|
245
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
245
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
246
246
|
|
|
247
247
|
let proto_registry = new F_Collection_Registry();
|
|
248
248
|
let registry = proto_registry.register(test_collection);
|
|
@@ -262,7 +262,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
262
262
|
test: z.array(z.enum(["red", "green", "blue"])),
|
|
263
263
|
});
|
|
264
264
|
|
|
265
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
265
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
266
266
|
|
|
267
267
|
let proto_registry = new F_Collection_Registry();
|
|
268
268
|
let registry = proto_registry.register(test_collection);
|
|
@@ -283,7 +283,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
283
283
|
}),
|
|
284
284
|
});
|
|
285
285
|
|
|
286
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
286
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
287
287
|
|
|
288
288
|
let proto_registry = new F_Collection_Registry();
|
|
289
289
|
let registry = proto_registry.register(test_collection);
|
|
@@ -311,7 +311,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
311
311
|
}),
|
|
312
312
|
});
|
|
313
313
|
|
|
314
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
314
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
315
315
|
|
|
316
316
|
let proto_registry = new F_Collection_Registry();
|
|
317
317
|
let registry = proto_registry.register(test_collection);
|
|
@@ -342,7 +342,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
342
342
|
field_date: z.array(z.date()),
|
|
343
343
|
});
|
|
344
344
|
|
|
345
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
345
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
346
346
|
|
|
347
347
|
let proto_registry = new F_Collection_Registry();
|
|
348
348
|
let registry = proto_registry.register(test_collection);
|
|
@@ -371,7 +371,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
371
371
|
|
|
372
372
|
});
|
|
373
373
|
|
|
374
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
374
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
375
375
|
|
|
376
376
|
let proto_registry = new F_Collection_Registry();
|
|
377
377
|
let registry = proto_registry.register(test_collection);
|
|
@@ -403,7 +403,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
403
403
|
)),
|
|
404
404
|
});
|
|
405
405
|
|
|
406
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
406
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
407
407
|
|
|
408
408
|
let proto_registry = new F_Collection_Registry();
|
|
409
409
|
let registry = proto_registry.register(test_collection);
|
|
@@ -428,7 +428,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
428
428
|
test: z.string().default('ezikiel snograss'),
|
|
429
429
|
});
|
|
430
430
|
|
|
431
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
431
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
432
432
|
|
|
433
433
|
let proto_registry = new F_Collection_Registry();
|
|
434
434
|
let registry = proto_registry.register(test_collection);
|
|
@@ -448,7 +448,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
448
448
|
test: z.string().optional(),
|
|
449
449
|
});
|
|
450
450
|
|
|
451
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
451
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
452
452
|
|
|
453
453
|
let proto_registry = new F_Collection_Registry();
|
|
454
454
|
let registry = proto_registry.register(test_collection);
|
|
@@ -468,7 +468,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
468
468
|
test: z.record(z.string(), z.string())
|
|
469
469
|
});
|
|
470
470
|
|
|
471
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
471
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
472
472
|
|
|
473
473
|
let proto_registry = new F_Collection_Registry();
|
|
474
474
|
let registry = proto_registry.register(test_collection);
|
|
@@ -491,7 +491,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
491
491
|
}))
|
|
492
492
|
});
|
|
493
493
|
|
|
494
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
494
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
495
495
|
|
|
496
496
|
let proto_registry = new F_Collection_Registry();
|
|
497
497
|
let registry = proto_registry.register(test_collection);
|
|
@@ -511,7 +511,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
511
511
|
test: z.record(z.string(), z.array(z.string()))
|
|
512
512
|
});
|
|
513
513
|
|
|
514
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
514
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
515
515
|
|
|
516
516
|
let proto_registry = new F_Collection_Registry();
|
|
517
517
|
let registry = proto_registry.register(test_collection);
|
|
@@ -538,7 +538,7 @@ describe('Client Library Generation: Basic Types', function () {
|
|
|
538
538
|
test: recursive
|
|
539
539
|
});
|
|
540
540
|
|
|
541
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
541
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
542
542
|
|
|
543
543
|
let proto_registry = new F_Collection_Registry();
|
|
544
544
|
let registry = proto_registry.register(test_collection);
|
|
@@ -47,7 +47,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
47
47
|
it(`should be able to generate a query for a plain object`, async function () {
|
|
48
48
|
const validate_test_collection = z.object({});
|
|
49
49
|
|
|
50
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
50
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
51
51
|
|
|
52
52
|
let proto_registry = new F_Collection_Registry();
|
|
53
53
|
let registry = proto_registry.register(test_collection);
|
|
@@ -70,7 +70,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
70
70
|
test: z.string(),
|
|
71
71
|
});
|
|
72
72
|
|
|
73
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
73
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
74
74
|
|
|
75
75
|
let proto_registry = new F_Collection_Registry();
|
|
76
76
|
let registry = proto_registry.register(test_collection);
|
|
@@ -97,7 +97,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
97
97
|
test: z.number(),
|
|
98
98
|
});
|
|
99
99
|
|
|
100
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
100
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
101
101
|
|
|
102
102
|
let proto_registry = new F_Collection_Registry();
|
|
103
103
|
let registry = proto_registry.register(test_collection);
|
|
@@ -125,7 +125,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
125
125
|
test: z.boolean(),
|
|
126
126
|
});
|
|
127
127
|
|
|
128
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
128
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
129
129
|
|
|
130
130
|
let proto_registry = new F_Collection_Registry();
|
|
131
131
|
let registry = proto_registry.register(test_collection);
|
|
@@ -149,7 +149,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
149
149
|
test: z.date(),
|
|
150
150
|
});
|
|
151
151
|
|
|
152
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
152
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
153
153
|
|
|
154
154
|
let proto_registry = new F_Collection_Registry();
|
|
155
155
|
let registry = proto_registry.register(test_collection);
|
|
@@ -175,7 +175,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
175
175
|
test: z_mongodb_id,
|
|
176
176
|
});
|
|
177
177
|
|
|
178
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
178
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
179
179
|
|
|
180
180
|
let proto_registry = new F_Collection_Registry();
|
|
181
181
|
let registry = proto_registry.register(test_collection);
|
|
@@ -202,7 +202,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
202
202
|
test: z.enum(["red", "green", "blue"]),
|
|
203
203
|
});
|
|
204
204
|
|
|
205
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
205
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
206
206
|
|
|
207
207
|
let proto_registry = new F_Collection_Registry();
|
|
208
208
|
let registry = proto_registry.register(test_collection);
|
|
@@ -230,7 +230,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
230
230
|
}),
|
|
231
231
|
});
|
|
232
232
|
|
|
233
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
233
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
234
234
|
|
|
235
235
|
let proto_registry = new F_Collection_Registry();
|
|
236
236
|
let registry = proto_registry.register(test_collection);
|
|
@@ -261,7 +261,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
261
261
|
}),
|
|
262
262
|
});
|
|
263
263
|
|
|
264
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
264
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
265
265
|
|
|
266
266
|
let proto_registry = new F_Collection_Registry();
|
|
267
267
|
let registry = proto_registry.register(test_collection);
|
|
@@ -305,7 +305,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
305
305
|
field_boolean: z.array(z.boolean()),
|
|
306
306
|
});
|
|
307
307
|
|
|
308
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
308
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
309
309
|
|
|
310
310
|
let proto_registry = new F_Collection_Registry();
|
|
311
311
|
let registry = proto_registry.register(test_collection);
|
|
@@ -331,7 +331,7 @@ describe('Client Library Generation: Query Types', function () {
|
|
|
331
331
|
test: z.boolean().default(true),
|
|
332
332
|
});
|
|
333
333
|
|
|
334
|
-
let test_collection = new F_Collection('test_collection', validate_test_collection);
|
|
334
|
+
let test_collection = new F_Collection('test_collection', 'test_collection', validate_test_collection);
|
|
335
335
|
|
|
336
336
|
let proto_registry = new F_Collection_Registry();
|
|
337
337
|
let registry = proto_registry.register(test_collection);
|
|
@@ -77,16 +77,16 @@ describe('Client Library Generation: Library Generation', function () {
|
|
|
77
77
|
await rimraf('./test/tmp');
|
|
78
78
|
await mkdir('./test/tmp');
|
|
79
79
|
|
|
80
|
-
collection_institution = new F_Collection('institution', validate_institution);
|
|
80
|
+
collection_institution = new F_Collection('institution', 'institutions', validate_institution);
|
|
81
81
|
collection_institution.add_layers([], [new F_SM_Open_Access(collection_institution)])
|
|
82
82
|
|
|
83
|
-
collection_client = new F_Collection('client', validate_client);
|
|
83
|
+
collection_client = new F_Collection('client', 'clients', validate_client);
|
|
84
84
|
collection_client.add_layers(['institution'], [new F_SM_Open_Access(collection_client)])
|
|
85
85
|
|
|
86
|
-
collection_project = new F_Collection('project', validate_project);
|
|
86
|
+
collection_project = new F_Collection('project', 'projects', validate_project);
|
|
87
87
|
collection_project.add_layers(['institution', 'client'], [new F_SM_Open_Access(collection_project)])
|
|
88
88
|
|
|
89
|
-
collection_brief_news_category = new F_Collection('brief_news_category', validate_brief_news_category);
|
|
89
|
+
collection_brief_news_category = new F_Collection('brief_news_category', 'brief_news_categories', validate_brief_news_category);
|
|
90
90
|
collection_brief_news_category.add_layers(['institution', 'client'], [new F_SM_Open_Access(collection_brief_news_category)])
|
|
91
91
|
|
|
92
92
|
let proto_registry = new F_Collection_Registry();
|
|
@@ -6,6 +6,7 @@ export declare class Collection_Brief_News_Category {
|
|
|
6
6
|
path: string[];
|
|
7
7
|
get_auth: () => Promise<any>;
|
|
8
8
|
collection_id: string;
|
|
9
|
+
collection_name_plural: string;
|
|
9
10
|
constructor(path: string[], get_auth: () => Promise<any>);
|
|
10
11
|
query(query: brief_news_category_query): Promise<brief_news_category[]>;
|
|
11
12
|
post(document: brief_news_category_post): Promise<brief_news_category>;
|
|
@@ -13,6 +14,7 @@ export declare class Collection_Brief_News_Category {
|
|
|
13
14
|
path: string[];
|
|
14
15
|
collection_id: string;
|
|
15
16
|
document_id: string;
|
|
17
|
+
collection_name_plural: string;
|
|
16
18
|
get_auth: () => Promise<any>;
|
|
17
19
|
get(): Promise<brief_news_category>;
|
|
18
20
|
put(update: brief_news_category_put): Promise<brief_news_category>;
|
|
@@ -4,10 +4,12 @@ export class Collection_Brief_News_Category {
|
|
|
4
4
|
path;
|
|
5
5
|
get_auth;
|
|
6
6
|
collection_id;
|
|
7
|
+
collection_name_plural;
|
|
7
8
|
constructor(path, get_auth) {
|
|
8
9
|
this.path = path;
|
|
9
10
|
this.get_auth = get_auth;
|
|
10
11
|
this.collection_id = "brief_news_category";
|
|
12
|
+
this.collection_name_plural = "brief_news_categories";
|
|
11
13
|
}
|
|
12
14
|
async query(query) {
|
|
13
15
|
try {
|
|
@@ -41,10 +43,12 @@ export class Collection_Brief_News_Category {
|
|
|
41
43
|
let path = this.path;
|
|
42
44
|
let get_auth = this.get_auth;
|
|
43
45
|
let collection_id = this.collection_id;
|
|
46
|
+
let collection_name_plural = this.collection_name_plural;
|
|
44
47
|
return {
|
|
45
48
|
path: [...path, document_id],
|
|
46
49
|
collection_id: collection_id,
|
|
47
50
|
document_id: document_id,
|
|
51
|
+
collection_name_plural: collection_name_plural,
|
|
48
52
|
get_auth: get_auth,
|
|
49
53
|
async get() {
|
|
50
54
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Brief_News_Category.js","sourceRoot":"","sources":["../src/Brief_News_Category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kBAAkB,CAAC;AAQrF,MAAM,OAAO,8BAA8B;IACvC,IAAI,CAAU;IACd,QAAQ,CAAoB;IAC5B,aAAa,CAAQ;
|
|
1
|
+
{"version":3,"file":"Brief_News_Category.js","sourceRoot":"","sources":["../src/Brief_News_Category.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare class Collection_Client {
|
|
|
8
8
|
path: string[];
|
|
9
9
|
get_auth: () => Promise<any>;
|
|
10
10
|
collection_id: string;
|
|
11
|
+
collection_name_plural: string;
|
|
11
12
|
constructor(path: string[], get_auth: () => Promise<any>);
|
|
12
13
|
query(query: client_query): Promise<client[]>;
|
|
13
14
|
post(document: client_post): Promise<client>;
|
|
@@ -15,6 +16,7 @@ export declare class Collection_Client {
|
|
|
15
16
|
path: string[];
|
|
16
17
|
collection_id: string;
|
|
17
18
|
document_id: string;
|
|
19
|
+
collection_name_plural: string;
|
|
18
20
|
get_auth: () => Promise<any>;
|
|
19
21
|
get(): Promise<client>;
|
|
20
22
|
put(update: client_put): Promise<client>;
|
package/test/tmp/dist/Client.js
CHANGED
|
@@ -6,10 +6,12 @@ export class Collection_Client {
|
|
|
6
6
|
path;
|
|
7
7
|
get_auth;
|
|
8
8
|
collection_id;
|
|
9
|
+
collection_name_plural;
|
|
9
10
|
constructor(path, get_auth) {
|
|
10
11
|
this.path = path;
|
|
11
12
|
this.get_auth = get_auth;
|
|
12
13
|
this.collection_id = "client";
|
|
14
|
+
this.collection_name_plural = "clients";
|
|
13
15
|
}
|
|
14
16
|
async query(query) {
|
|
15
17
|
try {
|
|
@@ -43,10 +45,12 @@ export class Collection_Client {
|
|
|
43
45
|
let path = this.path;
|
|
44
46
|
let get_auth = this.get_auth;
|
|
45
47
|
let collection_id = this.collection_id;
|
|
48
|
+
let collection_name_plural = this.collection_name_plural;
|
|
46
49
|
return {
|
|
47
50
|
path: [...path, document_id],
|
|
48
51
|
collection_id: collection_id,
|
|
49
52
|
document_id: document_id,
|
|
53
|
+
collection_name_plural: collection_name_plural,
|
|
50
54
|
get_auth: get_auth,
|
|
51
55
|
async get() {
|
|
52
56
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AAOzE,MAAM,OAAO,iBAAiB;IAC1B,IAAI,CAAU;IACd,QAAQ,CAAoB;IAC5B,aAAa,CAAQ;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare class Collection_Institution {
|
|
|
7
7
|
path: string[];
|
|
8
8
|
get_auth: () => Promise<any>;
|
|
9
9
|
collection_id: string;
|
|
10
|
+
collection_name_plural: string;
|
|
10
11
|
constructor(path: string[], get_auth: () => Promise<any>);
|
|
11
12
|
query(query: institution_query): Promise<institution[]>;
|
|
12
13
|
post(document: institution_post): Promise<institution>;
|
|
@@ -14,6 +15,7 @@ export declare class Collection_Institution {
|
|
|
14
15
|
path: string[];
|
|
15
16
|
collection_id: string;
|
|
16
17
|
document_id: string;
|
|
18
|
+
collection_name_plural: string;
|
|
17
19
|
get_auth: () => Promise<any>;
|
|
18
20
|
get(): Promise<institution>;
|
|
19
21
|
put(update: institution_put): Promise<institution>;
|
|
@@ -5,10 +5,12 @@ export class Collection_Institution {
|
|
|
5
5
|
path;
|
|
6
6
|
get_auth;
|
|
7
7
|
collection_id;
|
|
8
|
+
collection_name_plural;
|
|
8
9
|
constructor(path, get_auth) {
|
|
9
10
|
this.path = path;
|
|
10
11
|
this.get_auth = get_auth;
|
|
11
12
|
this.collection_id = "institution";
|
|
13
|
+
this.collection_name_plural = "institutions";
|
|
12
14
|
}
|
|
13
15
|
async query(query) {
|
|
14
16
|
try {
|
|
@@ -42,10 +44,12 @@ export class Collection_Institution {
|
|
|
42
44
|
let path = this.path;
|
|
43
45
|
let get_auth = this.get_auth;
|
|
44
46
|
let collection_id = this.collection_id;
|
|
47
|
+
let collection_name_plural = this.collection_name_plural;
|
|
45
48
|
return {
|
|
46
49
|
path: [...path, document_id],
|
|
47
50
|
collection_id: collection_id,
|
|
48
51
|
document_id: document_id,
|
|
52
|
+
collection_name_plural: collection_name_plural,
|
|
49
53
|
get_auth: get_auth,
|
|
50
54
|
async get() {
|
|
51
55
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Institution.js","sourceRoot":"","sources":["../src/Institution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAO/C,MAAM,OAAO,sBAAsB;IAC/B,IAAI,CAAU;IACd,QAAQ,CAAoB;IAC5B,aAAa,CAAQ;
|
|
1
|
+
{"version":3,"file":"Institution.js","sourceRoot":"","sources":["../src/Institution.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export declare class Collection_Project {
|
|
|
6
6
|
path: string[];
|
|
7
7
|
get_auth: () => Promise<any>;
|
|
8
8
|
collection_id: string;
|
|
9
|
+
collection_name_plural: string;
|
|
9
10
|
constructor(path: string[], get_auth: () => Promise<any>);
|
|
10
11
|
query(query: project_query): Promise<project[]>;
|
|
11
12
|
post(document: project_post): Promise<project>;
|
|
@@ -13,6 +14,7 @@ export declare class Collection_Project {
|
|
|
13
14
|
path: string[];
|
|
14
15
|
collection_id: string;
|
|
15
16
|
document_id: string;
|
|
17
|
+
collection_name_plural: string;
|
|
16
18
|
get_auth: () => Promise<any>;
|
|
17
19
|
get(): Promise<project>;
|
|
18
20
|
put(update: project_put): Promise<project>;
|
package/test/tmp/dist/Project.js
CHANGED
|
@@ -4,10 +4,12 @@ export class Collection_Project {
|
|
|
4
4
|
path;
|
|
5
5
|
get_auth;
|
|
6
6
|
collection_id;
|
|
7
|
+
collection_name_plural;
|
|
7
8
|
constructor(path, get_auth) {
|
|
8
9
|
this.path = path;
|
|
9
10
|
this.get_auth = get_auth;
|
|
10
11
|
this.collection_id = "project";
|
|
12
|
+
this.collection_name_plural = "projects";
|
|
11
13
|
}
|
|
12
14
|
async query(query) {
|
|
13
15
|
try {
|
|
@@ -41,10 +43,12 @@ export class Collection_Project {
|
|
|
41
43
|
let path = this.path;
|
|
42
44
|
let get_auth = this.get_auth;
|
|
43
45
|
let collection_id = this.collection_id;
|
|
46
|
+
let collection_name_plural = this.collection_name_plural;
|
|
44
47
|
return {
|
|
45
48
|
path: [...path, document_id],
|
|
46
49
|
collection_id: collection_id,
|
|
47
50
|
document_id: document_id,
|
|
51
|
+
collection_name_plural: collection_name_plural,
|
|
48
52
|
get_auth: get_auth,
|
|
49
53
|
async get() {
|
|
50
54
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../src/Project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kBAAkB,CAAC;AAQrF,MAAM,OAAO,kBAAkB;IAC3B,IAAI,CAAU;IACd,QAAQ,CAAoB;IAC5B,aAAa,CAAQ;
|
|
1
|
+
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../src/Project.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,13 @@ export class Collection_Brief_News_Category {
|
|
|
11
11
|
path: string[]
|
|
12
12
|
get_auth: () => Promise<any>
|
|
13
13
|
collection_id: string
|
|
14
|
+
collection_name_plural: string
|
|
14
15
|
|
|
15
16
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
16
17
|
this.path = path;
|
|
17
18
|
this.get_auth = get_auth;
|
|
18
19
|
this.collection_id = "brief_news_category";
|
|
20
|
+
this.collection_name_plural = "brief_news_categories"
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
|
|
@@ -51,10 +53,12 @@ export class Collection_Brief_News_Category {
|
|
|
51
53
|
let path = this.path;
|
|
52
54
|
let get_auth = this.get_auth;
|
|
53
55
|
let collection_id = this.collection_id;
|
|
56
|
+
let collection_name_plural = this.collection_name_plural;
|
|
54
57
|
return {
|
|
55
58
|
path: [...path, document_id],
|
|
56
59
|
collection_id: collection_id,
|
|
57
60
|
document_id: document_id,
|
|
61
|
+
collection_name_plural: collection_name_plural,
|
|
58
62
|
get_auth: get_auth,
|
|
59
63
|
async get(): Promise<brief_news_category>{
|
|
60
64
|
try {
|
package/test/tmp/src/Client.ts
CHANGED
|
@@ -13,11 +13,13 @@ export class Collection_Client {
|
|
|
13
13
|
path: string[]
|
|
14
14
|
get_auth: () => Promise<any>
|
|
15
15
|
collection_id: string
|
|
16
|
+
collection_name_plural: string
|
|
16
17
|
|
|
17
18
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
18
19
|
this.path = path;
|
|
19
20
|
this.get_auth = get_auth;
|
|
20
21
|
this.collection_id = "client";
|
|
22
|
+
this.collection_name_plural = "clients"
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
|
|
@@ -53,10 +55,12 @@ export class Collection_Client {
|
|
|
53
55
|
let path = this.path;
|
|
54
56
|
let get_auth = this.get_auth;
|
|
55
57
|
let collection_id = this.collection_id;
|
|
58
|
+
let collection_name_plural = this.collection_name_plural;
|
|
56
59
|
return {
|
|
57
60
|
path: [...path, document_id],
|
|
58
61
|
collection_id: collection_id,
|
|
59
62
|
document_id: document_id,
|
|
63
|
+
collection_name_plural: collection_name_plural,
|
|
60
64
|
get_auth: get_auth,
|
|
61
65
|
async get(): Promise<client>{
|
|
62
66
|
try {
|
|
@@ -12,11 +12,13 @@ export class Collection_Institution {
|
|
|
12
12
|
path: string[]
|
|
13
13
|
get_auth: () => Promise<any>
|
|
14
14
|
collection_id: string
|
|
15
|
+
collection_name_plural: string
|
|
15
16
|
|
|
16
17
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
17
18
|
this.path = path;
|
|
18
19
|
this.get_auth = get_auth;
|
|
19
20
|
this.collection_id = "institution";
|
|
21
|
+
this.collection_name_plural = "institutions"
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
|
|
@@ -52,10 +54,12 @@ export class Collection_Institution {
|
|
|
52
54
|
let path = this.path;
|
|
53
55
|
let get_auth = this.get_auth;
|
|
54
56
|
let collection_id = this.collection_id;
|
|
57
|
+
let collection_name_plural = this.collection_name_plural;
|
|
55
58
|
return {
|
|
56
59
|
path: [...path, document_id],
|
|
57
60
|
collection_id: collection_id,
|
|
58
61
|
document_id: document_id,
|
|
62
|
+
collection_name_plural: collection_name_plural,
|
|
59
63
|
get_auth: get_auth,
|
|
60
64
|
async get(): Promise<institution>{
|
|
61
65
|
try {
|
package/test/tmp/src/Project.ts
CHANGED
|
@@ -11,11 +11,13 @@ export class Collection_Project {
|
|
|
11
11
|
path: string[]
|
|
12
12
|
get_auth: () => Promise<any>
|
|
13
13
|
collection_id: string
|
|
14
|
+
collection_name_plural: string
|
|
14
15
|
|
|
15
16
|
constructor(path: string[], get_auth: () => Promise<any>) {
|
|
16
17
|
this.path = path;
|
|
17
18
|
this.get_auth = get_auth;
|
|
18
19
|
this.collection_id = "project";
|
|
20
|
+
this.collection_name_plural = "projects"
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
|
|
@@ -51,10 +53,12 @@ export class Collection_Project {
|
|
|
51
53
|
let path = this.path;
|
|
52
54
|
let get_auth = this.get_auth;
|
|
53
55
|
let collection_id = this.collection_id;
|
|
56
|
+
let collection_name_plural = this.collection_name_plural;
|
|
54
57
|
return {
|
|
55
58
|
path: [...path, document_id],
|
|
56
59
|
collection_id: collection_id,
|
|
57
60
|
document_id: document_id,
|
|
61
|
+
collection_name_plural: collection_name_plural,
|
|
58
62
|
get_auth: get_auth,
|
|
59
63
|
async get(): Promise<project>{
|
|
60
64
|
try {
|