@webiny/languages 6.3.0-beta.4 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/Languages.js +8 -9
  2. package/Languages.js.map +1 -1
  3. package/admin/Extension.js +21 -25
  4. package/admin/Extension.js.map +1 -1
  5. package/admin/GenericCell.js +7 -12
  6. package/admin/GenericCell.js.map +1 -1
  7. package/admin/LanguageEntryList.js +31 -30
  8. package/admin/LanguageEntryList.js.map +1 -1
  9. package/admin/PermissionsSchema.js +5 -4
  10. package/admin/PermissionsSchema.js.map +1 -1
  11. package/admin/SecurityPermission.js +11 -14
  12. package/admin/SecurityPermission.js.map +1 -1
  13. package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js +14 -11
  14. package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js.map +1 -1
  15. package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js +12 -11
  16. package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js.map +1 -1
  17. package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js +16 -17
  18. package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js.map +1 -1
  19. package/admin/features/listLanguages/ListLanguagesGateway.js +18 -17
  20. package/admin/features/listLanguages/ListLanguagesGateway.js.map +1 -1
  21. package/admin/features/listLanguages/ListLanguagesRepository.js +23 -23
  22. package/admin/features/listLanguages/ListLanguagesRepository.js.map +1 -1
  23. package/admin/features/listLanguages/ListLanguagesUseCase.js +13 -10
  24. package/admin/features/listLanguages/ListLanguagesUseCase.js.map +1 -1
  25. package/admin/features/listLanguages/abstractions.js +5 -27
  26. package/admin/features/listLanguages/abstractions.js.map +1 -1
  27. package/admin/features/listLanguages/feature.js +22 -21
  28. package/admin/features/listLanguages/feature.js.map +1 -1
  29. package/admin/features/listLanguages/index.js +0 -2
  30. package/admin/features/listLanguages/toLanguageDto.js +10 -9
  31. package/admin/features/listLanguages/toLanguageDto.js.map +1 -1
  32. package/admin/presentation/hooks/useLanguages.js +20 -19
  33. package/admin/presentation/hooks/useLanguages.js.map +1 -1
  34. package/api/Extension.js +12 -15
  35. package/api/Extension.js.map +1 -1
  36. package/api/domain/Language.js +0 -3
  37. package/api/domain/LanguageModel.js +49 -24
  38. package/api/domain/LanguageModel.js.map +1 -1
  39. package/api/domain/errors.js +16 -17
  40. package/api/domain/errors.js.map +1 -1
  41. package/api/domain/permissionsSchema.js +5 -4
  42. package/api/domain/permissionsSchema.js.map +1 -1
  43. package/api/features/AddCmsPermissions/AddCmsPermissions.js +41 -32
  44. package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -1
  45. package/api/features/AddCmsPermissions/feature.js +6 -5
  46. package/api/features/AddCmsPermissions/feature.js.map +1 -1
  47. package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js +36 -46
  48. package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js.map +1 -1
  49. package/api/features/EnsureSingleDefaultLanguage/feature.js +6 -5
  50. package/api/features/EnsureSingleDefaultLanguage/feature.js.map +1 -1
  51. package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js +36 -40
  52. package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js.map +1 -1
  53. package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js +14 -11
  54. package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js.map +1 -1
  55. package/api/features/GetLanguageByCode/abstractions.js +3 -13
  56. package/api/features/GetLanguageByCode/abstractions.js.map +1 -1
  57. package/api/features/GetLanguageByCode/feature.js +7 -6
  58. package/api/features/GetLanguageByCode/feature.js.map +1 -1
  59. package/api/features/GetLanguageByCode/index.js +0 -2
  60. package/api/features/ListLanguages/ListLanguagesRepository.js +36 -34
  61. package/api/features/ListLanguages/ListLanguagesRepository.js.map +1 -1
  62. package/api/features/ListLanguages/ListLanguagesUseCase.js +14 -11
  63. package/api/features/ListLanguages/ListLanguagesUseCase.js.map +1 -1
  64. package/api/features/ListLanguages/abstractions.js +3 -13
  65. package/api/features/ListLanguages/abstractions.js.map +1 -1
  66. package/api/features/ListLanguages/feature.js +7 -6
  67. package/api/features/ListLanguages/feature.js.map +1 -1
  68. package/api/features/ListLanguages/index.js +0 -2
  69. package/api/features/Permissions/abstractions.js +2 -1
  70. package/api/features/Permissions/abstractions.js.map +1 -1
  71. package/api/features/Permissions/feature.js +2 -1
  72. package/api/features/Permissions/feature.js.map +1 -1
  73. package/api/graphql/LanguagesGraphQLSchema.js +24 -31
  74. package/api/graphql/LanguagesGraphQLSchema.js.map +1 -1
  75. package/exports/admin/languages.js +0 -2
  76. package/exports/api/languages.js +0 -2
  77. package/index.js +0 -2
  78. package/package.json +21 -21
  79. package/shared/constants.js +2 -1
  80. package/shared/constants.js.map +1 -1
  81. package/admin/features/listLanguages/index.js.map +0 -1
  82. package/api/domain/Language.js.map +0 -1
  83. package/api/features/GetLanguageByCode/index.js.map +0 -1
  84. package/api/features/ListLanguages/index.js.map +0 -1
  85. package/exports/admin/languages.js.map +0 -1
  86. package/exports/api/languages.js.map +0 -1
  87. package/index.js.map +0 -1
package/Languages.js CHANGED
@@ -1,12 +1,11 @@
1
- import React from "react";
2
- import { Api, Admin } from "@webiny/project-aws";
1
+ import react from "react";
2
+ import { Admin, Api } from "@webiny/project-aws";
3
3
  import { Wcp } from "@webiny/project";
4
- export const Languages = () => {
5
- return /*#__PURE__*/React.createElement(Wcp.CanUseMultiTenancy, null, /*#__PURE__*/React.createElement(Api.Extension, {
6
- src: import.meta.dirname + "/api/Extension.js"
7
- }), /*#__PURE__*/React.createElement(Admin.Extension, {
8
- src: import.meta.dirname + "/admin/Extension.js"
9
- }));
10
- };
4
+ const Languages = ()=>/*#__PURE__*/ react.createElement(Wcp.CanUseMultiTenancy, null, /*#__PURE__*/ react.createElement(Api.Extension, {
5
+ src: import.meta.dirname + "/api/Extension.js"
6
+ }), /*#__PURE__*/ react.createElement(Admin.Extension, {
7
+ src: import.meta.dirname + "/admin/Extension.js"
8
+ }));
9
+ export { Languages };
11
10
 
12
11
  //# sourceMappingURL=Languages.js.map
