@webiny/languages 0.0.0-unstable.e6f0dc8ca7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +36 -0
- package/Languages.d.ts +2 -0
- package/Languages.js +12 -0
- package/Languages.js.map +1 -0
- package/README.md +11 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +33 -0
- package/admin/Extension.js.map +1 -0
- package/admin/GenericCell.d.ts +6 -0
- package/admin/GenericCell.js +16 -0
- package/admin/GenericCell.js.map +1 -0
- package/admin/LanguageEntryList.d.ts +2 -0
- package/admin/LanguageEntryList.js +36 -0
- package/admin/LanguageEntryList.js.map +1 -0
- package/admin/PermissionsSchema.d.ts +5 -0
- package/admin/PermissionsSchema.js +8 -0
- package/admin/PermissionsSchema.js.map +1 -0
- package/admin/SecurityPermission.d.ts +2 -0
- package/admin/SecurityPermission.js +18 -0
- package/admin/SecurityPermission.js.map +1 -0
- package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.d.ts +11 -0
- package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js +21 -0
- package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js.map +1 -0
- package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.d.ts +11 -0
- package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js +20 -0
- package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js.map +1 -0
- package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.d.ts +11 -0
- package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js +27 -0
- package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js.map +1 -0
- package/admin/features/listLanguages/ListLanguagesGateway.d.ts +11 -0
- package/admin/features/listLanguages/ListLanguagesGateway.js +43 -0
- package/admin/features/listLanguages/ListLanguagesGateway.js.map +1 -0
- package/admin/features/listLanguages/ListLanguagesRepository.d.ts +13 -0
- package/admin/features/listLanguages/ListLanguagesRepository.js +30 -0
- package/admin/features/listLanguages/ListLanguagesRepository.js.map +1 -0
- package/admin/features/listLanguages/ListLanguagesUseCase.d.ts +10 -0
- package/admin/features/listLanguages/ListLanguagesUseCase.js +15 -0
- package/admin/features/listLanguages/ListLanguagesUseCase.js.map +1 -0
- package/admin/features/listLanguages/abstractions.d.ts +35 -0
- package/admin/features/listLanguages/abstractions.js +30 -0
- package/admin/features/listLanguages/abstractions.js.map +1 -0
- package/admin/features/listLanguages/feature.d.ts +6 -0
- package/admin/features/listLanguages/feature.js +30 -0
- package/admin/features/listLanguages/feature.js.map +1 -0
- package/admin/features/listLanguages/index.d.ts +2 -0
- package/admin/features/listLanguages/index.js +3 -0
- package/admin/features/listLanguages/index.js.map +1 -0
- package/admin/features/listLanguages/toLanguageDto.d.ts +3 -0
- package/admin/features/listLanguages/toLanguageDto.js +12 -0
- package/admin/features/listLanguages/toLanguageDto.js.map +1 -0
- package/admin/presentation/hooks/useLanguages.d.ts +5 -0
- package/admin/presentation/hooks/useLanguages.js +26 -0
- package/admin/presentation/hooks/useLanguages.js.map +1 -0
- package/api/Extension.d.ts +4 -0
- package/api/Extension.js +26 -0
- package/api/Extension.js.map +1 -0
- package/api/domain/Language.d.ts +8 -0
- package/api/domain/Language.js +3 -0
- package/api/domain/Language.js.map +1 -0
- package/api/domain/LanguageModel.d.ts +8 -0
- package/api/domain/LanguageModel.js +31 -0
- package/api/domain/LanguageModel.js.map +1 -0
- package/api/domain/errors.d.ts +11 -0
- package/api/domain/errors.js +22 -0
- package/api/domain/errors.js.map +1 -0
- package/api/domain/permissionsSchema.d.ts +5 -0
- package/api/domain/permissionsSchema.js +8 -0
- package/api/domain/permissionsSchema.js.map +1 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.d.ts +8 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +40 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -0
- package/api/features/AddCmsPermissions/feature.d.ts +4 -0
- package/api/features/AddCmsPermissions/feature.js +10 -0
- package/api/features/AddCmsPermissions/feature.js.map +1 -0
- package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.d.ts +15 -0
- package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js +58 -0
- package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js.map +1 -0
- package/api/features/EnsureSingleDefaultLanguage/feature.d.ts +4 -0
- package/api/features/EnsureSingleDefaultLanguage/feature.js +10 -0
- package/api/features/EnsureSingleDefaultLanguage/feature.js.map +1 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.d.ts +13 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js +52 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js.map +1 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.d.ts +8 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js +17 -0
- package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js.map +1 -0
- package/api/features/GetLanguageByCode/abstractions.d.ts +33 -0
- package/api/features/GetLanguageByCode/abstractions.js +16 -0
- package/api/features/GetLanguageByCode/abstractions.js.map +1 -0
- package/api/features/GetLanguageByCode/feature.d.ts +4 -0
- package/api/features/GetLanguageByCode/feature.js +12 -0
- package/api/features/GetLanguageByCode/feature.js.map +1 -0
- package/api/features/GetLanguageByCode/index.d.ts +1 -0
- package/api/features/GetLanguageByCode/index.js +3 -0
- package/api/features/GetLanguageByCode/index.js.map +1 -0
- package/api/features/ListLanguages/ListLanguagesRepository.d.ts +13 -0
- package/api/features/ListLanguages/ListLanguagesRepository.js +46 -0
- package/api/features/ListLanguages/ListLanguagesRepository.js.map +1 -0
- package/api/features/ListLanguages/ListLanguagesUseCase.d.ts +8 -0
- package/api/features/ListLanguages/ListLanguagesUseCase.js +17 -0
- package/api/features/ListLanguages/ListLanguagesUseCase.js.map +1 -0
- package/api/features/ListLanguages/abstractions.d.ts +31 -0
- package/api/features/ListLanguages/abstractions.js +16 -0
- package/api/features/ListLanguages/abstractions.js.map +1 -0
- package/api/features/ListLanguages/feature.d.ts +4 -0
- package/api/features/ListLanguages/feature.js +12 -0
- package/api/features/ListLanguages/feature.js.map +1 -0
- package/api/features/ListLanguages/index.d.ts +1 -0
- package/api/features/ListLanguages/index.js +3 -0
- package/api/features/ListLanguages/index.js.map +1 -0
- package/api/features/Permissions/abstractions.d.ts +10 -0
- package/api/features/Permissions/abstractions.js +5 -0
- package/api/features/Permissions/abstractions.js.map +1 -0
- package/api/features/Permissions/feature.d.ts +4 -0
- package/api/features/Permissions/feature.js +6 -0
- package/api/features/Permissions/feature.js.map +1 -0
- package/api/graphql/LanguagesGraphQLSchema.d.ts +8 -0
- package/api/graphql/LanguagesGraphQLSchema.js +66 -0
- package/api/graphql/LanguagesGraphQLSchema.js.map +1 -0
- package/exports/admin/languages.d.ts +2 -0
- package/exports/admin/languages.js +3 -0
- package/exports/admin/languages.js.map +1 -0
- package/exports/api/languages.d.ts +2 -0
- package/exports/api/languages.js +4 -0
- package/exports/api/languages.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/package.json +49 -0
- package/shared/constants.d.ts +1 -0
- package/shared/constants.js +3 -0
- package/shared/constants.js.map +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
The Webiny Enterprise license (the “Enterprise License”)
|
|
2
|
+
Copyright (c) 2021 Webiny Ltd.
|
|
3
|
+
|
|
4
|
+
With regard to the Webiny Software:
|
|
5
|
+
|
|
6
|
+
This software and associated documentation files (the "Software") may only be
|
|
7
|
+
used in production, if you (and any entity that you represent) have agreed to,
|
|
8
|
+
and are in compliance with, the Webiny Subscription Terms of Service, available
|
|
9
|
+
at https://www.webiny.com/terms (the “Enterprise Terms”), or other
|
|
10
|
+
agreement governing the use of the Software, as agreed by you and Webiny,
|
|
11
|
+
and otherwise have a valid Webiny Enterprise license for the
|
|
12
|
+
correct number of user seats. Subject to the foregoing sentence, you are free to
|
|
13
|
+
modify this Software and publish patches to the Software. You agree that Webiny
|
|
14
|
+
and/or its licensors (as applicable) retain all right, title and interest in and
|
|
15
|
+
to all such modifications and/or patches, and all such modifications and/or
|
|
16
|
+
patches may only be used, copied, modified, displayed, distributed, or otherwise
|
|
17
|
+
exploited with a valid Webiny Enterprise license for the correct
|
|
18
|
+
number of user seats. Notwithstanding the foregoing, you may copy and modify
|
|
19
|
+
the Software for development and testing purposes, without requiring a
|
|
20
|
+
subscription. You agree that Webiny and/or its licensors (as applicable) retain
|
|
21
|
+
all right, title and interest in and to all such modifications. You are not
|
|
22
|
+
granted any other rights beyond what is expressly stated herein. Subject to the
|
|
23
|
+
foregoing, it is forbidden to copy, merge, publish, distribute, sublicense,
|
|
24
|
+
and/or sell the Software.
|
|
25
|
+
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
33
|
+
|
|
34
|
+
For all third party components incorporated into the Webiny Software, those
|
|
35
|
+
components are licensed under the original license provided by the owner of the
|
|
36
|
+
applicable component.
|
package/Languages.d.ts
ADDED
package/Languages.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Api, Admin } from "@webiny/project-aws";
|
|
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
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=Languages.js.map
|
package/Languages.js.map
ADDED
|
@@ -0,0 +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":[]}
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @webiny/languages
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
6
|
+
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdminConfig, HasPermission, RegisterFeature } from "@webiny/app-admin";
|
|
3
|
+
import { useRouter } from "@webiny/app-admin";
|
|
4
|
+
import { Routes } from "@webiny/app-headless-cms";
|
|
5
|
+
import { LANGUAGE_MODEL_ID } from "../shared/constants.js";
|
|
6
|
+
import { SecurityPermission } from "./SecurityPermission.js";
|
|
7
|
+
import { LanguageEntryList } from "./LanguageEntryList.js";
|
|
8
|
+
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));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=Extension.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { CmsContentEntry } from "@webiny/app-headless-cms/types.js";
|
|
3
|
+
export interface GenericCellProps {
|
|
4
|
+
render: (data: CmsContentEntry) => React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const GenericCell: (props: GenericCellProps) => React.JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
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));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=GenericCell.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ContentEntryListConfig } from "@webiny/app-headless-cms/exports/admin/cms/entry/list.js";
|
|
3
|
+
import { LANGUAGE_MODEL_ID } from "../shared/constants.js";
|
|
4
|
+
import { GenericCell } from "./GenericCell.js";
|
|
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
|
+
};
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=LanguageEntryList.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdminConfig } from "@webiny/app-admin";
|
|
3
|
+
import { ReactComponent as PermissionsIcon } from "@webiny/icons/language.svg";
|
|
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
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=SecurityPermission.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterCreateEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
declare class LanguageEntryAfterCreateHandlerImpl implements EntryAfterCreateEventHandler.Interface {
|
|
4
|
+
private cache;
|
|
5
|
+
constructor(cache: LanguagesCache.Interface);
|
|
6
|
+
handle(event: EntryAfterCreateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const LanguageEntryAfterCreateHandler: typeof LanguageEntryAfterCreateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/app-headless-cms/features/contentEntry/events/EntryAfterCreateEvent.js").EntryAfterCreateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EntryAfterCreateEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
4
|
+
import { toLanguageDto } from "./toLanguageDto.js";
|
|
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;
|
|
12
|
+
}
|
|
13
|
+
this.cache.addItems([toLanguageDto(event.payload.entry)]);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const LanguageEntryAfterCreateHandler = EntryAfterCreateEventHandler.createImplementation({
|
|
17
|
+
implementation: LanguageEntryAfterCreateHandlerImpl,
|
|
18
|
+
dependencies: [LanguagesCache]
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=LanguageEntryAfterCreateHandler.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
declare class LanguageEntryAfterDeleteHandlerImpl implements EntryAfterDeleteEventHandler.Interface {
|
|
4
|
+
private cache;
|
|
5
|
+
constructor(cache: LanguagesCache.Interface);
|
|
6
|
+
handle(event: EntryAfterDeleteEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const LanguageEntryAfterDeleteHandler: typeof LanguageEntryAfterDeleteHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/app-headless-cms/features/contentEntry/events/EntryAfterDeleteEvent.js").EntryAfterDeleteEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EntryAfterDeleteEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
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;
|
|
11
|
+
}
|
|
12
|
+
this.cache.removeItems(item => item.id === event.payload.entryId);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export const LanguageEntryAfterDeleteHandler = EntryAfterDeleteEventHandler.createImplementation({
|
|
16
|
+
implementation: LanguageEntryAfterDeleteHandlerImpl,
|
|
17
|
+
dependencies: [LanguagesCache]
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=LanguageEntryAfterDeleteHandler.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntryAfterUpdateEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
declare class LanguageEntryAfterUpdateHandlerImpl implements EntryAfterUpdateEventHandler.Interface {
|
|
4
|
+
private cache;
|
|
5
|
+
constructor(cache: LanguagesCache.Interface);
|
|
6
|
+
handle(event: EntryAfterUpdateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const LanguageEntryAfterUpdateHandler: typeof LanguageEntryAfterUpdateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/app-headless-cms/features/contentEntry/events/EntryAfterUpdateEvent.js").EntryAfterUpdateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EntryAfterUpdateEventHandler } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
2
|
+
import { LanguagesCache } from "./abstractions.js";
|
|
3
|
+
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
4
|
+
import { toLanguageDto } from "./toLanguageDto.js";
|
|
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;
|
|
12
|
+
}
|
|
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
|
+
}
|
|
22
|
+
export const LanguageEntryAfterUpdateHandler = EntryAfterUpdateEventHandler.createImplementation({
|
|
23
|
+
implementation: LanguageEntryAfterUpdateHandlerImpl,
|
|
24
|
+
dependencies: [LanguagesCache]
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=LanguageEntryAfterUpdateHandler.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListLanguagesGateway as GatewayAbstraction, LanguageDto } from "./abstractions.js";
|
|
2
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient";
|
|
3
|
+
declare class ListLanguagesGatewayImpl implements GatewayAbstraction.Interface {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: MainGraphQLClient.Interface);
|
|
6
|
+
execute(): Promise<LanguageDto[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare const ListLanguagesGateway: typeof ListLanguagesGatewayImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListLanguagesGateway>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ListLanguagesGateway as GatewayAbstraction } from "./abstractions.js";
|
|
2
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient";
|
|
3
|
+
const LIST_LANGUAGES = /* GraphQL */`
|
|
4
|
+
query ListLanguages {
|
|
5
|
+
languages {
|
|
6
|
+
listLanguages {
|
|
7
|
+
data {
|
|
8
|
+
id
|
|
9
|
+
code
|
|
10
|
+
name
|
|
11
|
+
direction
|
|
12
|
+
isDefault
|
|
13
|
+
enabled
|
|
14
|
+
}
|
|
15
|
+
error {
|
|
16
|
+
code
|
|
17
|
+
message
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
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);
|
|
34
|
+
}
|
|
35
|
+
return envelope.data;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const ListLanguagesGateway = GatewayAbstraction.createImplementation({
|
|
39
|
+
implementation: ListLanguagesGatewayImpl,
|
|
40
|
+
dependencies: [MainGraphQLClient]
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=ListLanguagesGateway.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ListLanguagesRepository as RepositoryAbstraction, ListLanguagesGateway, LanguagesCache, type LanguageDto } from "./abstractions.js";
|
|
2
|
+
declare class ListLanguagesRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
3
|
+
private gateway;
|
|
4
|
+
private cache;
|
|
5
|
+
private pending;
|
|
6
|
+
constructor(gateway: ListLanguagesGateway.Interface, cache: LanguagesCache.Interface);
|
|
7
|
+
getLanguages(): LanguageDto[];
|
|
8
|
+
execute(): Promise<LanguageDto[]>;
|
|
9
|
+
}
|
|
10
|
+
export declare const ListLanguagesRepository: typeof ListLanguagesRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListLanguagesRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ListLanguagesRepository as RepositoryAbstraction, ListLanguagesGateway, LanguagesCache } from "./abstractions.js";
|
|
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();
|
|
13
|
+
}
|
|
14
|
+
if (this.pending) {
|
|
15
|
+
return this.pending;
|
|
16
|
+
}
|
|
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
|
+
}
|
|
25
|
+
export const ListLanguagesRepository = RepositoryAbstraction.createImplementation({
|
|
26
|
+
implementation: ListLanguagesRepositoryImpl,
|
|
27
|
+
dependencies: [ListLanguagesGateway, LanguagesCache]
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=ListLanguagesRepository.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ListLanguagesUseCase as UseCaseAbstraction, ListLanguagesRepository, LanguageDto } from "./abstractions.js";
|
|
2
|
+
declare class ListLanguagesUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: ListLanguagesRepository.Interface);
|
|
5
|
+
execute(): Promise<LanguageDto[]>;
|
|
6
|
+
}
|
|
7
|
+
export declare const ListLanguagesUseCase: typeof ListLanguagesUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListLanguagesUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListLanguagesUseCase as UseCaseAbstraction, ListLanguagesRepository } from "./abstractions.js";
|
|
2
|
+
class ListLanguagesUseCaseImpl {
|
|
3
|
+
constructor(repository) {
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute() {
|
|
7
|
+
return await this.repository.execute();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const ListLanguagesUseCase = UseCaseAbstraction.createImplementation({
|
|
11
|
+
implementation: ListLanguagesUseCaseImpl,
|
|
12
|
+
dependencies: [ListLanguagesRepository]
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=ListLanguagesUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListLanguagesUseCase","UseCaseAbstraction","ListLanguagesRepository","ListLanguagesUseCaseImpl","constructor","repository","execute","createImplementation","implementation","dependencies"],"sources":["ListLanguagesUseCase.ts"],"sourcesContent":["import {\n ListLanguagesUseCase as UseCaseAbstraction,\n ListLanguagesRepository,\n LanguageDto\n} from \"./abstractions.js\";\n\nclass ListLanguagesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListLanguagesRepository.Interface) {}\n\n async execute(): Promise<LanguageDto[]> {\n return await this.repository.execute();\n }\n}\n\nexport const ListLanguagesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListLanguagesUseCaseImpl,\n dependencies: [ListLanguagesRepository]\n});\n"],"mappings":"AAAA,SACIA,oBAAoB,IAAIC,kBAAkB,EAC1CC,uBAAuB;AAI3B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CAASC,UAA6C,EAAE;IAAA,KAA/CA,UAA6C,GAA7CA,UAA6C;EAAG;EAEpE,MAAMC,OAAOA,CAAA,EAA2B;IACpC,OAAO,MAAM,IAAI,CAACD,UAAU,CAACC,OAAO,CAAC,CAAC;EAC1C;AACJ;AAEA,OAAO,MAAMN,oBAAoB,GAAGC,kBAAkB,CAACM,oBAAoB,CAAC;EACxEC,cAAc,EAAEL,wBAAwB;EACxCM,YAAY,EAAE,CAACP,uBAAuB;AAC1C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { IListCache } from "@webiny/app-headless-cms/features/ListCache.js";
|
|
2
|
+
export interface LanguageDto {
|
|
3
|
+
id: string;
|
|
4
|
+
code: string;
|
|
5
|
+
name: string;
|
|
6
|
+
direction?: "ltr" | "rtl";
|
|
7
|
+
isDefault?: boolean;
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const LanguagesCache: import("@webiny/di").Abstraction<IListCache<LanguageDto>>;
|
|
11
|
+
export declare namespace LanguagesCache {
|
|
12
|
+
type Interface = IListCache<LanguageDto>;
|
|
13
|
+
}
|
|
14
|
+
export interface IListLanguagesUseCase {
|
|
15
|
+
execute(): Promise<LanguageDto[]>;
|
|
16
|
+
}
|
|
17
|
+
export declare const ListLanguagesUseCase: import("@webiny/di").Abstraction<IListLanguagesUseCase>;
|
|
18
|
+
export declare namespace ListLanguagesUseCase {
|
|
19
|
+
type Interface = IListLanguagesUseCase;
|
|
20
|
+
}
|
|
21
|
+
export interface IListLanguagesRepository {
|
|
22
|
+
execute(): Promise<LanguageDto[]>;
|
|
23
|
+
getLanguages(): LanguageDto[];
|
|
24
|
+
}
|
|
25
|
+
export declare const ListLanguagesRepository: import("@webiny/di").Abstraction<IListLanguagesRepository>;
|
|
26
|
+
export declare namespace ListLanguagesRepository {
|
|
27
|
+
type Interface = IListLanguagesRepository;
|
|
28
|
+
}
|
|
29
|
+
export interface IListLanguagesGateway {
|
|
30
|
+
execute(): Promise<LanguageDto[]>;
|
|
31
|
+
}
|
|
32
|
+
export declare const ListLanguagesGateway: import("@webiny/di").Abstraction<IListLanguagesGateway>;
|
|
33
|
+
export declare namespace ListLanguagesGateway {
|
|
34
|
+
type Interface = IListLanguagesGateway;
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
|
|
3
|
+
//
|
|
4
|
+
// DTO
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
//
|
|
8
|
+
// Cache
|
|
9
|
+
//
|
|
10
|
+
export const LanguagesCache = createAbstraction("Languages/LanguagesCache");
|
|
11
|
+
|
|
12
|
+
//
|
|
13
|
+
// UseCase
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
export const ListLanguagesUseCase = createAbstraction("Languages/ListLanguagesUseCase");
|
|
17
|
+
|
|
18
|
+
//
|
|
19
|
+
// Repository
|
|
20
|
+
//
|
|
21
|
+
|
|
22
|
+
export const ListLanguagesRepository = createAbstraction("Languages/ListLanguagesRepository");
|
|
23
|
+
|
|
24
|
+
//
|
|
25
|
+
// Gateway
|
|
26
|
+
//
|
|
27
|
+
|
|
28
|
+
export const ListLanguagesGateway = createAbstraction("Languages/ListLanguagesGateway");
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","LanguagesCache","ListLanguagesUseCase","ListLanguagesRepository","ListLanguagesGateway"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { IListCache } from \"@webiny/app-headless-cms/features/ListCache.js\";\n\n//\n// DTO\n//\nexport interface LanguageDto {\n id: string;\n code: string;\n name: string;\n direction?: \"ltr\" | \"rtl\";\n isDefault?: boolean;\n enabled?: boolean;\n}\n\n//\n// Cache\n//\nexport const LanguagesCache = createAbstraction<IListCache<LanguageDto>>(\n \"Languages/LanguagesCache\"\n);\n\nexport namespace LanguagesCache {\n export type Interface = IListCache<LanguageDto>;\n}\n\n//\n// UseCase\n//\nexport interface IListLanguagesUseCase {\n execute(): Promise<LanguageDto[]>;\n}\n\nexport const ListLanguagesUseCase = createAbstraction<IListLanguagesUseCase>(\n \"Languages/ListLanguagesUseCase\"\n);\n\nexport namespace ListLanguagesUseCase {\n export type Interface = IListLanguagesUseCase;\n}\n\n//\n// Repository\n//\nexport interface IListLanguagesRepository {\n execute(): Promise<LanguageDto[]>;\n getLanguages(): LanguageDto[];\n}\n\nexport const ListLanguagesRepository = createAbstraction<IListLanguagesRepository>(\n \"Languages/ListLanguagesRepository\"\n);\n\nexport namespace ListLanguagesRepository {\n export type Interface = IListLanguagesRepository;\n}\n\n//\n// Gateway\n//\nexport interface IListLanguagesGateway {\n execute(): Promise<LanguageDto[]>;\n}\n\nexport const ListLanguagesGateway = createAbstraction<IListLanguagesGateway>(\n \"Languages/ListLanguagesGateway\"\n);\n\nexport namespace ListLanguagesGateway {\n export type Interface = IListLanguagesGateway;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAGzD;AACA;AACA;;AAUA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAC3C,0BACJ,CAAC;;AAMD;AACA;AACA;;AAKA,OAAO,MAAME,oBAAoB,GAAGF,iBAAiB,CACjD,gCACJ,CAAC;;AAMD;AACA;AACA;;AAMA,OAAO,MAAMG,uBAAuB,GAAGH,iBAAiB,CACpD,mCACJ,CAAC;;AAMD;AACA;AACA;;AAKA,OAAO,MAAMI,oBAAoB,GAAGJ,iBAAiB,CACjD,gCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LanguageDto } from "./abstractions.js";
|
|
2
|
+
export declare const ListLanguagesFeature: import("@webiny/feature/admin").FeatureDefinition<{
|
|
3
|
+
useCase: import("./abstractions.js").IListLanguagesUseCase;
|
|
4
|
+
repository: import("./abstractions.js").IListLanguagesRepository;
|
|
5
|
+
cache: import("@webiny/app-headless-cms/features/ListCache.js").IListCache<LanguageDto>;
|
|
6
|
+
}, []>;
|