@webiny/api-aco 0.0.0-unstable.9e825fd5fb → 0.0.0-unstable.a9593f74dd
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 +6 -6
- package/apps/AcoApp.d.ts +21 -0
- package/apps/AcoApp.js +143 -0
- package/apps/AcoApp.js.map +1 -0
- package/apps/AcoApps.d.ts +10 -0
- package/apps/AcoApps.js +75 -0
- package/apps/AcoApps.js.map +1 -0
- package/apps/app.gql.d.ts +3 -0
- package/apps/app.gql.js +60 -0
- package/apps/app.gql.js.map +1 -0
- package/apps/index.d.ts +2 -0
- package/apps/index.js +29 -0
- package/apps/index.js.map +1 -0
- package/createAcoContext.d.ts +5 -1
- package/createAcoContext.js +159 -28
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +2 -2
- package/createAcoGraphQL.js +39 -6
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoHooks.js +9 -3
- package/createAcoHooks.js.map +1 -1
- package/createAcoModels.js +6 -42
- package/createAcoModels.js.map +1 -1
- package/createAcoStorageOperations.d.ts +0 -1
- package/createAcoStorageOperations.js +10 -7
- package/createAcoStorageOperations.js.map +1 -1
- package/{createAcoFields.d.ts → fields/index.d.ts} +1 -1
- package/fields/index.js +14 -0
- package/fields/index.js.map +1 -0
- package/fields/location.d.ts +2 -0
- package/fields/location.js +46 -0
- package/fields/location.js.map +1 -0
- package/filter/filter.crud.d.ts +3 -0
- package/filter/filter.crud.js +94 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +3 -0
- package/filter/filter.gql.js +153 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +2 -0
- package/filter/filter.model.js +125 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +3 -0
- package/filter/filter.so.js +98 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +95 -0
- package/filter/filter.types.js +14 -0
- package/filter/filter.types.js.map +1 -0
- package/folder/folder.crud.d.ts +8 -1
- package/folder/folder.crud.js +201 -4
- package/folder/folder.crud.js.map +1 -1
- package/folder/folder.gql.js +98 -6
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.model.d.ts +1 -3
- package/folder/folder.model.js +54 -25
- package/folder/folder.model.js.map +1 -1
- package/folder/folder.so.js +38 -18
- package/folder/folder.so.js.map +1 -1
- package/folder/folder.types.d.ts +35 -3
- package/folder/folder.types.js +3 -1
- package/folder/folder.types.js.map +1 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteAco.hook.js +67 -0
- package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteFm.hook.js +49 -0
- package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js +56 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
- package/index.d.ts +9 -1
- package/index.js +57 -5
- package/index.js.map +1 -1
- package/package.json +38 -32
- package/plugins/AcoAppModifierPlugin.d.ts +43 -0
- package/plugins/AcoAppModifierPlugin.js +58 -0
- package/plugins/AcoAppModifierPlugin.js.map +1 -0
- package/plugins/AcoAppRegisterPlugin.d.ts +8 -0
- package/plugins/AcoAppRegisterPlugin.js +21 -0
- package/plugins/AcoAppRegisterPlugin.js.map +1 -0
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +29 -0
- package/plugins/index.js.map +1 -0
- package/record/graphql/createAppResolvers.d.ts +14 -0
- package/record/graphql/createAppResolvers.js +115 -0
- package/record/graphql/createAppResolvers.js.map +1 -0
- package/record/graphql/createAppSchema.d.ts +9 -0
- package/record/graphql/createAppSchema.js +147 -0
- package/record/graphql/createAppSchema.js.map +1 -0
- package/record/record.crud.js +49 -13
- package/record/record.crud.js.map +1 -1
- package/record/record.gql.d.ts +8 -3
- package/record/record.gql.js +38 -112
- package/record/record.gql.js.map +1 -1
- package/record/record.model.d.ts +7 -3
- package/record/record.model.js +42 -13
- package/record/record.model.js.map +1 -1
- package/record/record.so.js +109 -45
- package/record/record.so.js.map +1 -1
- package/record/record.types.d.ts +71 -18
- package/record/record.types.js +3 -1
- package/record/record.types.js.map +1 -1
- package/types.d.ts +69 -8
- package/types.js +52 -4
- package/types.js.map +1 -1
- package/utils/FolderLevelPermissions.d.ts +71 -0
- package/utils/FolderLevelPermissions.js +353 -0
- package/utils/FolderLevelPermissions.js.map +1 -0
- package/utils/acoRecordId.d.ts +6 -0
- package/utils/acoRecordId.js +35 -0
- package/utils/acoRecordId.js.map +1 -0
- package/utils/createListSort.js +3 -1
- package/utils/createListSort.js.map +1 -1
- package/utils/createModelField.js +3 -1
- package/utils/createModelField.js.map +1 -1
- package/utils/createOperationsWrapper.js +3 -1
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +232 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- package/utils/decorators/constants.d.ts +1 -0
- package/utils/decorators/constants.js +10 -0
- package/utils/decorators/constants.js.map +1 -0
- package/utils/decorators/where.d.ts +14 -0
- package/utils/decorators/where.js +52 -0
- package/utils/decorators/where.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/ensureAuthentication.js +16 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/getFolderAndItsAncestors.d.ts +7 -0
- package/utils/getFolderAndItsAncestors.js +53 -0
- package/utils/getFolderAndItsAncestors.js.map +1 -0
- package/utils/isInstallationPending.js +3 -1
- package/utils/isInstallationPending.js.map +1 -1
- package/utils/modelFactory.d.ts +1 -3
- package/utils/modelFactory.js +7 -10
- package/utils/modelFactory.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +31 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +3 -2
- package/utils/resolve.js +13 -2
- package/utils/resolve.js.map +1 -1
- package/context/folders.d.ts +0 -2
- package/context/folders.js +0 -261
- package/context/folders.js.map +0 -1
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -22
- package/context/index.js.map +0 -1
- package/context/links.d.ts +0 -2
- package/context/links.js +0 -270
- package/context/links.js.map +0 -1
- package/createAcoCrud.d.ts +0 -2
- package/createAcoCrud.js +0 -17
- package/createAcoCrud.js.map +0 -1
- package/createAcoFields.js +0 -40
- package/createAcoFields.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -53
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/graphql/base.gql.d.ts +0 -3
- package/graphql/base.gql.js +0 -63
- package/graphql/base.gql.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -3
- package/graphql/folders.gql.js +0 -126
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/index.d.ts +0 -1
- package/graphql/index.js +0 -15
- package/graphql/index.js.map +0 -1
- package/graphql/links.gql.d.ts +0 -3
- package/graphql/links.gql.js +0 -123
- package/graphql/links.gql.js.map +0 -1
- package/subscriptions/afterFolderDelete.d.ts +0 -3
- package/subscriptions/afterFolderDelete.js +0 -62
- package/subscriptions/afterFolderDelete.js.map +0 -1
- package/subscriptions/index.d.ts +0 -3
- package/subscriptions/index.js +0 -14
- package/subscriptions/index.js.map +0 -1
- package/utils/fieldResolver.d.ts +0 -16
- package/utils/fieldResolver.js +0 -44
- package/utils/fieldResolver.js.map +0 -1
- package/utils/getFieldValues.d.ts +0 -2
- package/utils/getFieldValues.js +0 -19
- package/utils/getFieldValues.js.map +0 -1
package/record/record.crud.js
CHANGED
|
@@ -14,6 +14,9 @@ const createSearchRecordCrudMethods = ({
|
|
|
14
14
|
// update
|
|
15
15
|
const onSearchRecordBeforeUpdate = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeUpdate");
|
|
16
16
|
const onSearchRecordAfterUpdate = (0, _pubsub.createTopic)("aco.onSearchRecordAfterUpdate");
|
|
17
|
+
// move
|
|
18
|
+
const onSearchRecordBeforeMove = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeMove");
|
|
19
|
+
const onSearchRecordAfterMove = (0, _pubsub.createTopic)("aco.onSearchRecordAfterMove");
|
|
17
20
|
// delete
|
|
18
21
|
const onSearchRecordBeforeDelete = (0, _pubsub.createTopic)("aco.onSearchRecordBeforeDelete");
|
|
19
22
|
const onSearchRecordAfterDelete = (0, _pubsub.createTopic)("aco.onSearchRecordAfterDelete");
|
|
@@ -25,44 +28,50 @@ const createSearchRecordCrudMethods = ({
|
|
|
25
28
|
onSearchRecordAfterCreate,
|
|
26
29
|
onSearchRecordBeforeUpdate,
|
|
27
30
|
onSearchRecordAfterUpdate,
|
|
31
|
+
onSearchRecordBeforeMove,
|
|
32
|
+
onSearchRecordAfterMove,
|
|
28
33
|
onSearchRecordBeforeDelete,
|
|
29
34
|
onSearchRecordAfterDelete,
|
|
30
|
-
async get(id) {
|
|
31
|
-
return storageOperations.getRecord({
|
|
35
|
+
async get(model, id) {
|
|
36
|
+
return storageOperations.getRecord(model, {
|
|
32
37
|
id
|
|
33
38
|
});
|
|
34
39
|
},
|
|
35
|
-
async list(params) {
|
|
36
|
-
return storageOperations.listRecords(params);
|
|
40
|
+
async list(model, params) {
|
|
41
|
+
return storageOperations.listRecords(model, params);
|
|
37
42
|
},
|
|
38
|
-
async create(data) {
|
|
43
|
+
async create(model, data) {
|
|
39
44
|
await onSearchRecordBeforeCreate.publish({
|
|
45
|
+
model,
|
|
40
46
|
input: data
|
|
41
47
|
});
|
|
42
|
-
const record = await storageOperations.createRecord({
|
|
48
|
+
const record = await storageOperations.createRecord(model, {
|
|
43
49
|
data
|
|
44
50
|
});
|
|
45
51
|
await onSearchRecordAfterCreate.publish({
|
|
52
|
+
model,
|
|
46
53
|
record
|
|
47
54
|
});
|
|
48
55
|
return record;
|
|
49
56
|
},
|
|
50
|
-
async update(id, data) {
|
|
51
|
-
const original = await storageOperations.getRecord({
|
|
57
|
+
async update(model, id, data) {
|
|
58
|
+
const original = await storageOperations.getRecord(model, {
|
|
52
59
|
id
|
|
53
60
|
});
|
|
54
61
|
await onSearchRecordBeforeUpdate.publish({
|
|
62
|
+
model,
|
|
55
63
|
original,
|
|
56
64
|
input: {
|
|
57
65
|
id,
|
|
58
66
|
data
|
|
59
67
|
}
|
|
60
68
|
});
|
|
61
|
-
const record = await storageOperations.updateRecord({
|
|
69
|
+
const record = await storageOperations.updateRecord(model, {
|
|
62
70
|
id,
|
|
63
71
|
data
|
|
64
72
|
});
|
|
65
73
|
await onSearchRecordAfterUpdate.publish({
|
|
74
|
+
model,
|
|
66
75
|
original,
|
|
67
76
|
input: {
|
|
68
77
|
id,
|
|
@@ -72,21 +81,48 @@ const createSearchRecordCrudMethods = ({
|
|
|
72
81
|
});
|
|
73
82
|
return record;
|
|
74
83
|
},
|
|
75
|
-
async
|
|
76
|
-
const
|
|
84
|
+
async move(model, id, folderId) {
|
|
85
|
+
const original = await storageOperations.getRecord(model, {
|
|
86
|
+
id
|
|
87
|
+
});
|
|
88
|
+
await onSearchRecordBeforeMove.publish({
|
|
89
|
+
model,
|
|
90
|
+
original,
|
|
91
|
+
folderId
|
|
92
|
+
});
|
|
93
|
+
const result = await storageOperations.moveRecord(model, {
|
|
94
|
+
id,
|
|
95
|
+
folderId
|
|
96
|
+
});
|
|
97
|
+
await onSearchRecordAfterMove.publish({
|
|
98
|
+
model,
|
|
99
|
+
original,
|
|
100
|
+
folderId
|
|
101
|
+
});
|
|
102
|
+
return result;
|
|
103
|
+
},
|
|
104
|
+
async delete(model, id) {
|
|
105
|
+
const record = await storageOperations.getRecord(model, {
|
|
77
106
|
id
|
|
78
107
|
});
|
|
79
108
|
await onSearchRecordBeforeDelete.publish({
|
|
109
|
+
model,
|
|
80
110
|
record
|
|
81
111
|
});
|
|
82
|
-
await storageOperations.deleteRecord({
|
|
112
|
+
await storageOperations.deleteRecord(model, {
|
|
83
113
|
id
|
|
84
114
|
});
|
|
85
115
|
await onSearchRecordAfterDelete.publish({
|
|
116
|
+
model,
|
|
86
117
|
record
|
|
87
118
|
});
|
|
88
119
|
return true;
|
|
120
|
+
},
|
|
121
|
+
async listTags(model, params) {
|
|
122
|
+
return storageOperations.listTags(model, params);
|
|
89
123
|
}
|
|
90
124
|
};
|
|
91
125
|
};
|
|
92
|
-
exports.createSearchRecordCrudMethods = createSearchRecordCrudMethods;
|
|
126
|
+
exports.createSearchRecordCrudMethods = createSearchRecordCrudMethods;
|
|
127
|
+
|
|
128
|
+
//# sourceMappingURL=record.crud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSearchRecordCrudMethods","storageOperations","onSearchRecordBeforeCreate","createTopic","onSearchRecordAfterCreate","onSearchRecordBeforeUpdate","onSearchRecordAfterUpdate","onSearchRecordBeforeDelete","onSearchRecordAfterDelete","get","id","getRecord","list","params","listRecords","create","data","publish","input","record","createRecord","update","original","updateRecord","delete","deleteRecord"],"sources":["record.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\
|
|
1
|
+
{"version":3,"names":["_pubsub","require","createSearchRecordCrudMethods","storageOperations","onSearchRecordBeforeCreate","createTopic","onSearchRecordAfterCreate","onSearchRecordBeforeUpdate","onSearchRecordAfterUpdate","onSearchRecordBeforeMove","onSearchRecordAfterMove","onSearchRecordBeforeDelete","onSearchRecordAfterDelete","get","model","id","getRecord","list","params","listRecords","create","data","publish","input","record","createRecord","update","original","updateRecord","move","folderId","result","moveRecord","delete","deleteRecord","listTags","exports"],"sources":["record.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport {\n CreateAcoParams,\n OnSearchRecordAfterMoveTopicParams,\n OnSearchRecordBeforeMoveTopicParams\n} from \"~/types\";\nimport {\n AcoSearchRecordCrud,\n OnSearchRecordAfterCreateTopicParams,\n OnSearchRecordAfterDeleteTopicParams,\n OnSearchRecordAfterUpdateTopicParams,\n OnSearchRecordBeforeCreateTopicParams,\n OnSearchRecordBeforeDeleteTopicParams,\n OnSearchRecordBeforeUpdateTopicParams\n} from \"./record.types\";\n\nexport const createSearchRecordCrudMethods = ({\n storageOperations\n}: CreateAcoParams): AcoSearchRecordCrud => {\n // create\n const onSearchRecordBeforeCreate = createTopic<OnSearchRecordBeforeCreateTopicParams>(\n \"aco.onSearchRecordBeforeCreate\"\n );\n const onSearchRecordAfterCreate = createTopic<OnSearchRecordAfterCreateTopicParams>(\n \"aco.onSearchRecordAfterCreate\"\n );\n // update\n const onSearchRecordBeforeUpdate = createTopic<OnSearchRecordBeforeUpdateTopicParams>(\n \"aco.onSearchRecordBeforeUpdate\"\n );\n const onSearchRecordAfterUpdate = createTopic<OnSearchRecordAfterUpdateTopicParams>(\n \"aco.onSearchRecordAfterUpdate\"\n );\n // move\n const onSearchRecordBeforeMove = createTopic<OnSearchRecordBeforeMoveTopicParams>(\n \"aco.onSearchRecordBeforeMove\"\n );\n const onSearchRecordAfterMove = createTopic<OnSearchRecordAfterMoveTopicParams>(\n \"aco.onSearchRecordAfterMove\"\n );\n // delete\n const onSearchRecordBeforeDelete = createTopic<OnSearchRecordBeforeDeleteTopicParams>(\n \"aco.onSearchRecordBeforeDelete\"\n );\n const onSearchRecordAfterDelete = createTopic<OnSearchRecordAfterDeleteTopicParams>(\n \"aco.onSearchRecordAfterDelete\"\n );\n\n return {\n /**\n * Lifecycle events\n */\n onSearchRecordBeforeCreate,\n onSearchRecordAfterCreate,\n onSearchRecordBeforeUpdate,\n onSearchRecordAfterUpdate,\n onSearchRecordBeforeMove,\n onSearchRecordAfterMove,\n onSearchRecordBeforeDelete,\n onSearchRecordAfterDelete,\n async get(model, id) {\n return storageOperations.getRecord(model, { id });\n },\n async list(model, params) {\n return storageOperations.listRecords(model, params);\n },\n async create(model, data) {\n await onSearchRecordBeforeCreate.publish({ model, input: data });\n const record = await storageOperations.createRecord(model, { data });\n await onSearchRecordAfterCreate.publish({ model, record });\n return record;\n },\n async update(model, id, data) {\n const original = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeUpdate.publish({ model, original, input: { id, data } });\n const record = await storageOperations.updateRecord(model, { id, data });\n await onSearchRecordAfterUpdate.publish({\n model,\n original,\n input: { id, data },\n record\n });\n return record;\n },\n async move(model, id, folderId) {\n const original = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeMove.publish({ model, original, folderId });\n const result = await storageOperations.moveRecord(model, {\n id,\n folderId\n });\n await onSearchRecordAfterMove.publish({\n model,\n original,\n folderId\n });\n return result;\n },\n async delete(model, id: string) {\n const record = await storageOperations.getRecord(model, { id });\n await onSearchRecordBeforeDelete.publish({ model, record });\n await storageOperations.deleteRecord(model, { id });\n await onSearchRecordAfterDelete.publish({ model, record });\n return true;\n },\n async listTags(model, params) {\n return storageOperations.listTags(model, params);\n }\n };\n};\n"],"mappings":"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"}
|
package/record/record.gql.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { AcoContext, IAcoApp } from "../types";
|
|
2
|
+
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
3
|
+
interface Params {
|
|
4
|
+
context: AcoContext;
|
|
5
|
+
app: IAcoApp;
|
|
6
|
+
}
|
|
7
|
+
export declare const createSchema: (params: Params) => Promise<GraphQLSchemaPlugin<import("@webiny/api/types").Context>>;
|
|
8
|
+
export {};
|
package/record/record.gql.js
CHANGED
|
@@ -3,115 +3,41 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
location: SearchLocationInput
|
|
45
|
-
data: JSON
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
input SearchRecordListWhereInput {
|
|
49
|
-
type: String!
|
|
50
|
-
location: SearchLocationInput
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
type SearchRecordResponse {
|
|
54
|
-
data: SearchRecord
|
|
55
|
-
error: AcoError
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
type SearchRecordListResponse {
|
|
59
|
-
data: [SearchRecord]
|
|
60
|
-
error: AcoError
|
|
61
|
-
meta: AcoMeta
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
extend type SearchQuery {
|
|
65
|
-
getRecord(id: ID!): SearchRecordResponse
|
|
66
|
-
listRecords(
|
|
67
|
-
where: SearchRecordListWhereInput
|
|
68
|
-
search: String
|
|
69
|
-
limit: Int
|
|
70
|
-
after: String
|
|
71
|
-
sort: AcoSort
|
|
72
|
-
): SearchRecordListResponse
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
extend type SearchMutation {
|
|
76
|
-
createRecord(data: SearchRecordCreateInput!): SearchRecordResponse
|
|
77
|
-
updateRecord(id: ID!, data: SearchRecordUpdateInput!): SearchRecordResponse
|
|
78
|
-
deleteRecord(id: ID!): AcoBooleanResponse
|
|
79
|
-
}
|
|
80
|
-
`,
|
|
81
|
-
resolvers: {
|
|
82
|
-
SearchQuery: {
|
|
83
|
-
getRecord: async (_, {
|
|
84
|
-
id
|
|
85
|
-
}, context) => {
|
|
86
|
-
return (0, _resolve.resolve)(() => context.aco.search.get(id));
|
|
87
|
-
},
|
|
88
|
-
listRecords: async (_, args, context) => {
|
|
89
|
-
try {
|
|
90
|
-
const [entries, meta] = await context.aco.search.list(args);
|
|
91
|
-
return new _responses.ListResponse(entries, meta);
|
|
92
|
-
} catch (e) {
|
|
93
|
-
return new _responses.ErrorResponse(e);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
SearchMutation: {
|
|
98
|
-
createRecord: async (_, {
|
|
99
|
-
data
|
|
100
|
-
}, context) => {
|
|
101
|
-
return (0, _resolve.resolve)(() => context.aco.search.create(data));
|
|
102
|
-
},
|
|
103
|
-
updateRecord: async (_, {
|
|
104
|
-
id,
|
|
105
|
-
data
|
|
106
|
-
}, context) => {
|
|
107
|
-
return (0, _resolve.resolve)(() => context.aco.search.update(id, data));
|
|
108
|
-
},
|
|
109
|
-
deleteRecord: async (_, {
|
|
110
|
-
id
|
|
111
|
-
}, context) => {
|
|
112
|
-
return (0, _resolve.resolve)(() => context.aco.search.delete(id));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
exports.searchRecordSchema = searchRecordSchema;
|
|
6
|
+
exports.createSchema = void 0;
|
|
7
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
8
|
+
var _createAppSchema = require("./graphql/createAppSchema");
|
|
9
|
+
var _createAppResolvers = require("./graphql/createAppResolvers");
|
|
10
|
+
const createSchema = async params => {
|
|
11
|
+
const {
|
|
12
|
+
context,
|
|
13
|
+
app
|
|
14
|
+
} = params;
|
|
15
|
+
const plugins = context.plugins.byType("cms-model-field-to-graphql").reduce((fields, plugin) => {
|
|
16
|
+
fields[plugin.fieldType] = plugin;
|
|
17
|
+
return fields;
|
|
18
|
+
}, {});
|
|
19
|
+
const models = await context.security.withoutAuthorization(async () => {
|
|
20
|
+
return (await context.cms.listModels()).filter(model => {
|
|
21
|
+
return !model.isPrivate;
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
return context.benchmark.measure(`aco.schema.generate.${app.name}`, async () => {
|
|
25
|
+
const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
26
|
+
typeDefs: (0, _createAppSchema.createAppSchema)({
|
|
27
|
+
models,
|
|
28
|
+
app,
|
|
29
|
+
plugins
|
|
30
|
+
}),
|
|
31
|
+
resolvers: (0, _createAppResolvers.createAppResolvers)({
|
|
32
|
+
models,
|
|
33
|
+
app,
|
|
34
|
+
plugins
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
plugin.name = `aco.graphql.appSchema.searchRecord.${app.name}`;
|
|
38
|
+
return plugin;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
exports.createSchema = createSchema;
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=record.gql.js.map
|
package/record/record.gql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","_createAppSchema","_createAppResolvers","createSchema","params","context","app","plugins","byType","reduce","fields","plugin","fieldType","models","security","withoutAuthorization","cms","listModels","filter","model","isPrivate","benchmark","measure","name","GraphQLSchemaPlugin","typeDefs","createAppSchema","resolvers","createAppResolvers","exports"],"sources":["record.gql.ts"],"sourcesContent":["import { AcoContext, IAcoApp } from \"~/types\";\nimport { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"@webiny/api-headless-cms/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { createAppSchema } from \"./graphql/createAppSchema\";\nimport { createAppResolvers } from \"./graphql/createAppResolvers\";\n\ninterface Params {\n context: AcoContext;\n app: IAcoApp;\n}\n\nexport const createSchema = async (params: Params) => {\n const { context, app } = params;\n const plugins = context.plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((fields, plugin) => {\n fields[plugin.fieldType] = plugin;\n return fields;\n }, {});\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n return !model.isPrivate;\n });\n });\n\n return context.benchmark.measure(`aco.schema.generate.${app.name}`, async () => {\n const plugin = new GraphQLSchemaPlugin({\n typeDefs: createAppSchema({\n models,\n app,\n plugins\n }),\n resolvers: createAppResolvers({\n models,\n app,\n plugins\n })\n });\n plugin.name = `aco.graphql.appSchema.searchRecord.${app.name}`;\n return plugin;\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAOO,MAAMG,YAAY,GAAG,MAAOC,MAAc,IAAK;EAClD,MAAM;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGF,MAAM;EAC/B,MAAMG,OAAO,GAAGF,OAAO,CAACE,OAAO,CAC1BC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,MAAM,EAAEC,MAAM,KAAK;IAC7CD,MAAM,CAACC,MAAM,CAACC,SAAS,CAAC,GAAGD,MAAM;IACjC,OAAOD,MAAM;EACjB,CAAC,EAAE,CAAC,CAAC,CAAC;EACV,MAAMG,MAAM,GAAG,MAAMR,OAAO,CAACS,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IACnE,OAAO,CAAC,MAAMV,OAAO,CAACW,GAAG,CAACC,UAAU,CAAC,CAAC,EAAEC,MAAM,CAACC,KAAK,IAAI;MACpD,OAAO,CAACA,KAAK,CAACC,SAAS;IAC3B,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOf,OAAO,CAACgB,SAAS,CAACC,OAAO,CAAE,uBAAsBhB,GAAG,CAACiB,IAAK,EAAC,EAAE,YAAY;IAC5E,MAAMZ,MAAM,GAAG,IAAIa,mCAAmB,CAAC;MACnCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;QACtBb,MAAM;QACNP,GAAG;QACHC;MACJ,CAAC,CAAC;MACFoB,SAAS,EAAE,IAAAC,sCAAkB,EAAC;QAC1Bf,MAAM;QACNP,GAAG;QACHC;MACJ,CAAC;IACL,CAAC,CAAC;IACFI,MAAM,CAACY,IAAI,GAAI,sCAAqCjB,GAAG,CAACiB,IAAK,EAAC;IAC9D,OAAOZ,MAAM;EACjB,CAAC,CAAC;AACN,CAAC;AAACkB,OAAA,CAAA1B,YAAA,GAAAA,YAAA"}
|
package/record/record.model.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare type SearchRecordModelDefinition = Omit<CmsPrivateModelFull, "noValidate" | "group">;
|
|
1
|
+
import { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
3
2
|
export declare const SEARCH_RECORD_MODEL_ID = "acoSearchRecord";
|
|
4
|
-
|
|
3
|
+
interface CreateSearchModelDefinitionParams {
|
|
4
|
+
fields?: CmsModelField[];
|
|
5
|
+
}
|
|
6
|
+
export declare const DEFAULT_FIELDS: string[];
|
|
7
|
+
export declare const createSearchModelDefinition: (params?: CreateSearchModelDefinitionParams) => import("@webiny/api-headless-cms").CmsPrivateModelFull;
|
|
8
|
+
export {};
|
package/record/record.model.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createSearchModelDefinition = exports.SEARCH_RECORD_MODEL_ID = void 0;
|
|
6
|
+
exports.createSearchModelDefinition = exports.SEARCH_RECORD_MODEL_ID = exports.DEFAULT_FIELDS = void 0;
|
|
7
7
|
var _createModelField = require("../utils/createModelField");
|
|
8
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
8
9
|
const typeField = () => (0, _createModelField.createModelField)({
|
|
9
10
|
label: "Type",
|
|
10
11
|
type: "text",
|
|
@@ -15,7 +16,11 @@ const typeField = () => (0, _createModelField.createModelField)({
|
|
|
15
16
|
});
|
|
16
17
|
const titleField = () => (0, _createModelField.createModelField)({
|
|
17
18
|
label: "Title",
|
|
18
|
-
type: "text"
|
|
19
|
+
type: "text",
|
|
20
|
+
validation: [{
|
|
21
|
+
name: "required",
|
|
22
|
+
message: "Value is required."
|
|
23
|
+
}]
|
|
19
24
|
});
|
|
20
25
|
const contentField = () => (0, _createModelField.createModelField)({
|
|
21
26
|
label: "Content",
|
|
@@ -25,6 +30,10 @@ const locationField = fields => (0, _createModelField.createModelField)({
|
|
|
25
30
|
label: "Location",
|
|
26
31
|
type: "object",
|
|
27
32
|
multipleValues: false,
|
|
33
|
+
validation: [{
|
|
34
|
+
name: "required",
|
|
35
|
+
message: "The location field must be populated."
|
|
36
|
+
}],
|
|
28
37
|
settings: {
|
|
29
38
|
fields
|
|
30
39
|
}
|
|
@@ -37,21 +46,41 @@ const locationFolderIdField = () => (0, _createModelField.createModelField)({
|
|
|
37
46
|
message: "Value is required."
|
|
38
47
|
}]
|
|
39
48
|
});
|
|
40
|
-
const dataField =
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
const dataField = fields => {
|
|
50
|
+
return (0, _createModelField.createModelField)({
|
|
51
|
+
label: "Data",
|
|
52
|
+
type: "object",
|
|
53
|
+
multipleValues: false,
|
|
54
|
+
validation: [{
|
|
55
|
+
name: "required",
|
|
56
|
+
message: "The data field must be populated."
|
|
57
|
+
}],
|
|
58
|
+
settings: {
|
|
59
|
+
fields
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const tagsField = () => (0, _createModelField.createModelField)({
|
|
64
|
+
label: "Tags",
|
|
65
|
+
type: "text",
|
|
66
|
+
multipleValues: true,
|
|
67
|
+
validation: [{
|
|
68
|
+
name: "required",
|
|
69
|
+
message: "The tags field must be populated."
|
|
70
|
+
}]
|
|
43
71
|
});
|
|
44
72
|
const SEARCH_RECORD_MODEL_ID = "acoSearchRecord";
|
|
45
73
|
exports.SEARCH_RECORD_MODEL_ID = SEARCH_RECORD_MODEL_ID;
|
|
46
|
-
const
|
|
47
|
-
|
|
74
|
+
const DEFAULT_FIELDS = ["type", "title", "content", "location", "data", "tags"];
|
|
75
|
+
exports.DEFAULT_FIELDS = DEFAULT_FIELDS;
|
|
76
|
+
const createSearchModelDefinition = params => {
|
|
77
|
+
return (0, _apiHeadlessCms.createPrivateModelDefinition)({
|
|
48
78
|
name: "ACO - Search Record",
|
|
49
79
|
modelId: SEARCH_RECORD_MODEL_ID,
|
|
50
80
|
titleFieldId: "title",
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
description: "ACO - Search record model",
|
|
54
|
-
isPrivate: true
|
|
55
|
-
};
|
|
81
|
+
fields: [typeField(), titleField(), contentField(), locationField([locationFolderIdField()]), dataField(params?.fields), tagsField()]
|
|
82
|
+
});
|
|
56
83
|
};
|
|
57
|
-
exports.createSearchModelDefinition = createSearchModelDefinition;
|
|
84
|
+
exports.createSearchModelDefinition = createSearchModelDefinition;
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=record.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["typeField","createModelField","label","type","validation","name","message","titleField","contentField","locationField","fields","multipleValues","settings","locationFolderIdField","dataField","SEARCH_RECORD_MODEL_ID","
|
|
1
|
+
{"version":3,"names":["_createModelField","require","_apiHeadlessCms","typeField","createModelField","label","type","validation","name","message","titleField","contentField","locationField","fields","multipleValues","settings","locationFolderIdField","dataField","tagsField","SEARCH_RECORD_MODEL_ID","exports","DEFAULT_FIELDS","createSearchModelDefinition","params","createPrivateModelDefinition","modelId","titleFieldId"],"sources":["record.model.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { createModelField } from \"~/utils/createModelField\";\nimport { createPrivateModelDefinition } from \"@webiny/api-headless-cms\";\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst contentField = () =>\n createModelField({\n label: \"Content\",\n type: \"text\"\n });\n\nconst locationField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Location\",\n type: \"object\",\n multipleValues: false,\n validation: [\n {\n name: \"required\",\n message: \"The location field must be populated.\"\n }\n ],\n settings: {\n fields\n }\n });\n\nconst locationFolderIdField = () =>\n createModelField({\n label: \"Folder Id\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst dataField = (fields?: CmsModelField[]) => {\n return createModelField({\n label: \"Data\",\n type: \"object\",\n multipleValues: false,\n validation: [\n {\n name: \"required\",\n message: \"The data field must be populated.\"\n }\n ],\n settings: {\n fields\n }\n });\n};\n\nconst tagsField = () =>\n createModelField({\n label: \"Tags\",\n type: \"text\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"The tags field must be populated.\"\n }\n ]\n });\n\nexport const SEARCH_RECORD_MODEL_ID = \"acoSearchRecord\";\n\ninterface CreateSearchModelDefinitionParams {\n fields?: CmsModelField[];\n}\n\nexport const DEFAULT_FIELDS = [\"type\", \"title\", \"content\", \"location\", \"data\", \"tags\"];\n\nexport const createSearchModelDefinition = (params?: CreateSearchModelDefinitionParams) => {\n return createPrivateModelDefinition({\n name: \"ACO - Search Record\",\n modelId: SEARCH_RECORD_MODEL_ID,\n titleFieldId: \"title\",\n fields: [\n typeField(),\n titleField(),\n contentField(),\n locationField([locationFolderIdField()]),\n dataField(params?.fields),\n tagsField()\n ]\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,MAAME,SAAS,GAAGA,CAAA,KACd,IAAAC,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMC,UAAU,GAAGA,CAAA,KACf,IAAAN,kCAAgB,EAAC;EACbC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAME,YAAY,GAAGA,CAAA,KACjB,IAAAP,kCAAgB,EAAC;EACbC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAMM,aAAa,GAAIC,MAAuB,IAC1C,IAAAT,kCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE,QAAQ;EACdQ,cAAc,EAAE,KAAK;EACrBP,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC,CACJ;EACDM,QAAQ,EAAE;IACNF;EACJ;AACJ,CAAC,CAAC;AAEN,MAAMG,qBAAqB,GAAGA,CAAA,KAC1B,IAAAZ,kCAAgB,EAAC;EACbC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMQ,SAAS,GAAIJ,MAAwB,IAAK;EAC5C,OAAO,IAAAT,kCAAgB,EAAC;IACpBC,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE,QAAQ;IACdQ,cAAc,EAAE,KAAK;IACrBP,UAAU,EAAE,CACR;MACIC,IAAI,EAAE,UAAU;MAChBC,OAAO,EAAE;IACb,CAAC,CACJ;IACDM,QAAQ,EAAE;MACNF;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAED,MAAMK,SAAS,GAAGA,CAAA,KACd,IAAAd,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZQ,cAAc,EAAE,IAAI;EACpBP,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEC,MAAMU,sBAAsB,GAAG,iBAAiB;AAACC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA;AAMjD,MAAME,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;AAACD,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEhF,MAAMC,2BAA2B,GAAIC,MAA0C,IAAK;EACvF,OAAO,IAAAC,4CAA4B,EAAC;IAChChB,IAAI,EAAE,qBAAqB;IAC3BiB,OAAO,EAAEN,sBAAsB;IAC/BO,YAAY,EAAE,OAAO;IACrBb,MAAM,EAAE,CACJV,SAAS,CAAC,CAAC,EACXO,UAAU,CAAC,CAAC,EACZC,YAAY,CAAC,CAAC,EACdC,aAAa,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC,CAAC,EACxCC,SAAS,CAACM,MAAM,EAAEV,MAAM,CAAC,EACzBK,SAAS,CAAC,CAAC;EAEnB,CAAC,CAAC;AACN,CAAC;AAACE,OAAA,CAAAE,2BAAA,GAAAA,2BAAA"}
|