package/Languages.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","Api","Admin","Wcp","Languages","createElement","CanUseMultiTenancy","Extension","src","import","meta","dirname"],"sources":["Languages.tsx"],"sourcesContent":["import React from \"react\";\nimport { Api, Admin } from \"@webiny/project-aws\";\nimport { Wcp } from \"@webiny/project\";\n\nexport const Languages = () => {\n return (\n <Wcp.CanUseMultiTenancy>\n {/* Api extensions */}\n <Api.Extension src={import.meta.dirname + \"/api/Extension.js\"} />\n\n {/* Admin extensions */}\n <Admin.Extension src={import.meta.dirname + \"/admin/Extension.js\"} />\n </Wcp.CanUseMultiTenancy>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,KAAK,QAAQ,qBAAqB;AAChD,SAASC,GAAG,QAAQ,iBAAiB;AAErC,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC3B,oBACIJ,KAAA,CAAAK,aAAA,CAACF,GAAG,CAACG,kBAAkB,qBAEnBN,KAAA,CAAAK,aAAA,CAACJ,GAAG,CAACM,SAAS;IAACC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG;EAAoB,CAAE,CAAC,eAGjEX,KAAA,CAAAK,aAAA,CAACH,KAAK,CAACK,SAAS;IAACC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG;EAAsB,CAAE,CAChD,CAAC;AAEjC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Languages.js","sources":["../src/Languages.tsx"],"sourcesContent":["import React from \"react\";\nimport { Api, Admin } from \"@webiny/project-aws\";\nimport { Wcp } from \"@webiny/project\";\n\nexport const Languages = () => {\n return (\n <Wcp.CanUseMultiTenancy>\n {/* Api extensions */}\n <Api.Extension src={import.meta.dirname + \"/api/Extension.js\"} />\n\n {/* Admin extensions */}\n <Admin.Extension src={import.meta.dirname + \"/admin/Extension.js\"} />\n </Wcp.CanUseMultiTenancy>\n );\n};\n"],"names":["Languages","Wcp","Api","Admin"],"mappings":";;;AAIO,MAAMA,YAAY,IACd,WAAP,GACI,oBAACC,IAAI,kBAAkB,sBAEnB,oBAACC,IAAI,SAAS;QAAC,KAAK,YAAY,OAAO,GAAG;sBAG1C,oBAACC,MAAM,SAAS;QAAC,KAAK,YAAY,OAAO,GAAG"}
@@ -1,33 +1,29 @@
1
- import React from "react";
2
- import { AdminConfig, HasPermission, RegisterFeature } from "@webiny/app-admin";
3
- import { useRouter } from "@webiny/app-admin";
1
+ import react from "react";
2
+ import { AdminConfig, HasPermission, RegisterFeature, useRouter } from "@webiny/app-admin";
4
3
  import { Routes } from "@webiny/app-headless-cms";
5
4
  import { LANGUAGE_MODEL_ID } from "../shared/constants.js";
6
5
  import { SecurityPermission } from "./SecurityPermission.js";
7
6
  import { LanguageEntryList } from "./LanguageEntryList.js";
8
7
  import { ListLanguagesFeature } from "./features/listLanguages/index.js";
9
- const {
10
- Menu
11
- } = AdminConfig;
12
- export const Extension = () => {
13
- const {
14
- getLink
15
- } = useRouter();
16
- const link = getLink(Routes.ContentEntries.List, {
17
- modelId: LANGUAGE_MODEL_ID
18
- });
19
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
20
- feature: ListLanguagesFeature
21
- }), /*#__PURE__*/React.createElement(SecurityPermission, null), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
22
- name: "languages.*"
23
- }, /*#__PURE__*/React.createElement(Menu, {
24
- parent: "settings.system",
25
- name: "languages",
26
- element: /*#__PURE__*/React.createElement(Menu.Link, {
27
- text: "Languages",
28
- to: link
29
- })
30
- }))), /*#__PURE__*/React.createElement(LanguageEntryList, null));
8
+ const { Menu: Menu } = AdminConfig;
9
+ const Extension = ()=>{
10
+ const { getLink } = useRouter();
11
+ const link = getLink(Routes.ContentEntries.List, {
12
+ modelId: LANGUAGE_MODEL_ID
13
+ });
14
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(RegisterFeature, {
15
+ feature: ListLanguagesFeature
16
+ }), /*#__PURE__*/ react.createElement(SecurityPermission, null), /*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(HasPermission, {
17
+ name: "languages.*"
18
+ }, /*#__PURE__*/ react.createElement(Menu, {
19
+ parent: "settings.system",
20
+ name: "languages",
21
+ element: /*#__PURE__*/ react.createElement(Menu.Link, {
22
+ text: "Languages",
23
+ to: link
24
+ })
25
+ }))), /*#__PURE__*/ react.createElement(LanguageEntryList, null));
31
26
  };
27
+ export { Extension };
32
28
 
33
29
  //# sourceMappingURL=Extension.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AdminConfig","HasPermission","RegisterFeature","useRouter","Routes","LANGUAGE_MODEL_ID","SecurityPermission","LanguageEntryList","ListLanguagesFeature","Menu","Extension","getLink","link","ContentEntries","List","modelId","createElement","Fragment","feature","name","parent","element","Link","text","to"],"sources":["Extension.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig, HasPermission, RegisterFeature } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"@webiny/app-headless-cms\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { SecurityPermission } from \"./SecurityPermission.js\";\nimport { LanguageEntryList } from \"~/admin/LanguageEntryList.js\";\nimport { ListLanguagesFeature } from \"./features/listLanguages/index.js\";\n\nconst { Menu } = AdminConfig;\n\nexport const Extension = () => {\n const { getLink } = useRouter();\n\n const link = getLink(Routes.ContentEntries.List, { modelId: LANGUAGE_MODEL_ID });\n\n return (\n <>\n <RegisterFeature feature={ListLanguagesFeature} />\n <SecurityPermission />\n <AdminConfig>\n <HasPermission name={\"languages.*\"}>\n <Menu\n parent={\"settings.system\"}\n name=\"languages\"\n element={<Menu.Link text=\"Languages\" to={link} />}\n />\n </HasPermission>\n </AdminConfig>\n <LanguageEntryList />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,aAAa,EAAEC,eAAe,QAAQ,mBAAmB;AAC/E,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,MAAM,QAAQ,0BAA0B;AACjD,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAE7B,MAAM;EAAEC;AAAK,CAAC,GAAGT,WAAW;AAE5B,OAAO,MAAMU,SAAS,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEC;EAAQ,CAAC,GAAGR,SAAS,CAAC,CAAC;EAE/B,MAAMS,IAAI,GAAGD,OAAO,CAACP,MAAM,CAACS,cAAc,CAACC,IAAI,EAAE;IAAEC,OAAO,EAAEV;EAAkB,CAAC,CAAC;EAEhF,oBACIN,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,qBACIlB,KAAA,CAAAiB,aAAA,CAACd,eAAe;IAACgB,OAAO,EAAEV;EAAqB,CAAE,CAAC,eAClDT,KAAA,CAAAiB,aAAA,CAACV,kBAAkB,MAAE,CAAC,eACtBP,KAAA,CAAAiB,aAAA,CAAChB,WAAW,qBACRD,KAAA,CAAAiB,aAAA,CAACf,aAAa;IAACkB,IAAI,EAAE;EAAc,gBAC/BpB,KAAA,CAAAiB,aAAA,CAACP,IAAI;IACDW,MAAM,EAAE,iBAAkB;IAC1BD,IAAI,EAAC,WAAW;IAChBE,OAAO,eAAEtB,KAAA,CAAAiB,aAAA,CAACP,IAAI,CAACa,IAAI;MAACC,IAAI,EAAC,WAAW;MAACC,EAAE,EAAEZ;IAAK,CAAE;EAAE,CACrD,CACU,CACN,CAAC,eACdb,KAAA,CAAAiB,aAAA,CAACT,iBAAiB,MAAE,CACtB,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/Extension.js","sources":["../../src/admin/Extension.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig, HasPermission, RegisterFeature } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"@webiny/app-headless-cms\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { SecurityPermission } from \"./SecurityPermission.js\";\nimport { LanguageEntryList } from \"~/admin/LanguageEntryList.js\";\nimport { ListLanguagesFeature } from \"./features/listLanguages/index.js\";\n\nconst { Menu } = AdminConfig;\n\nexport const Extension = () => {\n const { getLink } = useRouter();\n\n const link = getLink(Routes.ContentEntries.List, { modelId: LANGUAGE_MODEL_ID });\n\n return (\n <>\n <RegisterFeature feature={ListLanguagesFeature} />\n <SecurityPermission />\n <AdminConfig>\n <HasPermission name={\"languages.*\"}>\n <Menu\n parent={\"settings.system\"}\n name=\"languages\"\n element={<Menu.Link text=\"Languages\" to={link} />}\n />\n </HasPermission>\n </AdminConfig>\n <LanguageEntryList />\n </>\n );\n};\n"],"names":["Menu","AdminConfig","Extension","getLink","useRouter","link","Routes","LANGUAGE_MODEL_ID","RegisterFeature","ListLanguagesFeature","SecurityPermission","HasPermission","LanguageEntryList"],"mappings":";;;;;;;AASA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AAEV,MAAMC,YAAY;IACrB,MAAM,EAAEC,OAAO,EAAE,GAAGC;IAEpB,MAAMC,OAAOF,QAAQG,OAAO,cAAc,CAAC,IAAI,EAAE;QAAE,SAASC;IAAkB;IAE9E,OAAO,WAAP,GACI,wDACI,oBAACC,iBAAeA;QAAC,SAASC;sBAC1B,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAACT,aAAWA,MAAAA,WAAAA,GACR,oBAACU,eAAaA;QAAC,MAAM;qBACjB,oBAACX,MAAIA;QACD,QAAQ;QACR,MAAK;QACL,uBAAS,oBAACA,KAAK,IAAI;YAAC,MAAK;YAAY,IAAIK;;wBAIrD,oBAACO,mBAAiBA;AAG9B"}
