@webiny/api-headless-cms-import-export 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.81ae05e56b
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/crud/utils/makeSureModelsAreIdentical.js +1 -1
- package/crud/utils/makeSureModelsAreIdentical.js.map +1 -1
- package/crud/utils/parseImportUrlData.js +5 -5
- package/crud/utils/parseImportUrlData.js.map +1 -1
- package/graphql/resolvers.js +2 -2
- package/graphql/resolvers.js.map +1 -1
- package/index.js +7 -3
- package/index.js.map +1 -1
- package/package.json +24 -24
|
@@ -8,7 +8,7 @@ const getModelValues = ast => {
|
|
|
8
8
|
path
|
|
9
9
|
}) => {
|
|
10
10
|
const ref = field.settings?.models ? `#R#${field.settings.models.map(m => m.modelId).sort().join(",")}` : "";
|
|
11
|
-
const key = `${field.type}@${path.join(".")}#${field.
|
|
11
|
+
const key = `${field.type}@${path.join(".")}#${field.list ? "m" : "s"}${ref}`;
|
|
12
12
|
results.push({
|
|
13
13
|
key,
|
|
14
14
|
field,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModelFieldTraverser","WebinyError","getModelValues","ast","traverser","results","traverse","field","path","ref","settings","models","map","m","modelId","sort","join","key","type","
|
|
1
|
+
{"version":3,"names":["ModelFieldTraverser","WebinyError","getModelValues","ast","traverser","results","traverse","field","path","ref","settings","models","map","m","modelId","sort","join","key","type","list","push","makeSureModelsAreIdentical","params","modelToAstConverter","model","target","modelAst","toAst","targetAst","modelValues","targetValues","value","some","v","message","fieldId","code","data"],"sources":["makeSureModelsAreIdentical.ts"],"sourcesContent":["import type { CmsModel, CmsModelAst, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { IExportedCmsModel } from \"~/tasks/domain/abstractions/ExportContentEntriesController.js\";\nimport { ModelFieldTraverser } from \"@webiny/api-headless-cms/utils/index.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { ModelToAstConverter } from \"@webiny/api-headless-cms/features/contentModel/ModelToAstConverter/index.js\";\n\nexport interface IMakeSureModelsAreIdenticalParams {\n modelToAstConverter: ModelToAstConverter.Interface;\n model: CmsModel;\n target: IExportedCmsModel;\n}\n\ninterface IResult {\n key: string;\n path: string;\n field: CmsModelField;\n}\n\nconst getModelValues = (ast: CmsModelAst): IResult[] => {\n const traverser = new ModelFieldTraverser();\n\n const results: IResult[] = [];\n\n traverser.traverse(ast, ({ field, path }) => {\n const ref = field.settings?.models\n ? `#R#${field.settings.models\n .map(m => m.modelId)\n .sort()\n .join(\",\")}`\n : \"\";\n\n const key = `${field.type}@${path.join(\".\")}#${field.list ? \"m\" : \"s\"}${ref}`;\n results.push({\n key,\n field,\n path: path.join(\".\")\n });\n });\n\n return results;\n};\n\nexport const makeSureModelsAreIdentical = (params: IMakeSureModelsAreIdenticalParams): void => {\n const { modelToAstConverter, model, target } = params;\n\n const modelAst = modelToAstConverter.toAst(model);\n const targetAst = modelToAstConverter.toAst(target as CmsModel);\n\n const modelValues = getModelValues(modelAst);\n const targetValues = getModelValues(targetAst);\n /**\n * First we will go through the model from the database.\n * Then we will go through the exported model and check against the model from the database.\n */\n for (const value of modelValues) {\n if (targetValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model provided via the JSON data.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n field: value,\n targetValues,\n modelValues\n }\n });\n }\n for (const value of targetValues) {\n if (modelValues.some(v => v.key === value.key)) {\n continue;\n }\n throw new WebinyError({\n message: `Field \"${value.field.fieldId}\" not found in the model from the database.`,\n code: \"MODEL_FIELD_NOT_FOUND\",\n data: {\n ...value\n }\n });\n }\n};\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,WAAW,QAAQ,eAAe;AAe3C,MAAMC,cAAc,GAAIC,GAAgB,IAAgB;EACpD,MAAMC,SAAS,GAAG,IAAIJ,mBAAmB,CAAC,CAAC;EAE3C,MAAMK,OAAkB,GAAG,EAAE;EAE7BD,SAAS,CAACE,QAAQ,CAACH,GAAG,EAAE,CAAC;IAAEI,KAAK;IAAEC;EAAK,CAAC,KAAK;IACzC,MAAMC,GAAG,GAAGF,KAAK,CAACG,QAAQ,EAAEC,MAAM,GAC5B,MAAMJ,KAAK,CAACG,QAAQ,CAACC,MAAM,CACtBC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAAC,CACnBC,IAAI,CAAC,CAAC,CACNC,IAAI,CAAC,GAAG,CAAC,EAAE,GAChB,EAAE;IAER,MAAMC,GAAG,GAAG,GAAGV,KAAK,CAACW,IAAI,IAAIV,IAAI,CAACQ,IAAI,CAAC,GAAG,CAAC,IAAIT,KAAK,CAACY,IAAI,GAAG,GAAG,GAAG,GAAG,GAAGV,GAAG,EAAE;IAC7EJ,OAAO,CAACe,IAAI,CAAC;MACTH,GAAG;MACHV,KAAK;MACLC,IAAI,EAAEA,IAAI,CAACQ,IAAI,CAAC,GAAG;IACvB,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOX,OAAO;AAClB,CAAC;AAED,OAAO,MAAMgB,0BAA0B,GAAIC,MAAyC,IAAW;EAC3F,MAAM;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAErD,MAAMI,QAAQ,GAAGH,mBAAmB,CAACI,KAAK,CAACH,KAAK,CAAC;EACjD,MAAMI,SAAS,GAAGL,mBAAmB,CAACI,KAAK,CAACF,MAAkB,CAAC;EAE/D,MAAMI,WAAW,GAAG3B,cAAc,CAACwB,QAAQ,CAAC;EAC5C,MAAMI,YAAY,GAAG5B,cAAc,CAAC0B,SAAS,CAAC;EAC9C;AACJ;AACA;AACA;EACI,KAAK,MAAMG,KAAK,IAAIF,WAAW,EAAE;IAC7B,IAAIC,YAAY,CAACE,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChB,GAAG,KAAKc,KAAK,CAACd,GAAG,CAAC,EAAE;MAC7C;IACJ;IACA,MAAM,IAAIhB,WAAW,CAAC;MAClBiC,OAAO,EAAE,UAAUH,KAAK,CAACxB,KAAK,CAAC4B,OAAO,sDAAsD;MAC5FC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACF9B,KAAK,EAAEwB,KAAK;QACZD,YAAY;QACZD;MACJ;IACJ,CAAC,CAAC;EACN;EACA,KAAK,MAAME,KAAK,IAAID,YAAY,EAAE;IAC9B,IAAID,WAAW,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChB,GAAG,KAAKc,KAAK,CAACd,GAAG,CAAC,EAAE;MAC5C;IACJ;IACA,MAAM,IAAIhB,WAAW,CAAC;MAClBiC,OAAO,EAAE,UAAUH,KAAK,CAACxB,KAAK,CAAC4B,OAAO,6CAA6C;MACnFC,IAAI,EAAE,uBAAuB;MAC7BC,IAAI,EAAE;QACF,GAAGN;MACP;IACJ,CAAC,CAAC;EACN;AACJ,CAAC","ignoreList":[]}
|
|
@@ -13,11 +13,11 @@ const validateData = zod.object({
|
|
|
13
13
|
id: zod.string(),
|
|
14
14
|
fieldId: zod.string(),
|
|
15
15
|
type: zod.string(),
|
|
16
|
-
|
|
17
|
-
settings: zod.
|
|
18
|
-
fields: zod.array(zod.
|
|
19
|
-
templates: zod.array(zod.
|
|
20
|
-
}).
|
|
16
|
+
list: zod.boolean().optional(),
|
|
17
|
+
settings: zod.looseObject({
|
|
18
|
+
fields: zod.array(zod.looseObject({})).optional(),
|
|
19
|
+
templates: zod.array(zod.looseObject({})).optional()
|
|
20
|
+
}).optional()
|
|
21
21
|
})).min(1)
|
|
22
22
|
}),
|
|
23
23
|
files: zod.array(zod.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CmsImportExportFileType","zod","WebinyError","createZodError","validateData","object","model","modelId","string","fields","array","id","fieldId","type","
|
|
1
|
+
{"version":3,"names":["CmsImportExportFileType","zod","WebinyError","createZodError","validateData","object","model","modelId","string","fields","array","id","fieldId","type","list","boolean","optional","settings","looseObject","templates","min","files","get","url","head","key","checksum","enum","ENTRIES","ASSETS","parseImportUrlData","input","json","JSON","parse","result","safeParse","success","error","data"],"sources":["parseImportUrlData.ts"],"sourcesContent":["import { CmsImportExportFileType } from \"~/types.js\";\nimport type { ICmsImportExportFile } from \"~/types.js\";\nimport zod from \"zod\";\nimport { WebinyError } from \"@webiny/error\";\nimport { createZodError } from \"@webiny/utils\";\nimport type { IExportedCmsModel } from \"~/tasks/domain/abstractions/ExportContentEntriesController.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nconst validateData = zod.object({\n /**\n * Basic model validation.\n * We will check it more thoroughly in the next step.\n */\n model: zod.object({\n modelId: zod.string(),\n fields: zod\n .array(\n zod.object({\n id: zod.string(),\n fieldId: zod.string(),\n type: zod.string(),\n list: zod.boolean().optional(),\n settings: zod\n .looseObject({\n fields: zod.array(zod.looseObject({})).optional(),\n templates: zod.array(zod.looseObject({})).optional()\n })\n .optional()\n })\n )\n .min(1)\n }),\n files: zod.array(\n zod.object({\n get: zod.string().url(),\n head: zod.string().url(),\n key: zod.string(),\n checksum: zod.string(),\n type: zod.enum([CmsImportExportFileType.ENTRIES, CmsImportExportFileType.ASSETS])\n })\n )\n});\n\nexport interface IParseImportUrlDataResult {\n model: IExportedCmsModel;\n files: ICmsImportExportFile[];\n}\n\nexport const parseImportUrlData = (input: string | GenericRecord): IParseImportUrlDataResult => {\n let json: unknown;\n try {\n json = typeof input === \"string\" ? JSON.parse(input) : input;\n } catch {\n throw new WebinyError(\"Invalid input data provided.\", \"INVALID_INPUT_DATA\");\n }\n\n const result = validateData.safeParse(json);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return {\n model: result.data.model as unknown as IExportedCmsModel,\n files: result.data.files\n };\n};\n"],"mappings":"AAAA,SAASA,uBAAuB;AAEhC,OAAOC,GAAG,MAAM,KAAK;AACrB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,cAAc,QAAQ,eAAe;AAI9C,MAAMC,YAAY,GAAGH,GAAG,CAACI,MAAM,CAAC;EAC5B;AACJ;AACA;AACA;EACIC,KAAK,EAAEL,GAAG,CAACI,MAAM,CAAC;IACdE,OAAO,EAAEN,GAAG,CAACO,MAAM,CAAC,CAAC;IACrBC,MAAM,EAAER,GAAG,CACNS,KAAK,CACFT,GAAG,CAACI,MAAM,CAAC;MACPM,EAAE,EAAEV,GAAG,CAACO,MAAM,CAAC,CAAC;MAChBI,OAAO,EAAEX,GAAG,CAACO,MAAM,CAAC,CAAC;MACrBK,IAAI,EAAEZ,GAAG,CAACO,MAAM,CAAC,CAAC;MAClBM,IAAI,EAAEb,GAAG,CAACc,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MAC9BC,QAAQ,EAAEhB,GAAG,CACRiB,WAAW,CAAC;QACTT,MAAM,EAAER,GAAG,CAACS,KAAK,CAACT,GAAG,CAACiB,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC;QACjDG,SAAS,EAAElB,GAAG,CAACS,KAAK,CAACT,GAAG,CAACiB,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAACF,QAAQ,CAAC;MACvD,CAAC,CAAC,CACDA,QAAQ,CAAC;IAClB,CAAC,CACL,CAAC,CACAI,GAAG,CAAC,CAAC;EACd,CAAC,CAAC;EACFC,KAAK,EAAEpB,GAAG,CAACS,KAAK,CACZT,GAAG,CAACI,MAAM,CAAC;IACPiB,GAAG,EAAErB,GAAG,CAACO,MAAM,CAAC,CAAC,CAACe,GAAG,CAAC,CAAC;IACvBC,IAAI,EAAEvB,GAAG,CAACO,MAAM,CAAC,CAAC,CAACe,GAAG,CAAC,CAAC;IACxBE,GAAG,EAAExB,GAAG,CAACO,MAAM,CAAC,CAAC;IACjBkB,QAAQ,EAAEzB,GAAG,CAACO,MAAM,CAAC,CAAC;IACtBK,IAAI,EAAEZ,GAAG,CAAC0B,IAAI,CAAC,CAAC3B,uBAAuB,CAAC4B,OAAO,EAAE5B,uBAAuB,CAAC6B,MAAM,CAAC;EACpF,CAAC,CACL;AACJ,CAAC,CAAC;AAOF,OAAO,MAAMC,kBAAkB,GAAIC,KAA6B,IAAgC;EAC5F,IAAIC,IAAa;EACjB,IAAI;IACAA,IAAI,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGE,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC,GAAGA,KAAK;EAChE,CAAC,CAAC,MAAM;IACJ,MAAM,IAAI7B,WAAW,CAAC,8BAA8B,EAAE,oBAAoB,CAAC;EAC/E;EAEA,MAAMiC,MAAM,GAAG/B,YAAY,CAACgC,SAAS,CAACJ,IAAI,CAAC;EAC3C,IAAI,CAACG,MAAM,CAACE,OAAO,EAAE;IACjB,MAAMlC,cAAc,CAACgC,MAAM,CAACG,KAAK,CAAC;EACtC;EACA,OAAO;IACHhC,KAAK,EAAE6B,MAAM,CAACI,IAAI,CAACjC,KAAqC;IACxDe,KAAK,EAAEc,MAAM,CAACI,IAAI,CAAClB;EACvB,CAAC;AACL,CAAC","ignoreList":[]}
|
package/graphql/resolvers.js
CHANGED
|
@@ -13,7 +13,7 @@ const validateListExportContentEntries = zod.object({
|
|
|
13
13
|
after: zod.string().optional()
|
|
14
14
|
});
|
|
15
15
|
const validateImportFromUrl = zod.object({
|
|
16
|
-
data: zod.string().or(zod.
|
|
16
|
+
data: zod.string().or(zod.looseObject({}))
|
|
17
17
|
});
|
|
18
18
|
const getValidateImportFromUrl = zod.object({
|
|
19
19
|
id: zod.string()
|
|
@@ -32,7 +32,7 @@ const abortImportFromUrl = zod.object({
|
|
|
32
32
|
const validateExportContentEntriesInput = zod.object({
|
|
33
33
|
exportAssets: zod.boolean().optional().default(false),
|
|
34
34
|
limit: zod.number().optional(),
|
|
35
|
-
where: zod.
|
|
35
|
+
where: zod.looseObject({}).optional().default({}),
|
|
36
36
|
sort: zod.array(zod.string()).optional()
|
|
37
37
|
});
|
|
38
38
|
/**
|
package/graphql/resolvers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createZodError","resolve","resolveList","zod","checkPermissions","validateAbortExportContentEntries","object","id","string","validateGetExportContentEntries","validateListExportContentEntries","limit","number","optional","default","after","validateImportFromUrl","data","or","passthrough","getValidateImportFromUrl","getImportFromUrl","importFromUrlValidation","maxInsertErrors","overwrite","boolean","abortImportFromUrl","validateExportContentEntriesInput","exportAssets","where","sort","array","createExportContentEntries","models","reduce","resolvers","model","pluralApiName","_","input","context","result","safeParse","success","error","cmsImportExport","exportContentEntries","modelId","undefined","createResolvers","Query","getExportContentEntries","listExportContentEntries","Mutation","abortExportContentEntries","importFromUrl"],"sources":["resolvers.ts"],"sourcesContent":["import type { Context } from \"~/types.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { resolve, resolveList } from \"@webiny/handler-graphql\";\nimport zod from \"zod\";\nimport type { GenericRecord, NonEmptyArray } from \"@webiny/api/types.js\";\nimport type {\n CmsEntryListSort,\n CmsEntryListWhere,\n CmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { checkPermissions } from \"./security.js\";\n\nconst validateAbortExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateGetExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateListExportContentEntries = zod.object({\n limit: zod.number().optional().default(50),\n after: zod.string().optional()\n});\n\nconst validateImportFromUrl = zod.object({\n data: zod.string().or(zod.object({}).passthrough())\n});\n\nconst getValidateImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst getImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst importFromUrlValidation = zod.object({\n id: zod.string(),\n maxInsertErrors: zod.number().optional().default(100),\n overwrite: zod.boolean().optional().default(false)\n});\n\nconst abortImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst validateExportContentEntriesInput = zod.object({\n exportAssets: zod.boolean().optional().default(false),\n limit: zod.number().optional(),\n where: zod.object({}).passthrough().optional().default({}),\n sort: zod.array(zod.string()).optional()\n});\n/**\n * Create export resolver for each of the models given.\n */\nconst createExportContentEntries = (models: NonEmptyArray<CmsModel>) => {\n return models.reduce<GenericRecord<string>>((resolvers, model) => {\n resolvers[`export${model.pluralApiName}ContentEntries`] = async (\n _: unknown,\n input: unknown,\n context: Context\n ) => {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateExportContentEntriesInput.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.exportContentEntries({\n ...result.data,\n modelId: model.modelId,\n sort: result.data.sort ? (result.data.sort as CmsEntryListSort) : undefined,\n where: result.data.where ? (result.data.where as CmsEntryListWhere) : undefined\n });\n });\n };\n return resolvers;\n }, {});\n};\n\nexport const createResolvers = (models: NonEmptyArray<CmsModel>) => {\n return {\n Query: {\n async getExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateGetExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getExportContentEntries(result.data);\n });\n },\n async listExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolveList(async () => {\n await checkPermissions(context);\n\n const result = validateListExportContentEntries.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return await context.cmsImportExport.listExportContentEntries(result.data);\n });\n },\n async getValidateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getValidateImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getValidateImportFromUrl(result.data);\n });\n },\n async getImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getImportFromUrl(result.data);\n });\n }\n },\n Mutation: {\n ...createExportContentEntries(models),\n async abortExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateAbortExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortExportContentEntries(result.data);\n });\n },\n async validateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.validateImportFromUrl(result.data);\n });\n },\n async importFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = importFromUrlValidation.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.importFromUrl(result.data);\n });\n },\n async abortImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = abortImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortImportFromUrl(result.data);\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createZodError","resolve","resolveList","zod","checkPermissions","validateAbortExportContentEntries","object","id","string","validateGetExportContentEntries","validateListExportContentEntries","limit","number","optional","default","after","validateImportFromUrl","data","or","looseObject","getValidateImportFromUrl","getImportFromUrl","importFromUrlValidation","maxInsertErrors","overwrite","boolean","abortImportFromUrl","validateExportContentEntriesInput","exportAssets","where","sort","array","createExportContentEntries","models","reduce","resolvers","model","pluralApiName","_","input","context","result","safeParse","success","error","cmsImportExport","exportContentEntries","modelId","undefined","createResolvers","Query","getExportContentEntries","listExportContentEntries","Mutation","abortExportContentEntries","importFromUrl"],"sources":["resolvers.ts"],"sourcesContent":["import type { Context } from \"~/types.js\";\nimport { createZodError } from \"@webiny/utils\";\nimport { resolve, resolveList } from \"@webiny/handler-graphql\";\nimport zod from \"zod\";\nimport type { GenericRecord, NonEmptyArray } from \"@webiny/api/types.js\";\nimport type {\n CmsEntryListSort,\n CmsEntryListWhere,\n CmsModel\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { checkPermissions } from \"./security.js\";\n\nconst validateAbortExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateGetExportContentEntries = zod.object({\n id: zod.string()\n});\n\nconst validateListExportContentEntries = zod.object({\n limit: zod.number().optional().default(50),\n after: zod.string().optional()\n});\n\nconst validateImportFromUrl = zod.object({\n data: zod.string().or(zod.looseObject({}))\n});\n\nconst getValidateImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst getImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst importFromUrlValidation = zod.object({\n id: zod.string(),\n maxInsertErrors: zod.number().optional().default(100),\n overwrite: zod.boolean().optional().default(false)\n});\n\nconst abortImportFromUrl = zod.object({\n id: zod.string()\n});\n\nconst validateExportContentEntriesInput = zod.object({\n exportAssets: zod.boolean().optional().default(false),\n limit: zod.number().optional(),\n where: zod.looseObject({}).optional().default({}),\n sort: zod.array(zod.string()).optional()\n});\n/**\n * Create export resolver for each of the models given.\n */\nconst createExportContentEntries = (models: NonEmptyArray<CmsModel>) => {\n return models.reduce<GenericRecord<string>>((resolvers, model) => {\n resolvers[`export${model.pluralApiName}ContentEntries`] = async (\n _: unknown,\n input: unknown,\n context: Context\n ) => {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateExportContentEntriesInput.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.exportContentEntries({\n ...result.data,\n modelId: model.modelId,\n sort: result.data.sort ? (result.data.sort as CmsEntryListSort) : undefined,\n where: result.data.where ? (result.data.where as CmsEntryListWhere) : undefined\n });\n });\n };\n return resolvers;\n }, {});\n};\n\nexport const createResolvers = (models: NonEmptyArray<CmsModel>) => {\n return {\n Query: {\n async getExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateGetExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getExportContentEntries(result.data);\n });\n },\n async listExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolveList(async () => {\n await checkPermissions(context);\n\n const result = validateListExportContentEntries.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return await context.cmsImportExport.listExportContentEntries(result.data);\n });\n },\n async getValidateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getValidateImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getValidateImportFromUrl(result.data);\n });\n },\n async getImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = getImportFromUrl.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.getImportFromUrl(result.data);\n });\n }\n },\n Mutation: {\n ...createExportContentEntries(models),\n async abortExportContentEntries(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateAbortExportContentEntries.safeParse(input);\n\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortExportContentEntries(result.data);\n });\n },\n async validateImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = validateImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.validateImportFromUrl(result.data);\n });\n },\n async importFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = importFromUrlValidation.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.importFromUrl(result.data);\n });\n },\n async abortImportFromUrl(_: unknown, input: unknown, context: Context) {\n return resolve(async () => {\n await checkPermissions(context);\n\n const result = abortImportFromUrl.safeParse(input);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n return await context.cmsImportExport.abortImportFromUrl(result.data);\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/index.js
CHANGED
|
@@ -10,8 +10,9 @@ import { ImportFromUrlControllerTaskFeature } from "./features/ImportFromUrlCont
|
|
|
10
10
|
import { ImportFromUrlDownloadTaskFeature } from "./features/ImportFromUrlDownloadTask/feature.js";
|
|
11
11
|
import { ImportFromUrlProcessEntriesTaskFeature } from "./features/ImportFromUrlProcessEntriesTask/feature.js";
|
|
12
12
|
import { ImportFromUrlProcessAssetsTaskFeature } from "./features/ImportFromUrlProcessAssetsTask/feature.js";
|
|
13
|
+
import { createBeforeHandlerPlugin } from "@webiny/handler";
|
|
13
14
|
export const createHeadlessCmsImportExport = () => {
|
|
14
|
-
const
|
|
15
|
+
const contextPlugin = new ContextPlugin(async context => {
|
|
15
16
|
const installed = await isHeadlessCmsReady(context);
|
|
16
17
|
if (!installed) {
|
|
17
18
|
return;
|
|
@@ -25,10 +26,13 @@ export const createHeadlessCmsImportExport = () => {
|
|
|
25
26
|
ImportFromUrlProcessEntriesTaskFeature.register(context.container);
|
|
26
27
|
ImportFromUrlProcessAssetsTaskFeature.register(context.container);
|
|
27
28
|
context.cmsImportExport = await createHeadlessCmsImportExportCrud(context);
|
|
29
|
+
});
|
|
30
|
+
contextPlugin.name = "headlessCms.context.importExport";
|
|
31
|
+
const beforeHandlerPlugin = createBeforeHandlerPlugin(async context => {
|
|
28
32
|
await attachHeadlessCmsImportExportGraphQL(context);
|
|
29
33
|
});
|
|
30
|
-
|
|
31
|
-
return [
|
|
34
|
+
beforeHandlerPlugin.name = "headlessCms.beforeHandler.importExport";
|
|
35
|
+
return [contextPlugin, beforeHandlerPlugin];
|
|
32
36
|
};
|
|
33
37
|
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ContextPlugin","attachHeadlessCmsImportExportGraphQL","isHeadlessCmsReady","createHeadlessCmsImportExportCrud","ExportContentEntriesControllerTaskFeature","ExportContentEntriesTaskFeature","ExportContentAssetsTaskFeature","ValidateImportFromUrlTaskFeature","ImportFromUrlControllerTaskFeature","ImportFromUrlDownloadTaskFeature","ImportFromUrlProcessEntriesTaskFeature","ImportFromUrlProcessAssetsTaskFeature","createHeadlessCmsImportExport","
|
|
1
|
+
{"version":3,"names":["ContextPlugin","attachHeadlessCmsImportExportGraphQL","isHeadlessCmsReady","createHeadlessCmsImportExportCrud","ExportContentEntriesControllerTaskFeature","ExportContentEntriesTaskFeature","ExportContentAssetsTaskFeature","ValidateImportFromUrlTaskFeature","ImportFromUrlControllerTaskFeature","ImportFromUrlDownloadTaskFeature","ImportFromUrlProcessEntriesTaskFeature","ImportFromUrlProcessAssetsTaskFeature","createBeforeHandlerPlugin","createHeadlessCmsImportExport","contextPlugin","context","installed","register","container","cmsImportExport","name","beforeHandlerPlugin"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { Plugin } from \"@webiny/plugins/types.js\";\nimport { attachHeadlessCmsImportExportGraphQL } from \"~/graphql/index.js\";\nimport type { Context } from \"./types.js\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { createHeadlessCmsImportExportCrud } from \"~/crud/index.js\";\nimport { ExportContentEntriesControllerTaskFeature } from \"~/features/ExportContentEntriesControllerTask/feature.js\";\nimport { ExportContentEntriesTaskFeature } from \"~/features/ExportContentEntriesTask/feature.js\";\nimport { ExportContentAssetsTaskFeature } from \"~/features/ExportContentAssetsTask/feature.js\";\nimport { ValidateImportFromUrlTaskFeature } from \"~/features/ValidateImportFromUrlTask/feature.js\";\nimport { ImportFromUrlControllerTaskFeature } from \"~/features/ImportFromUrlControllerTask/feature.js\";\nimport { ImportFromUrlDownloadTaskFeature } from \"~/features/ImportFromUrlDownloadTask/feature.js\";\nimport { ImportFromUrlProcessEntriesTaskFeature } from \"~/features/ImportFromUrlProcessEntriesTask/feature.js\";\nimport { ImportFromUrlProcessAssetsTaskFeature } from \"~/features/ImportFromUrlProcessAssetsTask/feature.js\";\nimport { createBeforeHandlerPlugin } from \"@webiny/handler\";\n\nexport const createHeadlessCmsImportExport = (): Plugin[] => {\n const contextPlugin = new ContextPlugin<Context>(async context => {\n const installed = await isHeadlessCmsReady(context);\n if (!installed) {\n return;\n }\n\n ExportContentEntriesControllerTaskFeature.register(context.container);\n ExportContentEntriesTaskFeature.register(context.container);\n ExportContentAssetsTaskFeature.register(context.container);\n ValidateImportFromUrlTaskFeature.register(context.container);\n ImportFromUrlControllerTaskFeature.register(context.container);\n ImportFromUrlDownloadTaskFeature.register(context.container);\n ImportFromUrlProcessEntriesTaskFeature.register(context.container);\n ImportFromUrlProcessAssetsTaskFeature.register(context.container);\n\n context.cmsImportExport = await createHeadlessCmsImportExportCrud(context);\n });\n contextPlugin.name = \"headlessCms.context.importExport\";\n\n const beforeHandlerPlugin = createBeforeHandlerPlugin<Context>(async context => {\n await attachHeadlessCmsImportExportGraphQL(context);\n });\n beforeHandlerPlugin.name = \"headlessCms.beforeHandler.importExport\";\n\n return [contextPlugin, beforeHandlerPlugin];\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAE3C,SAASC,oCAAoC;AAE7C,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,iCAAiC;AAC1C,SAASC,yCAAyC;AAClD,SAASC,+BAA+B;AACxC,SAASC,8BAA8B;AACvC,SAASC,gCAAgC;AACzC,SAASC,kCAAkC;AAC3C,SAASC,gCAAgC;AACzC,SAASC,sCAAsC;AAC/C,SAASC,qCAAqC;AAC9C,SAASC,yBAAyB,QAAQ,iBAAiB;AAE3D,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAgB;EACzD,MAAMC,aAAa,GAAG,IAAId,aAAa,CAAU,MAAMe,OAAO,IAAI;IAC9D,MAAMC,SAAS,GAAG,MAAMd,kBAAkB,CAACa,OAAO,CAAC;IACnD,IAAI,CAACC,SAAS,EAAE;MACZ;IACJ;IAEAZ,yCAAyC,CAACa,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IACrEb,+BAA+B,CAACY,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAC3DZ,8BAA8B,CAACW,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAC1DX,gCAAgC,CAACU,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAC5DV,kCAAkC,CAACS,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAC9DT,gCAAgC,CAACQ,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAC5DR,sCAAsC,CAACO,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAClEP,qCAAqC,CAACM,QAAQ,CAACF,OAAO,CAACG,SAAS,CAAC;IAEjEH,OAAO,CAACI,eAAe,GAAG,MAAMhB,iCAAiC,CAACY,OAAO,CAAC;EAC9E,CAAC,CAAC;EACFD,aAAa,CAACM,IAAI,GAAG,kCAAkC;EAEvD,MAAMC,mBAAmB,GAAGT,yBAAyB,CAAU,MAAMG,OAAO,IAAI;IAC5E,MAAMd,oCAAoC,CAACc,OAAO,CAAC;EACvD,CAAC,CAAC;EACFM,mBAAmB,CAACD,IAAI,GAAG,wCAAwC;EAEnE,OAAO,CAACN,aAAa,EAAEO,mBAAmB,CAAC;AAC/C,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-import-export",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.81ae05e56b",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"description": "Import / Export for Webiny Headless CMS",
|
|
@@ -14,43 +14,43 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@smithy/node-http-handler": "4.
|
|
18
|
-
"@webiny/api-file-manager": "0.0.0-unstable.
|
|
19
|
-
"@webiny/api-headless-cms": "0.0.0-unstable.
|
|
20
|
-
"@webiny/aws-sdk": "0.0.0-unstable.
|
|
21
|
-
"@webiny/error": "0.0.0-unstable.
|
|
22
|
-
"@webiny/feature": "0.0.0-unstable.
|
|
23
|
-
"@webiny/handler-graphql": "0.0.0-unstable.
|
|
24
|
-
"@webiny/plugins": "0.0.0-unstable.
|
|
25
|
-
"@webiny/project-utils": "0.0.0-unstable.
|
|
26
|
-
"@webiny/tasks": "0.0.0-unstable.
|
|
27
|
-
"@webiny/utils": "0.0.0-unstable.
|
|
17
|
+
"@smithy/node-http-handler": "4.5.0",
|
|
18
|
+
"@webiny/api-file-manager": "0.0.0-unstable.81ae05e56b",
|
|
19
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.81ae05e56b",
|
|
20
|
+
"@webiny/aws-sdk": "0.0.0-unstable.81ae05e56b",
|
|
21
|
+
"@webiny/error": "0.0.0-unstable.81ae05e56b",
|
|
22
|
+
"@webiny/feature": "0.0.0-unstable.81ae05e56b",
|
|
23
|
+
"@webiny/handler-graphql": "0.0.0-unstable.81ae05e56b",
|
|
24
|
+
"@webiny/plugins": "0.0.0-unstable.81ae05e56b",
|
|
25
|
+
"@webiny/project-utils": "0.0.0-unstable.81ae05e56b",
|
|
26
|
+
"@webiny/tasks": "0.0.0-unstable.81ae05e56b",
|
|
27
|
+
"@webiny/utils": "0.0.0-unstable.81ae05e56b",
|
|
28
28
|
"archiver": "7.0.1",
|
|
29
29
|
"bytes": "3.1.2",
|
|
30
30
|
"uniqid": "5.4.0",
|
|
31
31
|
"unzipper": "0.12.3",
|
|
32
|
-
"zod": "3.
|
|
32
|
+
"zod": "4.3.6"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@types/adm-zip": "0.5.
|
|
36
|
-
"@types/archiver": "
|
|
35
|
+
"@types/adm-zip": "0.5.8",
|
|
36
|
+
"@types/archiver": "7.0.0",
|
|
37
37
|
"@types/unzipper": "0.10.11",
|
|
38
|
-
"@webiny/api": "0.0.0-unstable.
|
|
39
|
-
"@webiny/api-core": "0.0.0-unstable.
|
|
40
|
-
"@webiny/build-tools": "0.0.0-unstable.
|
|
41
|
-
"@webiny/handler": "0.0.0-unstable.
|
|
42
|
-
"@webiny/handler-aws": "0.0.0-unstable.
|
|
38
|
+
"@webiny/api": "0.0.0-unstable.81ae05e56b",
|
|
39
|
+
"@webiny/api-core": "0.0.0-unstable.81ae05e56b",
|
|
40
|
+
"@webiny/build-tools": "0.0.0-unstable.81ae05e56b",
|
|
41
|
+
"@webiny/handler": "0.0.0-unstable.81ae05e56b",
|
|
42
|
+
"@webiny/handler-aws": "0.0.0-unstable.81ae05e56b",
|
|
43
43
|
"@webiny/plugins": "0.0.0",
|
|
44
|
-
"@webiny/wcp": "0.0.0-unstable.
|
|
44
|
+
"@webiny/wcp": "0.0.0-unstable.81ae05e56b",
|
|
45
45
|
"adm-zip": "0.5.16",
|
|
46
46
|
"aws-sdk-client-mock": "4.1.0",
|
|
47
|
-
"graphql": "16.
|
|
47
|
+
"graphql": "16.13.1",
|
|
48
48
|
"typescript": "5.9.3",
|
|
49
|
-
"vitest": "
|
|
49
|
+
"vitest": "4.1.0"
|
|
50
50
|
},
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public",
|
|
53
53
|
"directory": "dist"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "81ae05e56bcc774d1e077ca615a0005e736aa5a6"
|
|
56
56
|
}
|