@webiny/api-headless-cms 5.27.0-beta.0 → 5.28.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 (138) hide show
  1. package/content/contextSetup.js.map +1 -1
  2. package/content/graphQLHandlerFactory.js.map +1 -1
  3. package/content/parameterPlugins.js.map +1 -1
  4. package/content/plugins/CmsGroupPlugin.js.map +1 -1
  5. package/content/plugins/CmsModelPlugin.js.map +1 -1
  6. package/content/plugins/CmsParametersPlugin.js.map +1 -1
  7. package/content/plugins/buildSchemaPlugins.js.map +1 -1
  8. package/content/plugins/crud/contentEntry/afterDelete.js.map +1 -1
  9. package/content/plugins/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/content/plugins/crud/contentEntry/beforeUpdate.js.map +1 -1
  11. package/content/plugins/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/content/plugins/crud/contentEntry/markLockedFields.js.map +1 -1
  13. package/content/plugins/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  14. package/content/plugins/crud/contentEntry.crud.js.map +1 -1
  15. package/content/plugins/crud/contentModel/afterCreate.js.map +1 -1
  16. package/content/plugins/crud/contentModel/afterCreateFrom.js.map +1 -1
  17. package/content/plugins/crud/contentModel/afterDelete.js.map +1 -1
  18. package/content/plugins/crud/contentModel/afterUpdate.js.map +1 -1
  19. package/content/plugins/crud/contentModel/beforeCreate.js +26 -4
  20. package/content/plugins/crud/contentModel/beforeCreate.js.map +1 -1
  21. package/content/plugins/crud/contentModel/beforeDelete.js.map +1 -1
  22. package/content/plugins/crud/contentModel/beforeUpdate.js +5 -188
  23. package/content/plugins/crud/contentModel/beforeUpdate.js.map +1 -1
  24. package/content/plugins/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  25. package/content/plugins/crud/contentModel/createFieldModels.d.ts +2 -2
  26. package/content/plugins/crud/contentModel/createFieldModels.js +6 -2
  27. package/content/plugins/crud/contentModel/createFieldModels.js.map +1 -1
  28. package/content/plugins/crud/contentModel/idValidation.js.map +1 -1
  29. package/content/plugins/crud/contentModel/models.d.ts +1 -1
  30. package/content/plugins/crud/contentModel/models.js +43 -33
  31. package/content/plugins/crud/contentModel/models.js.map +1 -1
  32. package/content/plugins/crud/contentModel/validateLayout.d.ts +1 -1
  33. package/content/plugins/crud/contentModel/validateLayout.js +2 -3
  34. package/content/plugins/crud/contentModel/validateLayout.js.map +1 -1
  35. package/content/plugins/crud/contentModel/validateModelFields.d.ts +8 -0
  36. package/content/plugins/crud/contentModel/validateModelFields.js +201 -0
  37. package/content/plugins/crud/contentModel/validateModelFields.js.map +1 -0
  38. package/content/plugins/crud/contentModel.crud.js +7 -5
  39. package/content/plugins/crud/contentModel.crud.js.map +1 -1
  40. package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +1 -1
  41. package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +1 -1
  42. package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  43. package/content/plugins/crud/contentModelGroup.crud.js.map +1 -1
  44. package/content/plugins/crud/index.js.map +1 -1
  45. package/content/plugins/graphqlFields/boolean.js.map +1 -1
  46. package/content/plugins/graphqlFields/datetime.js.map +1 -1
  47. package/content/plugins/graphqlFields/file.js.map +1 -1
  48. package/content/plugins/graphqlFields/helpers.js.map +1 -1
  49. package/content/plugins/graphqlFields/index.js.map +1 -1
  50. package/content/plugins/graphqlFields/longText.js.map +1 -1
  51. package/content/plugins/graphqlFields/number.js.map +1 -1
  52. package/content/plugins/graphqlFields/object.js.map +1 -1
  53. package/content/plugins/graphqlFields/ref.js.map +1 -1
  54. package/content/plugins/graphqlFields/richText.js.map +1 -1
  55. package/content/plugins/graphqlFields/text.js.map +1 -1
  56. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +1 -1
  57. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +1 -1
  58. package/content/plugins/modelManager/DefaultCmsModelManager.js.map +1 -1
  59. package/content/plugins/modelManager/index.js.map +1 -1
  60. package/content/plugins/schema/baseSchema.js.map +1 -1
  61. package/content/plugins/schema/contentEntries.js.map +1 -1
  62. package/content/plugins/schema/contentModelGroups.js.map +1 -1
  63. package/content/plugins/schema/contentModels.js +3 -0
  64. package/content/plugins/schema/contentModels.js.map +1 -1
  65. package/content/plugins/schema/createFieldResolvers.js.map +1 -1
  66. package/content/plugins/schema/createManageResolvers.js.map +1 -1
  67. package/content/plugins/schema/createManageSDL.js.map +1 -1
  68. package/content/plugins/schema/createPreviewResolvers.js.map +1 -1
  69. package/content/plugins/schema/createReadResolvers.js.map +1 -1
  70. package/content/plugins/schema/createReadSDL.js.map +1 -1
  71. package/content/plugins/schema/resolvers/commonFieldResolvers.js.map +1 -1
  72. package/content/plugins/schema/resolvers/manage/resolveCreate.js.map +1 -1
  73. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  74. package/content/plugins/schema/resolvers/manage/resolveDelete.js.map +1 -1
  75. package/content/plugins/schema/resolvers/manage/resolveGet.js.map +1 -1
  76. package/content/plugins/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  77. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  78. package/content/plugins/schema/resolvers/manage/resolveList.js.map +1 -1
  79. package/content/plugins/schema/resolvers/manage/resolvePublish.js.map +1 -1
  80. package/content/plugins/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  81. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js.map +1 -1
  82. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js.map +1 -1
  83. package/content/plugins/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  84. package/content/plugins/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  85. package/content/plugins/schema/resolvers/preview/resolveGet.js.map +1 -1
  86. package/content/plugins/schema/resolvers/preview/resolveList.js.map +1 -1
  87. package/content/plugins/schema/resolvers/read/resolveGet.js.map +1 -1
  88. package/content/plugins/schema/resolvers/read/resolveList.js.map +1 -1
  89. package/content/plugins/schema/schemaPlugins.js.map +1 -1
  90. package/content/plugins/storage/StorageTransformPlugin.js.map +1 -1
  91. package/content/plugins/storage/default.js.map +1 -1
  92. package/content/plugins/storage/object.js.map +1 -1
  93. package/content/plugins/utils/createTypeName.js.map +1 -1
  94. package/content/plugins/utils/entryStorage.js.map +1 -1
  95. package/content/plugins/utils/getEntryTitle.js.map +1 -1
  96. package/content/plugins/utils/getSchemaFromFieldPlugins.js.map +1 -1
  97. package/content/plugins/utils/pluralizedTypeName.js.map +1 -1
  98. package/content/plugins/utils/renderFields.js.map +1 -1
  99. package/content/plugins/utils/renderGetFilterFields.js.map +1 -1
  100. package/content/plugins/utils/renderInputFields.js.map +1 -1
  101. package/content/plugins/utils/renderListFilterFields.js.map +1 -1
  102. package/content/plugins/utils/renderSortEnum.js.map +1 -1
  103. package/content/plugins/validators/dateGte.js.map +1 -1
  104. package/content/plugins/validators/dateLte.js.map +1 -1
  105. package/content/plugins/validators/gte.js.map +1 -1
  106. package/content/plugins/validators/in.js.map +1 -1
  107. package/content/plugins/validators/index.js.map +1 -1
  108. package/content/plugins/validators/lte.js.map +1 -1
  109. package/content/plugins/validators/maxLength.js.map +1 -1
  110. package/content/plugins/validators/minLength.js.map +1 -1
  111. package/content/plugins/validators/pattern.js.map +1 -1
  112. package/content/plugins/validators/patternPlugins/email.js.map +1 -1
  113. package/content/plugins/validators/patternPlugins/index.js.map +1 -1
  114. package/content/plugins/validators/patternPlugins/lowerCase.js.map +1 -1
  115. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  116. package/content/plugins/validators/patternPlugins/upperCase.js.map +1 -1
  117. package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  118. package/content/plugins/validators/patternPlugins/url.js.map +1 -1
  119. package/content/plugins/validators/required.js.map +1 -1
  120. package/content/plugins/validators/timeGte.js.map +1 -1
  121. package/content/plugins/validators/timeLte.js.map +1 -1
  122. package/content/plugins/validators/unique.js.map +1 -1
  123. package/index.js.map +1 -1
  124. package/migrateCMSPermissions.js.map +1 -1
  125. package/package.json +25 -25
  126. package/plugins/context.js.map +1 -1
  127. package/plugins/crud/index.js.map +1 -1
  128. package/plugins/crud/settings.crud.js.map +1 -1
  129. package/plugins/crud/system.crud.js.map +1 -1
  130. package/plugins/graphql/system.js.map +1 -1
  131. package/plugins/graphql.js.map +1 -1
  132. package/plugins/upgrades/index.js.map +1 -1
  133. package/plugins/upgrades/v5.5.0/helpers.js.map +1 -1
  134. package/plugins/upgrades/v5.5.0/index.js.map +1 -1
  135. package/transformers.js.map +1 -1
  136. package/types.d.ts +20 -0
  137. package/types.js.map +1 -1
  138. package/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["debug","process","env","DEBUG","createContentCruds","params","storageOperations","ContextPlugin","context","http","request","method","cms","console","log","getLocale","getIdentity","security","getTenant","tenancy","getCurrentTenant","beforeInit","init"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,KAAK,GAAGC,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsB,MAApC;;AAMO,MAAMC,kBAAkB,GAAIC,MAAD,IAAsC;AACpE,QAAM;AAAEC,IAAAA;AAAF,MAAwBD,MAA9B;AACA,SAAO,IAAIE,sBAAJ,CAA8B,MAAMC,OAAN,IAAiB;AAAA;;AAClD,QAAI,kBAAAA,OAAO,CAACC,IAAR,yFAAcC,OAAd,gFAAuBC,MAAvB,MAAkC,SAAtC,EAAiD;AAC7C;AACH;AAED;AACR;AACA;AACA;;;AACQ,QAAI,CAACH,OAAO,CAACI,GAAb,EAAkB;AACdZ,MAAAA,KAAK,IACDa,OAAO,CAACC,GAAR,CACK,mGADL,CADJ;AAIA;AACH;;AAED,UAAMC,SAAS,GAAG,MAAM;AACpB,aAAOP,OAAO,CAACI,GAAR,CAAYG,SAAZ,EAAP;AACH,KAFD;;AAIA,UAAMC,WAAW,GAAG,MAAM;AACtB,aAAOR,OAAO,CAACS,QAAR,CAAiBD,WAAjB,EAAP;AACH,KAFD;;AAIA,UAAME,SAAS,GAAG,MAAM;AACpB,aAAOV,OAAO,CAACW,OAAR,CAAgBC,gBAAhB,EAAP;AACH,KAFD;;AAIA,QAAId,iBAAiB,CAACe,UAAtB,EAAkC;AAC9B,YAAMf,iBAAiB,CAACe,UAAlB,CAA6Bb,OAA7B,CAAN;AACH;;AAEDA,IAAAA,OAAO,CAACI,GAAR,2FACOJ,OAAO,CAACI,GADf;AAEIN,MAAAA;AAFJ,OAGO,8BAAiB;AAChBE,MAAAA,OADgB;AAEhBU,MAAAA,SAFgB;AAGhBH,MAAAA,SAHgB;AAIhBC,MAAAA,WAJgB;AAKhBV,MAAAA;AALgB,KAAjB,CAHP,GAUO,kCAAmB;AAClBE,MAAAA,OADkB;AAElBU,MAAAA,SAFkB;AAGlBH,MAAAA,SAHkB;AAIlBT,MAAAA;AAJkB,KAAnB,CAVP,GAgBO,8CAAsB;AACrBE,MAAAA,OADqB;AAErBU,MAAAA,SAFqB;AAGrBH,MAAAA,SAHqB;AAIrBC,MAAAA,WAJqB;AAKrBV,MAAAA;AALqB,KAAtB,CAhBP,GAuBO,oCAAiB;AAChBE,MAAAA,OADgB;AAEhBO,MAAAA,SAFgB;AAGhBG,MAAAA,SAHgB;AAIhBF,MAAAA,WAJgB;AAKhBV,MAAAA;AALgB,KAAjB,CAvBP,GA8BO,0CAAuB;AACtBE,MAAAA,OADsB;AAEtBQ,MAAAA,WAFsB;AAGtBE,MAAAA,SAHsB;AAItBZ,MAAAA;AAJsB,KAAvB,CA9BP;;AAsCA,QAAI,CAACA,iBAAiB,CAACgB,IAAvB,EAA6B;AACzB;AACH;;AACD,UAAMhB,iBAAiB,CAACgB,IAAlB,CAAuBd,OAAvB,CAAN;AACH,GA3EM,CAAP;AA4EH,CA9EM","sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { createModelGroupsCrud } from \"~/content/plugins/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/content/plugins/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/content/plugins/crud/contentEntry.crud\";\nimport { createSystemCrud } from \"~/plugins/crud/system.crud\";\nimport { createSettingsCrud } from \"~/plugins/crud/settings.crud\";\n\nconst debug = process.env.DEBUG === \"true\";\n\nexport interface CreateContentCrudsParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createContentCruds = (params: CreateContentCrudsParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n if (context.http?.request?.method === \"OPTIONS\") {\n return;\n }\n\n /**\n * This should never happen in the actual project.\n * It is to make sure that we load setup context before the CRUD init in our internal code.\n */\n if (!context.cms) {\n debug &&\n console.log(\n `Missing initial \"cms\" on the context. Make sure that you set it up before creating Content CRUDs.`\n );\n return;\n }\n\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.beforeInit) {\n await storageOperations.beforeInit(context);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n};\n"]}