@@ -1,16 +1,11 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { ContentEntryListConfig } from "@webiny/app-headless-cms";
3
- export const GenericCell = props => {
4
- const {
5
- useTableRow
6
- } = ContentEntryListConfig.Browser.Table.Column;
7
- const {
8
- row
9
- } = useTableRow();
10
- if (!row.data.createdOn) {
11
- return /*#__PURE__*/React.createElement(React.Fragment, null, "-");
12
- }
13
- return /*#__PURE__*/React.createElement(React.Fragment, null, props.render(row.data));
3
+ const GenericCell = (props)=>{
4
+ const { useTableRow } = ContentEntryListConfig.Browser.Table.Column;
5
+ const { row } = useTableRow();
6
+ if (!row.data.createdOn) return /*#__PURE__*/ react.createElement(react.Fragment, null, "-");
7
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, props.render(row.data));
14
8
  };
9
+ export { GenericCell };
15
10
 
16
11
  //# sourceMappingURL=GenericCell.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ContentEntryListConfig","GenericCell","props","useTableRow","Browser","Table","Column","row","data","createdOn","createElement","Fragment","render"],"sources":["GenericCell.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms\";\nimport type { CmsContentEntry } from \"@webiny/app-headless-cms/types.js\";\n\nexport interface GenericCellProps {\n render: (data: CmsContentEntry) => React.ReactNode;\n}\n\nexport const GenericCell = (props: GenericCellProps) => {\n const { useTableRow } = ContentEntryListConfig.Browser.Table.Column;\n const { row } = useTableRow<CmsContentEntry>();\n\n if (!row.data.createdOn) {\n return <>{\"-\"}</>;\n }\n\n return <>{props.render(row.data)}</>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,sBAAsB,QAAQ,0BAA0B;AAOjE,OAAO,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EACpD,MAAM;IAAEC;EAAY,CAAC,GAAGH,sBAAsB,CAACI,OAAO,CAACC,KAAK,CAACC,MAAM;EACnE,MAAM;IAAEC;EAAI,CAAC,GAAGJ,WAAW,CAAkB,CAAC;EAE9C,IAAI,CAACI,GAAG,CAACC,IAAI,CAACC,SAAS,EAAE;IACrB,oBAAOV,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,QAAG,GAAM,CAAC;EACrB;EAEA,oBAAOZ,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,QAAGT,KAAK,CAACU,MAAM,CAACL,GAAG,CAACC,IAAI,CAAI,CAAC;AACxC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/GenericCell.js","sources":["../../src/admin/GenericCell.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms\";\nimport type { CmsContentEntry } from \"@webiny/app-headless-cms/types.js\";\n\nexport interface GenericCellProps {\n render: (data: CmsContentEntry) => React.ReactNode;\n}\n\nexport const GenericCell = (props: GenericCellProps) => {\n const { useTableRow } = ContentEntryListConfig.Browser.Table.Column;\n const { row } = useTableRow<CmsContentEntry>();\n\n if (!row.data.createdOn) {\n return <>{\"-\"}</>;\n }\n\n return <>{props.render(row.data)}</>;\n};\n"],"names":["GenericCell","props","useTableRow","ContentEntryListConfig","row"],"mappings":";;AAQO,MAAMA,cAAc,CAACC;IACxB,MAAM,EAAEC,WAAW,EAAE,GAAGC,uBAAuB,OAAO,CAAC,KAAK,CAAC,MAAM;IACnE,MAAM,EAAEC,GAAG,EAAE,GAAGF;IAEhB,IAAI,CAACE,IAAI,IAAI,CAAC,SAAS,EACnB,OAAO,WAAP,GAAO,0CAAG;IAGd,OAAO,WAAP,GAAO,0CAAGH,MAAM,MAAM,CAACG,IAAI,IAAI;AACnC"}
@@ -1,36 +1,37 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { ContentEntryListConfig } from "@webiny/app-headless-cms/exports/admin/cms/entry/list.js";
3
3
  import { LANGUAGE_MODEL_ID } from "../shared/constants.js";
4
4
  import { GenericCell } from "./GenericCell.js";
5
5
  import { Tag } from "@webiny/admin-ui";
6
- const {
7
- Browser
8
- } = ContentEntryListConfig;
9
- export const LanguageEntryList = () => {
10
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ContentEntryListConfig, null, /*#__PURE__*/React.createElement(Browser.Table.Column, {
11
- name: "code",
12
- header: "Code",
13
- modelIds: [LANGUAGE_MODEL_ID],
14
- after: "name",
15
- cell: /*#__PURE__*/React.createElement(GenericCell, {
16
- render: data => data.values.code
17
- })
18
- }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
19
- name: "enabled",
20
- header: "Is enabled?",
21
- modelIds: [LANGUAGE_MODEL_ID],
22
- after: "code",
23
- cell: /*#__PURE__*/React.createElement(GenericCell, {
24
- render: data => {
25
- const enabled = data.values.enabled;
26
- const variant = enabled ? "success" : "neutral-muted";
27
- return /*#__PURE__*/React.createElement(Tag, {
28
- variant: variant,
29
- content: enabled ? "Yes" : "No"
30
- });
31
- }
32
- })
33
- })));
34
- };
6
+ const { Browser: Browser } = ContentEntryListConfig;
7
+ const LanguageEntryList = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(ContentEntryListConfig, null, /*#__PURE__*/ react.createElement(Browser.Table.Column, {
8
+ name: "code",
9
+ header: "Code",
10
+ modelIds: [
11
+ LANGUAGE_MODEL_ID
12
+ ],
13
+ after: "name",
14
+ cell: /*#__PURE__*/ react.createElement(GenericCell, {
15
+ render: (data)=>data.values.code
16
+ })
17
+ }), /*#__PURE__*/ react.createElement(Browser.Table.Column, {
18
+ name: "enabled",
19
+ header: "Is enabled?",
20
+ modelIds: [
21
+ LANGUAGE_MODEL_ID
22
+ ],
23
+ after: "code",
24
+ cell: /*#__PURE__*/ react.createElement(GenericCell, {
25
+ render: (data)=>{
26
+ const enabled = data.values.enabled;
27
+ const variant = enabled ? "success" : "neutral-muted";
28
+ return /*#__PURE__*/ react.createElement(Tag, {
29
+ variant: variant,
30
+ content: enabled ? "Yes" : "No"
31
+ });
32
+ }
33
+ })
34
+ })));
35
+ export { LanguageEntryList };
35
36
 
