@webiny/api-headless-cms 6.2.0 → 6.3.0-beta.0

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.
Files changed (73) hide show
  1. package/crud/AccessControl/README.md +1 -1
  2. package/export/types.js.map +1 -1
  3. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +1 -1
  4. package/features/contentEntry/ContentEntriesFeature.d.ts +4 -1
  5. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +4 -1
  6. package/features/contentEntry/CreateEntry/feature.d.ts +4 -1
  7. package/features/contentEntry/CreateEntryRevisionFrom/feature.d.ts +4 -1
  8. package/features/contentEntry/DeleteEntry/feature.d.ts +4 -1
  9. package/features/contentEntry/DeleteEntryRevision/feature.d.ts +4 -1
  10. package/features/contentEntry/DeleteMultipleEntries/feature.d.ts +4 -1
  11. package/features/contentEntry/GetEntriesByIds/feature.d.ts +4 -1
  12. package/features/contentEntry/GetEntry/feature.d.ts +4 -1
  13. package/features/contentEntry/GetEntryById/feature.d.ts +4 -1
  14. package/features/contentEntry/GetLatestEntriesByIds/feature.d.ts +4 -1
  15. package/features/contentEntry/GetLatestRevisionByEntryId/feature.d.ts +4 -1
  16. package/features/contentEntry/GetPreviousRevisionByEntryId/feature.d.ts +4 -1
  17. package/features/contentEntry/GetPublishedEntriesByIds/feature.d.ts +4 -1
  18. package/features/contentEntry/GetPublishedRevisionByEntryId/feature.d.ts +4 -1
  19. package/features/contentEntry/GetRevisionById/feature.d.ts +4 -1
  20. package/features/contentEntry/GetRevisionsByEntryId/feature.d.ts +4 -1
  21. package/features/contentEntry/GetSingletonEntry/feature.d.ts +4 -1
  22. package/features/contentEntry/GetUniqueFieldValues/feature.d.ts +4 -1
  23. package/features/contentEntry/ListEntries/feature.d.ts +4 -1
  24. package/features/contentEntry/MoveEntry/feature.d.ts +4 -1
  25. package/features/contentEntry/PublishEntry/feature.d.ts +4 -1
  26. package/features/contentEntry/RepublishEntry/feature.d.ts +4 -1
  27. package/features/contentEntry/RestoreEntryFromBin/feature.d.ts +4 -1
  28. package/features/contentEntry/UnpublishEntry/feature.d.ts +4 -1
  29. package/features/contentEntry/UpdateEntry/feature.d.ts +4 -1
  30. package/features/contentEntry/UpdateSingletonEntry/feature.d.ts +4 -1
  31. package/features/contentEntry/ValidateEntry/feature.d.ts +4 -1
  32. package/features/contentModel/ContentModelFeature.d.ts +4 -1
  33. package/features/contentModel/CreateModel/feature.d.ts +4 -1
  34. package/features/contentModel/CreateModelFrom/feature.d.ts +4 -1
  35. package/features/contentModel/DeleteModel/feature.d.ts +4 -1
  36. package/features/contentModel/GetModel/feature.d.ts +4 -1
  37. package/features/contentModel/ListModels/feature.d.ts +4 -1
  38. package/features/contentModel/ModelToAstConverter/feature.d.ts +4 -1
  39. package/features/contentModel/UpdateModel/feature.d.ts +4 -1
  40. package/features/contentModelGroup/ContentModelGroupFeature.d.ts +4 -1
  41. package/features/contentModelGroup/CreateGroup/feature.d.ts +4 -1
  42. package/features/contentModelGroup/DeleteGroup/feature.d.ts +4 -1
  43. package/features/contentModelGroup/GetGroup/feature.d.ts +4 -1
  44. package/features/contentModelGroup/ListGroups/feature.d.ts +4 -1
  45. package/features/contentModelGroup/UpdateGroup/feature.d.ts +4 -1
  46. package/features/graphql/feature.d.ts +4 -1
  47. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  48. package/features/installer/feature.d.ts +4 -1
  49. package/features/modelBuilder/feature.d.ts +4 -1
  50. package/features/modelBuilder/fields/BooleanFieldType.d.ts +2 -4
  51. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  52. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  53. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  54. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  55. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  56. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  57. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  58. package/features/sortMapper/feature.d.ts +4 -1
  59. package/features/storage/feature.d.ts +4 -1
  60. package/features/storage/fields/LongTextStorageTransform.js.map +1 -1
  61. package/features/validation/feature.d.ts +4 -1
  62. package/features/whereMapper/feature.d.ts +4 -1
  63. package/graphql/schema/contentEntries.js +1 -1
  64. package/graphql/schema/contentEntries.js.map +1 -1
  65. package/graphql/schema/createManageSDL.js +1 -1
  66. package/graphql/schema/createManageSDL.js.map +1 -1
  67. package/graphql/schema/createSingularSDL.js +1 -1
  68. package/graphql/schema/createSingularSDL.js.map +1 -1
  69. package/package.json +22 -22
  70. package/plugins/CmsModelPlugin.js.map +1 -1
  71. package/types/types.js.map +1 -1
  72. package/utils/converters/types.js.map +1 -1
  73. package/utils/createModelField.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","DataFieldBuilder","LongTextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","LongTextFieldTypeFactory","type","create","LongTextFieldType","createImplementation","implementation","dependencies"],"sources":["LongTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport {\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator\n} from \"./fieldTypeValidator.js\";\n\nexport interface ILongTextFieldBuilder\n extends DataFieldBuilder<\"long-text\">,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator {}\n\nclass LongTextFieldBuilder extends DataFieldBuilder<\"long-text\"> implements ILongTextFieldBuilder {\n public constructor() {\n super(\"long-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n}\n\nclass LongTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"long-text\";\n\n create(): ILongTextFieldBuilder {\n return new LongTextFieldBuilder();\n }\n}\n\nexport const LongTextFieldType = FieldType.createImplementation({\n implementation: LongTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n longText(): ILongTextFieldBuilder;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","LongTextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","LongTextFieldTypeFactory","type","create","LongTextFieldType","createImplementation","implementation","dependencies"],"sources":["LongTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport {\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator\n} from \"./fieldTypeValidator.js\";\n\nexport interface ILongTextFieldBuilder\n extends\n DataFieldBuilder<\"long-text\">,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator {}\n\nclass LongTextFieldBuilder extends DataFieldBuilder<\"long-text\"> implements ILongTextFieldBuilder {\n public constructor() {\n super(\"long-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n}\n\nclass LongTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"long-text\";\n\n create(): ILongTextFieldBuilder {\n return new LongTextFieldBuilder();\n }\n}\n\nexport const LongTextFieldType = FieldType.createImplementation({\n implementation: LongTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n longText(): ILongTextFieldBuilder;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","DataFieldBuilder","NumberFieldBuilder","constructor","required","message","validation","name","settings","gte","value","String","lte","NumberFieldTypeFactory","type","create","NumberFieldType","createImplementation","implementation","dependencies"],"sources":["NumberFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, GteValidator, LteValidator } from \"./fieldTypeValidator.js\";\n\nexport interface INumberFieldBuilder\n extends DataFieldBuilder<\"number\">,\n RequiredValidator,\n GteValidator,\n LteValidator {}\n\nclass NumberFieldBuilder extends DataFieldBuilder<\"number\"> implements INumberFieldBuilder {\n public constructor() {\n super(\"number\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n gte(value: number, message?: string): this {\n return this.validation({\n name: \"gte\",\n message: message || \"Value is too small.\",\n settings: { value: String(value) }\n });\n }\n\n lte(value: number, message?: string): this {\n return this.validation({\n name: \"lte\",\n message: message || \"Value is too large.\",\n settings: { value: String(value) }\n });\n }\n}\n\nclass NumberFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"number\";\n\n create(): INumberFieldBuilder {\n return new NumberFieldBuilder();\n }\n}\n\nexport const NumberFieldType = FieldType.createImplementation({\n implementation: NumberFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n number(): INumberFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AASzB,MAAMC,kBAAkB,SAASD,gBAAgB,CAA0C;EAChFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,QAAQ,CAAC;EACnB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,GAAGA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,GAAGA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;AACJ;AAEA,MAAMG,sBAAsB,CAA8B;EAC7CC,IAAI,GAAG,QAAQ;EAExBC,MAAMA,CAAA,EAAwB;IAC1B,OAAO,IAAIb,kBAAkB,CAAC,CAAC;EACnC;AACJ;AAEA,OAAO,MAAMc,eAAe,GAAGhB,SAAS,CAACiB,oBAAoB,CAAC;EAC1DC,cAAc,EAAEL,sBAAsB;EACtCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","NumberFieldBuilder","constructor","required","message","validation","name","settings","gte","value","String","lte","NumberFieldTypeFactory","type","create","NumberFieldType","createImplementation","implementation","dependencies"],"sources":["NumberFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, GteValidator, LteValidator } from \"./fieldTypeValidator.js\";\n\nexport interface INumberFieldBuilder\n extends DataFieldBuilder<\"number\">, RequiredValidator, GteValidator, LteValidator {}\n\nclass NumberFieldBuilder extends DataFieldBuilder<\"number\"> implements INumberFieldBuilder {\n public constructor() {\n super(\"number\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n gte(value: number, message?: string): this {\n return this.validation({\n name: \"gte\",\n message: message || \"Value is too small.\",\n settings: { value: String(value) }\n });\n }\n\n lte(value: number, message?: string): this {\n return this.validation({\n name: \"lte\",\n message: message || \"Value is too large.\",\n settings: { value: String(value) }\n });\n }\n}\n\nclass NumberFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"number\";\n\n create(): INumberFieldBuilder {\n return new NumberFieldBuilder();\n }\n}\n\nexport const NumberFieldType = FieldType.createImplementation({\n implementation: NumberFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n number(): INumberFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAMzB,MAAMC,kBAAkB,SAASD,gBAAgB,CAA0C;EAChFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,QAAQ,CAAC;EACnB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,GAAGA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,GAAGA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;AACJ;AAEA,MAAMG,sBAAsB,CAA8B;EAC7CC,IAAI,GAAG,QAAQ;EAExBC,MAAMA,CAAA,EAAwB;IAC1B,OAAO,IAAIb,kBAAkB,CAAC,CAAC;EACnC;AACJ;AAEA,OAAO,MAAMc,eAAe,GAAGhB,SAAS,CAACiB,oBAAoB,CAAC;EAC1DC,cAAc,EAAEL,sBAAsB;EACtCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","DataFieldBuilder","RefFieldBuilder","constructor","required","message","validation","name","settings","models","config","RefFieldTypeFactory","type","create","RefFieldType","createImplementation","implementation","dependencies"],"sources":["RefFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface IRefFieldBuilder\n extends DataFieldBuilder<\"ref\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.ListMinLength,\n FieldTypeValidator.ListMaxLength {\n models(models: Array<{ modelId: string }>): this;\n}\n\nclass RefFieldBuilder extends DataFieldBuilder<\"ref\"> implements IRefFieldBuilder {\n public constructor() {\n super(\"ref\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n models(models: Array<{ modelId: string }>): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.models = models;\n return this;\n }\n}\n\nclass RefFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"ref\";\n\n create(): IRefFieldBuilder {\n return new RefFieldBuilder();\n }\n}\n\nexport const RefFieldType = FieldType.createImplementation({\n implementation: RefFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n ref(): IRefFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAWzB,MAAMC,eAAe,SAASD,gBAAgB,CAAoC;EACvEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,KAAK,CAAC;EAChB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,MAAMA,CAACA,MAAkC,EAAQ;IAC7C,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,MAAM,GAAGA,MAAM;IACpC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,mBAAmB,CAA8B;EAC1CC,IAAI,GAAG,KAAK;EAErBC,MAAMA,CAAA,EAAqB;IACvB,OAAO,IAAIX,eAAe,CAAC,CAAC;EAChC;AACJ;AAEA,OAAO,MAAMY,YAAY,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACvDC,cAAc,EAAEL,mBAAmB;EACnCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","RefFieldBuilder","constructor","required","message","validation","name","settings","models","config","RefFieldTypeFactory","type","create","RefFieldType","createImplementation","implementation","dependencies"],"sources":["RefFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface IRefFieldBuilder\n extends\n DataFieldBuilder<\"ref\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.ListMinLength,\n FieldTypeValidator.ListMaxLength {\n models(models: Array<{ modelId: string }>): this;\n}\n\nclass RefFieldBuilder extends DataFieldBuilder<\"ref\"> implements IRefFieldBuilder {\n public constructor() {\n super(\"ref\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n models(models: Array<{ modelId: string }>): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.models = models;\n return this;\n }\n}\n\nclass RefFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"ref\";\n\n create(): IRefFieldBuilder {\n return new RefFieldBuilder();\n }\n}\n\nexport const RefFieldType = FieldType.createImplementation({\n implementation: RefFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n ref(): IRefFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAYzB,MAAMC,eAAe,SAASD,gBAAgB,CAAoC;EACvEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,KAAK,CAAC;EAChB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,MAAMA,CAACA,MAAkC,EAAQ;IAC7C,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,MAAM,GAAGA,MAAM;IACpC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,mBAAmB,CAA8B;EAC1CC,IAAI,GAAG,KAAK;EAErBC,MAAMA,CAAA,EAAqB;IACvB,OAAO,IAAIX,eAAe,CAAC,CAAC;EAChC;AACJ;AAEA,OAAO,MAAMY,YAAY,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACvDC,cAAc,EAAEL,mBAAmB;EACnCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","DataFieldBuilder","FieldType","TextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","unique","TextFieldTypeFactory","type","create","TextFieldType","abstraction","implementation","dependencies"],"sources":["TextFieldType.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface ITextFieldBuilder\n extends DataFieldBuilder<\"text\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.MinLength,\n FieldTypeValidator.MaxLength,\n FieldTypeValidator.Pattern,\n FieldTypeValidator.Email,\n FieldTypeValidator.Url,\n FieldTypeValidator.LowerCase,\n FieldTypeValidator.UpperCase,\n FieldTypeValidator.LowerCaseSpace,\n FieldTypeValidator.UpperCaseSpace,\n FieldTypeValidator.Unique {}\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n text(): ITextFieldBuilder;\n }\n}\n\nclass TextFieldBuilder extends DataFieldBuilder<\"text\"> implements ITextFieldBuilder {\n public constructor() {\n super(\"text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n unique(message?: string): this {\n return this.validation({\n name: \"unique\",\n message: message || \"Value must be unique.\",\n settings: {}\n });\n }\n}\n\nclass TextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"text\";\n\n create(): ITextFieldBuilder {\n return new TextFieldBuilder();\n }\n}\n\nexport const TextFieldType = createImplementation({\n abstraction: FieldType,\n implementation: TextFieldTypeFactory,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","DataFieldBuilder","FieldType","TextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","unique","TextFieldTypeFactory","type","create","TextFieldType","abstraction","implementation","dependencies"],"sources":["TextFieldType.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface ITextFieldBuilder\n extends\n DataFieldBuilder<\"text\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.MinLength,\n FieldTypeValidator.MaxLength,\n FieldTypeValidator.Pattern,\n FieldTypeValidator.Email,\n FieldTypeValidator.Url,\n FieldTypeValidator.LowerCase,\n FieldTypeValidator.UpperCase,\n FieldTypeValidator.LowerCaseSpace,\n FieldTypeValidator.UpperCaseSpace,\n FieldTypeValidator.Unique {}\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n text(): ITextFieldBuilder;\n }\n}\n\nclass TextFieldBuilder extends DataFieldBuilder<\"text\"> implements ITextFieldBuilder {\n public constructor() {\n super(\"text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n unique(message?: string): this {\n return this.validation({\n name: \"unique\",\n message: message || \"Value must be unique.\",\n settings: {}\n });\n }\n}\n\nclass TextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"text\";\n\n create(): ITextFieldBuilder {\n return new TextFieldBuilder();\n }\n}\n\nexport const TextFieldType = createImplementation({\n abstraction: FieldType,\n implementation: TextFieldTypeFactory,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,6 @@
1
1
  export type { ICmsSortMapperParams, ICmsSortMapper } from "./abstractions.js";
2
2
  export { CmsSortMapper } from "./abstractions.js";
3
- export declare const CmsSortMapperFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
3
+ export declare const CmsSortMapperFeature: {
4
+ name: string;
5
+ register(container: import("@webiny/di").Container): void;
6
+ };
@@ -1 +1,4 @@
1
- export declare const StorageFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const StorageFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1 +1 @@
1
- {"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","LongTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","typeOf","Array","isArray","storageId","fieldId","sv","result","decompress","JSON","parse","ex","console","log","message","toStorage","initialValue","compression","stringify","compressed","compress","LongTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["LongTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\ninterface StorageValue {\n compression: string;\n value: string;\n isArray?: boolean;\n}\n\nclass LongTextStorageTransformImpl\n implements StorageTransform.Interface<string | string[], StorageValue>\n{\n public readonly fieldType = \"long-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.FromStorageResponse<string | string[]> {\n const typeOf = typeof storageValue;\n if (\n !storageValue ||\n typeOf === \"string\" ||\n typeOf === \"number\" ||\n Array.isArray(storageValue) === true\n ) {\n return storageValue as unknown as string | string[];\n } else if (typeOf !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n const sv = storageValue as unknown as StorageValue;\n const result = await this.compressionHandler.decompress<string>(storageValue);\n if (!sv.isArray) {\n return result;\n }\n return JSON.parse(result);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n }\n\n public async toStorage({\n value: initialValue\n }: StorageTransform.ToStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.ToStorageResponse<StorageValue> {\n if (initialValue && (initialValue as unknown as StorageValue).compression) {\n return initialValue as unknown as StorageValue;\n }\n const isArray = Array.isArray(initialValue);\n const value = isArray ? JSON.stringify(initialValue) : initialValue;\n const compressed = await this.compressionHandler.compress(value);\n\n if (!isArray) {\n return compressed as unknown as StorageValue;\n }\n return { ...compressed, isArray } as unknown as StorageValue;\n }\n}\n\nexport const LongTextStorageTransform = StorageTransform.createImplementation({\n implementation: LongTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAQjE,MAAMC,4BAA4B,CAElC;EACoBC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EAIX,CAAC,EAA2D;IACxD,MAAMC,MAAM,GAAG,OAAOD,YAAY;IAClC,IACI,CAACA,YAAY,IACbC,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,KAAK,IAAI,EACtC;MACE,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIV,WAAW,CACjB,gFAAgFO,KAAK,CAACM,SAAS,OAAON,KAAK,CAACO,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,MAAMC,EAAE,GAAGN,YAAuC;MAClD,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACX,kBAAkB,CAACY,UAAU,CAASR,YAAY,CAAC;MAC7E,IAAI,CAACM,EAAE,CAACH,OAAO,EAAE;QACb,OAAOI,MAAM;MACjB;MACA,OAAOE,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAC7B,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;MAClDD,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;MACvB,OAAO,EAAE;IACb;EACJ;EAEA,MAAaC,SAASA,CAAC;IACnBhB,KAAK,EAAEiB;EAIX,CAAC,EAAoD;IACjD,IAAIA,YAAY,IAAKA,YAAY,CAA6BC,WAAW,EAAE;MACvE,OAAOD,YAAY;IACvB;IACA,MAAMb,OAAO,GAAGD,KAAK,CAACC,OAAO,CAACa,YAAY,CAAC;IAC3C,MAAMjB,KAAK,GAAGI,OAAO,GAAGM,IAAI,CAACS,SAAS,CAACF,YAAY,CAAC,GAAGA,YAAY;IACnE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACvB,kBAAkB,CAACwB,QAAQ,CAACrB,KAAK,CAAC;IAEhE,IAAI,CAACI,OAAO,EAAE;MACV,OAAOgB,UAAU;IACrB;IACA,OAAO;MAAE,GAAGA,UAAU;MAAEhB;IAAQ,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMkB,wBAAwB,GAAG/B,gBAAgB,CAACgC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE9B,4BAA4B;EAC5C+B,YAAY,EAAE,CAAChC,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","LongTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","typeOf","Array","isArray","storageId","fieldId","sv","result","decompress","JSON","parse","ex","console","log","message","toStorage","initialValue","compression","stringify","compressed","compress","LongTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["LongTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\ninterface StorageValue {\n compression: string;\n value: string;\n isArray?: boolean;\n}\n\nclass LongTextStorageTransformImpl implements StorageTransform.Interface<\n string | string[],\n StorageValue\n> {\n public readonly fieldType = \"long-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.FromStorageResponse<string | string[]> {\n const typeOf = typeof storageValue;\n if (\n !storageValue ||\n typeOf === \"string\" ||\n typeOf === \"number\" ||\n Array.isArray(storageValue) === true\n ) {\n return storageValue as unknown as string | string[];\n } else if (typeOf !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n const sv = storageValue as unknown as StorageValue;\n const result = await this.compressionHandler.decompress<string>(storageValue);\n if (!sv.isArray) {\n return result;\n }\n return JSON.parse(result);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n }\n\n public async toStorage({\n value: initialValue\n }: StorageTransform.ToStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.ToStorageResponse<StorageValue> {\n if (initialValue && (initialValue as unknown as StorageValue).compression) {\n return initialValue as unknown as StorageValue;\n }\n const isArray = Array.isArray(initialValue);\n const value = isArray ? JSON.stringify(initialValue) : initialValue;\n const compressed = await this.compressionHandler.compress(value);\n\n if (!isArray) {\n return compressed as unknown as StorageValue;\n }\n return { ...compressed, isArray } as unknown as StorageValue;\n }\n}\n\nexport const LongTextStorageTransform = StorageTransform.createImplementation({\n implementation: LongTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAQjE,MAAMC,4BAA4B,CAGhC;EACkBC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EAIX,CAAC,EAA2D;IACxD,MAAMC,MAAM,GAAG,OAAOD,YAAY;IAClC,IACI,CAACA,YAAY,IACbC,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,KAAK,IAAI,EACtC;MACE,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIV,WAAW,CACjB,gFAAgFO,KAAK,CAACM,SAAS,OAAON,KAAK,CAACO,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,MAAMC,EAAE,GAAGN,YAAuC;MAClD,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACX,kBAAkB,CAACY,UAAU,CAASR,YAAY,CAAC;MAC7E,IAAI,CAACM,EAAE,CAACH,OAAO,EAAE;QACb,OAAOI,MAAM;MACjB;MACA,OAAOE,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAC7B,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;MAClDD,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;MACvB,OAAO,EAAE;IACb;EACJ;EAEA,MAAaC,SAASA,CAAC;IACnBhB,KAAK,EAAEiB;EAIX,CAAC,EAAoD;IACjD,IAAIA,YAAY,IAAKA,YAAY,CAA6BC,WAAW,EAAE;MACvE,OAAOD,YAAY;IACvB;IACA,MAAMb,OAAO,GAAGD,KAAK,CAACC,OAAO,CAACa,YAAY,CAAC;IAC3C,MAAMjB,KAAK,GAAGI,OAAO,GAAGM,IAAI,CAACS,SAAS,CAACF,YAAY,CAAC,GAAGA,YAAY;IACnE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACvB,kBAAkB,CAACwB,QAAQ,CAACrB,KAAK,CAAC;IAEhE,IAAI,CAACI,OAAO,EAAE;MACV,OAAOgB,UAAU;IACrB;IACA,OAAO;MAAE,GAAGA,UAAU;MAAEhB;IAAQ,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMkB,wBAAwB,GAAG/B,gBAAgB,CAACgC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE9B,4BAA4B;EAC5C+B,YAAY,EAAE,CAAChC,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const ValidationFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ValidationFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,3 +1,6 @@
1
1
  export type { ICmsWhereMapperParams, ICmsWhereMapper } from "./abstractions.js";
2
2
  export { CmsWhereMapper } from "./abstractions.js";
3
- export declare const CmsWhereMapperFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
3
+ export declare const CmsWhereMapperFeature: {
4
+ name: string;
5
+ register(container: import("@webiny/di").Container): void;
6
+ };
@@ -216,7 +216,7 @@ export const createContentEntriesSchema = ({
216
216
  return `${field}: ${fieldType}`;
217
217
  }).join("\n");
218
218
  const plugin = createCmsGraphQLSchemaPlugin({
219
- // Had to remove /* GraphQL */ because prettier would not format the code correctly.
219
+ // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.
220
220
  typeDefs: `
221
221
  type CmsModelMeta {
222
222
  modelId: String!
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","ErrorResponse","Response","getEntryTitle","createCmsGraphQLSchemaPlugin","getEntryDescription","getEntryImage","entryFieldFromStorageTransform","ENTRY_META_FIELDS","isDateTimeEntryMetaField","NotAuthorizedResponse","ListLatestEntriesUseCase","createDate","date","Date","createCmsEntryRecord","model","entry","id","entryId","modelId","name","status","title","description","image","createdOn","modifiedOn","savedOn","createdBy","savedBy","modifiedBy","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","wbyAco_location","folderId","location","getFetchMethod","type","context","getContentEntriesMethods","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","argsEntries","entries","entriesByModel","ref","includes","push","getters","Object","keys","map","length","results","Promise","all","items","concat","item","filter","Boolean","ex","getContentEntry","find","m","data","result","shift","createResolveDescription","parent","_","field","fields","f","fieldId","descriptionFieldId","value","createContentEntriesSchema","MANAGE","plugin","typeDefs","resolvers","onByMetaFields","fieldType","join","CmsContentEntry","getPublishedEntriesByIds","CmsPublishedContentEntry","Query","searchContentEntries","modelIds","query","limit","listLatest","container","resolve","where","execute","search","undefined","isFail","error","then","sort","a","b","getTime","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries"],"sources":["contentEntries.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryListWhere,\n CmsIdentity,\n CmsModel\n} from \"~/types/index.js\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { getEntryDescription } from \"~/utils/getEntryDescription.js\";\nimport { getEntryImage } from \"~/utils/getEntryImage.js\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage.js\";\nimport type { GraphQLFieldResolver } from \"@webiny/handler-graphql/types.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\nimport { ListLatestEntriesUseCase } from \"~/features/contentEntry/ListEntries/index.js\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\n\nconst createDate = (date: string | null): Date | null => {\n if (!date) {\n return null;\n }\n\n try {\n return new Date(date);\n } catch {\n return new Date();\n }\n};\n\ninterface CmsEntryRecord {\n id: string;\n entryId: string;\n model: {\n modelId: string;\n name: string;\n };\n status: string;\n title: string;\n description?: string | null;\n image?: string | null;\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: Date;\n modifiedOn: Date | null;\n savedOn: Date;\n createdBy: CmsIdentity;\n modifiedBy: CmsIdentity | null;\n savedBy: CmsIdentity;\n firstPublishedOn: Date | null;\n lastPublishedOn: Date | null;\n firstPublishedBy: CmsIdentity | null;\n lastPublishedBy: CmsIdentity | null;\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: Date;\n revisionModifiedOn: Date | null;\n revisionSavedOn: Date;\n revisionCreatedBy: CmsIdentity;\n revisionModifiedBy: CmsIdentity | null;\n revisionSavedBy: CmsIdentity;\n revisionFirstPublishedOn: Date | null;\n revisionLastPublishedOn: Date | null;\n revisionFirstPublishedBy: CmsIdentity | null;\n revisionLastPublishedBy: CmsIdentity | null;\n\n wbyAco_location?: {\n folderId?: string | null;\n };\n}\n\nconst createCmsEntryRecord = (model: CmsModel, entry: CmsEntry): CmsEntryRecord => {\n return {\n id: entry.id,\n entryId: entry.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry),\n description: getEntryDescription(model, entry),\n image: getEntryImage(model, entry),\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: createDate(entry.createdOn)!,\n modifiedOn: createDate(entry.modifiedOn),\n savedOn: createDate(entry.savedOn)!,\n createdBy: entry.createdBy,\n savedBy: entry.savedBy,\n modifiedBy: entry.modifiedBy,\n firstPublishedOn: createDate(entry.firstPublishedOn),\n lastPublishedOn: createDate(entry.lastPublishedOn),\n firstPublishedBy: entry.firstPublishedBy,\n lastPublishedBy: entry.lastPublishedBy,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: createDate(entry.revisionCreatedOn)!,\n revisionSavedOn: createDate(entry.revisionSavedOn)!,\n revisionModifiedOn: createDate(entry.revisionModifiedOn),\n revisionCreatedBy: entry.revisionCreatedBy,\n revisionModifiedBy: entry.revisionModifiedBy,\n revisionSavedBy: entry.revisionSavedBy,\n revisionFirstPublishedOn: createDate(entry.revisionFirstPublishedOn),\n revisionLastPublishedOn: createDate(entry.revisionLastPublishedOn),\n revisionFirstPublishedBy: entry.revisionFirstPublishedBy,\n revisionLastPublishedBy: entry.revisionLastPublishedBy,\n\n wbyAco_location: {\n folderId: entry.location?.folderId || null\n }\n };\n};\n\ninterface FetchMethod {\n (model: CmsModel, ids: string[]): Promise<CmsEntry[]>;\n}\n\nconst getFetchMethod = (type: GetContentEntryType, context: CmsContext): FetchMethod => {\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntries method \"${type}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type\n }\n );\n }\n const methodName = getContentEntriesMethods[type] as GetContentEntryMethods;\n if (!context.cms[methodName]) {\n throw new WebinyError(\n `Unknown context.cms method \"${methodName}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type,\n methodName\n }\n );\n }\n\n return context.cms[methodName];\n};\n\n/**\n * Function to get the list of content entries depending on latest, published or exact GraphQL queries.\n */\ninterface GetContentEntriesParams {\n args: {\n entries: Pick<CmsEntry, \"id\" | \"modelId\">[];\n };\n context: CmsContext;\n type: GetContentEntryType;\n}\n\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\n\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (\n params: GetContentEntriesParams\n): Promise<Response | ErrorResponse> => {\n const { args, context, type } = params;\n\n const method = getFetchMethod(type, context);\n\n const models = await context.cms.listModels();\n\n const modelsMap = models.reduce(\n (collection, model) => {\n collection[model.modelId] = model;\n return collection;\n },\n {} as Record<string, CmsModel>\n );\n\n const argsEntries = args.entries as Pick<CmsEntry, \"id\" | \"modelId\">[];\n\n const entriesByModel = argsEntries.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.id)) {\n return collection;\n }\n collection[ref.modelId].push(ref.id);\n return collection;\n }, {} as EntriesByModel);\n\n const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(async modelId => {\n return method(modelsMap[modelId], entriesByModel[modelId]);\n });\n\n if (getters.length === 0) {\n return new Response([]);\n }\n\n try {\n const results = await Promise.all(getters);\n\n const entries = results\n .reduce<CmsEntryRecord[]>((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return createCmsEntryRecord(model, item);\n })\n );\n }, [])\n .filter(Boolean);\n\n return new Response(entries);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\n/**\n * Function to fetch a single content entry depending on latest, published or exact GraphQL query.\n */\ninterface GetContentEntryParams {\n args: {\n entry: Pick<CmsEntry, \"id\" | \"modelId\">;\n };\n context: CmsContext;\n type: \"latest\" | \"published\" | \"exact\";\n}\n\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response<CmsEntryRecord | null> | NotAuthorizedResponse> => {\n const { args, context, type } = params;\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntry method \"${type}\". Could not fetch content entry.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n args,\n type\n }\n );\n }\n\n const method = getFetchMethod(type, context);\n\n const { modelId, id } = args.entry;\n const models = await context.cms.listModels();\n const model = models.find(m => m.modelId === modelId);\n\n if (!model) {\n return new NotAuthorizedResponse({\n data: {\n modelId\n }\n });\n }\n\n const result = await method(model, [id]);\n\n const entry = result.shift();\n if (!entry) {\n return new Response(null);\n }\n\n return new Response(createCmsEntryRecord(model, entry));\n};\n/**\n * As we support description field, we need to transform the value from storage.\n */\nconst createResolveDescription = (): GraphQLFieldResolver<any, any, CmsContext> => {\n return async (parent, _, context) => {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return null;\n }\n const value = parent.description || parent[field.fieldId];\n if (!value) {\n return null;\n }\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value\n });\n };\n};\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createContentEntriesSchema = ({\n context\n}: Params): ICmsGraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n const plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;\n return plugin;\n }\n\n const onByMetaFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const plugin = createCmsGraphQLSchemaPlugin({\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n typeDefs: `\n type CmsModelMeta {\n modelId: String!\n name: String!\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n description: String\n image: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta!\n status: String!\n published: CmsPublishedContentEntry\n title: String!\n description: String\n image: String\n \n ${onByMetaFields}\n \n wbyAco_location: WbyAcoLocation\n }\n\n type CmsContentEntriesResponse {\n data: [CmsContentEntry!]\n error: CmsError\n }\n\n type CmsContentEntryResponse {\n data: CmsContentEntry\n error: CmsError\n }\n\n input CmsModelEntryInput {\n modelId: ID!\n id: ID!\n }\n\n extend type Query {\n # Search content entries for given content models using the query string.\n searchContentEntries(\n modelIds: [ID!]!\n query: String\n fields: [String!]\n limit: Int\n ): CmsContentEntriesResponse!\n\n # Get content entry meta data\n getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n # Get content entries meta data\n getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getPublishedContentEntries(\n entries: [CmsModelEntryInput!]!\n ): CmsContentEntriesResponse!\n }\n `,\n resolvers: {\n CmsContentEntry: {\n published: async (parent, _, context) => {\n try {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const [entry] = await context.cms.getPublishedEntriesByIds(model, [\n parent.id\n ]);\n if (!entry) {\n return null;\n }\n return createCmsEntryRecord(model, entry);\n } catch {\n return null;\n }\n },\n description: createResolveDescription()\n },\n CmsPublishedContentEntry: {\n description: createResolveDescription()\n },\n Query: {\n async searchContentEntries(_, args: any, context) {\n const { modelIds, fields, query, limit = 10 } = args;\n const models = await context.cms.listModels();\n\n const getters = models\n .filter(model => modelIds.includes(model.modelId))\n .map(async model => {\n const listLatest =\n await context.container.resolve(ListLatestEntriesUseCase);\n const where: CmsEntryListWhere = {};\n\n const result = await listLatest.execute(model, {\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n // TODO figure a better way to handle errors in parallel execution\n if (result.isFail()) {\n throw result.error;\n }\n const { entries } = result.value;\n return entries.map((entry: CmsEntry) => {\n return createCmsEntryRecord(model, entry);\n });\n });\n\n try {\n const entries = await Promise.all(getters).then(results =>\n results.reduce((result, item) => result.concat(item), [])\n );\n\n return new Response(\n entries\n .sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime())\n .slice(0, limit)\n );\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n async getContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"published\"\n });\n },\n async getContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"published\"\n });\n }\n }\n }\n });\n\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;\n\n return plugin;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebinyError","ErrorResponse","Response","getEntryTitle","createCmsGraphQLSchemaPlugin","getEntryDescription","getEntryImage","entryFieldFromStorageTransform","ENTRY_META_FIELDS","isDateTimeEntryMetaField","NotAuthorizedResponse","ListLatestEntriesUseCase","createDate","date","Date","createCmsEntryRecord","model","entry","id","entryId","modelId","name","status","title","description","image","createdOn","modifiedOn","savedOn","createdBy","savedBy","modifiedBy","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","wbyAco_location","folderId","location","getFetchMethod","type","context","getContentEntriesMethods","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","argsEntries","entries","entriesByModel","ref","includes","push","getters","Object","keys","map","length","results","Promise","all","items","concat","item","filter","Boolean","ex","getContentEntry","find","m","data","result","shift","createResolveDescription","parent","_","field","fields","f","fieldId","descriptionFieldId","value","createContentEntriesSchema","MANAGE","plugin","typeDefs","resolvers","onByMetaFields","fieldType","join","CmsContentEntry","getPublishedEntriesByIds","CmsPublishedContentEntry","Query","searchContentEntries","modelIds","query","limit","listLatest","container","resolve","where","execute","search","undefined","isFail","error","then","sort","a","b","getTime","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries"],"sources":["contentEntries.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryListWhere,\n CmsIdentity,\n CmsModel\n} from \"~/types/index.js\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { getEntryDescription } from \"~/utils/getEntryDescription.js\";\nimport { getEntryImage } from \"~/utils/getEntryImage.js\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage.js\";\nimport type { GraphQLFieldResolver } from \"@webiny/handler-graphql/types.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\nimport { ListLatestEntriesUseCase } from \"~/features/contentEntry/ListEntries/index.js\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\n\nconst createDate = (date: string | null): Date | null => {\n if (!date) {\n return null;\n }\n\n try {\n return new Date(date);\n } catch {\n return new Date();\n }\n};\n\ninterface CmsEntryRecord {\n id: string;\n entryId: string;\n model: {\n modelId: string;\n name: string;\n };\n status: string;\n title: string;\n description?: string | null;\n image?: string | null;\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: Date;\n modifiedOn: Date | null;\n savedOn: Date;\n createdBy: CmsIdentity;\n modifiedBy: CmsIdentity | null;\n savedBy: CmsIdentity;\n firstPublishedOn: Date | null;\n lastPublishedOn: Date | null;\n firstPublishedBy: CmsIdentity | null;\n lastPublishedBy: CmsIdentity | null;\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: Date;\n revisionModifiedOn: Date | null;\n revisionSavedOn: Date;\n revisionCreatedBy: CmsIdentity;\n revisionModifiedBy: CmsIdentity | null;\n revisionSavedBy: CmsIdentity;\n revisionFirstPublishedOn: Date | null;\n revisionLastPublishedOn: Date | null;\n revisionFirstPublishedBy: CmsIdentity | null;\n revisionLastPublishedBy: CmsIdentity | null;\n\n wbyAco_location?: {\n folderId?: string | null;\n };\n}\n\nconst createCmsEntryRecord = (model: CmsModel, entry: CmsEntry): CmsEntryRecord => {\n return {\n id: entry.id,\n entryId: entry.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry),\n description: getEntryDescription(model, entry),\n image: getEntryImage(model, entry),\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: createDate(entry.createdOn)!,\n modifiedOn: createDate(entry.modifiedOn),\n savedOn: createDate(entry.savedOn)!,\n createdBy: entry.createdBy,\n savedBy: entry.savedBy,\n modifiedBy: entry.modifiedBy,\n firstPublishedOn: createDate(entry.firstPublishedOn),\n lastPublishedOn: createDate(entry.lastPublishedOn),\n firstPublishedBy: entry.firstPublishedBy,\n lastPublishedBy: entry.lastPublishedBy,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: createDate(entry.revisionCreatedOn)!,\n revisionSavedOn: createDate(entry.revisionSavedOn)!,\n revisionModifiedOn: createDate(entry.revisionModifiedOn),\n revisionCreatedBy: entry.revisionCreatedBy,\n revisionModifiedBy: entry.revisionModifiedBy,\n revisionSavedBy: entry.revisionSavedBy,\n revisionFirstPublishedOn: createDate(entry.revisionFirstPublishedOn),\n revisionLastPublishedOn: createDate(entry.revisionLastPublishedOn),\n revisionFirstPublishedBy: entry.revisionFirstPublishedBy,\n revisionLastPublishedBy: entry.revisionLastPublishedBy,\n\n wbyAco_location: {\n folderId: entry.location?.folderId || null\n }\n };\n};\n\ninterface FetchMethod {\n (model: CmsModel, ids: string[]): Promise<CmsEntry[]>;\n}\n\nconst getFetchMethod = (type: GetContentEntryType, context: CmsContext): FetchMethod => {\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntries method \"${type}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type\n }\n );\n }\n const methodName = getContentEntriesMethods[type] as GetContentEntryMethods;\n if (!context.cms[methodName]) {\n throw new WebinyError(\n `Unknown context.cms method \"${methodName}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type,\n methodName\n }\n );\n }\n\n return context.cms[methodName];\n};\n\n/**\n * Function to get the list of content entries depending on latest, published or exact GraphQL queries.\n */\ninterface GetContentEntriesParams {\n args: {\n entries: Pick<CmsEntry, \"id\" | \"modelId\">[];\n };\n context: CmsContext;\n type: GetContentEntryType;\n}\n\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\n\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (\n params: GetContentEntriesParams\n): Promise<Response | ErrorResponse> => {\n const { args, context, type } = params;\n\n const method = getFetchMethod(type, context);\n\n const models = await context.cms.listModels();\n\n const modelsMap = models.reduce(\n (collection, model) => {\n collection[model.modelId] = model;\n return collection;\n },\n {} as Record<string, CmsModel>\n );\n\n const argsEntries = args.entries as Pick<CmsEntry, \"id\" | \"modelId\">[];\n\n const entriesByModel = argsEntries.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.id)) {\n return collection;\n }\n collection[ref.modelId].push(ref.id);\n return collection;\n }, {} as EntriesByModel);\n\n const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(async modelId => {\n return method(modelsMap[modelId], entriesByModel[modelId]);\n });\n\n if (getters.length === 0) {\n return new Response([]);\n }\n\n try {\n const results = await Promise.all(getters);\n\n const entries = results\n .reduce<CmsEntryRecord[]>((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return createCmsEntryRecord(model, item);\n })\n );\n }, [])\n .filter(Boolean);\n\n return new Response(entries);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\n/**\n * Function to fetch a single content entry depending on latest, published or exact GraphQL query.\n */\ninterface GetContentEntryParams {\n args: {\n entry: Pick<CmsEntry, \"id\" | \"modelId\">;\n };\n context: CmsContext;\n type: \"latest\" | \"published\" | \"exact\";\n}\n\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response<CmsEntryRecord | null> | NotAuthorizedResponse> => {\n const { args, context, type } = params;\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntry method \"${type}\". Could not fetch content entry.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n args,\n type\n }\n );\n }\n\n const method = getFetchMethod(type, context);\n\n const { modelId, id } = args.entry;\n const models = await context.cms.listModels();\n const model = models.find(m => m.modelId === modelId);\n\n if (!model) {\n return new NotAuthorizedResponse({\n data: {\n modelId\n }\n });\n }\n\n const result = await method(model, [id]);\n\n const entry = result.shift();\n if (!entry) {\n return new Response(null);\n }\n\n return new Response(createCmsEntryRecord(model, entry));\n};\n/**\n * As we support description field, we need to transform the value from storage.\n */\nconst createResolveDescription = (): GraphQLFieldResolver<any, any, CmsContext> => {\n return async (parent, _, context) => {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return null;\n }\n const value = parent.description || parent[field.fieldId];\n if (!value) {\n return null;\n }\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value\n });\n };\n};\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createContentEntriesSchema = ({\n context\n}: Params): ICmsGraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n const plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;\n return plugin;\n }\n\n const onByMetaFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const plugin = createCmsGraphQLSchemaPlugin({\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n typeDefs: `\n type CmsModelMeta {\n modelId: String!\n name: String!\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n description: String\n image: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta!\n status: String!\n published: CmsPublishedContentEntry\n title: String!\n description: String\n image: String\n \n ${onByMetaFields}\n \n wbyAco_location: WbyAcoLocation\n }\n\n type CmsContentEntriesResponse {\n data: [CmsContentEntry!]\n error: CmsError\n }\n\n type CmsContentEntryResponse {\n data: CmsContentEntry\n error: CmsError\n }\n\n input CmsModelEntryInput {\n modelId: ID!\n id: ID!\n }\n\n extend type Query {\n # Search content entries for given content models using the query string.\n searchContentEntries(\n modelIds: [ID!]!\n query: String\n fields: [String!]\n limit: Int\n ): CmsContentEntriesResponse!\n\n # Get content entry meta data\n getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n # Get content entries meta data\n getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getPublishedContentEntries(\n entries: [CmsModelEntryInput!]!\n ): CmsContentEntriesResponse!\n }\n `,\n resolvers: {\n CmsContentEntry: {\n published: async (parent, _, context) => {\n try {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const [entry] = await context.cms.getPublishedEntriesByIds(model, [\n parent.id\n ]);\n if (!entry) {\n return null;\n }\n return createCmsEntryRecord(model, entry);\n } catch {\n return null;\n }\n },\n description: createResolveDescription()\n },\n CmsPublishedContentEntry: {\n description: createResolveDescription()\n },\n Query: {\n async searchContentEntries(_, args: any, context) {\n const { modelIds, fields, query, limit = 10 } = args;\n const models = await context.cms.listModels();\n\n const getters = models\n .filter(model => modelIds.includes(model.modelId))\n .map(async model => {\n const listLatest =\n await context.container.resolve(ListLatestEntriesUseCase);\n const where: CmsEntryListWhere = {};\n\n const result = await listLatest.execute(model, {\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n // TODO figure a better way to handle errors in parallel execution\n if (result.isFail()) {\n throw result.error;\n }\n const { entries } = result.value;\n return entries.map((entry: CmsEntry) => {\n return createCmsEntryRecord(model, entry);\n });\n });\n\n try {\n const entries = await Promise.all(getters).then(results =>\n results.reduce((result, item) => result.concat(item), [])\n );\n\n return new Response(\n entries\n .sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime())\n .slice(0, limit)\n );\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n async getContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"published\"\n });\n },\n async getContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"published\"\n });\n }\n }\n }\n });\n\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;\n\n return plugin;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,7 @@ export const createManageSDL = ({
53
53
  return `${field}: ${fieldType}`;
54
54
  }).join("\n");
55
55
 
56
- // Had to remove /* GraphQL */ because prettier would not format the code correctly.
56
+ // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.
57
57
  return `
58
58
  """${model.description || singularName}"""
59
59
 
@@ -1 +1 @@
1
- {"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldRegistry","sorters","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldRegistry","sorters","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ export const createSingularSDL = ({
36
36
  return `${field}: ${fieldType}`;
37
37
  }).join("\n");
38
38
 
39
- // Had to remove /* GraphQL */ because prettier would not format the code correctly.
39
+ // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.
40
40
  const read = `
41
41
  """${model.description || singularName}"""
42
42
 
@@ -1 +1 @@
1
- {"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","fieldRegistry","type","inputFields","fields","length","singularApiName","singularName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","read","description","typeDefs"],"sources":["createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,iBAAiB,EAAEC,wBAAwB;AAcpD,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,WAAW,GAAGT,iBAAiB,CAAC;IAClCK,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBH;EACJ,CAAC,CAAC;EACF,IAAIE,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACb;EAEA,MAAMD,MAAM,GAAGT,YAAY,CAAC;IACxBI,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBF,IAAI;IACJD;EACJ,CAAC,CAAC;EAEF,MAAM;IAAEK,eAAe,EAAEC;EAAa,CAAC,GAAGP,KAAK;EAE/C,MAAMQ,cAAc,GAAGL,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAEhE,MAAMC,sBAAsB,GAAGhB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IAC1D,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,kBAAkB;IAEnF,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;EAEb,MAAMI,iBAAiB,GAAGnB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IACrD,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa;IAE9E,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACA,MAAMK,IAAI,GAAG;AACjB,aAAahB,KAAK,CAACiB,WAAW,IAAIV,YAAY;AAC9C;AACA,eAAeA,YAAY;AAC3B,cAAcH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;AACtE;AACA;AACA,eAAeJ,YAAY;AAC3B;AACA;AACA;AACA,cAAcQ,iBAAiB;AAC/B,sBAAsBR,YAAY;AAClC;AACA;AACA;AACA,UAAUH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,gBAAgBJ,YAAY;AAC5B;AACA;AACA;AACA,eAAeA,YAAY;AAC3B,oBAAoBA,YAAY;AAChC;AACA;AACA;AACA;AACA,iBAAiBA,YAAY,KAAKA,YAAY;AAC9C;AACA;AACA,KAAK;EACD,IAAIL,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOc,IAAI;EACf;EACA,OAAO;AACX,UAAUA,IAAI;AACd;AACA,UAAUb,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AACrD;AACA,gBAAgBJ,YAAY;AAC5B,cAAcC,cAAc,IAAI,gBAAgB;AAChD;AACA;AACA,gBAAgBD,YAAY;AAC5B,cAAcK,sBAAsB;AACpC,sBAAsBL,YAAY;AAClC;AACA;AACA;AACA,oBAAoBA,YAAY,UAAUA,YAAY,iDAAiDA,YAAY;AACnH;AACA,KAAK;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","fieldRegistry","type","inputFields","fields","length","singularApiName","singularName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","read","description","typeDefs"],"sources":["createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because it causes issues with oxfmt formatting.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,iBAAiB,EAAEC,wBAAwB;AAcpD,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,WAAW,GAAGT,iBAAiB,CAAC;IAClCK,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBH;EACJ,CAAC,CAAC;EACF,IAAIE,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACb;EAEA,MAAMD,MAAM,GAAGT,YAAY,CAAC;IACxBI,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBF,IAAI;IACJD;EACJ,CAAC,CAAC;EAEF,MAAM;IAAEK,eAAe,EAAEC;EAAa,CAAC,GAAGP,KAAK;EAE/C,MAAMQ,cAAc,GAAGL,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAEhE,MAAMC,sBAAsB,GAAGhB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IAC1D,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,kBAAkB;IAEnF,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;EAEb,MAAMI,iBAAiB,GAAGnB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IACrD,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa;IAE9E,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACA,MAAMK,IAAI,GAAG;AACjB,aAAahB,KAAK,CAACiB,WAAW,IAAIV,YAAY;AAC9C;AACA,eAAeA,YAAY;AAC3B,cAAcH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;AACtE;AACA;AACA,eAAeJ,YAAY;AAC3B;AACA;AACA;AACA,cAAcQ,iBAAiB;AAC/B,sBAAsBR,YAAY;AAClC;AACA;AACA;AACA,UAAUH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,gBAAgBJ,YAAY;AAC5B;AACA;AACA;AACA,eAAeA,YAAY;AAC3B,oBAAoBA,YAAY;AAChC;AACA;AACA;AACA;AACA,iBAAiBA,YAAY,KAAKA,YAAY;AAC9C;AACA;AACA,KAAK;EACD,IAAIL,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOc,IAAI;EACf;EACA,OAAO;AACX,UAAUA,IAAI;AACd;AACA,UAAUb,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AACrD;AACA,gBAAgBJ,YAAY;AAC5B,cAAcC,cAAc,IAAI,gBAAgB;AAChD;AACA;AACA,gBAAgBD,YAAY;AAC5B,cAAcK,sBAAsB;AACpC,sBAAsBL,YAAY;AAClC;AACA;AACA;AACA,oBAAoBA,YAAY,UAAUA,YAAY,iDAAiDA,YAAY;AACnH;AACA,KAAK;AACL,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms",
3
- "version": "6.2.0",
3
+ "version": "6.3.0-beta.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -22,19 +22,19 @@
22
22
  "@babel/code-frame": "7.29.0",
23
23
  "@graphql-tools/merge": "9.1.8",
24
24
  "@graphql-tools/schema": "10.0.32",
25
- "@webiny/api": "6.2.0",
26
- "@webiny/api-core": "6.2.0",
25
+ "@webiny/api": "6.3.0-beta.0",
26
+ "@webiny/api-core": "6.3.0-beta.0",
27
27
  "@webiny/di": "0.2.3",
28
- "@webiny/error": "6.2.0",
29
- "@webiny/feature": "6.2.0",
30
- "@webiny/handler": "6.2.0",
31
- "@webiny/handler-aws": "6.2.0",
32
- "@webiny/handler-db": "6.2.0",
33
- "@webiny/handler-graphql": "6.2.0",
34
- "@webiny/plugins": "6.2.0",
35
- "@webiny/project": "6.2.0",
36
- "@webiny/utils": "6.2.0",
37
- "@webiny/validation": "6.2.0",
28
+ "@webiny/error": "6.3.0-beta.0",
29
+ "@webiny/feature": "6.3.0-beta.0",
30
+ "@webiny/handler": "6.3.0-beta.0",
31
+ "@webiny/handler-aws": "6.3.0-beta.0",
32
+ "@webiny/handler-db": "6.3.0-beta.0",
33
+ "@webiny/handler-graphql": "6.3.0-beta.0",
34
+ "@webiny/plugins": "6.3.0-beta.0",
35
+ "@webiny/project": "6.3.0-beta.0",
36
+ "@webiny/utils": "6.3.0-beta.0",
37
+ "@webiny/validation": "6.3.0-beta.0",
38
38
  "dot-prop-immutable": "2.1.1",
39
39
  "graphql": "16.13.2",
40
40
  "graphql-tag": "2.12.6",
@@ -48,18 +48,18 @@
48
48
  "devDependencies": {
49
49
  "@types/babel__code-frame": "7.27.0",
50
50
  "@types/pluralize": "0.0.33",
51
- "@webiny/aws-sdk": "6.2.0",
52
- "@webiny/build-tools": "6.2.0",
53
- "@webiny/db-dynamodb": "6.2.0",
51
+ "@webiny/aws-sdk": "6.3.0-beta.0",
52
+ "@webiny/build-tools": "6.3.0-beta.0",
53
+ "@webiny/db-dynamodb": "6.3.0-beta.0",
54
54
  "@webiny/handler-db": "0.0.0",
55
- "@webiny/project-utils": "6.2.0",
56
- "@webiny/sdk": "6.2.0",
57
- "@webiny/wcp": "6.2.0",
55
+ "@webiny/project-utils": "6.3.0-beta.0",
56
+ "@webiny/sdk": "6.3.0-beta.0",
57
+ "@webiny/wcp": "6.3.0-beta.0",
58
58
  "apollo-graphql": "0.9.7",
59
59
  "graphql": "16.13.2",
60
- "prettier": "3.6.2",
60
+ "oxfmt": "0.45.0",
61
61
  "rimraf": "6.1.3",
62
- "typescript": "5.9.3",
62
+ "typescript": "6.0.3",
63
63
  "vitest": "4.1.4",
64
64
  "write-json-file": "7.0.0"
65
65
  },
@@ -67,5 +67,5 @@
67
67
  "access": "public",
68
68
  "directory": "dist"
69
69
  },
70
- "gitHead": "3d3148358b6febbc857371930871743bec3b3939"
70
+ "gitHead": "94c21e58aebc9855bf1ae972423281faa0f5c135"
71
71
  }