1
+ {"version":3,"names":["debug","process","env","DEBUG","createContentCruds","params","storageOperations","ContextPlugin","context","http","request","method","cms","console","log","getLocale","getIdentity","security","getTenant","tenancy","getCurrentTenant","beforeInit","createSystemCrud","createSettingsCrud","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","init"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { createModelGroupsCrud } from \"~/content/plugins/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/content/plugins/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/content/plugins/crud/contentEntry.crud\";\nimport { createSystemCrud } from \"~/plugins/crud/system.crud\";\nimport { createSettingsCrud } from \"~/plugins/crud/settings.crud\";\n\nconst debug = process.env.DEBUG === \"true\";\n\nexport interface CreateContentCrudsParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createContentCruds = (params: CreateContentCrudsParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n if (context.http?.request?.method === \"OPTIONS\") {\n return;\n }\n\n /**\n * This should never happen in the actual project.\n * It is to make sure that we load setup context before the CRUD init in our internal code.\n */\n if (!context.cms) {\n debug &&\n console.log(\n `Missing initial \"cms\" on the context. Make sure that you set it up before creating Content CRUDs.`\n );\n return;\n }\n\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.beforeInit) {\n await storageOperations.beforeInit(context);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,KAAK,GAAGC,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsB,MAApC;;AAMO,MAAMC,kBAAkB,GAAIC,MAAD,IAAsC;EACpE,MAAM;IAAEC;EAAF,IAAwBD,MAA9B;EACA,OAAO,IAAIE,sBAAJ,CAA8B,MAAMC,OAAN,IAAiB;IAAA;;IAClD,IAAI,kBAAAA,OAAO,CAACC,IAAR,yFAAcC,OAAd,gFAAuBC,MAAvB,MAAkC,SAAtC,EAAiD;MAC7C;IACH;IAED;AACR;AACA;AACA;;;IACQ,IAAI,CAACH,OAAO,CAACI,GAAb,EAAkB;MACdZ,KAAK,IACDa,OAAO,CAACC,GAAR,CACK,mGADL,CADJ;MAIA;IACH;;IAED,MAAMC,SAAS,GAAG,MAAM;MACpB,OAAOP,OAAO,CAACI,GAAR,CAAYG,SAAZ,EAAP;IACH,CAFD;;IAIA,MAAMC,WAAW,GAAG,MAAM;MACtB,OAAOR,OAAO,CAACS,QAAR,CAAiBD,WAAjB,EAAP;IACH,CAFD;;IAIA,MAAME,SAAS,GAAG,MAAM;MACpB,OAAOV,OAAO,CAACW,OAAR,CAAgBC,gBAAhB,EAAP;IACH,CAFD;;IAIA,IAAId,iBAAiB,CAACe,UAAtB,EAAkC;MAC9B,MAAMf,iBAAiB,CAACe,UAAlB,CAA6Bb,OAA7B,CAAN;IACH;;IAEDA,OAAO,CAACI,GAAR,2FACOJ,OAAO,CAACI,GADf;MAEIN;IAFJ,GAGO,IAAAgB,wBAAA,EAAiB;MAChBd,OADgB;MAEhBU,SAFgB;MAGhBH,SAHgB;MAIhBC,WAJgB;MAKhBV;IALgB,CAAjB,CAHP,GAUO,IAAAiB,4BAAA,EAAmB;MAClBf,OADkB;MAElBU,SAFkB;MAGlBH,SAHkB;MAIlBT;IAJkB,CAAnB,CAVP,GAgBO,IAAAkB,wCAAA,EAAsB;MACrBhB,OADqB;MAErBU,SAFqB;MAGrBH,SAHqB;MAIrBC,WAJqB;MAKrBV;IALqB,CAAtB,CAhBP,GAuBO,IAAAmB,8BAAA,EAAiB;MAChBjB,OADgB;MAEhBO,SAFgB;MAGhBG,SAHgB;MAIhBF,WAJgB;MAKhBV;IALgB,CAAjB,CAvBP,GA8BO,IAAAoB,oCAAA,EAAuB;MACtBlB,OADsB;MAEtBQ,WAFsB;MAGtBE,SAHsB;MAItBZ;IAJsB,CAAvB,CA9BP;;IAsCA,IAAI,CAACA,iBAAiB,CAACqB,IAAvB,EAA6B;MACzB;IACH;;IACD,MAAMrB,iBAAiB,CAACqB,IAAlB,CAAuBnB,OAAvB,CAAN;EACH,CA3EM,CAAP;AA4EH,CA9EM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["boolean.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,oCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,SAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFT,IAAAA,iBADE;;AAEFU,IAAAA,gBAAgB,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,WAAxB;AACH,KAJC;;AAKFS,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,aAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,WAAxB;AACH;;AAXC,GANmC;AAmBzCW,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAOX,KAAK,CAACC,OAAN,GAAgB,aAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,WAAvB;AACH,KARG;;AASJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,SAA/B,CAAP;AACH;;AAXG;AAnBiC,CAA7C;eAkCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["boolean.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,oCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,SAH8B;EAIzCC,UAAU,EAAE,IAJ6B;EAKzCC,YAAY,EAAE,IAL2B;EAMzCC,IAAI,EAAE;IACFT,iBADE;;IAEFU,gBAAgB,CAAC;MAAET;IAAF,CAAD,EAAY;MACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,WAAxB;IACH,CAJC;;IAKFS,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,aAAxB;MACH;;MAED,OAAQ,GAAED,KAAK,CAACC,OAAQ,WAAxB;IACH;;EAXC,CANmC;EAmBzCW,MAAM,EAAE;IACJb,iBADI;;IAEJW,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAOX,KAAK,CAACC,OAAN,GAAgB,aAAvB;MACH;;MAED,OAAOD,KAAK,CAACC,OAAN,GAAgB,WAAvB;IACH,CARG;;IASJY,gBAAgB,CAAC;MAAEb;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAc,gCAAA,EAAwBd,KAAxB,EAA+B,SAA/B,CAAP;IACH;;EAXG;AAnBiC,CAA7C;eAkCeE,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["datetime.ts"],"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","plugin","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,iBAAyC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,MADwC;AAE9CC,EAAAA,uBAAuB,EAAE,UAFqB;AAG9CC,EAAAA,oBAAoB,EAAE,WAHwB;AAI9CC,EAAAA,IAAI,EAAE;AAJwC,CAAlD;;AAOA,MAAMC,mBAAmB,GAAIC,KAAD,IAAkC;AAAA;;AAC1D,QAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAT,oDAAG,gBAAgBD,IAA7B;;AACA,MAAI,CAACA,IAAD,IAAS,CAACP,iBAAiB,CAACO,IAAD,CAA/B,EAAuC;AACnC,WAAO,UAAP;AACH;;AACD,SAAOP,iBAAiB,CAACO,IAAD,CAAxB;AACH,CAND;;AAWA,MAAME,iBAAiB,GAAG,CAAC;AAAEH,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAD,CAAQ;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,KATI;AAUH,CAXD;;AAaA,MAAMK,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCL,EAAAA,IAAI,EAAE,4BAFmC;AAGzCM,EAAAA,SAAS,EAAE,UAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFP,IAAAA,iBADE;;AAEFQ,IAAAA,gBAAgB,CAAC;AAAEX,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH,KAJC;;AAKFY,IAAAA,eAAe,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACa,cAAV,EAA0B;AACtB,eAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAD,CAAQ,GAAxD;AACH;;AAED,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH;;AAXC,GANmC;AAmBzCc,EAAAA,MAAM,EAAE;AACJX,IAAAA,iBADI;;AAEJS,IAAAA,eAAe,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACvB,aAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;AACH,KAJG;;AAKJe,IAAAA,gBAAgB,CAAC;AAAEf,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+BD,mBAAmB,CAACC,KAAD,CAAlD,CAAP;AACH;;AAPG;AAnBiC,CAA7C;eA8BeK,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes: Record<string, string> = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type;\n if (!type || !fieldGraphQLTypes[type]) {\n return \"DateTime\";\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","plugin","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes: Record<string, string> = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type;\n if (!type || !fieldGraphQLTypes[type]) {\n return \"DateTime\";\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,iBAAyC,GAAG;EAC9CC,IAAI,EAAE,MADwC;EAE9CC,uBAAuB,EAAE,UAFqB;EAG9CC,oBAAoB,EAAE,WAHwB;EAI9CC,IAAI,EAAE;AAJwC,CAAlD;;AAOA,MAAMC,mBAAmB,GAAIC,KAAD,IAAkC;EAAA;;EAC1D,MAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAT,oDAAG,gBAAgBD,IAA7B;;EACA,IAAI,CAACA,IAAD,IAAS,CAACP,iBAAiB,CAACO,IAAD,CAA/B,EAAuC;IACnC,OAAO,UAAP;EACH;;EACD,OAAOP,iBAAiB,CAACO,IAAD,CAAxB;AACH,CAND;;AAWA,MAAME,iBAAiB,GAAG,CAAC;EAAEH;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAD,CAAQ;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,KATI;AAUH,CAXD;;AAaA,MAAMK,MAAoC,GAAG;EACzCC,IAAI,EAAE,qCADmC;EAEzCL,IAAI,EAAE,4BAFmC;EAGzCM,SAAS,EAAE,UAH8B;EAIzCC,UAAU,EAAE,IAJ6B;EAKzCC,YAAY,EAAE,IAL2B;EAMzCC,IAAI,EAAE;IACFP,iBADE;;IAEFQ,gBAAgB,CAAC;MAAEX;IAAF,CAAD,EAAY;MACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;IACH,CAJC;;IAKFY,eAAe,CAAC;MAAEZ;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACa,cAAV,EAA0B;QACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAD,CAAQ,GAAxD;MACH;;MAED,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;IACH;;EAXC,CANmC;EAmBzCc,MAAM,EAAE;IACJX,iBADI;;IAEJS,eAAe,CAAC;MAAEZ;IAAF,CAAD,EAAY;MACvB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;IACH,CAJG;;IAKJe,gBAAgB,CAAC;MAAEf;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAgB,gCAAA,EAAwBhB,KAAxB,EAA+BD,mBAAmB,CAACC,KAAD,CAAlD,CAAP;IACH;;EAPG;AAnBiC,CAA7C;eA8BeK,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["file.ts"],"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,iCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,MAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,KAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAxB;AACH;;AAPC,GANmC;AAezCC,EAAAA,MAAM,EAAE;AACJJ,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAOD,KAAK,CAACE,OAAN,GAAgB,YAAvB;AACH;;AACD,aAAOF,KAAK,CAACE,OAAN,GAAgB,UAAvB;AACH,KANG;;AAOJE,IAAAA,gBAAgB,CAAC;AAAEJ,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AATG;AAfiC,CAA7C;eA4BeR,M","sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;EACzCC,IAAI,EAAE,iCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,MAH8B;EAIzCC,UAAU,EAAE,KAJ6B;EAKzCC,YAAY,EAAE,KAL2B;EAMzCC,IAAI,EAAE;IACFC,eAAe,CAAC;MAAEC;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;QACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAxB;MACH;;MAED,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAxB;IACH;;EAPC,CANmC;EAezCC,MAAM,EAAE;IACJJ,eAAe,CAAC;MAAEC;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;QACtB,OAAOD,KAAK,CAACE,OAAN,GAAgB,YAAvB;MACH;;MACD,OAAOF,KAAK,CAACE,OAAN,GAAgB,UAAvB;IACH,CANG;;IAOJE,gBAAgB,CAAC;MAAEJ;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAK,gCAAA,EAAwBL,KAAxB,EAA+B,QAA/B,CAAP;IACH;;EATG;AAfiC,CAA7C;eA4BeR,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["helpers.ts"],"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","process","env","HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAA/B;;AAEA,MAAMC,aAAa,GAAIC,WAAD,IAAsD;AACxE,SAAO,CAACA,WAAW,IAAI,EAAhB,EAAoBC,IAApB,CAAyBC,UAAU,IAAI;AAC1C,WAAOA,UAAU,CAACC,IAAX,KAAoBL,sBAA3B;AACH,GAFM,CAAP;AAGH,CAJD;;AAMO,MAAMM,wBAAwB,GAAG,CAACC,GAAD,EAAcC,KAAd,KAA+C;AACnF,MAAI,CAACA,KAAK,CAACJ,UAAP,IAAqBI,KAAK,CAACJ,UAAN,CAAiBK,MAAjB,KAA4B,CAArD,EAAwD;AACpD,WAAOF,GAAP;AACH;;AACD,QAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAN,CAAiBD,IAAjB,CAAsBC,UAAU,IAAI;AACnD,WAAOA,UAAU,CAACC,IAAX,KAAoB,UAA3B;AACH,GAFkB,CAAnB;;AAGA,MAAI,CAACK,UAAL,EAAiB;AACb,WAAOH,GAAP;AACH;;AACD,SAAQ,GAAEA,GAAI,GAAd;AACH,CAXM;AAYP;AACA;AACA;;;;;AACO,MAAMI,uBAAuB,GAAG,CAACH,KAAD,EAAuBI,WAAvB,KAAuD;AAC1F,QAAMC,cAAc,GAAGZ,aAAa,CAACO,KAAK,CAACJ,UAAP,CAAb,GAAkC,GAAlC,GAAwC,EAA/D;;AACA,MAAI,CAACI,KAAK,CAACM,cAAX,EAA2B;AACvB,WAAQ,GAAEN,KAAK,CAACO,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAzD;AACH;;AACD,QAAMG,gBAAgB,GAAGf,aAAa,CAACO,KAAK,CAACS,cAAP,CAAb,GAAsC,GAAtC,GAA4C,EAArE;AAEA,QAAMC,YAAY,GACdC,OAAO,CAACC,GAAR,CAAYC,6CAAZ,KAA8D,OAA9D,GAAwE,EAAxE,GAA6E,GADjF;AAGA,SAAQ,GAAEb,KAAK,CAACO,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAA5E;AACH,CAXM","sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired =\n process.env.HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM === \"false\" ? \"\" : \"!\";\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"]}
1
+ {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","process","env","HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired =\n process.env.HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM === \"false\" ? \"\" : \"!\";\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAA/B;;AAEA,MAAMC,aAAa,GAAIC,WAAD,IAAsD;EACxE,OAAO,CAACA,WAAW,IAAI,EAAhB,EAAoBC,IAApB,CAAyBC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAX,KAAoBL,sBAA3B;EACH,CAFM,CAAP;AAGH,CAJD;;AAMO,MAAMM,wBAAwB,GAAG,CAACC,GAAD,EAAcC,KAAd,KAA+C;EACnF,IAAI,CAACA,KAAK,CAACJ,UAAP,IAAqBI,KAAK,CAACJ,UAAN,CAAiBK,MAAjB,KAA4B,CAArD,EAAwD;IACpD,OAAOF,GAAP;EACH;;EACD,MAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAN,CAAiBD,IAAjB,CAAsBC,UAAU,IAAI;IACnD,OAAOA,UAAU,CAACC,IAAX,KAAoB,UAA3B;EACH,CAFkB,CAAnB;;EAGA,IAAI,CAACK,UAAL,EAAiB;IACb,OAAOH,GAAP;EACH;;EACD,OAAQ,GAAEA,GAAI,GAAd;AACH,CAXM;AAYP;AACA;AACA;;;;;AACO,MAAMI,uBAAuB,GAAG,CAACH,KAAD,EAAuBI,WAAvB,KAAuD;EAC1F,MAAMC,cAAc,GAAGZ,aAAa,CAACO,KAAK,CAACJ,UAAP,CAAb,GAAkC,GAAlC,GAAwC,EAA/D;;EACA,IAAI,CAACI,KAAK,CAACM,cAAX,EAA2B;IACvB,OAAQ,GAAEN,KAAK,CAACO,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAzD;EACH;;EACD,MAAMG,gBAAgB,GAAGf,aAAa,CAACO,KAAK,CAACS,cAAP,CAAb,GAAsC,GAAtC,GAA4C,EAArE;EAEA,MAAMC,YAAY,GACdC,OAAO,CAACC,GAAR,CAAYC,6CAAZ,KAA8D,OAA9D,GAAwE,EAAxE,GAA6E,GADjF;EAGA,OAAQ,GAAEb,KAAK,CAACO,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAA5E;AACH,CAXM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["text","ref","number","datetime","boolean","longText","richText","file","object"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CAACA,aAAD,EAAOC,YAAP,EAAYC,eAAZ,EAAoBC,iBAApB,EAA8BC,gBAA9B,EAAuCC,iBAAvC,EAAiDC,iBAAjD,EAA2DC,aAA3D,EAAiEC,eAAjE,C","sourcesContent":["import text from \"./text\";\nimport longText from \"./longText\";\nimport ref from \"./ref\";\nimport number from \"./number\";\nimport boolean from \"./boolean\";\nimport datetime from \"./datetime\";\nimport richText from \"./richText\";\nimport file from \"./file\";\nimport object from \"./object\";\n\nexport default () => [text, ref, number, datetime, boolean, longText, richText, file, object];\n"]}
1
+ {"version":3,"names":["text","ref","number","datetime","boolean","longText","richText","file","object"],"sources":["index.ts"],"sourcesContent":["import text from \"./text\";\nimport longText from \"./longText\";\nimport ref from \"./ref\";\nimport number from \"./number\";\nimport boolean from \"./boolean\";\nimport datetime from \"./datetime\";\nimport richText from \"./richText\";\nimport file from \"./file\";\nimport object from \"./object\";\n\nexport default () => [text, ref, number, datetime, boolean, longText, richText, file, object];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CAACA,aAAD,EAAOC,YAAP,EAAYC,eAAZ,EAAoBC,iBAApB,EAA8BC,gBAA9B,EAAuCC,iBAAvC,EAAiDC,iBAAjD,EAA2DC,aAA3D,EAAiEC,eAAjE,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["longText.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,sCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,WAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,cAAc,EAAE,IANyB;AAOzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KAPC;;AAQFF,IAAAA;AARE,GAPmC;AAiBzCa,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAOX,KAAK,CAACC,OAAN,GAAgB,YAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;AACH,KARG;;AASJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAXG;AAjBiC,CAA7C;eAgCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-long-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"long-text\",\n isSortable: false,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["longText.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-long-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"long-text\",\n isSortable: false,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOA,MAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,sCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,WAH8B;EAIzCC,UAAU,EAAE,KAJ6B;EAKzCC,YAAY,EAAE,IAL2B;EAMzCC,cAAc,EAAE,IANyB;EAOzCC,IAAI,EAAE;IACFC,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;MACH;;MAED,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;IACH,CAPC;;IAQFF;EARE,CAPmC;EAiBzCa,MAAM,EAAE;IACJb,iBADI;;IAEJW,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAOX,KAAK,CAACC,OAAN,GAAgB,YAAvB;MACH;;MAED,OAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;IACH,CARG;;IASJY,gBAAgB,CAAC;MAAEb;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAc,gCAAA,EAAwBd,KAAxB,EAA+B,QAA/B,CAAP;IACH;;EAXG;AAjBiC,CAA7C;eAgCeE,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["number.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KATI;AAUH,CAXD;;AAaA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,mCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,QAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,gBAAgB,CAAC;AAAET,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;AACH,KAHC;;AAIFF,IAAAA,iBAJE;;AAKFW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;AACH;;AAED,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH;;AAXC,GANmC;AAmBzCW,EAAAA,MAAM,EAAE;AACJb,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAOX,KAAK,CAACC,OAAN,GAAgB,YAAvB;AACH;;AAED,aAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;AACH,KARG;;AASJY,IAAAA,gBAAgB,CAAC;AAAEb,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAXG;AAnBiC,CAA7C;eAkCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Number\n ${field.fieldId}_not: Number\n ${field.fieldId}_in: [Number]\n ${field.fieldId}_not_in: [Number]\n ${field.fieldId}_lt: Number\n ${field.fieldId}_lte: Number\n ${field.fieldId}_gt: Number\n ${field.fieldId}_gte: Number\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-number\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"number\",\n isSortable: true,\n isSearchable: true,\n read: {\n createGetFilters({ field }) {\n return `${field.fieldId}: Number`;\n },\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Number]`;\n }\n\n return `${field.fieldId}: Number`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Number]\";\n }\n\n return field.fieldId + \": Number\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Number\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["number.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Number\n ${field.fieldId}_not: Number\n ${field.fieldId}_in: [Number]\n ${field.fieldId}_not_in: [Number]\n ${field.fieldId}_lt: Number\n ${field.fieldId}_lte: Number\n ${field.fieldId}_gt: Number\n ${field.fieldId}_gte: Number\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-number\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"number\",\n isSortable: true,\n isSearchable: true,\n read: {\n createGetFilters({ field }) {\n return `${field.fieldId}: Number`;\n },\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Number]`;\n }\n\n return `${field.fieldId}: Number`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Number]\";\n }\n\n return field.fieldId + \": Number\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Number\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KATI;AAUH,CAXD;;AAaA,MAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,mCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,QAH8B;EAIzCC,UAAU,EAAE,IAJ6B;EAKzCC,YAAY,EAAE,IAL2B;EAMzCC,IAAI,EAAE;IACFC,gBAAgB,CAAC;MAAET;IAAF,CAAD,EAAY;MACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;IACH,CAHC;;IAIFF,iBAJE;;IAKFW,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;MACH;;MAED,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;IACH;;EAXC,CANmC;EAmBzCW,MAAM,EAAE;IACJb,iBADI;;IAEJW,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAOX,KAAK,CAACC,OAAN,GAAgB,YAAvB;MACH;;MAED,OAAOD,KAAK,CAACC,OAAN,GAAgB,UAAvB;IACH,CARG;;IASJY,gBAAgB,CAAC;MAAEb;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAc,gCAAA,EAAwBd,KAAxB,EAA+B,QAA/B,CAAP;IACH;;EAXG;AAnBiC,CAA7C;eAkCeE,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["object.ts"],"names":["typeFromField","params","typeOfType","model","type","field","fieldTypePlugins","typeSuffix","typeName","modelId","mTypeName","fields","settings","fieldTypeName","fieldId","typeFields","nestedTypes","replace","RegExp","f","result","typeDefs","push","fieldType","join","plugin","name","isSortable","isSearchable","read","createTypeField","multipleValues","createResolver","createFieldResolvers","graphQLType","length","typeResolvers","resolver","manage","createInputField"],"mappings":"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","sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { renderField } from \"~/content/plugins/utils/renderFields\";\nimport { renderInputField } from \"~/content/plugins/utils/renderInputFields\";\nimport { createManageTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { attachRequiredFieldValue } from \"./helpers\";\n\ninterface TypeFromFieldParams {\n typeOfType: string;\n model: CmsModel;\n type: ApiEndpoint;\n field: CmsModelField;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\nconst typeFromField = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, field, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n // `field` is an \"object\" field\n const fields: CmsModelField[] = field.settings?.fields || [];\n\n const fieldTypeName = `${mTypeName}_${upperFirst(field.fieldId)}`;\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${fieldTypeName}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));\n }\n }\n\n return {\n fieldType: `${fieldTypeName}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n \n ${typeOfType} ${fieldTypeName}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field, model, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"read\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"input\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["typeFromField","params","typeOfType","model","type","field","fieldTypePlugins","typeSuffix","typeName","createTypeName","modelId","mTypeName","createManageTypeName","fields","settings","fieldTypeName","upperFirst","fieldId","typeFields","nestedTypes","replace","RegExp","f","result","renderField","renderInputField","typeDefs","push","fieldType","join","plugin","name","isSortable","isSearchable","read","createTypeField","multipleValues","createResolver","createFieldResolvers","graphQLType","length","typeResolvers","resolver","manage","createInputField","attachRequiredFieldValue"],"sources":["object.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { renderField } from \"~/content/plugins/utils/renderFields\";\nimport { renderInputField } from \"~/content/plugins/utils/renderInputFields\";\nimport { createManageTypeName, createTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { attachRequiredFieldValue } from \"./helpers\";\n\ninterface TypeFromFieldParams {\n typeOfType: string;\n model: CmsModel;\n type: ApiEndpoint;\n field: CmsModelField;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\nconst typeFromField = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, field, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n // `field` is an \"object\" field\n const fields: CmsModelField[] = field.settings?.fields || [];\n\n const fieldTypeName = `${mTypeName}_${upperFirst(field.fieldId)}`;\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${fieldTypeName}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));\n }\n }\n\n return {\n fieldType: `${fieldTypeName}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n \n ${typeOfType} ${fieldTypeName}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field, model, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"read\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n typeDefs\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"input\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["ref.ts"],"names":["createUnionTypeName","model","field","modelId","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","gqlType","length","multipleValues","createResolver","params","set","parent","_","context","cms","initialValue","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","revisions","createSchema","unionFields","fields","filter","forEach","typeName","unionFieldsTypeDef","join","filteringTypeDef","typeDefs","resolvers","manage","RefField","id","createInputField"],"mappings":"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","sourcesContent":["import {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n id?: string;\n entryId: string;\n modelId: string;\n}\n\ninterface UnionField {\n model: CmsModel;\n field: CmsModelField;\n typeName: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field }) {\n const models = field.settings?.models || [];\n const gqlType =\n models.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(models[0].modelId);\n\n return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver(params) {\n const { field } = params;\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const models = field.settings?.models || [];\n for (const item of models) {\n modelIdToTypeName.set(item.modelId, createReadTypeName(item.modelId));\n }\n\n return async (parent, _, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema({ models }) {\n const unionFields: UnionField[] = [];\n for (const model of models) {\n // Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.\n model.fields\n .filter(\n field => field.type === \"ref\" && (field.settings?.models || []).length > 1\n )\n .forEach(field =>\n unionFields.push({\n model,\n field,\n typeName: createUnionTypeName(model, field)\n })\n );\n }\n const unionFieldsTypeDef = unionFields\n .map(\n ({ field, typeName }) =>\n `union ${typeName} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n )\n .join(\"\\n\");\n\n const filteringTypeDef = `\n ${createFilteringTypeDef()}\n \n ${unionFieldsTypeDef}\n `;\n\n return {\n typeDefs: filteringTypeDef,\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * entryId in RefFieldInput is deprecated but cannot mark it as GraphQL does not allow marking input fields as deprecated\n */\n return {\n typeDefs: `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n \n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n \n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","gqlType","length","multipleValues","createResolver","params","set","parent","_","context","cms","initialValue","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","revisions","createSchema","unionFields","fields","filter","forEach","typeName","unionFieldsTypeDef","join","filteringTypeDef","typeDefs","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField"],"sources":["ref.ts"],"sourcesContent":["import {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/content/plugins/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n id?: string;\n entryId: string;\n modelId: string;\n}\n\ninterface UnionField {\n model: CmsModel;\n field: CmsModelField;\n typeName: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field }) {\n const models = field.settings?.models || [];\n const gqlType =\n models.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(models[0].modelId);\n\n return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver(params) {\n const { field } = params;\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const models = field.settings?.models || [];\n for (const item of models) {\n modelIdToTypeName.set(item.modelId, createReadTypeName(item.modelId));\n }\n\n return async (parent, _, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema({ models }) {\n const unionFields: UnionField[] = [];\n for (const model of models) {\n // Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.\n model.fields\n .filter(\n field => field.type === \"ref\" && (field.settings?.models || []).length > 1\n )\n .forEach(field =>\n unionFields.push({\n model,\n field,\n typeName: createUnionTypeName(model, field)\n })\n );\n }\n const unionFieldsTypeDef = unionFields\n .map(\n ({ field, typeName }) =>\n `union ${typeName} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n )\n .join(\"\\n\");\n\n const filteringTypeDef = `\n ${createFilteringTypeDef()}\n \n ${unionFieldsTypeDef}\n `;\n\n return {\n typeDefs: filteringTypeDef,\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * entryId in RefFieldInput is deprecated but cannot mark it as GraphQL does not allow marking input fields as deprecated\n */\n return {\n typeDefs: `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n \n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n \n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n};\n\nexport default plugin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["richText.ts"],"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,sCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,WAH8B;AAIzCC,EAAAA,UAAU,EAAE,KAJ6B;AAKzCC,EAAAA,YAAY,EAAE,KAL2B;AAMzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;AACH;;AAED,aAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;AACH,KAPC;;AAQFC,IAAAA,gBAAgB,CAAC;AAAEH,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAxB;AACH;;AAVC,GANmC;AAkBzCE,EAAAA,MAAM,EAAE;AACJL,IAAAA,eAAe,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACC,cAAV,EAA0B;AACtB,eAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;AACH;;AACD,aAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;AACH,KANG;;AAOJG,IAAAA,gBAAgB,CAAC;AAAEL,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,MAA/B,CAAP;AACH;;AATG;AAlBiC,CAA7C;eA+BeR,M","sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["plugin","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAoC,GAAG;EACzCC,IAAI,EAAE,sCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,WAH8B;EAIzCC,UAAU,EAAE,KAJ6B;EAKzCC,YAAY,EAAE,KAL2B;EAMzCC,IAAI,EAAE;IACFC,eAAe,CAAC;MAAEC;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;QACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;MACH;;MAED,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;IACH,CAPC;;IAQFC,gBAAgB,CAAC;MAAEH;IAAF,CAAD,EAAY;MACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAxB;IACH;;EAVC,CANmC;EAkBzCE,MAAM,EAAE;IACJL,eAAe,CAAC;MAAEC;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;QACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;MACH;;MACD,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;IACH,CANG;;IAOJG,gBAAgB,CAAC;MAAEL;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAM,gCAAA,EAAwBN,KAAxB,EAA+B,MAA/B,CAAP;IACH;;EATG;AAlBiC,CAA7C;eA+BeR,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["text.ts"],"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAwC;AAC9D,SAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAPI;AAQH,CATD;;AAWA,MAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,iCADmC;AAEzCC,EAAAA,IAAI,EAAE,4BAFmC;AAGzCC,EAAAA,SAAS,EAAE,MAH8B;AAIzCC,EAAAA,UAAU,EAAE,IAJ6B;AAKzCC,EAAAA,YAAY,EAAE,IAL2B;AAMzCC,EAAAA,cAAc,EAAE,IANyB;AAOzCC,EAAAA,IAAI,EAAE;AACFC,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;AACH;;AACD,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KANC;;AAOFW,IAAAA,gBAAgB,CAAC;AAAEZ,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;AACH,KATC;;AAUFF,IAAAA;AAVE,GAPmC;AAmBzCc,EAAAA,MAAM,EAAE;AACJd,IAAAA,iBADI;;AAEJW,IAAAA,eAAe,CAAC;AAAEV,MAAAA;AAAF,KAAD,EAAY;AACvB,UAAIA,KAAK,CAACW,cAAV,EAA0B;AACtB,eAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;AACH;;AACD,aAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;AACH,KAPG;;AAQJa,IAAAA,gBAAgB,CAAC;AAAEd,MAAAA;AAAF,KAAD,EAAY;AACxB,aAAO,sCAAwBA,KAAxB,EAA+B,QAA/B,CAAP;AACH;;AAVG;AAnBiC,CAA7C;eAiCeE,M","sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["createListFilters","field","fieldId","plugin","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nconst plugin: CmsModelFieldToGraphQLPlugin = {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAPI;AAQH,CATD;;AAWA,MAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,iCADmC;EAEzCC,IAAI,EAAE,4BAFmC;EAGzCC,SAAS,EAAE,MAH8B;EAIzCC,UAAU,EAAE,IAJ6B;EAKzCC,YAAY,EAAE,IAL2B;EAMzCC,cAAc,EAAE,IANyB;EAOzCC,IAAI,EAAE;IACFC,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;MACH;;MACD,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;IACH,CANC;;IAOFW,gBAAgB,CAAC;MAAEZ;IAAF,CAAD,EAAY;MACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;IACH,CATC;;IAUFF;EAVE,CAPmC;EAmBzCc,MAAM,EAAE;IACJd,iBADI;;IAEJW,eAAe,CAAC;MAAEV;IAAF,CAAD,EAAY;MACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;QACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;MACH;;MACD,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;IACH,CAPG;;IAQJa,gBAAgB,CAAC;MAAEd;IAAF,CAAD,EAAY;MACxB,OAAO,IAAAe,gCAAA,EAAwBf,KAAxB,EAA+B,QAA/B,CAAP;IACH;;EAVG;AAnBiC,CAA7C;eAiCeE,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalAuthenticationPlugin.ts"],"names":["InternalAuthenticationPlugin","AuthenticationPlugin","constructor","identityType","_identityType","authenticate","context","headers","http","request","header","apiKey","split","pop","cms","getReadAPIKey","id","displayName","type","permissions","name"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAKO,MAAMA,4BAAN,SAA2CC,0CAA3C,CAAgE;AAG5DC,EAAAA,WAAW,CAACC,YAAD,EAAuB;AACrC;AADqC;AAGrC,SAAKC,aAAL,GAAqBD,YAArB;AACH;;AAEwB,QAAZE,YAAY,CAACC,OAAD,EAA6D;AAClF,UAAM;AAAEC,MAAAA;AAAF,QAAcD,OAAO,CAACE,IAAR,CAAaC,OAAjC;AACA,UAAMC,MAAM,GAAGH,OAAO,CAAC,eAAD,CAAP,IAA4BA,OAAO,CAAC,eAAD,CAAlD;AACA,UAAMI,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAACE,KAAP,CAAa,GAAb,EAAkBC,GAAlB,EAAH,GAA6B,IAAlD;;AACA,QAAI,CAACF,MAAD,IAAWA,MAAM,MAAM,MAAML,OAAO,CAACQ,GAAR,CAAYC,aAAZ,EAAZ,CAArB,EAA+D;AAC3D;AACH;AAED;AACR;AACA;AACA;;;AACQ,WAAO;AACHC,MAAAA,EAAE,EAAE,cADD;AAEHC,MAAAA,WAAW,EAAE,cAFV;AAGHC,MAAAA,IAAI,EAAE,KAAKd,aAHR;AAIHe,MAAAA,WAAW,EAAE,CACT;AAAEC,QAAAA,IAAI,EAAE;AAAR,OADS,EAET;AAAEA,QAAAA,IAAI,EAAE;AAAR,OAFS,EAGT;AAAEA,QAAAA,IAAI,EAAE;AAAR,OAHS;AAJV,KAAP;AAUH;;AA/BkE","sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthenticationPlugin } from \"@webiny/api-security/plugins/AuthenticationPlugin\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthenticationPlugin extends AuthenticationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public async authenticate(context: CmsContext): Promise<undefined | SecurityIdentity> {\n const { headers } = context.http.request;\n const header = headers[\"Authorization\"] || headers[\"authorization\"];\n const apiKey = header ? header.split(\" \").pop() : null;\n if (!apiKey || apiKey !== (await context.cms.getReadAPIKey())) {\n return;\n }\n\n /**\n * This is an internal identity, which has access to `read` endpoint, all content models,\n * content entries, and all content locales.\n */\n return {\n id: \"read-api-key\",\n displayName: \"Read API key\",\n type: this._identityType,\n permissions: [\n { name: \"cms.endpoint.read\" },\n { name: \"cms.content*\" },\n { name: \"content.i18n\" }\n ]\n };\n }\n}\n"]}
1
+ {"version":3,"names":["InternalAuthenticationPlugin","AuthenticationPlugin","constructor","identityType","_identityType","authenticate","context","headers","http","request","header","apiKey","split","pop","cms","getReadAPIKey","id","displayName","type","permissions","name"],"sources":["InternalAuthenticationPlugin.ts"],"sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthenticationPlugin } from \"@webiny/api-security/plugins/AuthenticationPlugin\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthenticationPlugin extends AuthenticationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public async authenticate(context: CmsContext): Promise<undefined | SecurityIdentity> {\n const { headers } = context.http.request;\n const header = headers[\"Authorization\"] || headers[\"authorization\"];\n const apiKey = header ? header.split(\" \").pop() : null;\n if (!apiKey || apiKey !== (await context.cms.getReadAPIKey())) {\n return;\n }\n\n /**\n * This is an internal identity, which has access to `read` endpoint, all content models,\n * content entries, and all content locales.\n */\n return {\n id: \"read-api-key\",\n displayName: \"Read API key\",\n type: this._identityType,\n permissions: [\n { name: \"cms.endpoint.read\" },\n { name: \"cms.content*\" },\n { name: \"content.i18n\" }\n ]\n };\n }\n}\n"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAKO,MAAMA,4BAAN,SAA2CC,0CAA3C,CAAgE;EAG5DC,WAAW,CAACC,YAAD,EAAuB;IACrC;IADqC;IAGrC,KAAKC,aAAL,GAAqBD,YAArB;EACH;;EAEwB,MAAZE,YAAY,CAACC,OAAD,EAA6D;IAClF,MAAM;MAAEC;IAAF,IAAcD,OAAO,CAACE,IAAR,CAAaC,OAAjC;IACA,MAAMC,MAAM,GAAGH,OAAO,CAAC,eAAD,CAAP,IAA4BA,OAAO,CAAC,eAAD,CAAlD;IACA,MAAMI,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAACE,KAAP,CAAa,GAAb,EAAkBC,GAAlB,EAAH,GAA6B,IAAlD;;IACA,IAAI,CAACF,MAAD,IAAWA,MAAM,MAAM,MAAML,OAAO,CAACQ,GAAR,CAAYC,aAAZ,EAAZ,CAArB,EAA+D;MAC3D;IACH;IAED;AACR;AACA;AACA;;;IACQ,OAAO;MACHC,EAAE,EAAE,cADD;MAEHC,WAAW,EAAE,cAFV;MAGHC,IAAI,EAAE,KAAKd,aAHR;MAIHe,WAAW,EAAE,CACT;QAAEC,IAAI,EAAE;MAAR,CADS,EAET;QAAEA,IAAI,EAAE;MAAR,CAFS,EAGT;QAAEA,IAAI,EAAE;MAAR,CAHS;IAJV,CAAP;EAUH;;AA/BkE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalAuthorizationPlugin.ts"],"names":["InternalAuthorizationPlugin","AuthorizationPlugin","constructor","identityType","_identityType","getPermissions","context","identity","security","getIdentity","type","permissions"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAIO,MAAMA,2BAAN,SAA0CC,wCAA1C,CAA8D;AAG1DC,EAAAA,WAAW,CAACC,YAAD,EAAuB;AACrC;AADqC;AAGrC,SAAKC,aAAL,GAAqBD,YAArB;AACH;;AAEME,EAAAA,cAAc,CAACC,OAAD,EAAsB;AACvC,UAAMC,QAAQ,GAAGD,OAAO,CAACE,QAAR,CAAiBC,WAAjB,EAAjB;;AAEA,QAAI,CAACF,QAAD,IAAaA,QAAQ,CAACG,IAAT,KAAkB,KAAKN,aAAxC,EAAuD;AACnD;AACH,KALsC,CAOvC;;;AACA,WAAOG,QAAQ,CAACI,WAAhB;AACH;;AAlBgE","sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthorizationPlugin } from \"@webiny/api-security/plugins/AuthorizationPlugin\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthorizationPlugin extends AuthorizationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public getPermissions(context: CmsContext) {\n const identity = context.security.getIdentity();\n\n if (!identity || identity.type !== this._identityType) {\n return;\n }\n\n // Return permissions we defined in the authentication plugin.\n return identity.permissions;\n }\n}\n"]}
1
+ {"version":3,"names":["InternalAuthorizationPlugin","AuthorizationPlugin","constructor","identityType","_identityType","getPermissions","context","identity","security","getIdentity","type","permissions"],"sources":["InternalAuthorizationPlugin.ts"],"sourcesContent":["// TODO @ts-refactor @pavel\n// @ts-nocheck\nimport { AuthorizationPlugin } from \"@webiny/api-security/plugins/AuthorizationPlugin\";\nimport { CmsContext } from \"~/types\";\n\nexport class InternalAuthorizationPlugin extends AuthorizationPlugin {\n private readonly _identityType: string;\n\n public constructor(identityType: string) {\n super();\n\n this._identityType = identityType;\n }\n\n public getPermissions(context: CmsContext) {\n const identity = context.security.getIdentity();\n\n if (!identity || identity.type !== this._identityType) {\n return;\n }\n\n // Return permissions we defined in the authentication plugin.\n return identity.permissions;\n }\n}\n"],"mappings":";;;;;;;;;;;AAEA;;AAFA;AACA;AAIO,MAAMA,2BAAN,SAA0CC,wCAA1C,CAA8D;EAG1DC,WAAW,CAACC,YAAD,EAAuB;IACrC;IADqC;IAGrC,KAAKC,aAAL,GAAqBD,YAArB;EACH;;EAEME,cAAc,CAACC,OAAD,EAAsB;IACvC,MAAMC,QAAQ,GAAGD,OAAO,CAACE,QAAR,CAAiBC,WAAjB,EAAjB;;IAEA,IAAI,CAACF,QAAD,IAAaA,QAAQ,CAACG,IAAT,KAAkB,KAAKN,aAAxC,EAAuD;MACnD;IACH,CALsC,CAOvC;;;IACA,OAAOG,QAAQ,CAACI,WAAhB;EACH;;AAlBgE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DefaultCmsModelManager.ts"],"names":["DefaultCmsModelManager","constructor","context","model","_context","_model","create","data","cms","createEntry","delete","id","version","deleteEntryRevision","deleteEntry","get","getEntryById","listPublished","params","listPublishedEntries","listLatest","listLatestEntries","getPublishedByIds","ids","getPublishedEntriesByIds","getLatestByIds","getLatestEntriesByIds","update","updateEntry"],"mappings":";;;;;;;;;;;AAQA;;AAEO,MAAMA,sBAAN,CAAwD;AAIpDC,EAAAA,WAAW,CAACC,OAAD,EAAsBC,KAAtB,EAAuC;AAAA;AAAA;AACrD,SAAKC,QAAL,GAAgBF,OAAhB;AACA,SAAKG,MAAL,GAAcF,KAAd;AACH;;AAEkB,QAANG,MAAM,CAACC,IAAD,EAA4B;AAC3C,WAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBC,WAAlB,CAA8B,KAAKJ,MAAnC,EAA2CE,IAA3C,CAAP;AACH;;AAEkB,QAANG,MAAM,CAACC,EAAD,EAAa;AAC5B,UAAM;AAAEC,MAAAA;AAAF,QAAc,4BAAgBD,EAAhB,CAApB;;AACA,QAAIC,OAAJ,EAAa;AACT,aAAO,KAAKR,QAAL,CAAcI,GAAd,CAAkBK,mBAAlB,CAAsC,KAAKR,MAA3C,EAAmDM,EAAnD,CAAP;AACH;;AAED,WAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBM,WAAlB,CAA8B,KAAKT,MAAnC,EAA2CM,EAA3C,CAAP;AACH;;AAEe,QAAHI,GAAG,CAACJ,EAAD,EAAa;AACzB,WAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBQ,YAAlB,CAA+B,KAAKX,MAApC,EAA4CM,EAA5C,CAAP;AACH;;AAEyB,QAAbM,aAAa,CAACC,MAAD,EAA6B;AACnD,WAAO,KAAKd,QAAL,CAAcI,GAAd,CAAkBW,oBAAlB,CAAuC,KAAKd,MAA5C,EAAoDa,MAApD,CAAP;AACH;;AAEsB,QAAVE,UAAU,CAACF,MAAD,EAA6B;AAChD,WAAO,KAAKd,QAAL,CAAcI,GAAd,CAAkBa,iBAAlB,CAAoC,KAAKhB,MAAzC,EAAiDa,MAAjD,CAAP;AACH;;AAE6B,QAAjBI,iBAAiB,CAACC,GAAD,EAAgB;AAC1C,WAAO,KAAKnB,QAAL,CAAcI,GAAd,CAAkBgB,wBAAlB,CAA2C,KAAKnB,MAAhD,EAAwDkB,GAAxD,CAAP;AACH;;AAE0B,QAAdE,cAAc,CAACF,GAAD,EAAgB;AACvC,WAAO,KAAKnB,QAAL,CAAcI,GAAd,CAAkBkB,qBAAlB,CAAwC,KAAKrB,MAA7C,EAAqDkB,GAArD,CAAP;AACH;;AAEkB,QAANI,MAAM,CAAChB,EAAD,EAAaJ,IAAb,EAAwC;AACvD,WAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBoB,WAAlB,CAA8B,KAAKvB,MAAnC,EAA2CM,EAA3C,EAA+CJ,IAA/C,CAAP;AACH;;AA5C0D","sourcesContent":["import {\n CmsModelManager,\n CmsModel,\n CmsContext,\n CmsEntryListParams,\n CreateCmsEntryInput,\n UpdateCmsEntryInput\n} from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport class DefaultCmsModelManager implements CmsModelManager {\n private readonly _context: CmsContext;\n private readonly _model: CmsModel;\n\n public constructor(context: CmsContext, model: CmsModel) {\n this._context = context;\n this._model = model;\n }\n\n public async create(data: CreateCmsEntryInput) {\n return this._context.cms.createEntry(this._model, data);\n }\n\n public async delete(id: string) {\n const { version } = parseIdentifier(id);\n if (version) {\n return this._context.cms.deleteEntryRevision(this._model, id);\n }\n\n return this._context.cms.deleteEntry(this._model, id);\n }\n\n public async get(id: string) {\n return this._context.cms.getEntryById(this._model, id);\n }\n\n public async listPublished(params: CmsEntryListParams) {\n return this._context.cms.listPublishedEntries(this._model, params);\n }\n\n public async listLatest(params: CmsEntryListParams) {\n return this._context.cms.listLatestEntries(this._model, params);\n }\n\n public async getPublishedByIds(ids: string[]) {\n return this._context.cms.getPublishedEntriesByIds(this._model, ids);\n }\n\n public async getLatestByIds(ids: string[]) {\n return this._context.cms.getLatestEntriesByIds(this._model, ids);\n }\n\n public async update(id: string, data: UpdateCmsEntryInput) {\n return this._context.cms.updateEntry(this._model, id, data);\n }\n}\n"]}
1
+ {"version":3,"names":["DefaultCmsModelManager","constructor","context","model","_context","_model","create","data","cms","createEntry","delete","id","version","parseIdentifier","deleteEntryRevision","deleteEntry","get","getEntryById","listPublished","params","listPublishedEntries","listLatest","listLatestEntries","getPublishedByIds","ids","getPublishedEntriesByIds","getLatestByIds","getLatestEntriesByIds","update","updateEntry"],"sources":["DefaultCmsModelManager.ts"],"sourcesContent":["import {\n CmsModelManager,\n CmsModel,\n CmsContext,\n CmsEntryListParams,\n CreateCmsEntryInput,\n UpdateCmsEntryInput\n} from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport class DefaultCmsModelManager implements CmsModelManager {\n private readonly _context: CmsContext;\n private readonly _model: CmsModel;\n\n public constructor(context: CmsContext, model: CmsModel) {\n this._context = context;\n this._model = model;\n }\n\n public async create(data: CreateCmsEntryInput) {\n return this._context.cms.createEntry(this._model, data);\n }\n\n public async delete(id: string) {\n const { version } = parseIdentifier(id);\n if (version) {\n return this._context.cms.deleteEntryRevision(this._model, id);\n }\n\n return this._context.cms.deleteEntry(this._model, id);\n }\n\n public async get(id: string) {\n return this._context.cms.getEntryById(this._model, id);\n }\n\n public async listPublished(params: CmsEntryListParams) {\n return this._context.cms.listPublishedEntries(this._model, params);\n }\n\n public async listLatest(params: CmsEntryListParams) {\n return this._context.cms.listLatestEntries(this._model, params);\n }\n\n public async getPublishedByIds(ids: string[]) {\n return this._context.cms.getPublishedEntriesByIds(this._model, ids);\n }\n\n public async getLatestByIds(ids: string[]) {\n return this._context.cms.getLatestEntriesByIds(this._model, ids);\n }\n\n public async update(id: string, data: UpdateCmsEntryInput) {\n return this._context.cms.updateEntry(this._model, id, data);\n }\n}\n"],"mappings":";;;;;;;;;;;AAQA;;AAEO,MAAMA,sBAAN,CAAwD;EAIpDC,WAAW,CAACC,OAAD,EAAsBC,KAAtB,EAAuC;IAAA;IAAA;IACrD,KAAKC,QAAL,GAAgBF,OAAhB;IACA,KAAKG,MAAL,GAAcF,KAAd;EACH;;EAEkB,MAANG,MAAM,CAACC,IAAD,EAA4B;IAC3C,OAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBC,WAAlB,CAA8B,KAAKJ,MAAnC,EAA2CE,IAA3C,CAAP;EACH;;EAEkB,MAANG,MAAM,CAACC,EAAD,EAAa;IAC5B,MAAM;MAAEC;IAAF,IAAc,IAAAC,sBAAA,EAAgBF,EAAhB,CAApB;;IACA,IAAIC,OAAJ,EAAa;MACT,OAAO,KAAKR,QAAL,CAAcI,GAAd,CAAkBM,mBAAlB,CAAsC,KAAKT,MAA3C,EAAmDM,EAAnD,CAAP;IACH;;IAED,OAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBO,WAAlB,CAA8B,KAAKV,MAAnC,EAA2CM,EAA3C,CAAP;EACH;;EAEe,MAAHK,GAAG,CAACL,EAAD,EAAa;IACzB,OAAO,KAAKP,QAAL,CAAcI,GAAd,CAAkBS,YAAlB,CAA+B,KAAKZ,MAApC,EAA4CM,EAA5C,CAAP;EACH;;EAEyB,MAAbO,aAAa,CAACC,MAAD,EAA6B;IACnD,OAAO,KAAKf,QAAL,CAAcI,GAAd,CAAkBY,oBAAlB,CAAuC,KAAKf,MAA5C,EAAoDc,MAApD,CAAP;EACH;;EAEsB,MAAVE,UAAU,CAACF,MAAD,EAA6B;IAChD,OAAO,KAAKf,QAAL,CAAcI,GAAd,CAAkBc,iBAAlB,CAAoC,KAAKjB,MAAzC,EAAiDc,MAAjD,CAAP;EACH;;EAE6B,MAAjBI,iBAAiB,CAACC,GAAD,EAAgB;IAC1C,OAAO,KAAKpB,QAAL,CAAcI,GAAd,CAAkBiB,wBAAlB,CAA2C,KAAKpB,MAAhD,EAAwDmB,GAAxD,CAAP;EACH;;EAE0B,MAAdE,cAAc,CAACF,GAAD,EAAgB;IACvC,OAAO,KAAKpB,QAAL,CAAcI,GAAd,CAAkBmB,qBAAlB,CAAwC,KAAKtB,MAA7C,EAAqDmB,GAArD,CAAP;EACH;;EAEkB,MAANI,MAAM,CAACjB,EAAD,EAAaJ,IAAb,EAAwC;IACvD,OAAO,KAAKH,QAAL,CAAcI,GAAd,CAAkBqB,WAAlB,CAA8B,KAAKxB,MAAnC,EAA2CM,EAA3C,EAA+CJ,IAA/C,CAAP;EACH;;AA5C0D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["plugin","type","name","create","context","model","DefaultCmsModelManager"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAA0B,GAAG;AAC/BC,EAAAA,IAAI,EAAE,2BADyB;AAE/BC,EAAAA,IAAI,EAAE,+BAFyB;AAG/BC,EAAAA,MAAM,EAAE,OAAOC,OAAP,EAAgBC,KAAhB,KAA0B;AAC9B,WAAO,IAAIC,8CAAJ,CAA2BF,OAA3B,EAAoCC,KAApC,CAAP;AACH;AAL8B,CAAnC;;eAQe,MAAML,M","sourcesContent":["import { ModelManagerPlugin } from \"~/types\";\nimport { DefaultCmsModelManager } from \"./DefaultCmsModelManager\";\n\nconst plugin: ModelManagerPlugin = {\n type: \"cms-content-model-manager\",\n name: \"content-model-manager-default\",\n create: async (context, model) => {\n return new DefaultCmsModelManager(context, model);\n }\n};\n\nexport default () => plugin;\n"]}
1
+ {"version":3,"names":["plugin","type","name","create","context","model","DefaultCmsModelManager"],"sources":["index.ts"],"sourcesContent":["import { ModelManagerPlugin } from \"~/types\";\nimport { DefaultCmsModelManager } from \"./DefaultCmsModelManager\";\n\nconst plugin: ModelManagerPlugin = {\n type: \"cms-content-model-manager\",\n name: \"content-model-manager-default\",\n create: async (context, model) => {\n return new DefaultCmsModelManager(context, model);\n }\n};\n\nexport default () => plugin;\n"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAA0B,GAAG;EAC/BC,IAAI,EAAE,2BADyB;EAE/BC,IAAI,EAAE,+BAFyB;EAG/BC,MAAM,EAAE,OAAOC,OAAP,EAAgBC,KAAhB,KAA0B;IAC9B,OAAO,IAAIC,8CAAJ,CAA2BF,OAA3B,EAAoCC,KAApC,CAAP;EACH;AAL8B,CAAnC;;eAQe,MAAML,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["baseSchema.ts"],"names":["baseSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"mappings":";;;;;;;;;;;AAEA;;AAWA;;;;;;AAGA,MAAMA,UAAU,GAAIC,OAAD,IAA8C;AAC7D,QAAMC,OAAO,GAAGD,OAAO,CAACE,OAAR,CACXC,MADW,CACiB,gBADjB,EAEXC,GAFW,CAEPC,IAAI,IAAIA,IAAI,CAACC,MAFN,CAAhB;AAIA,SAAO,IAAIC,wCAAJ,CAAwB;AAC3BC,IAAAA,QAAQ;AAAE;AAAe;AACjC,cAAcP,OAAO,CAACG,GAAR,CAAYE,MAAM,IAAK,UAASA,MAAM,CAACG,IAAK,EAA5C,EAA+CC,IAA/C,CAAoD,GAApD,CAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA1DmC;AA2D3BC,IAAAA,SAAS,kCACFV,OAAO,CAACW,MAAR,CAAe,CAACC,GAAD,EAAMC,CAAN,KAAY;AAC1BD,MAAAA,GAAG,CAACC,CAAC,CAACL,IAAH,CAAH,GAAcK,CAAd;AACA,aAAOD,GAAP;AACH,KAHE,EAGA,EAHA,CADE;AAKLE,MAAAA,IAAI,EAAEC,wBALD;AAMLC,MAAAA,IAAI,EAAEC,wBAND;AAOLC,MAAAA,QAAQ,EAARA,sBAPK;AAQLC,MAAAA,MAAM,EAAEC,oBARH;AASLC,MAAAA,GAAG,EAAEC,iBATA;AAULC,MAAAA,QAAQ,EAAEC,4BAVL;AAWLC,MAAAA,SAAS,EAAEC,6BAXN;AAYLC,MAAAA,IAAI,EAAEC,wBAZD;AAaLC,MAAAA,IAAI,EAAEC,wBAbD;AAcLC,MAAAA,QAAQ,EAAE;AACNC,QAAAA,MAAM,EAAE,MAAM;AADR;AAdL;AA3DkB,GAAxB,CAAP;AA8EH,CAnFD;;eAqFelC,U","sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n Number as NumberScalar,\n Any as AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nconst baseSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n\nexport default baseSchema;\n"]}
1
+ {"version":3,"names":["baseSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n Number as NumberScalar,\n Any as AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nconst baseSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n\nexport default baseSchema;\n"],"mappings":";;;;;;;;;;;AAEA;;AAWA;;;;;;AAGA,MAAMA,UAAU,GAAIC,OAAD,IAA8C;EAC7D,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAR,CACXC,MADW,CACiB,gBADjB,EAEXC,GAFW,CAEPC,IAAI,IAAIA,IAAI,CAACC,MAFN,CAAhB;EAIA,OAAO,IAAIC,wCAAJ,CAAwB;IAC3BC,QAAQ;IAAE;IAAe;AACjC,cAAcP,OAAO,CAACG,GAAR,CAAYE,MAAM,IAAK,UAASA,MAAM,CAACG,IAAK,EAA5C,EAA+CC,IAA/C,CAAoD,GAApD,CAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA1DmC;IA2D3BC,SAAS,kCACFV,OAAO,CAACW,MAAR,CAAe,CAACC,GAAD,EAAMC,CAAN,KAAY;MAC1BD,GAAG,CAACC,CAAC,CAACL,IAAH,CAAH,GAAcK,CAAd;MACA,OAAOD,GAAP;IACH,CAHE,EAGA,EAHA,CADE;MAKLE,IAAI,EAAEC,wBALD;MAMLC,IAAI,EAAEC,wBAND;MAOLC,QAAQ,EAARA,sBAPK;MAQLC,MAAM,EAAEC,oBARH;MASLC,GAAG,EAAEC,iBATA;MAULC,QAAQ,EAAEC,4BAVL;MAWLC,SAAS,EAAEC,6BAXN;MAYLC,IAAI,EAAEC,wBAZD;MAaLC,IAAI,EAAEC,wBAbD;MAcLC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MADR;IAdL;EA3DkB,CAAxB,CAAP;AA8EH,CAnFD;;eAqFelC,U"}
@@ -1 +1 @@
1
- {"version":3,"sources":["contentEntries.ts"],"names":["getFetchMethod","type","context","getContentEntriesMethods","WebinyError","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","model","modelId","argsEntries","entries","entriesByModel","ref","includes","id","push","getters","Object","keys","map","length","Response","results","Promise","all","items","concat","item","entryId","name","status","title","filter","Boolean","getContentEntry","entry","find","m","NotAuthorizedResponse","data","result","shift","plugin","MANAGE","GraphQLSchemaPlugin","typeDefs","resolvers","CmsContentEntry","parent","_","getPublishedEntriesByIds","ex","Query","searchContentEntries","modelIds","fields","query","limit","modelManager","getModelManager","where","listLatest","search","undefined","savedOn","then","sort","a","b","Date","parse","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries"],"mappings":"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","sourcesContent":["import { Response } from \"@webiny/handler-graphql\";\nimport { CmsEntry, CmsContext, CmsModel, CmsEntryListWhere } from \"~/types\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { getEntryTitle } from \"~/content/plugins/utils/getEntryTitle\";\nimport WebinyError from \"@webiny/error\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\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}\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 * 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}\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (params: GetContentEntriesParams): Promise<Response> => {\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((collection, model) => {\n collection[model.modelId] = model;\n return collection;\n }, {} as Record<string, CmsModel>);\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 const results = await Promise.all(getters);\n\n const entries = results\n .reduce((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return {\n id: item.id,\n entryId: item.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: item.status,\n title: getEntryTitle(model, item)\n };\n })\n );\n }, [] as CmsEntryRecord[])\n .filter(Boolean);\n\n return new Response(entries);\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}\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response | 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({\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 });\n};\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n return new GraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsModelMeta {\n modelId: String\n name: String\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta\n status: String\n title: String\n published: CmsPublishedContentEntry\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 {\n id: entry.id,\n entryId: entry.entryId,\n title: getEntryTitle(model, entry)\n };\n } catch (ex) {\n return null;\n }\n }\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 modelManager = await context.cms.getModelManager(model.modelId);\n const where: CmsEntryListWhere = {};\n\n const [items] = await modelManager.listLatest({\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n\n return items.map((entry: CmsEntry) => {\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 // We need `savedOn` to sort entries from latest to oldest\n savedOn: entry.savedOn\n };\n });\n });\n\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) => Date.parse(b.savedOn) - Date.parse(a.savedOn))\n .slice(0, limit)\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 // const models = await context.cms.listModels();\n //\n // const modelsMap = models.reduce((collection, model) => {\n // collection[model.modelId] = model;\n // return collection;\n // }, {} as Record<string, CmsModel>);\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(\n // async modelId => {\n // return context.cms.getEntriesByIds(\n // modelsMap[modelId],\n // entriesByModel[modelId]\n // );\n // }\n // );\n //\n // if (getters.length === 0) {\n // return new Response([]);\n // }\n //\n // const results = await Promise.all(getters);\n //\n // const entries = results.reduce((collection, items) => {\n // return collection.concat(\n // items.map(item => {\n // const model = modelsMap[item.modelId];\n //\n // return {\n // id: item.id,\n // model: {\n // modelId: model.modelId,\n // name: model.name\n // },\n // status: item.status,\n // title: getEntryTitle(model, item)\n // };\n // })\n // );\n // }, [] as any[]);\n //\n // return new Response(entries);\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\nexport default plugin;\n"]}
1
+ {"version":3,"names":["getFetchMethod","type","context","getContentEntriesMethods","WebinyError","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","model","modelId","argsEntries","entries","entriesByModel","ref","includes","id","push","getters","Object","keys","map","length","Response","results","Promise","all","items","concat","item","entryId","name","status","title","getEntryTitle","filter","Boolean","getContentEntry","entry","find","m","NotAuthorizedResponse","data","result","shift","plugin","MANAGE","GraphQLSchemaPlugin","typeDefs","resolvers","CmsContentEntry","parent","_","getPublishedEntriesByIds","ex","Query","searchContentEntries","modelIds","fields","query","limit","modelManager","getModelManager","where","listLatest","search","undefined","savedOn","then","sort","a","b","Date","parse","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries"],"sources":["contentEntries.ts"],"sourcesContent":["import { Response } from \"@webiny/handler-graphql\";\nimport { CmsEntry, CmsContext, CmsModel, CmsEntryListWhere } from \"~/types\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { getEntryTitle } from \"~/content/plugins/utils/getEntryTitle\";\nimport WebinyError from \"@webiny/error\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\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}\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 * 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}\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (params: GetContentEntriesParams): Promise<Response> => {\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((collection, model) => {\n collection[model.modelId] = model;\n return collection;\n }, {} as Record<string, CmsModel>);\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 const results = await Promise.all(getters);\n\n const entries = results\n .reduce((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return {\n id: item.id,\n entryId: item.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: item.status,\n title: getEntryTitle(model, item)\n };\n })\n );\n }, [] as CmsEntryRecord[])\n .filter(Boolean);\n\n return new Response(entries);\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}\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response | 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({\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 });\n};\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n return new GraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsModelMeta {\n modelId: String\n name: String\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta\n status: String\n title: String\n published: CmsPublishedContentEntry\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 {\n id: entry.id,\n entryId: entry.entryId,\n title: getEntryTitle(model, entry)\n };\n } catch (ex) {\n return null;\n }\n }\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 modelManager = await context.cms.getModelManager(model.modelId);\n const where: CmsEntryListWhere = {};\n\n const [items] = await modelManager.listLatest({\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n\n return items.map((entry: CmsEntry) => {\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 // We need `savedOn` to sort entries from latest to oldest\n savedOn: entry.savedOn\n };\n });\n });\n\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) => Date.parse(b.savedOn) - Date.parse(a.savedOn))\n .slice(0, limit)\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 // const models = await context.cms.listModels();\n //\n // const modelsMap = models.reduce((collection, model) => {\n // collection[model.modelId] = model;\n // return collection;\n // }, {} as Record<string, CmsModel>);\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(\n // async modelId => {\n // return context.cms.getEntriesByIds(\n // modelsMap[modelId],\n // entriesByModel[modelId]\n // );\n // }\n // );\n //\n // if (getters.length === 0) {\n // return new Response([]);\n // }\n //\n // const results = await Promise.all(getters);\n //\n // const entries = results.reduce((collection, items) => {\n // return collection.concat(\n // items.map(item => {\n // const model = modelsMap[item.modelId];\n //\n // return {\n // id: item.id,\n // model: {\n // modelId: model.modelId,\n // name: model.name\n // },\n // status: item.status,\n // title: getEntryTitle(model, item)\n // };\n // })\n // );\n // }, [] as any[]);\n //\n // return new Response(entries);\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\nexport default plugin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["contentModelGroups.ts"],"names":["plugin","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","security","disableAuthorization","models","listModels","enableAuthorization","filter","m","id","totalContentModels","length","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","model","getGroup","Response","e","ErrorResponse","listContentModelGroups","__","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","GraphQLSchemaPlugin","typeDefs"],"mappings":"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","sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\n\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/content/plugins/CmsGroupPlugin\";\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group.id === group.id);\n },\n totalContentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group === group.id).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const model = await context.cms.getGroup(id);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const models = await context.cms.listGroups();\n return new Response(models);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsCreatedBy\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n};\n\nexport default plugin;\n"]}
1
+ {"version":3,"names":["plugin","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","security","disableAuthorization","models","listModels","enableAuthorization","filter","m","id","totalContentModels","length","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","model","getGroup","Response","e","ErrorResponse","listContentModelGroups","__","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","GraphQLSchemaPlugin","typeDefs"],"sources":["contentModelGroups.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\n\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/content/plugins/CmsGroupPlugin\";\n\nconst plugin = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group.id === group.id);\n },\n totalContentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(m => m.group === group.id).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const model = await context.cms.getGroup(id);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const models = await context.cms.listGroups();\n return new Response(models);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsCreatedBy\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n};\n\nexport default plugin;\n"],"mappings":"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"}