36
37
  //# sourceMappingURL=LanguageEntryList.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ContentEntryListConfig","LANGUAGE_MODEL_ID","GenericCell","Tag","Browser","LanguageEntryList","createElement","Fragment","Table","Column","name","header","modelIds","after","cell","render","data","values","code","enabled","variant","content"],"sources":["LanguageEntryList.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms/exports/admin/cms/entry/list.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { GenericCell } from \"~/admin/GenericCell.js\";\nimport { Tag } from \"@webiny/admin-ui\";\n\nconst { Browser } = ContentEntryListConfig;\n\nexport const LanguageEntryList = () => {\n return (\n <>\n <ContentEntryListConfig>\n <Browser.Table.Column\n name={\"code\"}\n header={\"Code\"}\n modelIds={[LANGUAGE_MODEL_ID]}\n after={\"name\"}\n cell={<GenericCell render={data => data.values.code} />}\n />\n <Browser.Table.Column\n name={\"enabled\"}\n header={\"Is enabled?\"}\n modelIds={[LANGUAGE_MODEL_ID]}\n after={\"code\"}\n cell={\n <GenericCell\n render={data => {\n const enabled = data.values.enabled;\n const variant = enabled ? \"success\" : \"neutral-muted\";\n return <Tag variant={variant} content={enabled ? \"Yes\" : \"No\"} />;\n }}\n />\n }\n />\n </ContentEntryListConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,sBAAsB,QAAQ,0DAA0D;AACjG,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAM;EAAEC;AAAQ,CAAC,GAAGJ,sBAAsB;AAE1C,OAAO,MAAMK,iBAAiB,GAAGA,CAAA,KAAM;EACnC,oBACIN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,qBACIR,KAAA,CAAAO,aAAA,CAACN,sBAAsB,qBACnBD,KAAA,CAAAO,aAAA,CAACF,OAAO,CAACI,KAAK,CAACC,MAAM;IACjBC,IAAI,EAAE,MAAO;IACbC,MAAM,EAAE,MAAO;IACfC,QAAQ,EAAE,CAACX,iBAAiB,CAAE;IAC9BY,KAAK,EAAE,MAAO;IACdC,IAAI,eAAEf,KAAA,CAAAO,aAAA,CAACJ,WAAW;MAACa,MAAM,EAAEC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAACC;IAAK,CAAE;EAAE,CAC3D,CAAC,eACFnB,KAAA,CAAAO,aAAA,CAACF,OAAO,CAACI,KAAK,CAACC,MAAM;IACjBC,IAAI,EAAE,SAAU;IAChBC,MAAM,EAAE,aAAc;IACtBC,QAAQ,EAAE,CAACX,iBAAiB,CAAE;IAC9BY,KAAK,EAAE,MAAO;IACdC,IAAI,eACAf,KAAA,CAAAO,aAAA,CAACJ,WAAW;MACRa,MAAM,EAAEC,IAAI,IAAI;QACZ,MAAMG,OAAO,GAAGH,IAAI,CAACC,MAAM,CAACE,OAAO;QACnC,MAAMC,OAAO,GAAGD,OAAO,GAAG,SAAS,GAAG,eAAe;QACrD,oBAAOpB,KAAA,CAAAO,aAAA,CAACH,GAAG;UAACiB,OAAO,EAAEA,OAAQ;UAACC,OAAO,EAAEF,OAAO,GAAG,KAAK,GAAG;QAAK,CAAE,CAAC;MACrE;IAAE,CACL;EACJ,CACJ,CACmB,CAC1B,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/LanguageEntryList.js","sources":["../../src/admin/LanguageEntryList.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms/exports/admin/cms/entry/list.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { GenericCell } from \"~/admin/GenericCell.js\";\nimport { Tag } from \"@webiny/admin-ui\";\n\nconst { Browser } = ContentEntryListConfig;\n\nexport const LanguageEntryList = () => {\n return (\n <>\n <ContentEntryListConfig>\n <Browser.Table.Column\n name={\"code\"}\n header={\"Code\"}\n modelIds={[LANGUAGE_MODEL_ID]}\n after={\"name\"}\n cell={<GenericCell render={data => data.values.code} />}\n />\n <Browser.Table.Column\n name={\"enabled\"}\n header={\"Is enabled?\"}\n modelIds={[LANGUAGE_MODEL_ID]}\n after={\"code\"}\n cell={\n <GenericCell\n render={data => {\n const enabled = data.values.enabled;\n const variant = enabled ? \"success\" : \"neutral-muted\";\n return <Tag variant={variant} content={enabled ? \"Yes\" : \"No\"} />;\n }}\n />\n }\n />\n </ContentEntryListConfig>\n </>\n );\n};\n"],"names":["Browser","ContentEntryListConfig","LanguageEntryList","LANGUAGE_MODEL_ID","GenericCell","data","enabled","variant","Tag"],"mappings":";;;;;AAMA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AAEb,MAAMC,oBAAoB,IACtB,WAAP,GACI,wDACI,oBAACD,wBAAsBA,MAAAA,WAAAA,GACnB,oBAACD,QAAQ,KAAK,CAAC,MAAM;QACjB,MAAM;QACN,QAAQ;QACR,UAAU;YAACG;SAAkB;QAC7B,OAAO;QACP,oBAAM,oBAACC,aAAWA;YAAC,QAAQC,CAAAA,OAAQA,KAAK,MAAM,CAAC,IAAI;;sBAEvD,oBAACL,QAAQ,KAAK,CAAC,MAAM;QACjB,MAAM;QACN,QAAQ;QACR,UAAU;YAACG;SAAkB;QAC7B,OAAO;QACP,oBACI,oBAACC,aAAWA;YACR,QAAQC,CAAAA;gBACJ,MAAMC,UAAUD,KAAK,MAAM,CAAC,OAAO;gBACnC,MAAME,UAAUD,UAAU,YAAY;gBACtC,OAAO,WAAP,GAAO,oBAACE,KAAGA;oBAAC,SAASD;oBAAS,SAASD,UAAU,QAAQ;;YAC7D"}
@@ -1,8 +1,9 @@
1
1
  import { createPermissionSchema } from "@webiny/app-admin";
2
- export const LANGUAGES_PERMISSIONS_SCHEMA = createPermissionSchema({
3
- prefix: "languages",
4
- fullAccess: true,
5
- readOnlyAccess: true
2
+ const LANGUAGES_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "languages",
4
+ fullAccess: true,
5
+ readOnlyAccess: true
6
6
  });
7
+ export { LANGUAGES_PERMISSIONS_SCHEMA };
7
8
 
8
9
  //# sourceMappingURL=PermissionsSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createPermissionSchema","LANGUAGES_PERMISSIONS_SCHEMA","prefix","fullAccess","readOnlyAccess"],"sources":["PermissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const LANGUAGES_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"languages\",\n fullAccess: true,\n readOnlyAccess: true\n});\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,4BAA4B,GAAGD,sBAAsB,CAAC;EAC/DE,MAAM,EAAE,WAAW;EACnBC,UAAU,EAAE,IAAI;EAChBC,cAAc,EAAE;AACpB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/PermissionsSchema.js","sources":["../../src/admin/PermissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const LANGUAGES_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"languages\",\n fullAccess: true,\n readOnlyAccess: true\n});\n"],"names":["LANGUAGES_PERMISSIONS_SCHEMA","createPermissionSchema"],"mappings":";AAEO,MAAMA,+BAA+BC,uBAAuB;IAC/D,QAAQ;IACR,YAAY;IACZ,gBAAgB;AACpB"}
@@ -1,18 +1,15 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { AdminConfig } from "@webiny/app-admin";
3
- import { ReactComponent as PermissionsIcon } from "@webiny/icons/language.svg";
3
+ import { ReactComponent } from "@webiny/icons/language.svg";
4
4
  import { LANGUAGES_PERMISSIONS_SCHEMA } from "./PermissionsSchema.js";
