@webiny/api-aco 0.0.0-unstable.d16f688daf → 0.0.0-unstable.d65ec29d44
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 +15 -0
- package/context/folders.js +22 -22
- package/context/folders.js.map +1 -1
- package/context/links.js +18 -14
- package/context/links.js.map +1 -1
- package/createAcoContext.d.ts +3 -0
- package/createAcoContext.js +63 -0
- package/createAcoContext.js.map +1 -0
- package/createAcoCrud.d.ts +2 -0
- package/createAcoCrud.js +17 -0
- package/createAcoCrud.js.map +1 -0
- package/createAcoFields.d.ts +2 -0
- package/createAcoFields.js +40 -0
- package/createAcoFields.js.map +1 -0
- package/createAcoGraphQL.d.ts +3 -0
- package/createAcoGraphQL.js +91 -0
- package/createAcoGraphQL.js.map +1 -0
- package/createAcoHooks.d.ts +2 -0
- package/createAcoHooks.js +11 -0
- package/createAcoHooks.js.map +1 -0
- package/createAcoModels.d.ts +2 -0
- package/createAcoModels.js +67 -0
- package/createAcoModels.js.map +1 -0
- package/createAcoStorageOperations.d.ts +10 -0
- package/createAcoStorageOperations.js +19 -0
- package/createAcoStorageOperations.js.map +1 -0
- package/folder/folder.crud.d.ts +3 -0
- package/folder/folder.crud.js +92 -0
- package/folder/folder.crud.js.map +1 -0
- package/folder/folder.gql.d.ts +3 -0
- package/folder/folder.gql.js +103 -0
- package/folder/folder.gql.js.map +1 -0
- package/folder/folder.model.d.ts +4 -0
- package/folder/folder.model.js +79 -0
- package/folder/folder.model.js.map +1 -0
- package/folder/folder.so.d.ts +8 -0
- package/folder/folder.so.js +156 -0
- package/folder/folder.so.js.map +1 -0
- package/folder/folder.types.d.ts +83 -0
- package/folder/folder.types.js +5 -0
- package/folder/folder.types.js.map +1 -0
- package/folder/onFolderBeforeDelete.hook.d.ts +2 -0
- package/folder/onFolderBeforeDelete.hook.js +53 -0
- package/folder/onFolderBeforeDelete.hook.js.map +1 -0
- package/index.d.ts +1 -9
- package/index.js +7 -64
- package/index.js.map +1 -1
- package/package.json +22 -20
- package/record/record.crud.d.ts +3 -0
- package/record/record.crud.js +92 -0
- package/record/record.crud.js.map +1 -0
- package/record/record.gql.d.ts +3 -0
- package/record/record.gql.js +118 -0
- package/record/record.gql.js.map +1 -0
- package/record/record.model.d.ts +4 -0
- package/record/record.model.js +75 -0
- package/record/record.model.js.map +1 -0
- package/record/record.so.d.ts +8 -0
- package/record/record.so.js +100 -0
- package/record/record.so.js.map +1 -0
- package/record/record.types.d.ts +92 -0
- package/record/record.types.js +5 -0
- package/record/record.types.js.map +1 -0
- package/types.d.ts +20 -202
- package/types.js.map +1 -1
- package/utils/createModelField.d.ts +6 -0
- package/utils/createModelField.js +39 -0
- package/utils/createModelField.js.map +1 -0
- package/utils/fieldResolver.d.ts +16 -0
- package/utils/fieldResolver.js +44 -0
- package/utils/fieldResolver.js.map +1 -0
- package/utils/getFieldValues.d.ts +2 -0
- package/utils/getFieldValues.js +12 -0
- package/utils/getFieldValues.js.map +1 -0
- package/utils/isInstallationPending.d.ts +4 -0
- package/utils/isInstallationPending.js +21 -0
- package/utils/isInstallationPending.js.map +1 -0
- package/utils/modelFactory.d.ts +15 -0
- package/utils/modelFactory.js +23 -0
- package/utils/modelFactory.js.map +1 -0
- package/utils/resolve.d.ts +2 -0
- package/utils/resolve.js +15 -0
- package/utils/resolve.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["originalIdField","createModelField","label","type","parent","validation","name","message","typeField","titleField","contentField","locationField","fields","multipleValues","settings","locationFolderIdField","dataField","SEARCH_RECORD_MODEL_ID","createSearchModelDefinition","modelId","titleFieldId","layout","description","isPrivate"],"sources":["record.model.ts"],"sourcesContent":["import { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\n\nimport { createModelField } from \"~/utils/createModelField\";\n\nexport type SearchRecordModelDefinition = Pick<\n CmsModel,\n \"name\" | \"modelId\" | \"layout\" | \"titleFieldId\" | \"description\" | \"fields\" | \"isPrivate\"\n>;\n\nconst originalIdField = () =>\n createModelField({\n label: \"Original Id\",\n type: \"text\",\n parent: \"searchRecord\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n },\n {\n name: \"unique\",\n message: \"Value must be unique.\"\n }\n ]\n });\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"searchRecord\",\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 parent: \"searchRecord\"\n });\n\nconst contentField = () =>\n createModelField({\n label: \"Content\",\n type: \"text\",\n parent: \"searchRecord\"\n });\n\nconst locationField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Location\",\n type: \"object\",\n parent: \"searchRecord\",\n multipleValues: false,\n settings: { fields }\n });\n\nconst locationFolderIdField = () =>\n createModelField({\n label: \"Folder Id\",\n type: \"text\",\n parent: \"searchRecord Location\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst dataField = () =>\n createModelField({\n label: \"Data\",\n type: \"wby-aco-json\",\n parent: \"searchRecord\"\n });\n\nexport const SEARCH_RECORD_MODEL_ID = \"acoSearchRecordModelDefinition\";\n\nexport const createSearchModelDefinition = (): SearchRecordModelDefinition => {\n return {\n name: \"ACO - Search Record\",\n modelId: SEARCH_RECORD_MODEL_ID,\n titleFieldId: \"originalId\",\n layout: [\n [\"searchRecord_originalId\"],\n [\"searchRecord_type\"],\n [\"searchRecord_title\"],\n [\"searchRecord_content\"],\n [\"searchRecord_location\"],\n [\"searchRecord_data\"]\n ],\n fields: [\n originalIdField(),\n typeField(),\n titleField(),\n contentField(),\n locationField([locationFolderIdField()]),\n dataField()\n ],\n description: \"ACO - Search record model\",\n isPrivate: true\n };\n};\n"],"mappings":";;;;;;AAEA;AAOA,MAAMA,eAAe,GAAG,MACpB,IAAAC,kCAAgB,EAAC;EACbC,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,cAAc;EACtBC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC,EACD;IACID,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMC,SAAS,GAAG,MACd,IAAAP,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,cAAc;EACtBC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAME,UAAU,GAAG,MACf,IAAAR,kCAAgB,EAAC;EACbC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC,CAAC;AAEN,MAAMM,YAAY,GAAG,MACjB,IAAAT,kCAAgB,EAAC;EACbC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC,CAAC;AAEN,MAAMO,aAAa,GAAIC,MAAuB,IAC1C,IAAAX,kCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,cAAc;EACtBS,cAAc,EAAE,KAAK;EACrBC,QAAQ,EAAE;IAAEF;EAAO;AACvB,CAAC,CAAC;AAEN,MAAMG,qBAAqB,GAAG,MAC1B,IAAAd,kCAAgB,EAAC;EACbC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,uBAAuB;EAC/BC,UAAU,EAAE,CACR;IACIC,IAAI,EAAE,UAAU;IAChBC,OAAO,EAAE;EACb,CAAC;AAET,CAAC,CAAC;AAEN,MAAMS,SAAS,GAAG,MACd,IAAAf,kCAAgB,EAAC;EACbC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,cAAc;EACpBC,MAAM,EAAE;AACZ,CAAC,CAAC;AAEC,MAAMa,sBAAsB,GAAG,gCAAgC;AAAC;AAEhE,MAAMC,2BAA2B,GAAG,MAAmC;EAC1E,OAAO;IACHZ,IAAI,EAAE,qBAAqB;IAC3Ba,OAAO,EAAEF,sBAAsB;IAC/BG,YAAY,EAAE,YAAY;IAC1BC,MAAM,EAAE,CACJ,CAAC,yBAAyB,CAAC,EAC3B,CAAC,mBAAmB,CAAC,EACrB,CAAC,oBAAoB,CAAC,EACtB,CAAC,sBAAsB,CAAC,EACxB,CAAC,uBAAuB,CAAC,EACzB,CAAC,mBAAmB,CAAC,CACxB;IACDT,MAAM,EAAE,CACJZ,eAAe,EAAE,EACjBQ,SAAS,EAAE,EACXC,UAAU,EAAE,EACZC,YAAY,EAAE,EACdC,aAAa,CAAC,CAACI,qBAAqB,EAAE,CAAC,CAAC,EACxCC,SAAS,EAAE,CACd;IACDM,WAAW,EAAE,2BAA2B;IACxCC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import { CreateAcoStorageOperationsParams } from "../createAcoStorageOperations";
|
|
3
|
+
import { AcoSearchRecordStorageOperations as BaseAcoSearchRecordStorageOperations } from "./record.types";
|
|
4
|
+
interface AcoSearchRecordStorageOperations extends BaseAcoSearchRecordStorageOperations {
|
|
5
|
+
getRecordModel(): Promise<CmsModel>;
|
|
6
|
+
}
|
|
7
|
+
export declare const createSearchRecordOperations: (params: CreateAcoStorageOperationsParams) => AcoSearchRecordStorageOperations;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createSearchRecordOperations = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
10
|
+
var _record = require("./record.model");
|
|
11
|
+
var _createAcoStorageOperations = require("../createAcoStorageOperations");
|
|
12
|
+
var _getFieldValues = require("../utils/getFieldValues");
|
|
13
|
+
const createSearchRecordOperations = params => {
|
|
14
|
+
const {
|
|
15
|
+
cms,
|
|
16
|
+
security
|
|
17
|
+
} = params;
|
|
18
|
+
const getRecordModel = async () => {
|
|
19
|
+
security.disableAuthorization();
|
|
20
|
+
const model = await cms.getModel(_record.SEARCH_RECORD_MODEL_ID);
|
|
21
|
+
security.enableAuthorization();
|
|
22
|
+
if (!model) {
|
|
23
|
+
throw new _error.default(`Could not find "${_record.SEARCH_RECORD_MODEL_ID}" model.`, "MODEL_NOT_FOUND_ERROR");
|
|
24
|
+
}
|
|
25
|
+
return model;
|
|
26
|
+
};
|
|
27
|
+
const getRecord = async ({
|
|
28
|
+
id
|
|
29
|
+
}) => {
|
|
30
|
+
const model = await getRecordModel();
|
|
31
|
+
security.disableAuthorization();
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The record "id" is generated on creation.
|
|
35
|
+
* Still, we need to get/update/delete records by the original entry id.
|
|
36
|
+
*/
|
|
37
|
+
const entry = await cms.getEntry(model, {
|
|
38
|
+
where: {
|
|
39
|
+
originalId: id,
|
|
40
|
+
latest: true
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (!entry) {
|
|
44
|
+
throw new _error.default("Could not load record.", "GET_ENTRY_ERROR", {
|
|
45
|
+
id
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
security.enableAuthorization();
|
|
49
|
+
return (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields);
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
getRecordModel,
|
|
53
|
+
getRecord,
|
|
54
|
+
async listRecords(params) {
|
|
55
|
+
const model = await getRecordModel();
|
|
56
|
+
security.disableAuthorization();
|
|
57
|
+
const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
58
|
+
where: (0, _objectSpread2.default)({}, params.where || {})
|
|
59
|
+
}));
|
|
60
|
+
security.enableAuthorization();
|
|
61
|
+
return [entries.map(entry => (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields)), meta];
|
|
62
|
+
},
|
|
63
|
+
async createRecord({
|
|
64
|
+
data
|
|
65
|
+
}) {
|
|
66
|
+
const model = await getRecordModel();
|
|
67
|
+
security.disableAuthorization();
|
|
68
|
+
const entry = await cms.createEntry(model, data);
|
|
69
|
+
security.enableAuthorization();
|
|
70
|
+
return (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields);
|
|
71
|
+
},
|
|
72
|
+
async updateRecord({
|
|
73
|
+
id,
|
|
74
|
+
data
|
|
75
|
+
}) {
|
|
76
|
+
const model = await getRecordModel();
|
|
77
|
+
security.disableAuthorization();
|
|
78
|
+
const original = await getRecord({
|
|
79
|
+
id
|
|
80
|
+
});
|
|
81
|
+
const input = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
|
82
|
+
const entry = await cms.updateEntry(model, original.id, input);
|
|
83
|
+
security.enableAuthorization();
|
|
84
|
+
return (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields);
|
|
85
|
+
},
|
|
86
|
+
async deleteRecord({
|
|
87
|
+
id
|
|
88
|
+
}) {
|
|
89
|
+
const model = await getRecordModel();
|
|
90
|
+
security.disableAuthorization();
|
|
91
|
+
const entry = await getRecord({
|
|
92
|
+
id
|
|
93
|
+
});
|
|
94
|
+
await cms.deleteEntry(model, entry.id);
|
|
95
|
+
security.enableAuthorization();
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
exports.createSearchRecordOperations = createSearchRecordOperations;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSearchRecordOperations","params","cms","security","getRecordModel","disableAuthorization","model","getModel","SEARCH_RECORD_MODEL_ID","enableAuthorization","WebinyError","getRecord","id","entry","getEntry","where","originalId","latest","getFieldValues","baseFields","listRecords","entries","meta","listLatestEntries","map","createRecord","data","createEntry","updateRecord","original","input","updateEntry","deleteRecord","deleteEntry"],"sources":["record.so.ts"],"sourcesContent":["import { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport WebinyError from \"@webiny/error\";\n\nimport { SEARCH_RECORD_MODEL_ID } from \"./record.model\";\nimport { baseFields, CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { getFieldValues } from \"~/utils/getFieldValues\";\n\nimport { AcoSearchRecordStorageOperations as BaseAcoSearchRecordStorageOperations } from \"./record.types\";\n\ninterface AcoSearchRecordStorageOperations extends BaseAcoSearchRecordStorageOperations {\n getRecordModel(): Promise<CmsModel>;\n}\n\nexport const createSearchRecordOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoSearchRecordStorageOperations => {\n const { cms, security } = params;\n const getRecordModel = async () => {\n security.disableAuthorization();\n const model = await cms.getModel(SEARCH_RECORD_MODEL_ID);\n security.enableAuthorization();\n if (!model) {\n throw new WebinyError(\n `Could not find \"${SEARCH_RECORD_MODEL_ID}\" model.`,\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n };\n\n const getRecord: AcoSearchRecordStorageOperations[\"getRecord\"] = async ({ id }) => {\n const model = await getRecordModel();\n security.disableAuthorization();\n\n /**\n * The record \"id\" is generated on creation.\n * Still, we need to get/update/delete records by the original entry id.\n */\n const entry = await cms.getEntry(model, { where: { originalId: id, latest: true } });\n\n if (!entry) {\n throw new WebinyError(\"Could not load record.\", \"GET_ENTRY_ERROR\", {\n id\n });\n }\n\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n\n return {\n getRecordModel,\n getRecord,\n async listRecords(params) {\n const model = await getRecordModel();\n security.disableAuthorization();\n\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...(params.where || {})\n }\n });\n\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createRecord({ data }) {\n const model = await getRecordModel();\n security.disableAuthorization();\n\n const entry = await cms.createEntry(model, data);\n\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async updateRecord({ id, data }) {\n const model = await getRecordModel();\n security.disableAuthorization();\n\n const original = await getRecord({ id });\n\n const input = {\n ...original,\n ...data\n };\n\n const entry = await cms.updateEntry(model, original.id, input);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteRecord({ id }) {\n const model = await getRecordModel();\n security.disableAuthorization();\n\n const entry = await getRecord({ id });\n\n await cms.deleteEntry(model, entry.id);\n\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { AcoBaseFields, ListMeta } from "../types";
|
|
2
|
+
import { Topic } from "@webiny/pubsub/types";
|
|
3
|
+
export declare type GenericSearchData = {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
};
|
|
6
|
+
export interface Location {
|
|
7
|
+
folderId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SearchRecord<TData extends GenericSearchData = GenericSearchData> extends AcoBaseFields {
|
|
10
|
+
originalId: string;
|
|
11
|
+
type: string;
|
|
12
|
+
title?: string;
|
|
13
|
+
content?: string;
|
|
14
|
+
location?: Location;
|
|
15
|
+
data?: TData;
|
|
16
|
+
}
|
|
17
|
+
export interface ListSearchRecordsWhere {
|
|
18
|
+
type: string;
|
|
19
|
+
location?: {
|
|
20
|
+
folderId: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface ListSearchRecordsParams {
|
|
24
|
+
where?: ListSearchRecordsWhere;
|
|
25
|
+
search?: string;
|
|
26
|
+
sort?: string[];
|
|
27
|
+
limit?: number;
|
|
28
|
+
after?: string | null;
|
|
29
|
+
}
|
|
30
|
+
export declare type CreateSearchRecordParams<TData> = Pick<SearchRecord<TData>, "originalId" | "title" | "content" | "type" | "location" | "data">;
|
|
31
|
+
export interface UpdateSearchRecordParams<TData extends GenericSearchData> {
|
|
32
|
+
title?: string;
|
|
33
|
+
content?: string;
|
|
34
|
+
location?: Location;
|
|
35
|
+
data?: TData;
|
|
36
|
+
}
|
|
37
|
+
export interface DeleteSearchRecordParams {
|
|
38
|
+
id: string;
|
|
39
|
+
}
|
|
40
|
+
export interface StorageOperationsGetSearchRecordParams {
|
|
41
|
+
id: string;
|
|
42
|
+
}
|
|
43
|
+
export declare type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;
|
|
44
|
+
export interface StorageOperationsCreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> {
|
|
45
|
+
data: CreateSearchRecordParams<TData>;
|
|
46
|
+
}
|
|
47
|
+
export interface StorageOperationsUpdateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> {
|
|
48
|
+
id: string;
|
|
49
|
+
data: UpdateSearchRecordParams<TData>;
|
|
50
|
+
}
|
|
51
|
+
export declare type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;
|
|
52
|
+
export interface OnSearchRecordBeforeCreateTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
53
|
+
input: CreateSearchRecordParams<TData>;
|
|
54
|
+
}
|
|
55
|
+
export interface OnSearchRecordAfterCreateTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
56
|
+
record: SearchRecord<TData>;
|
|
57
|
+
}
|
|
58
|
+
export interface OnSearchRecordBeforeUpdateTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
59
|
+
original: SearchRecord<TData>;
|
|
60
|
+
input: Record<string, any>;
|
|
61
|
+
}
|
|
62
|
+
export interface OnSearchRecordAfterUpdateTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
63
|
+
original: SearchRecord<TData>;
|
|
64
|
+
record: SearchRecord<TData>;
|
|
65
|
+
input: Record<string, any>;
|
|
66
|
+
}
|
|
67
|
+
export interface OnSearchRecordBeforeDeleteTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
68
|
+
record: SearchRecord<TData>;
|
|
69
|
+
}
|
|
70
|
+
export interface OnSearchRecordAfterDeleteTopicParams<TData extends GenericSearchData = GenericSearchData> {
|
|
71
|
+
record: SearchRecord<TData>;
|
|
72
|
+
}
|
|
73
|
+
export interface AcoSearchRecordCrud {
|
|
74
|
+
get<TData>(id: string): Promise<SearchRecord<TData>>;
|
|
75
|
+
list<TData>(params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
|
|
76
|
+
create<TData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
|
|
77
|
+
update<TData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
|
|
78
|
+
delete(id: string): Promise<Boolean>;
|
|
79
|
+
onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;
|
|
80
|
+
onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;
|
|
81
|
+
onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;
|
|
82
|
+
onSearchRecordAfterUpdate: Topic<OnSearchRecordAfterUpdateTopicParams>;
|
|
83
|
+
onSearchRecordBeforeDelete: Topic<OnSearchRecordBeforeDeleteTopicParams>;
|
|
84
|
+
onSearchRecordAfterDelete: Topic<OnSearchRecordAfterDeleteTopicParams>;
|
|
85
|
+
}
|
|
86
|
+
export interface AcoSearchRecordStorageOperations {
|
|
87
|
+
getRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsGetSearchRecordParams): Promise<SearchRecord<TData>>;
|
|
88
|
+
listRecords<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
|
|
89
|
+
createRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsCreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
|
|
90
|
+
updateRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsUpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
|
|
91
|
+
deleteRecord(params: StorageOperationsDeleteSearchRecordParams): Promise<boolean>;
|
|
92
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["record.types.ts"],"sourcesContent":["import { AcoBaseFields, ListMeta } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\n\nexport type GenericSearchData = {\n [key: string]: any;\n};\n\nexport interface Location {\n folderId: string;\n}\n\nexport interface SearchRecord<TData extends GenericSearchData = GenericSearchData>\n extends AcoBaseFields {\n originalId: string;\n type: string;\n title?: string;\n content?: string;\n location?: Location;\n data?: TData;\n}\n\nexport interface ListSearchRecordsWhere {\n type: string;\n location?: {\n folderId: string;\n };\n}\n\nexport interface ListSearchRecordsParams {\n where?: ListSearchRecordsWhere;\n search?: string;\n sort?: string[];\n limit?: number;\n after?: string | null;\n}\n\nexport type CreateSearchRecordParams<TData> = Pick<\n SearchRecord<TData>,\n \"originalId\" | \"title\" | \"content\" | \"type\" | \"location\" | \"data\"\n>;\n\nexport interface UpdateSearchRecordParams<TData extends GenericSearchData> {\n title?: string;\n content?: string;\n location?: Location;\n data?: TData;\n}\n\nexport interface DeleteSearchRecordParams {\n id: string;\n}\n\nexport interface StorageOperationsGetSearchRecordParams {\n id: string;\n}\n\nexport type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;\n\nexport interface StorageOperationsCreateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n data: CreateSearchRecordParams<TData>;\n}\nexport interface StorageOperationsUpdateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n id: string;\n data: UpdateSearchRecordParams<TData>;\n}\nexport type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;\n\nexport interface OnSearchRecordBeforeCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n input: CreateSearchRecordParams<TData>;\n}\n\nexport interface OnSearchRecordAfterCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordBeforeUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n original: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordAfterUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n original: SearchRecord<TData>;\n record: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordBeforeDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordAfterDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface AcoSearchRecordCrud {\n get<TData>(id: string): Promise<SearchRecord<TData>>;\n list<TData>(params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;\n create<TData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;\n update<TData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;\n delete(id: string): Promise<Boolean>;\n onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;\n onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;\n onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;\n onSearchRecordAfterUpdate: Topic<OnSearchRecordAfterUpdateTopicParams>;\n onSearchRecordBeforeDelete: Topic<OnSearchRecordBeforeDeleteTopicParams>;\n onSearchRecordAfterDelete: Topic<OnSearchRecordAfterDeleteTopicParams>;\n}\nexport interface AcoSearchRecordStorageOperations {\n getRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsGetSearchRecordParams\n ): Promise<SearchRecord<TData>>;\n listRecords<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsListSearchRecordsParams\n ): Promise<[SearchRecord<TData>[], ListMeta]>;\n createRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsCreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n updateRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsUpdateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n deleteRecord(params: StorageOperationsDeleteSearchRecordParams): Promise<boolean>;\n}\n"],"mappings":""}
|
package/types.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { TenancyContext } from "@webiny/api-tenancy/types";
|
|
1
|
+
import { Tenant, TenancyContext } from "@webiny/api-tenancy/types";
|
|
2
2
|
import { Context as BaseContext } from "@webiny/handler/types";
|
|
3
|
-
import { I18NContext } from "@webiny/api-i18n/types";
|
|
3
|
+
import { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
|
|
4
4
|
import { SecurityContext, SecurityIdentity } from "@webiny/api-security/types";
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { CmsContext } from "@webiny/api-headless-cms/types";
|
|
6
|
+
import { AcoSearchRecordCrud, AcoSearchRecordStorageOperations } from "./record/record.types";
|
|
7
|
+
import { AcoFolderCrud, AcoFolderStorageOperations } from "./folder/folder.types";
|
|
8
|
+
export interface User {
|
|
7
9
|
id: string;
|
|
8
10
|
type: string;
|
|
9
11
|
displayName: string | null;
|
|
@@ -13,208 +15,24 @@ export interface ListMeta {
|
|
|
13
15
|
totalCount: number;
|
|
14
16
|
hasMoreItems: boolean;
|
|
15
17
|
}
|
|
16
|
-
export interface
|
|
18
|
+
export interface AcoBaseFields {
|
|
17
19
|
id: string;
|
|
18
|
-
|
|
19
|
-
slug: string;
|
|
20
|
-
type: string;
|
|
21
|
-
parentId?: string | null;
|
|
22
|
-
createdOn: string;
|
|
23
|
-
createdBy: CreatedBy;
|
|
24
|
-
tenant: string;
|
|
25
|
-
locale: string;
|
|
26
|
-
webinyVersion: string;
|
|
27
|
-
}
|
|
28
|
-
export declare type FolderInput = Pick<Folder, "name" | "slug" | "type" | "parentId">;
|
|
29
|
-
export declare type FolderUpdateInput = Pick<Folder, "name" | "slug" | "parentId">;
|
|
30
|
-
export interface GetFolderParams {
|
|
31
|
-
id: string;
|
|
32
|
-
}
|
|
33
|
-
export interface ListFoldersWhere {
|
|
34
|
-
type: string;
|
|
35
|
-
}
|
|
36
|
-
export interface ListFoldersParams {
|
|
37
|
-
where: ListFoldersWhere;
|
|
38
|
-
}
|
|
39
|
-
export interface CreateFolderParams {
|
|
40
|
-
folder: Folder;
|
|
41
|
-
}
|
|
42
|
-
export interface UpdateFolderParams {
|
|
43
|
-
original: Folder;
|
|
44
|
-
folder: Folder;
|
|
45
|
-
}
|
|
46
|
-
export interface DeleteFolderParams {
|
|
47
|
-
folder: Folder;
|
|
48
|
-
}
|
|
49
|
-
export interface StorageOperationsGetFolderParams {
|
|
50
|
-
id?: string;
|
|
51
|
-
slug?: string;
|
|
52
|
-
type?: string;
|
|
53
|
-
parentId?: string | null;
|
|
54
|
-
tenant: string;
|
|
55
|
-
locale: string;
|
|
56
|
-
}
|
|
57
|
-
export interface StorageOperationsListFoldersParams extends ListFoldersParams {
|
|
58
|
-
where: ListFoldersParams["where"] & {
|
|
59
|
-
tenant: string;
|
|
60
|
-
locale: string;
|
|
61
|
-
};
|
|
62
|
-
sort: string[];
|
|
63
|
-
}
|
|
64
|
-
export declare type StorageOperationsCreateFolderParams = CreateFolderParams;
|
|
65
|
-
export declare type StorageOperationsUpdateFolderParams = UpdateFolderParams;
|
|
66
|
-
export declare type StorageOperationsDeleteFolderParams = DeleteFolderParams;
|
|
67
|
-
export interface OnFolderBeforeCreateTopicParams {
|
|
68
|
-
folder: Folder;
|
|
69
|
-
}
|
|
70
|
-
export interface OnFolderAfterCreateTopicParams {
|
|
71
|
-
folder: Folder;
|
|
72
|
-
}
|
|
73
|
-
export interface OnFolderBeforeUpdateTopicParams {
|
|
74
|
-
folder: Folder;
|
|
75
|
-
original: Folder;
|
|
76
|
-
}
|
|
77
|
-
export interface OnFolderAfterUpdateTopicParams {
|
|
78
|
-
folder: Folder;
|
|
79
|
-
original: Folder;
|
|
80
|
-
}
|
|
81
|
-
export interface OnFolderBeforeDeleteTopicParams {
|
|
82
|
-
folder: Folder;
|
|
83
|
-
}
|
|
84
|
-
export interface OnFolderAfterDeleteTopicParams {
|
|
85
|
-
folder: Folder;
|
|
86
|
-
}
|
|
87
|
-
export interface Link {
|
|
88
|
-
id: string;
|
|
89
|
-
linkId: string;
|
|
90
|
-
folderId: string;
|
|
20
|
+
entryId: string;
|
|
91
21
|
createdOn: string;
|
|
92
|
-
createdBy:
|
|
93
|
-
|
|
94
|
-
locale: string;
|
|
95
|
-
webinyVersion: string;
|
|
22
|
+
createdBy: User;
|
|
23
|
+
savedOn: string;
|
|
96
24
|
}
|
|
97
|
-
export
|
|
98
|
-
|
|
99
|
-
|
|
25
|
+
export interface AdvancedContentOrganisation {
|
|
26
|
+
folder: AcoFolderCrud;
|
|
27
|
+
search: AcoSearchRecordCrud;
|
|
100
28
|
}
|
|
101
|
-
export interface
|
|
102
|
-
where: ListLinksWhere;
|
|
103
|
-
limit?: number;
|
|
104
|
-
after?: string | null;
|
|
105
|
-
}
|
|
106
|
-
export declare type ListLinksResponse = [Link[], ListMeta];
|
|
107
|
-
export interface CreateLinkParams {
|
|
108
|
-
link: Link;
|
|
109
|
-
}
|
|
110
|
-
export interface UpdateLinkParams {
|
|
111
|
-
original: Link;
|
|
112
|
-
link: Link;
|
|
113
|
-
}
|
|
114
|
-
export interface DeleteLinkParams {
|
|
115
|
-
link: Link;
|
|
116
|
-
}
|
|
117
|
-
export interface DeleteLinksParams {
|
|
118
|
-
tenant: string;
|
|
119
|
-
locale: string;
|
|
120
|
-
folderIds: string[];
|
|
121
|
-
}
|
|
122
|
-
export interface StorageOperationsGetLinkParams {
|
|
123
|
-
id?: string;
|
|
124
|
-
folderId?: string;
|
|
125
|
-
tenant: string;
|
|
126
|
-
locale: string;
|
|
127
|
-
}
|
|
128
|
-
export interface StorageOperationsListLinksParams extends ListLinksParams {
|
|
129
|
-
where: ListLinksParams["where"] & {
|
|
130
|
-
tenant: string;
|
|
131
|
-
locale: string;
|
|
132
|
-
};
|
|
133
|
-
sort: string[];
|
|
134
|
-
}
|
|
135
|
-
export declare type StorageOperationListLinksResponse = ListLinksResponse;
|
|
136
|
-
export declare type StorageOperationsCreateLinkParams = CreateLinkParams;
|
|
137
|
-
export declare type StorageOperationsUpdateLinkParams = UpdateLinkParams;
|
|
138
|
-
export declare type StorageOperationsDeleteLinkParams = DeleteLinkParams;
|
|
139
|
-
export declare type StorageOperationsDeleteLinksParams = DeleteLinksParams;
|
|
140
|
-
export interface OnLinkBeforeCreateTopicParams {
|
|
141
|
-
link: Link;
|
|
142
|
-
}
|
|
143
|
-
export interface OnLinkAfterCreateTopicParams {
|
|
144
|
-
link: Link;
|
|
145
|
-
}
|
|
146
|
-
export interface OnLinkBeforeUpdateTopicParams {
|
|
147
|
-
link: Link;
|
|
148
|
-
original: Link;
|
|
149
|
-
}
|
|
150
|
-
export interface OnLinkAfterUpdateTopicParams {
|
|
151
|
-
link: Link;
|
|
152
|
-
original: Link;
|
|
153
|
-
}
|
|
154
|
-
export interface OnLinkBeforeDeleteTopicParams {
|
|
155
|
-
link: Link;
|
|
156
|
-
}
|
|
157
|
-
export interface OnLinkAfterDeleteTopicParams {
|
|
158
|
-
link: Link;
|
|
159
|
-
}
|
|
160
|
-
export interface OnLinkBeforeDeleteBatchTopicParams {
|
|
161
|
-
folderIds: string[];
|
|
162
|
-
}
|
|
163
|
-
export interface OnLinkAfterDeleteBatchTopicParams {
|
|
164
|
-
folderIds: string[];
|
|
165
|
-
}
|
|
166
|
-
export interface ACOContext extends BaseContext, I18NContext, TenancyContext, SecurityContext {
|
|
167
|
-
folders: Folders;
|
|
168
|
-
}
|
|
169
|
-
export declare type Folders = IFolders & ILinks;
|
|
170
|
-
export interface IFolders {
|
|
171
|
-
getFolder(params: GetFolderParams): Promise<Folder>;
|
|
172
|
-
listFolders(params: ListFoldersParams): Promise<Folder[]>;
|
|
173
|
-
createFolder(input: FolderInput): Promise<Folder>;
|
|
174
|
-
updateFolder(id: string, input: Partial<Folder>): Promise<Folder>;
|
|
175
|
-
deleteFolder(id: string): Promise<void>;
|
|
176
|
-
onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;
|
|
177
|
-
onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;
|
|
178
|
-
onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;
|
|
179
|
-
onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;
|
|
180
|
-
onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;
|
|
181
|
-
onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;
|
|
182
|
-
}
|
|
183
|
-
export interface ILinks {
|
|
184
|
-
getLink(id: string): Promise<Link>;
|
|
185
|
-
listLinks(params: ListLinksParams): Promise<ListLinksResponse>;
|
|
186
|
-
createLink(input: LinkInput): Promise<Link>;
|
|
187
|
-
updateLink(id: string, input: Partial<Link>): Promise<Link>;
|
|
188
|
-
deleteLink(id: string): Promise<void>;
|
|
189
|
-
deleteLinks(folderIds: string[]): Promise<void>;
|
|
190
|
-
onLinkBeforeCreate: Topic<OnLinkBeforeCreateTopicParams>;
|
|
191
|
-
onLinkAfterCreate: Topic<OnLinkAfterCreateTopicParams>;
|
|
192
|
-
onLinkBeforeUpdate: Topic<OnLinkBeforeUpdateTopicParams>;
|
|
193
|
-
onLinkAfterUpdate: Topic<OnLinkAfterUpdateTopicParams>;
|
|
194
|
-
onLinkBeforeDelete: Topic<OnLinkBeforeDeleteTopicParams>;
|
|
195
|
-
onLinkAfterDelete: Topic<OnLinkAfterDeleteTopicParams>;
|
|
196
|
-
onLinkBeforeDeleteBatch: Topic<OnLinkBeforeDeleteBatchTopicParams>;
|
|
197
|
-
onLinkAfterDeleteBatch: Topic<OnLinkAfterDeleteBatchTopicParams>;
|
|
198
|
-
}
|
|
199
|
-
export interface FoldersConfig {
|
|
200
|
-
getTenantId: () => string;
|
|
201
|
-
getLocaleCode: () => string;
|
|
29
|
+
export interface CreateAcoParams {
|
|
202
30
|
getIdentity: () => SecurityIdentity;
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
export interface FoldersStorageOperations {
|
|
207
|
-
getFolder(params: StorageOperationsGetFolderParams): Promise<Folder | undefined>;
|
|
208
|
-
listFolders(params: StorageOperationsListFoldersParams): Promise<Folder[]>;
|
|
209
|
-
createFolder(params: StorageOperationsCreateFolderParams): Promise<Folder>;
|
|
210
|
-
updateFolder(params: StorageOperationsUpdateFolderParams): Promise<Folder>;
|
|
211
|
-
deleteFolder(params: StorageOperationsDeleteFolderParams): Promise<void>;
|
|
31
|
+
getLocale: () => I18NLocale;
|
|
32
|
+
getTenant: () => Tenant;
|
|
33
|
+
storageOperations: AcoStorageOperations;
|
|
212
34
|
}
|
|
213
|
-
export
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
createLink(params: StorageOperationsCreateLinkParams): Promise<Link>;
|
|
217
|
-
updateLink(params: StorageOperationsUpdateLinkParams): Promise<Link>;
|
|
218
|
-
deleteLink(params: StorageOperationsDeleteLinkParams): Promise<void>;
|
|
219
|
-
deleteLinks(params: StorageOperationsDeleteLinksParams): Promise<void>;
|
|
35
|
+
export declare type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;
|
|
36
|
+
export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, CmsContext {
|
|
37
|
+
aco: AdvancedContentOrganisation;
|
|
220
38
|
}
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { Context as BaseContext } from \"@webiny/handler/types\";\nimport { I18NContext } from \"@webiny/api-i18n/types\";\nimport { SecurityContext, SecurityIdentity } from \"@webiny/api-security/types\";\nimport {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { Tenant, TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { Context as BaseContext } from \"@webiny/handler/types\";\nimport { I18NContext, I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityContext, SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { AcoSearchRecordCrud, AcoSearchRecordStorageOperations } from \"~/record/record.types\";\nimport { AcoFolderCrud, AcoFolderStorageOperations } from \"~/folder/folder.types\";\n\nexport interface User {\n id: string;\n type: string;\n displayName: string | null;\n}\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport interface AcoBaseFields {\n id: string;\n entryId: string;\n createdOn: string;\n createdBy: User;\n savedOn: string;\n}\n\nexport interface AdvancedContentOrganisation {\n folder: AcoFolderCrud;\n search: AcoSearchRecordCrud;\n}\n\nexport interface CreateAcoParams {\n getIdentity: () => SecurityIdentity;\n getLocale: () => I18NLocale;\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;\n\nexport interface AcoContext\n extends BaseContext,\n I18NContext,\n TenancyContext,\n SecurityContext,\n CmsContext {\n aco: AdvancedContentOrganisation;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
2
|
+
export interface CreateModelFieldParams extends Omit<CmsModelField, "id" | "storageId" | "fieldId"> {
|
|
3
|
+
fieldId?: string;
|
|
4
|
+
parent: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const createModelField: (params: CreateModelFieldParams) => CmsModelField;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createModelField = void 0;
|
|
8
|
+
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
9
|
+
const createModelField = params => {
|
|
10
|
+
const {
|
|
11
|
+
label,
|
|
12
|
+
fieldId: initialFieldId,
|
|
13
|
+
type,
|
|
14
|
+
parent,
|
|
15
|
+
settings = {},
|
|
16
|
+
listValidation = [],
|
|
17
|
+
validation = [],
|
|
18
|
+
multipleValues = false,
|
|
19
|
+
predefinedValues = {
|
|
20
|
+
values: [],
|
|
21
|
+
enabled: false
|
|
22
|
+
}
|
|
23
|
+
} = params;
|
|
24
|
+
const fieldId = initialFieldId ? (0, _camelCase.default)(initialFieldId) : (0, _camelCase.default)(label);
|
|
25
|
+
const id = `${(0, _camelCase.default)(parent)}_${fieldId}`;
|
|
26
|
+
return {
|
|
27
|
+
id,
|
|
28
|
+
storageId: fieldId,
|
|
29
|
+
fieldId,
|
|
30
|
+
label,
|
|
31
|
+
type,
|
|
32
|
+
settings,
|
|
33
|
+
listValidation,
|
|
34
|
+
validation,
|
|
35
|
+
multipleValues,
|
|
36
|
+
predefinedValues
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.createModelField = createModelField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createModelField","params","label","fieldId","initialFieldId","type","parent","settings","listValidation","validation","multipleValues","predefinedValues","values","enabled","camelCase","id","storageId"],"sources":["createModelField.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport camelCase from \"lodash/camelCase\";\n\nexport interface CreateModelFieldParams\n extends Omit<CmsModelField, \"id\" | \"storageId\" | \"fieldId\"> {\n fieldId?: string;\n parent: string;\n}\n\nexport const createModelField = (params: CreateModelFieldParams): CmsModelField => {\n const {\n label,\n fieldId: initialFieldId,\n type,\n parent,\n settings = {},\n listValidation = [],\n validation = [],\n multipleValues = false,\n predefinedValues = {\n values: [],\n enabled: false\n }\n } = params;\n\n const fieldId = initialFieldId ? camelCase(initialFieldId) : camelCase(label);\n const id = `${camelCase(parent)}_${fieldId}`;\n\n return {\n id,\n storageId: fieldId,\n fieldId,\n label,\n type,\n settings,\n listValidation,\n validation,\n multipleValues,\n predefinedValues\n };\n};\n"],"mappings":";;;;;;;AACA;AAQO,MAAMA,gBAAgB,GAAIC,MAA8B,IAAoB;EAC/E,MAAM;IACFC,KAAK;IACLC,OAAO,EAAEC,cAAc;IACvBC,IAAI;IACJC,MAAM;IACNC,QAAQ,GAAG,CAAC,CAAC;IACbC,cAAc,GAAG,EAAE;IACnBC,UAAU,GAAG,EAAE;IACfC,cAAc,GAAG,KAAK;IACtBC,gBAAgB,GAAG;MACfC,MAAM,EAAE,EAAE;MACVC,OAAO,EAAE;IACb;EACJ,CAAC,GAAGZ,MAAM;EAEV,MAAME,OAAO,GAAGC,cAAc,GAAG,IAAAU,kBAAS,EAACV,cAAc,CAAC,GAAG,IAAAU,kBAAS,EAACZ,KAAK,CAAC;EAC7E,MAAMa,EAAE,GAAI,GAAE,IAAAD,kBAAS,EAACR,MAAM,CAAE,IAAGH,OAAQ,EAAC;EAE5C,OAAO;IACHY,EAAE;IACFC,SAAS,EAAEb,OAAO;IAClBA,OAAO;IACPD,KAAK;IACLG,IAAI;IACJE,QAAQ;IACRC,cAAc;IACdC,UAAU;IACVC,cAAc;IACdC;EACJ,CAAC;AACL,CAAC;AAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CmsContext, CmsEntry, CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import { AcoBaseFields } from "../types";
|
|
3
|
+
interface Transformer {
|
|
4
|
+
fieldId: keyof AcoBaseFields;
|
|
5
|
+
model: any;
|
|
6
|
+
field: any;
|
|
7
|
+
}
|
|
8
|
+
interface GetFieldValuesParams {
|
|
9
|
+
entry: CmsEntry;
|
|
10
|
+
fields: string[];
|
|
11
|
+
transformers?: Transformer[];
|
|
12
|
+
context: CmsContext;
|
|
13
|
+
}
|
|
14
|
+
export declare const getFieldValues: <T extends AcoBaseFields>(params: GetFieldValuesParams) => Promise<T>;
|
|
15
|
+
export declare const getTransformer: (model: CmsModel, fieldId: string) => Transformer;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getTransformer = exports.getFieldValues = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
10
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
11
|
+
const getFieldValues = async params => {
|
|
12
|
+
const {
|
|
13
|
+
entry,
|
|
14
|
+
context,
|
|
15
|
+
transformers = [],
|
|
16
|
+
fields
|
|
17
|
+
} = params;
|
|
18
|
+
const values = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values);
|
|
19
|
+
/**
|
|
20
|
+
* Transform field value for each transformers.
|
|
21
|
+
*/
|
|
22
|
+
for (const transformer of transformers) {
|
|
23
|
+
const {
|
|
24
|
+
fieldId,
|
|
25
|
+
model,
|
|
26
|
+
field
|
|
27
|
+
} = transformer;
|
|
28
|
+
// Get transformed value (eg. data decompression)
|
|
29
|
+
values[fieldId] = await (0, _apiHeadlessCms.entryFieldFromStorageTransform)({
|
|
30
|
+
context,
|
|
31
|
+
model,
|
|
32
|
+
field,
|
|
33
|
+
value: values[fieldId]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return values;
|
|
37
|
+
};
|
|
38
|
+
exports.getFieldValues = getFieldValues;
|
|
39
|
+
const getTransformer = (model, fieldId) => ({
|
|
40
|
+
fieldId: fieldId,
|
|
41
|
+
model: model,
|
|
42
|
+
field: model.fields.find(field => field.fieldId === fieldId)
|
|
43
|
+
});
|
|
44
|
+
exports.getTransformer = getTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getFieldValues","params","entry","context","transformers","fields","values","pick","transformer","fieldId","model","field","entryFieldFromStorageTransform","value","getTransformer","find"],"sources":["fieldResolver.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport { CmsContext, CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { entryFieldFromStorageTransform } from \"@webiny/api-headless-cms\";\nimport { AcoBaseFields } from \"~/types\";\n\ninterface Transformer {\n fieldId: keyof AcoBaseFields;\n model: any;\n field: any;\n}\n\ninterface GetFieldValuesParams {\n entry: CmsEntry;\n fields: string[];\n transformers?: Transformer[];\n context: CmsContext;\n}\n\nexport const getFieldValues = async <T extends AcoBaseFields>(\n params: GetFieldValuesParams\n): Promise<T> => {\n const { entry, context, transformers = [], fields } = params;\n const values = {\n ...pick(entry, fields),\n ...entry.values\n } as T;\n /**\n * Transform field value for each transformers.\n */\n for (const transformer of transformers) {\n const { fieldId, model, field } = transformer;\n // Get transformed value (eg. data decompression)\n values[fieldId] = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: values[fieldId]\n });\n }\n\n return values;\n};\n\nexport const getTransformer = (model: CmsModel, fieldId: string): Transformer => ({\n fieldId: fieldId as unknown as keyof AcoBaseFields,\n model: model,\n field: model.fields.find(field => field.fieldId === fieldId)\n});\n"],"mappings":";;;;;;;;AAAA;AAEA;AAgBO,MAAMA,cAAc,GAAG,MAC1BC,MAA4B,IACf;EACb,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,YAAY,GAAG,EAAE;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EAC5D,MAAMK,MAAM,+DACL,IAAAC,aAAI,EAACL,KAAK,EAAEG,MAAM,CAAC,GACnBH,KAAK,CAACI,MAAM,CACb;EACN;AACJ;AACA;EACI,KAAK,MAAME,WAAW,IAAIJ,YAAY,EAAE;IACpC,MAAM;MAAEK,OAAO;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGH,WAAW;IAC7C;IACAF,MAAM,CAACG,OAAO,CAAC,GAAG,MAAM,IAAAG,8CAA8B,EAAC;MACnDT,OAAO;MACPO,KAAK;MACLC,KAAK;MACLE,KAAK,EAAEP,MAAM,CAACG,OAAO;IACzB,CAAC,CAAC;EACN;EAEA,OAAOH,MAAM;AACjB,CAAC;AAAC;AAEK,MAAMQ,cAAc,GAAG,CAACJ,KAAe,EAAED,OAAe,MAAmB;EAC9EA,OAAO,EAAEA,OAAyC;EAClDC,KAAK,EAAEA,KAAK;EACZC,KAAK,EAAED,KAAK,CAACL,MAAM,CAACU,IAAI,CAACJ,KAAK,IAAIA,KAAK,CAACF,OAAO,KAAKA,OAAO;AAC/D,CAAC,CAAC;AAAC"}
|