5
- const {
6
- Security
7
- } = AdminConfig;
8
- export const SecurityPermission = () => {
9
- return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Security.Permissions, {
10
- name: "languages",
11
- title: "Languages",
12
- description: "Manage language permissions.",
13
- icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
14
- schema: LANGUAGES_PERMISSIONS_SCHEMA
15
- }));
16
- };
5
+ const { Security: Security } = AdminConfig;
6
+ const SecurityPermission = ()=>/*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(Security.Permissions, {
7
+ name: "languages",
8
+ title: "Languages",
9
+ description: "Manage language permissions.",
10
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
11
+ schema: LANGUAGES_PERMISSIONS_SCHEMA
12
+ }));
13
+ export { SecurityPermission };
17
14
 
18
15
  //# sourceMappingURL=SecurityPermission.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","AdminConfig","ReactComponent","PermissionsIcon","LANGUAGES_PERMISSIONS_SCHEMA","Security","SecurityPermission","createElement","Permissions","name","title","description","icon","schema"],"sources":["SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/language.svg\";\nimport { LANGUAGES_PERMISSIONS_SCHEMA } from \"~/admin/PermissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"languages\"\n title=\"Languages\"\n description=\"Manage language permissions.\"\n icon={<PermissionsIcon />}\n schema={LANGUAGES_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,eAAe,QAAQ,4BAA4B;AAC9E,SAASC,4BAA4B;AAErC,MAAM;EAAEC;AAAS,CAAC,GAAGJ,WAAW;AAEhC,OAAO,MAAMK,kBAAkB,GAAGA,CAAA,KAAM;EACpC,oBACIN,KAAA,CAAAO,aAAA,CAACN,WAAW,qBACRD,KAAA,CAAAO,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,WAAW;IAChBC,KAAK,EAAC,WAAW;IACjBC,WAAW,EAAC,8BAA8B;IAC1CC,IAAI,eAAEZ,KAAA,CAAAO,aAAA,CAACJ,eAAe,MAAE,CAAE;IAC1BU,MAAM,EAAET;EAA6B,CACxC,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/SecurityPermission.js","sources":["../../src/admin/SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/language.svg\";\nimport { LANGUAGES_PERMISSIONS_SCHEMA } from \"~/admin/PermissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"languages\"\n title=\"Languages\"\n description=\"Manage language permissions.\"\n icon={<PermissionsIcon />}\n schema={LANGUAGES_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"names":["Security","AdminConfig","SecurityPermission","PermissionsIcon","LANGUAGES_PERMISSIONS_SCHEMA"],"mappings":";;;;AAKA,MAAM,EAAEA,UAAAA,QAAQ,EAAE,GAAGC;AAEd,MAAMC,qBAAqB,IACvB,WAAP,GACI,oBAACD,aAAWA,MAAAA,WAAAA,GACR,oBAACD,SAAS,WAAW;QACjB,MAAK;QACL,OAAM;QACN,aAAY;QACZ,oBAAM,oBAACG,gBAAeA;QACtB,QAAQC"}
@@ -3,19 +3,22 @@ import { LanguagesCache } from "./abstractions.js";
3
3
  import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
4
4
  import { toLanguageDto } from "./toLanguageDto.js";
5
5
  class LanguageEntryAfterCreateHandlerImpl {
6
- constructor(cache) {
7
- this.cache = cache;
8
- }
9
- async handle(event) {
10
- if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {
11
- return;
6
+ constructor(cache){
7
+ this.cache = cache;
8
+ }
9
+ async handle(event) {
10
+ if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) return;
11
+ this.cache.addItems([
12
+ toLanguageDto(event.payload.entry)
13
+ ]);
12
14
  }
13
- this.cache.addItems([toLanguageDto(event.payload.entry)]);
14
- }
15
15
  }
16
- export const LanguageEntryAfterCreateHandler = EntryAfterCreateEventHandler.createImplementation({
17
- implementation: LanguageEntryAfterCreateHandlerImpl,
18
- dependencies: [LanguagesCache]
16
+ const LanguageEntryAfterCreateHandler = EntryAfterCreateEventHandler.createImplementation({
17
+ implementation: LanguageEntryAfterCreateHandlerImpl,
18
+ dependencies: [
19
+ LanguagesCache
20
+ ]
19
21
  });
22
+ export { LanguageEntryAfterCreateHandler };
20
23
 
21
24
  //# sourceMappingURL=LanguageEntryAfterCreateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntryAfterCreateEventHandler","LanguagesCache","LANGUAGE_MODEL_ID","toLanguageDto","LanguageEntryAfterCreateHandlerImpl","constructor","cache","handle","event","payload","model","modelId","addItems","entry","LanguageEntryAfterCreateHandler","createImplementation","implementation","dependencies"],"sources":["LanguageEntryAfterCreateHandler.ts"],"sourcesContent":["import { EntryAfterCreateEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { toLanguageDto } from \"./toLanguageDto.js\";\n\nclass LanguageEntryAfterCreateHandlerImpl implements EntryAfterCreateEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterCreateEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n this.cache.addItems([toLanguageDto(event.payload.entry)]);\n }\n}\n\nexport const LanguageEntryAfterCreateHandler = EntryAfterCreateEventHandler.createImplementation({\n implementation: LanguageEntryAfterCreateHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,+CAA+C;AAC5F,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AAEtB,MAAMC,mCAAmC,CAAmD;EACxFC,WAAWA,CAASC,KAA+B,EAAE;IAAA,KAAjCA,KAA+B,GAA/BA,KAA+B;EAAG;EAEtD,MAAMC,MAAMA,CAACC,KAAyC,EAAiB;IACnE,IAAIA,KAAK,CAACC,OAAO,CAACC,KAAK,CAACC,OAAO,KAAKT,iBAAiB,EAAE;MACnD;IACJ;IAEA,IAAI,CAACI,KAAK,CAACM,QAAQ,CAAC,CAACT,aAAa,CAACK,KAAK,CAACC,OAAO,CAACI,KAAK,CAAC,CAAC,CAAC;EAC7D;AACJ;AAEA,OAAO,MAAMC,+BAA+B,GAAGd,4BAA4B,CAACe,oBAAoB,CAAC;EAC7FC,cAAc,EAAEZ,mCAAmC;EACnDa,YAAY,EAAE,CAAChB,cAAc;AACjC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/features/listLanguages/LanguageEntryAfterCreateHandler.js","sources":["../../../../src/admin/features/listLanguages/LanguageEntryAfterCreateHandler.ts"],"sourcesContent":["import { EntryAfterCreateEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { toLanguageDto } from \"./toLanguageDto.js\";\n\nclass LanguageEntryAfterCreateHandlerImpl implements EntryAfterCreateEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterCreateEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n this.cache.addItems([toLanguageDto(event.payload.entry)]);\n }\n}\n\nexport const LanguageEntryAfterCreateHandler = EntryAfterCreateEventHandler.createImplementation({\n implementation: LanguageEntryAfterCreateHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"names":["LanguageEntryAfterCreateHandlerImpl","cache","event","LANGUAGE_MODEL_ID","toLanguageDto","LanguageEntryAfterCreateHandler","EntryAfterCreateEventHandler","LanguagesCache"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,KAA+B,CAAE;aAAjCA,KAAK,GAALA;IAAkC;IAEtD,MAAM,OAAOC,KAAyC,EAAiB;QACnE,IAAIA,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,KAAKC,mBAChC;QAGJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAACC,cAAcF,MAAM,OAAO,CAAC,KAAK;SAAE;IAC5D;AACJ;AAEO,MAAMG,kCAAkCC,6BAA6B,oBAAoB,CAAC;IAC7F,gBAAgBN;IAChB,cAAc;QAACO;KAAe;AAClC"}
@@ -2,19 +2,20 @@ import { EntryAfterDeleteEventHandler } from "@webiny/app-headless-cms/exports/a
2
2
  import { LanguagesCache } from "./abstractions.js";
3
3
  import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
4
4
  class LanguageEntryAfterDeleteHandlerImpl {
5
- constructor(cache) {
6
- this.cache = cache;
7
- }
8
- async handle(event) {
9
- if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {
10
- return;
5
+ constructor(cache){
6
+ this.cache = cache;
7
+ }
8
+ async handle(event) {
9
+ if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) return;
10
+ this.cache.removeItems((item)=>item.id === event.payload.entryId);
11
11
  }
12
- this.cache.removeItems(item => item.id === event.payload.entryId);
13
- }
14
12
  }
15
- export const LanguageEntryAfterDeleteHandler = EntryAfterDeleteEventHandler.createImplementation({
16
- implementation: LanguageEntryAfterDeleteHandlerImpl,
17
- dependencies: [LanguagesCache]
13
+ const LanguageEntryAfterDeleteHandler = EntryAfterDeleteEventHandler.createImplementation({
14
+ implementation: LanguageEntryAfterDeleteHandlerImpl,
15
+ dependencies: [
16
+ LanguagesCache
17
+ ]
18
18
  });
19
+ export { LanguageEntryAfterDeleteHandler };
19
20
 
20
21
  //# sourceMappingURL=LanguageEntryAfterDeleteHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntryAfterDeleteEventHandler","LanguagesCache","LANGUAGE_MODEL_ID","LanguageEntryAfterDeleteHandlerImpl","constructor","cache","handle","event","payload","model","modelId","removeItems","item","id","entryId","LanguageEntryAfterDeleteHandler","createImplementation","implementation","dependencies"],"sources":["LanguageEntryAfterDeleteHandler.ts"],"sourcesContent":["import { EntryAfterDeleteEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\n\nclass LanguageEntryAfterDeleteHandlerImpl implements EntryAfterDeleteEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterDeleteEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n this.cache.removeItems(item => item.id === event.payload.entryId);\n }\n}\n\nexport const LanguageEntryAfterDeleteHandler = EntryAfterDeleteEventHandler.createImplementation({\n implementation: LanguageEntryAfterDeleteHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,+CAA+C;AAC5F,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAE1B,MAAMC,mCAAmC,CAAmD;EACxFC,WAAWA,CAASC,KAA+B,EAAE;IAAA,KAAjCA,KAA+B,GAA/BA,KAA+B;EAAG;EAEtD,MAAMC,MAAMA,CAACC,KAAyC,EAAiB;IACnE,IAAIA,KAAK,CAACC,OAAO,CAACC,KAAK,CAACC,OAAO,KAAKR,iBAAiB,EAAE;MACnD;IACJ;IAEA,IAAI,CAACG,KAAK,CAACM,WAAW,CAACC,IAAI,IAAIA,IAAI,CAACC,EAAE,KAAKN,KAAK,CAACC,OAAO,CAACM,OAAO,CAAC;EACrE;AACJ;AAEA,OAAO,MAAMC,+BAA+B,GAAGf,4BAA4B,CAACgB,oBAAoB,CAAC;EAC7FC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAACjB,cAAc;AACjC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js","sources":["../../../../src/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.ts"],"sourcesContent":["import { EntryAfterDeleteEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\n\nclass LanguageEntryAfterDeleteHandlerImpl implements EntryAfterDeleteEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterDeleteEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n this.cache.removeItems(item => item.id === event.payload.entryId);\n }\n}\n\nexport const LanguageEntryAfterDeleteHandler = EntryAfterDeleteEventHandler.createImplementation({\n implementation: LanguageEntryAfterDeleteHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"names":["LanguageEntryAfterDeleteHandlerImpl","cache","event","LANGUAGE_MODEL_ID","item","LanguageEntryAfterDeleteHandler","EntryAfterDeleteEventHandler","LanguagesCache"],"mappings":";;;AAIA,MAAMA;IACF,YAAoBC,KAA+B,CAAE;aAAjCA,KAAK,GAALA;IAAkC;IAEtD,MAAM,OAAOC,KAAyC,EAAiB;QACnE,IAAIA,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,KAAKC,mBAChC;QAGJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAACC,CAAAA,OAAQA,KAAK,EAAE,KAAKF,MAAM,OAAO,CAAC,OAAO;IACpE;AACJ;AAEO,MAAMG,kCAAkCC,6BAA6B,oBAAoB,CAAC;IAC7F,gBAAgBN;IAChB,cAAc;QAACO;KAAe;AAClC"}
@@ -3,25 +3,24 @@ import { LanguagesCache } from "./abstractions.js";
3
3
  import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
4
4
  import { toLanguageDto } from "./toLanguageDto.js";
5
5
  class LanguageEntryAfterUpdateHandlerImpl {
6
- constructor(cache) {
7
- this.cache = cache;
8
- }
9
- async handle(event) {
10
- if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {
11
- return;
6
+ constructor(cache){
7
+ this.cache = cache;
8
+ }
9
+ async handle(event) {
10
+ if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) return;
11
+ const updated = toLanguageDto(event.payload.entry);
12
+ this.cache.updateItems((item)=>{
13
+ if (item.id === updated.id) return updated;
14
+ return item;
15
+ });
12
16
  }
13
- const updated = toLanguageDto(event.payload.entry);
14
- this.cache.updateItems(item => {
15
- if (item.id === updated.id) {
16
- return updated;
17
- }
18
- return item;
19
- });
20
- }
21
17
  }
22
- export const LanguageEntryAfterUpdateHandler = EntryAfterUpdateEventHandler.createImplementation({
23
- implementation: LanguageEntryAfterUpdateHandlerImpl,
24
- dependencies: [LanguagesCache]
18
+ const LanguageEntryAfterUpdateHandler = EntryAfterUpdateEventHandler.createImplementation({
19
+ implementation: LanguageEntryAfterUpdateHandlerImpl,
20
+ dependencies: [
21
+ LanguagesCache
22
+ ]
25
23
  });
24
+ export { LanguageEntryAfterUpdateHandler };
26
25
 
27
26
  //# sourceMappingURL=LanguageEntryAfterUpdateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntryAfterUpdateEventHandler","LanguagesCache","LANGUAGE_MODEL_ID","toLanguageDto","LanguageEntryAfterUpdateHandlerImpl","constructor","cache","handle","event","payload","model","modelId","updated","entry","updateItems","item","id","LanguageEntryAfterUpdateHandler","createImplementation","implementation","dependencies"],"sources":["LanguageEntryAfterUpdateHandler.ts"],"sourcesContent":["import { EntryAfterUpdateEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { toLanguageDto } from \"./toLanguageDto.js\";\n\nclass LanguageEntryAfterUpdateHandlerImpl implements EntryAfterUpdateEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterUpdateEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n const updated = toLanguageDto(event.payload.entry);\n this.cache.updateItems(item => {\n if (item.id === updated.id) {\n return updated;\n }\n return item;\n });\n }\n}\n\nexport const LanguageEntryAfterUpdateHandler = EntryAfterUpdateEventHandler.createImplementation({\n implementation: LanguageEntryAfterUpdateHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,+CAA+C;AAC5F,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AAEtB,MAAMC,mCAAmC,CAAmD;EACxFC,WAAWA,CAASC,KAA+B,EAAE;IAAA,KAAjCA,KAA+B,GAA/BA,KAA+B;EAAG;EAEtD,MAAMC,MAAMA,CAACC,KAAyC,EAAiB;IACnE,IAAIA,KAAK,CAACC,OAAO,CAACC,KAAK,CAACC,OAAO,KAAKT,iBAAiB,EAAE;MACnD;IACJ;IAEA,MAAMU,OAAO,GAAGT,aAAa,CAACK,KAAK,CAACC,OAAO,CAACI,KAAK,CAAC;IAClD,IAAI,CAACP,KAAK,CAACQ,WAAW,CAACC,IAAI,IAAI;MAC3B,IAAIA,IAAI,CAACC,EAAE,KAAKJ,OAAO,CAACI,EAAE,EAAE;QACxB,OAAOJ,OAAO;MAClB;MACA,OAAOG,IAAI;IACf,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAME,+BAA+B,GAAGjB,4BAA4B,CAACkB,oBAAoB,CAAC;EAC7FC,cAAc,EAAEf,mCAAmC;EACnDgB,YAAY,EAAE,CAACnB,cAAc;AACjC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js","sources":["../../../../src/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.ts"],"sourcesContent":["import { EntryAfterUpdateEventHandler } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { LanguagesCache } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { toLanguageDto } from \"./toLanguageDto.js\";\n\nclass LanguageEntryAfterUpdateHandlerImpl implements EntryAfterUpdateEventHandler.Interface {\n constructor(private cache: LanguagesCache.Interface) {}\n\n async handle(event: EntryAfterUpdateEventHandler.Event): Promise<void> {\n if (event.payload.model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n const updated = toLanguageDto(event.payload.entry);\n this.cache.updateItems(item => {\n if (item.id === updated.id) {\n return updated;\n }\n return item;\n });\n }\n}\n\nexport const LanguageEntryAfterUpdateHandler = EntryAfterUpdateEventHandler.createImplementation({\n implementation: LanguageEntryAfterUpdateHandlerImpl,\n dependencies: [LanguagesCache]\n});\n"],"names":["LanguageEntryAfterUpdateHandlerImpl","cache","event","LANGUAGE_MODEL_ID","updated","toLanguageDto","item","LanguageEntryAfterUpdateHandler","EntryAfterUpdateEventHandler","LanguagesCache"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,KAA+B,CAAE;aAAjCA,KAAK,GAALA;IAAkC;IAEtD,MAAM,OAAOC,KAAyC,EAAiB;QACnE,IAAIA,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,KAAKC,mBAChC;QAGJ,MAAMC,UAAUC,cAAcH,MAAM,OAAO,CAAC,KAAK;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,CAACI,CAAAA;YACnB,IAAIA,KAAK,EAAE,KAAKF,QAAQ,EAAE,EACtB,OAAOA;YAEX,OAAOE;QACX;IACJ;AACJ;AAEO,MAAMC,kCAAkCC,6BAA6B,oBAAoB,CAAC;IAC7F,gBAAgBR;IAChB,cAAc;QAACS;KAAe;AAClC"}
@@ -1,6 +1,6 @@
1
- import { ListLanguagesGateway as GatewayAbstraction } from "./abstractions.js";
1
+ import { ListLanguagesGateway } from "./abstractions.js";
2
2
  import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient";
3
- const LIST_LANGUAGES = /* GraphQL */`
3
+ const LIST_LANGUAGES = `
4
4
  query ListLanguages {
5
5
  languages {
6
6
  listLanguages {
@@ -21,23 +21,24 @@ const LIST_LANGUAGES = /* GraphQL */`
21
21
  }
22
22
  `;
23
23
  class ListLanguagesGatewayImpl {
24
- constructor(client) {
25
- this.client = client;
26
- }
27
- async execute() {
28
- const response = await this.client.execute({
29
- query: LIST_LANGUAGES
30
- });
31
- const envelope = response.languages.listLanguages;
32
- if (envelope.error) {
33
- throw new Error(envelope.error.message);
24
+ constructor(client){
25
+ this.client = client;
26
+ }
27
+ async execute() {
28
+ const response = await this.client.execute({
29
+ query: LIST_LANGUAGES
30
+ });
31
+ const envelope = response.languages.listLanguages;
32
+ if (envelope.error) throw new Error(envelope.error.message);
33
+ return envelope.data;
34
34
  }
35
- return envelope.data;
36
- }
37
35
  }
38
- export const ListLanguagesGateway = GatewayAbstraction.createImplementation({
39
- implementation: ListLanguagesGatewayImpl,
40
- dependencies: [MainGraphQLClient]
36
+ const ListLanguagesGateway_ListLanguagesGateway = ListLanguagesGateway.createImplementation({
37
+ implementation: ListLanguagesGatewayImpl,
38
+ dependencies: [
39
+ MainGraphQLClient
40
+ ]
41
41
  });
42
+ export { ListLanguagesGateway_ListLanguagesGateway as ListLanguagesGateway };
42
43
 
43
44
  //# sourceMappingURL=ListLanguagesGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ListLanguagesGateway","GatewayAbstraction","MainGraphQLClient","LIST_LANGUAGES","ListLanguagesGatewayImpl","constructor","client","execute","response","query","envelope","languages","listLanguages","error","Error","message","data","createImplementation","implementation","dependencies"],"sources":["ListLanguagesGateway.ts"],"sourcesContent":["import { ListLanguagesGateway as GatewayAbstraction, LanguageDto } from \"./abstractions.js\";\nimport { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient\";\n\nconst LIST_LANGUAGES = /* GraphQL */ `\n query ListLanguages {\n languages {\n listLanguages {\n data {\n id\n code\n name\n direction\n isDefault\n enabled\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ntype ListLanguagesResponse = {\n languages: {\n listLanguages:\n | { data: LanguageDto[]; error: null }\n | { data: null; error: { code: string; message: string } };\n };\n};\n\nclass ListLanguagesGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private client: MainGraphQLClient.Interface) {}\n\n async execute(): Promise<LanguageDto[]> {\n const response = await this.client.execute<ListLanguagesResponse>({\n query: LIST_LANGUAGES\n });\n\n const envelope = response.languages.listLanguages;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n return envelope.data;\n }\n}\n\nexport const ListLanguagesGateway = GatewayAbstraction.createImplementation({\n implementation: ListLanguagesGatewayImpl,\n dependencies: [MainGraphQLClient]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,IAAIC,kBAAkB;AACnD,SAASC,iBAAiB,QAAQ,wCAAwC;AAE1E,MAAMC,cAAc,GAAG,aAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CAASC,MAAmC,EAAE;IAAA,KAArCA,MAAmC,GAAnCA,MAAmC;EAAG;EAE1D,MAAMC,OAAOA,CAAA,EAA2B;IACpC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACF,MAAM,CAACC,OAAO,CAAwB;MAC9DE,KAAK,EAAEN;IACX,CAAC,CAAC;IAEF,MAAMO,QAAQ,GAAGF,QAAQ,CAACG,SAAS,CAACC,aAAa;IACjD,IAAIF,QAAQ,CAACG,KAAK,EAAE;MAChB,MAAM,IAAIC,KAAK,CAACJ,QAAQ,CAACG,KAAK,CAACE,OAAO,CAAC;IAC3C;IAEA,OAAOL,QAAQ,CAACM,IAAI;EACxB;AACJ;AAEA,OAAO,MAAMhB,oBAAoB,GAAGC,kBAAkB,CAACgB,oBAAoB,CAAC;EACxEC,cAAc,EAAEd,wBAAwB;EACxCe,YAAY,EAAE,CAACjB,iBAAiB;AACpC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/features/listLanguages/ListLanguagesGateway.js","sources":["../../../../src/admin/features/listLanguages/ListLanguagesGateway.ts"],"sourcesContent":["import { ListLanguagesGateway as GatewayAbstraction, LanguageDto } from \"./abstractions.js\";\nimport { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient\";\n\nconst LIST_LANGUAGES = /* GraphQL */ `\n query ListLanguages {\n languages {\n listLanguages {\n data {\n id\n code\n name\n direction\n isDefault\n enabled\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ntype ListLanguagesResponse = {\n languages: {\n listLanguages:\n | { data: LanguageDto[]; error: null }\n | { data: null; error: { code: string; message: string } };\n };\n};\n\nclass ListLanguagesGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private client: MainGraphQLClient.Interface) {}\n\n async execute(): Promise<LanguageDto[]> {\n const response = await this.client.execute<ListLanguagesResponse>({\n query: LIST_LANGUAGES\n });\n\n const envelope = response.languages.listLanguages;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n return envelope.data;\n }\n}\n\nexport const ListLanguagesGateway = GatewayAbstraction.createImplementation({\n implementation: ListLanguagesGatewayImpl,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["LIST_LANGUAGES","ListLanguagesGatewayImpl","client","response","envelope","Error","ListLanguagesGateway","GatewayAbstraction","MainGraphQLClient"],"mappings":";;AAGA,MAAMA,iBAA+B,CAAC;;;;;;;;;;;;;;;;;;;AAmBtC,CAAC;AAUD,MAAMC;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,UAAkC;QACpC,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAwB;YAC9D,OAAOH;QACX;QAEA,MAAMI,WAAWD,SAAS,SAAS,CAAC,aAAa;QACjD,IAAIC,SAAS,KAAK,EACd,MAAM,IAAIC,MAAMD,SAAS,KAAK,CAAC,OAAO;QAG1C,OAAOA,SAAS,IAAI;IACxB;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
@@ -1,30 +1,30 @@
1
- import { ListLanguagesRepository as RepositoryAbstraction, ListLanguagesGateway, LanguagesCache } from "./abstractions.js";
1
+ import { LanguagesCache, ListLanguagesGateway, ListLanguagesRepository } from "./abstractions.js";
2
2
  class ListLanguagesRepositoryImpl {
3
- constructor(gateway, cache) {
4
- this.gateway = gateway;
5
- this.cache = cache;
6
- }
7
- getLanguages() {
8
- return this.cache.getItems();
9
- }
10
- async execute() {
11
- if (this.cache.hasItems()) {
12
- return this.cache.getItems();
3
+ constructor(gateway, cache){
4
+ this.gateway = gateway;
5
+ this.cache = cache;
13
6
  }
14
- if (this.pending) {
15
- return this.pending;
7
+ getLanguages() {
8
+ return this.cache.getItems();
9
+ }
10
+ async execute() {
11
+ if (this.cache.hasItems()) return this.cache.getItems();
12
+ if (this.pending) return this.pending;
13
+ this.pending = this.gateway.execute().then((languages)=>{
14
+ const sorted = languages.sort((a, b)=>a.name.localeCompare(b.name));
15
+ this.cache.addItems(sorted);
16
+ return this.cache.getItems();
17
+ });
18
+ return this.pending;
16
19
  }
17
- this.pending = this.gateway.execute().then(languages => {
18
- const sorted = languages.sort((a, b) => a.name.localeCompare(b.name));
19
- this.cache.addItems(sorted);
20
- return this.cache.getItems();
21
- });
22
- return this.pending;
23
- }
24
20
  }
25
- export const ListLanguagesRepository = RepositoryAbstraction.createImplementation({
26
- implementation: ListLanguagesRepositoryImpl,
27
- dependencies: [ListLanguagesGateway, LanguagesCache]
21
+ const ListLanguagesRepository_ListLanguagesRepository = ListLanguagesRepository.createImplementation({
22
+ implementation: ListLanguagesRepositoryImpl,
23
+ dependencies: [
24
+ ListLanguagesGateway,
25
+ LanguagesCache
26
+ ]
28
27
  });
28
+ export { ListLanguagesRepository_ListLanguagesRepository as ListLanguagesRepository };
29
29
 
30
30
  //# sourceMappingURL=ListLanguagesRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ListLanguagesRepository","RepositoryAbstraction","ListLanguagesGateway","LanguagesCache","ListLanguagesRepositoryImpl","constructor","gateway","cache","getLanguages","getItems","execute","hasItems","pending","then","languages","sorted","sort","a","b","name","localeCompare","addItems","createImplementation","implementation","dependencies"],"sources":["ListLanguagesRepository.ts"],"sourcesContent":["import {\n ListLanguagesRepository as RepositoryAbstraction,\n ListLanguagesGateway,\n LanguagesCache,\n type LanguageDto\n} from \"./abstractions.js\";\n\nclass ListLanguagesRepositoryImpl implements RepositoryAbstraction.Interface {\n private pending: Promise<LanguageDto[]> | undefined;\n\n constructor(\n private gateway: ListLanguagesGateway.Interface,\n private cache: LanguagesCache.Interface\n ) {}\n\n getLanguages(): LanguageDto[] {\n return this.cache.getItems();\n }\n\n async execute(): Promise<LanguageDto[]> {\n if (this.cache.hasItems()) {\n return this.cache.getItems();\n }\n\n if (this.pending) {\n return this.pending;\n }\n\n this.pending = this.gateway.execute().then(languages => {\n const sorted = languages.sort((a, b) => a.name.localeCompare(b.name));\n this.cache.addItems(sorted);\n return this.cache.getItems();\n });\n\n return this.pending;\n }\n}\n\nexport const ListLanguagesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListLanguagesRepositoryImpl,\n dependencies: [ListLanguagesGateway, LanguagesCache]\n});\n"],"mappings":"AAAA,SACIA,uBAAuB,IAAIC,qBAAqB,EAChDC,oBAAoB,EACpBC,cAAc;AAIlB,MAAMC,2BAA2B,CAA4C;EAGzEC,WAAWA,CACCC,OAAuC,EACvCC,KAA+B,EACzC;IAAA,KAFUD,OAAuC,GAAvCA,OAAuC;IAAA,KACvCC,KAA+B,GAA/BA,KAA+B;EACxC;EAEHC,YAAYA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAC,CAAC;EAChC;EAEA,MAAMC,OAAOA,CAAA,EAA2B;IACpC,IAAI,IAAI,CAACH,KAAK,CAACI,QAAQ,CAAC,CAAC,EAAE;MACvB,OAAO,IAAI,CAACJ,KAAK,CAACE,QAAQ,CAAC,CAAC;IAChC;IAEA,IAAI,IAAI,CAACG,OAAO,EAAE;MACd,OAAO,IAAI,CAACA,OAAO;IACvB;IAEA,IAAI,CAACA,OAAO,GAAG,IAAI,CAACN,OAAO,CAACI,OAAO,CAAC,CAAC,CAACG,IAAI,CAACC,SAAS,IAAI;MACpD,MAAMC,MAAM,GAAGD,SAAS,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,IAAI,CAACC,aAAa,CAACF,CAAC,CAACC,IAAI,CAAC,CAAC;MACrE,IAAI,CAACZ,KAAK,CAACc,QAAQ,CAACN,MAAM,CAAC;MAC3B,OAAO,IAAI,CAACR,KAAK,CAACE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,IAAI,CAACG,OAAO;EACvB;AACJ;AAEA,OAAO,MAAMZ,uBAAuB,GAAGC,qBAAqB,CAACqB,oBAAoB,CAAC;EAC9EC,cAAc,EAAEnB,2BAA2B;EAC3CoB,YAAY,EAAE,CAACtB,oBAAoB,EAAEC,cAAc;AACvD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"admin/features/listLanguages/ListLanguagesRepository.js","sources":["../../../../src/admin/features/listLanguages/ListLanguagesRepository.ts"],"sourcesContent":["import {\n ListLanguagesRepository as RepositoryAbstraction,\n ListLanguagesGateway,\n LanguagesCache,\n type LanguageDto\n} from \"./abstractions.js\";\n\nclass ListLanguagesRepositoryImpl implements RepositoryAbstraction.Interface {\n private pending: Promise<LanguageDto[]> | undefined;\n\n constructor(\n private gateway: ListLanguagesGateway.Interface,\n private cache: LanguagesCache.Interface\n ) {}\n\n getLanguages(): LanguageDto[] {\n return this.cache.getItems();\n }\n\n async execute(): Promise<LanguageDto[]> {\n if (this.cache.hasItems()) {\n return this.cache.getItems();\n }\n\n if (this.pending) {\n return this.pending;\n }\n\n this.pending = this.gateway.execute().then(languages => {\n const sorted = languages.sort((a, b) => a.name.localeCompare(b.name));\n this.cache.addItems(sorted);\n return this.cache.getItems();\n });\n\n return this.pending;\n }\n}\n\nexport const ListLanguagesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListLanguagesRepositoryImpl,\n dependencies: [ListLanguagesGateway, LanguagesCache]\n});\n"],"names":["ListLanguagesRepositoryImpl","gateway","cache","languages","sorted","a","b","ListLanguagesRepository","RepositoryAbstraction","ListLanguagesGateway","LanguagesCache"],"mappings":";AAOA,MAAMA;IAGF,YACYC,OAAuC,EACvCC,KAA+B,CACzC;aAFUD,OAAO,GAAPA;aACAC,KAAK,GAALA;IACT;IAEH,eAA8B;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;IAC9B;IAEA,MAAM,UAAkC;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;QAG9B,IAAI,IAAI,CAAC,OAAO,EACZ,OAAO,IAAI,CAAC,OAAO;QAGvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAACC,CAAAA;YACvC,MAAMC,SAASD,UAAU,IAAI,CAAC,CAACE,GAAGC,IAAMD,EAAE,IAAI,CAAC,aAAa,CAACC,EAAE,IAAI;YACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACF;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC9B;QAEA,OAAO,IAAI,CAAC,OAAO;IACvB;AACJ;AAEO,MAAMG,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBR;IAChB,cAAc;QAACS;QAAsBC;KAAe;AACxD"}