@webiny/languages 6.3.0 → 6.4.0-beta.1
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/Languages.js +8 -9
- package/Languages.js.map +1 -1
- package/admin/Extension.js +21 -25
- package/admin/Extension.js.map +1 -1
- package/admin/GenericCell.js +7 -12
- package/admin/GenericCell.js.map +1 -1
- package/admin/LanguageEntryList.js +31 -30
- package/admin/LanguageEntryList.js.map +1 -1
- package/admin/PermissionsSchema.js +5 -4
- package/admin/PermissionsSchema.js.map +1 -1
- package/admin/SecurityPermission.js +11 -14
- package/admin/SecurityPermission.js.map +1 -1
- package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js +14 -11
- package/admin/features/listLanguages/LanguageEntryAfterCreateHandler.js.map +1 -1
- package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js +12 -11
- package/admin/features/listLanguages/LanguageEntryAfterDeleteHandler.js.map +1 -1
- package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js +16 -17
- package/admin/features/listLanguages/LanguageEntryAfterUpdateHandler.js.map +1 -1
- package/admin/features/listLanguages/ListLanguagesGateway.js +18 -17
- package/admin/features/listLanguages/ListLanguagesGateway.js.map +1 -1
- package/admin/features/listLanguages/ListLanguagesRepository.js +23 -23
- package/admin/features/listLanguages/ListLanguagesRepository.js.map +1 -1
- package/admin/features/listLanguages/ListLanguagesUseCase.js +13 -10
- package/admin/features/listLanguages/ListLanguagesUseCase.js.map +1 -1
- package/admin/features/listLanguages/abstractions.js +5 -27
- package/admin/features/listLanguages/abstractions.js.map +1 -1
- package/admin/features/listLanguages/feature.js +22 -21
- package/admin/features/listLanguages/feature.js.map +1 -1
- package/admin/features/listLanguages/index.js +0 -2
- package/admin/features/listLanguages/toLanguageDto.js +10 -9
- package/admin/features/listLanguages/toLanguageDto.js.map +1 -1
- package/admin/presentation/hooks/useLanguages.js +20 -19
- package/admin/presentation/hooks/useLanguages.js.map +1 -1
- package/api/Extension.js +12 -15
- package/api/Extension.js.map +1 -1
- package/api/domain/Language.js +0 -3
- package/api/domain/LanguageModel.js +49 -24
- package/api/domain/LanguageModel.js.map +1 -1
- package/api/domain/errors.js +16 -17
- package/api/domain/errors.js.map +1 -1
- package/api/domain/permissionsSchema.js +5 -4
- package/api/domain/permissionsSchema.js.map +1 -1
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +41 -32
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -1
- package/api/features/AddCmsPermissions/feature.js +6 -5
- package/api/features/AddCmsPermissions/feature.js.map +1 -1
- package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js +36 -46
- package/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js.map +1 -1
- package/api/features/EnsureSingleDefaultLanguage/feature.js +6 -5
- package/api/features/EnsureSingleDefaultLanguage/feature.js.map +1 -1
- package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js +36 -40
- package/api/features/GetLanguageByCode/GetLanguageByCodeRepository.js.map +1 -1
- package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js +14 -11
- package/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js.map +1 -1
- package/api/features/GetLanguageByCode/abstractions.js +3 -13
- package/api/features/GetLanguageByCode/abstractions.js.map +1 -1
- package/api/features/GetLanguageByCode/feature.js +7 -6
- package/api/features/GetLanguageByCode/feature.js.map +1 -1
- package/api/features/GetLanguageByCode/index.js +0 -2
- package/api/features/ListLanguages/ListLanguagesRepository.js +36 -34
- package/api/features/ListLanguages/ListLanguagesRepository.js.map +1 -1
- package/api/features/ListLanguages/ListLanguagesUseCase.js +14 -11
- package/api/features/ListLanguages/ListLanguagesUseCase.js.map +1 -1
- package/api/features/ListLanguages/abstractions.js +3 -13
- package/api/features/ListLanguages/abstractions.js.map +1 -1
- package/api/features/ListLanguages/feature.js +7 -6
- package/api/features/ListLanguages/feature.js.map +1 -1
- package/api/features/ListLanguages/index.js +0 -2
- package/api/features/Permissions/abstractions.js +2 -1
- package/api/features/Permissions/abstractions.js.map +1 -1
- package/api/features/Permissions/feature.js +2 -1
- package/api/features/Permissions/feature.js.map +1 -1
- package/api/graphql/LanguagesGraphQLSchema.js +24 -31
- package/api/graphql/LanguagesGraphQLSchema.js.map +1 -1
- package/exports/admin/languages.js +0 -2
- package/exports/api/languages.js +0 -2
- package/index.js +0 -2
- package/package.json +21 -21
- package/shared/constants.js +2 -1
- package/shared/constants.js.map +1 -1
- package/admin/features/listLanguages/index.js.map +0 -1
- package/api/domain/Language.js.map +0 -1
- package/api/features/GetLanguageByCode/index.js.map +0 -1
- package/api/features/ListLanguages/index.js.map +0 -1
- package/exports/admin/languages.js.map +0 -1
- package/exports/api/languages.js.map +0 -1
- package/index.js.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import AddCmsPermissions from "./AddCmsPermissions.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const AddCmsPermissionsFeature = createFeature({
|
|
4
|
+
name: "Languages/AddCmsPermissions",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(AddCmsPermissions);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { AddCmsPermissionsFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/AddCmsPermissions/feature.js","sources":["../../../../src/api/features/AddCmsPermissions/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport AddCmsPermissions from \"./AddCmsPermissions.js\";\n\nexport const AddCmsPermissionsFeature = createFeature({\n name: \"Languages/AddCmsPermissions\",\n register(container) {\n container.register(AddCmsPermissions);\n }\n});\n"],"names":["AddCmsPermissionsFeature","createFeature","container","AddCmsPermissions"],"mappings":";;AAGO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -4,55 +4,45 @@ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/cont
|
|
|
4
4
|
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
5
5
|
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js";
|
|
6
6
|
class UnsetDefaultLanguagesHandler {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
async handle(event) {
|
|
13
|
-
const {
|
|
14
|
-
entry,
|
|
15
|
-
model
|
|
16
|
-
} = event.payload;
|
|
17
|
-
if (model.modelId !== LANGUAGE_MODEL_ID) {
|
|
18
|
-
return;
|
|
7
|
+
constructor(getModel, listLatestEntries, updateEntry){
|
|
8
|
+
this.getModel = getModel;
|
|
9
|
+
this.listLatestEntries = listLatestEntries;
|
|
10
|
+
this.updateEntry = updateEntry;
|
|
19
11
|
}
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
async handle(event) {
|
|
13
|
+
const { entry, model } = event.payload;
|
|
14
|
+
if (model.modelId !== LANGUAGE_MODEL_ID) return;
|
|
15
|
+
if (!entry.values.isDefault) return;
|
|
16
|
+
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
17
|
+
if (modelResult.isFail()) return;
|
|
18
|
+
const languageModel = modelResult.value;
|
|
19
|
+
const listResult = await this.listLatestEntries.execute(languageModel, {
|
|
20
|
+
where: {
|
|
21
|
+
entryId_not: entry.entryId,
|
|
22
|
+
values: {
|
|
23
|
+
isDefault: true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
if (listResult.isFail()) return;
|
|
28
|
+
const { entries } = listResult.value;
|
|
29
|
+
for (const other of entries)await this.updateEntry.execute(languageModel, {
|
|
30
|
+
...other,
|
|
31
|
+
values: {
|
|
32
|
+
...other.values,
|
|
33
|
+
isDefault: false
|
|
34
|
+
}
|
|
35
|
+
});
|
|
22
36
|
}
|
|
23
|
-
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
24
|
-
if (modelResult.isFail()) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const languageModel = modelResult.value;
|
|
28
|
-
const listResult = await this.listLatestEntries.execute(languageModel, {
|
|
29
|
-
where: {
|
|
30
|
-
entryId_not: entry.entryId,
|
|
31
|
-
values: {
|
|
32
|
-
isDefault: true
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
if (listResult.isFail()) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const {
|
|
40
|
-
entries
|
|
41
|
-
} = listResult.value;
|
|
42
|
-
for (const other of entries) {
|
|
43
|
-
await this.updateEntry.execute(languageModel, {
|
|
44
|
-
...other,
|
|
45
|
-
values: {
|
|
46
|
-
...other.values,
|
|
47
|
-
isDefault: false
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
37
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
const EnsureSingleDefaultLanguage_UnsetDefaultLanguagesHandler = EntryAfterUpdateEventHandler.createImplementation({
|
|
39
|
+
implementation: UnsetDefaultLanguagesHandler,
|
|
40
|
+
dependencies: [
|
|
41
|
+
GetModelUseCase,
|
|
42
|
+
ListLatestEntriesUseCase,
|
|
43
|
+
UpdateEntryRepository
|
|
44
|
+
]
|
|
56
45
|
});
|
|
46
|
+
export default EnsureSingleDefaultLanguage_UnsetDefaultLanguagesHandler;
|
|
57
47
|
|
|
58
48
|
//# sourceMappingURL=UnsetDefaultLanguagesHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.js","sources":["../../../../src/api/features/EnsureSingleDefaultLanguage/UnsetDefaultLanguagesHandler.ts"],"sourcesContent":["import { EntryAfterUpdateEventHandler } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/events.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js\";\n\nclass UnsetDefaultLanguagesHandler implements EntryAfterUpdateEventHandler.Interface {\n constructor(\n private getModel: GetModelUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private updateEntry: UpdateEntryRepository.Interface\n ) {}\n\n async handle(event: EntryAfterUpdateEventHandler.Event): Promise<void> {\n const { entry, model } = event.payload;\n\n if (model.modelId !== LANGUAGE_MODEL_ID) {\n return;\n }\n\n if (!entry.values.isDefault) {\n return;\n }\n\n const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);\n if (modelResult.isFail()) {\n return;\n }\n\n const languageModel = modelResult.value;\n\n const listResult = await this.listLatestEntries.execute(languageModel, {\n where: {\n entryId_not: entry.entryId,\n values: {\n isDefault: true\n }\n }\n });\n\n if (listResult.isFail()) {\n return;\n }\n\n const { entries } = listResult.value;\n\n for (const other of entries) {\n await this.updateEntry.execute(languageModel, {\n ...other,\n values: {\n ...other.values,\n isDefault: false\n }\n });\n }\n }\n}\n\nexport default EntryAfterUpdateEventHandler.createImplementation({\n implementation: UnsetDefaultLanguagesHandler,\n dependencies: [GetModelUseCase, ListLatestEntriesUseCase, UpdateEntryRepository]\n});\n"],"names":["UnsetDefaultLanguagesHandler","getModel","listLatestEntries","updateEntry","event","entry","model","LANGUAGE_MODEL_ID","modelResult","languageModel","listResult","entries","other","EntryAfterUpdateEventHandler","GetModelUseCase","ListLatestEntriesUseCase","UpdateEntryRepository"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,QAAmC,EACnCC,iBAAqD,EACrDC,WAA4C,CACtD;aAHUF,QAAQ,GAARA;aACAC,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QAEtC,IAAIE,MAAM,OAAO,KAAKC,mBAClB;QAGJ,IAAI,CAACF,MAAM,MAAM,CAAC,SAAS,EACvB;QAGJ,MAAMG,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACD;QAChD,IAAIC,YAAY,MAAM,IAClB;QAGJ,MAAMC,gBAAgBD,YAAY,KAAK;QAEvC,MAAME,aAAa,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACD,eAAe;YACnE,OAAO;gBACH,aAAaJ,MAAM,OAAO;gBAC1B,QAAQ;oBACJ,WAAW;gBACf;YACJ;QACJ;QAEA,IAAIK,WAAW,MAAM,IACjB;QAGJ,MAAM,EAAEC,OAAO,EAAE,GAAGD,WAAW,KAAK;QAEpC,KAAK,MAAME,SAASD,QAChB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACF,eAAe;YAC1C,GAAGG,KAAK;YACR,QAAQ;gBACJ,GAAGA,MAAM,MAAM;gBACf,WAAW;YACf;QACJ;IAER;AACJ;AAEA,iEAAeC,6BAA6B,oBAAoB,CAAC;IAC7D,gBAAgBb;IAChB,cAAc;QAACc;QAAiBC;QAA0BC;KAAsB;AACpF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import UnsetDefaultLanguagesHandler from "./UnsetDefaultLanguagesHandler.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const EnsureSingleDefaultLanguageFeature = createFeature({
|
|
4
|
+
name: "Languages/EnsureSingleDefaultLanguage",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(UnsetDefaultLanguagesHandler);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { EnsureSingleDefaultLanguageFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/EnsureSingleDefaultLanguage/feature.js","sources":["../../../../src/api/features/EnsureSingleDefaultLanguage/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport UnsetDefaultLanguagesHandler from \"./UnsetDefaultLanguagesHandler.js\";\n\nexport const EnsureSingleDefaultLanguageFeature = createFeature({\n name: \"Languages/EnsureSingleDefaultLanguage\",\n register(container) {\n container.register(UnsetDefaultLanguagesHandler);\n }\n});\n"],"names":["EnsureSingleDefaultLanguageFeature","createFeature","container","UnsetDefaultLanguagesHandler"],"mappings":";;AAGO,MAAMA,qCAAqCC,cAAc;IAC5D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -1,52 +1,48 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/abstractions.js";
|
|
3
3
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
4
|
-
import { GetLanguageByCodeRepository
|
|
4
|
+
import { GetLanguageByCodeRepository } from "./abstractions.js";
|
|
5
5
|
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
6
6
|
import { LanguageNotFoundError, LanguagePersistenceError } from "../../domain/errors.js";
|
|
7
7
|
class GetLanguageByCodeRepositoryImpl {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
async execute(code) {
|
|
13
|
-
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
14
|
-
if (modelResult.isFail()) {
|
|
15
|
-
return Result.fail(new LanguagePersistenceError(modelResult.error));
|
|
8
|
+
constructor(getModel, listLatestEntries){
|
|
9
|
+
this.getModel = getModel;
|
|
10
|
+
this.listLatestEntries = listLatestEntries;
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
12
|
+
async execute(code) {
|
|
13
|
+
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
14
|
+
if (modelResult.isFail()) return Result.fail(new LanguagePersistenceError(modelResult.error));
|
|
15
|
+
const model = modelResult.value;
|
|
16
|
+
const listResult = await this.listLatestEntries.execute(model, {
|
|
17
|
+
where: {
|
|
18
|
+
values: {
|
|
19
|
+
code
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
limit: 1
|
|
23
|
+
});
|
|
24
|
+
if (listResult.isFail()) return Result.fail(new LanguagePersistenceError(listResult.error));
|
|
25
|
+
const { entries } = listResult.value;
|
|
26
|
+
if (0 === entries.length) return Result.fail(new LanguageNotFoundError(code));
|
|
27
|
+
const entry = entries[0];
|
|
28
|
+
const language = {
|
|
29
|
+
id: entry.entryId,
|
|
30
|
+
name: entry.values.name,
|
|
31
|
+
code: entry.values.code,
|
|
32
|
+
direction: entry.values.direction,
|
|
33
|
+
isDefault: entry.values.isDefault,
|
|
34
|
+
enabled: entry.values.enabled
|
|
35
|
+
};
|
|
36
|
+
return Result.ok(language);
|
|
28
37
|
}
|
|
29
|
-
const {
|
|
30
|
-
entries
|
|
31
|
-
} = listResult.value;
|
|
32
|
-
if (entries.length === 0) {
|
|
33
|
-
return Result.fail(new LanguageNotFoundError(code));
|
|
34
|
-
}
|
|
35
|
-
const entry = entries[0];
|
|
36
|
-
const language = {
|
|
37
|
-
id: entry.entryId,
|
|
38
|
-
name: entry.values.name,
|
|
39
|
-
code: entry.values.code,
|
|
40
|
-
direction: entry.values.direction,
|
|
41
|
-
isDefault: entry.values.isDefault,
|
|
42
|
-
enabled: entry.values.enabled
|
|
43
|
-
};
|
|
44
|
-
return Result.ok(language);
|
|
45
|
-
}
|
|
46
38
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
const GetLanguageByCodeRepository_GetLanguageByCodeRepository = GetLanguageByCodeRepository.createImplementation({
|
|
40
|
+
implementation: GetLanguageByCodeRepositoryImpl,
|
|
41
|
+
dependencies: [
|
|
42
|
+
GetModelUseCase,
|
|
43
|
+
ListLatestEntriesUseCase
|
|
44
|
+
]
|
|
50
45
|
});
|
|
46
|
+
export { GetLanguageByCodeRepository_GetLanguageByCodeRepository as GetLanguageByCodeRepository };
|
|
51
47
|
|
|
52
48
|
//# sourceMappingURL=GetLanguageByCodeRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/GetLanguageByCode/GetLanguageByCodeRepository.js","sources":["../../../../src/api/features/GetLanguageByCode/GetLanguageByCodeRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport { GetLanguageByCodeRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { LanguageNotFoundError, LanguagePersistenceError } from \"~/api/domain/errors.js\";\nimport type { Language } from \"~/api/domain/Language.js\";\n\nclass GetLanguageByCodeRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private getModel: GetModelUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface\n ) {}\n\n async execute(code: string): RepositoryAbstraction.Return {\n const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new LanguagePersistenceError(modelResult.error));\n }\n\n const model = modelResult.value;\n\n const listResult = await this.listLatestEntries.execute(model, {\n where: {\n values: {\n code\n }\n },\n limit: 1\n });\n\n if (listResult.isFail()) {\n return Result.fail(new LanguagePersistenceError(listResult.error));\n }\n\n const { entries } = listResult.value;\n\n if (entries.length === 0) {\n return Result.fail(new LanguageNotFoundError(code));\n }\n\n const entry = entries[0];\n\n const language: Language = {\n id: entry.entryId,\n name: entry.values.name,\n code: entry.values.code,\n direction: entry.values.direction,\n isDefault: entry.values.isDefault,\n enabled: entry.values.enabled\n };\n\n return Result.ok(language);\n }\n}\n\nexport const GetLanguageByCodeRepository = RepositoryAbstraction.createImplementation({\n implementation: GetLanguageByCodeRepositoryImpl,\n dependencies: [GetModelUseCase, ListLatestEntriesUseCase]\n});\n"],"names":["GetLanguageByCodeRepositoryImpl","getModel","listLatestEntries","code","modelResult","LANGUAGE_MODEL_ID","Result","LanguagePersistenceError","model","listResult","entries","LanguageNotFoundError","entry","language","GetLanguageByCodeRepository","RepositoryAbstraction","GetModelUseCase","ListLatestEntriesUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,QAAmC,EACnCC,iBAAqD,CAC/D;aAFUD,QAAQ,GAARA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QAAQC,IAAY,EAAgC;QACtD,MAAMC,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACC;QAChD,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,yBAAyBH,YAAY,KAAK;QAGrE,MAAMI,QAAQJ,YAAY,KAAK;QAE/B,MAAMK,aAAa,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACD,OAAO;YAC3D,OAAO;gBACH,QAAQ;oBACJL;gBACJ;YACJ;YACA,OAAO;QACX;QAEA,IAAIM,WAAW,MAAM,IACjB,OAAOH,OAAO,IAAI,CAAC,IAAIC,yBAAyBE,WAAW,KAAK;QAGpE,MAAM,EAAEC,OAAO,EAAE,GAAGD,WAAW,KAAK;QAEpC,IAAIC,AAAmB,MAAnBA,QAAQ,MAAM,EACd,OAAOJ,OAAO,IAAI,CAAC,IAAIK,sBAAsBR;QAGjD,MAAMS,QAAQF,OAAO,CAAC,EAAE;QAExB,MAAMG,WAAqB;YACvB,IAAID,MAAM,OAAO;YACjB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,WAAWA,MAAM,MAAM,CAAC,SAAS;YACjC,WAAWA,MAAM,MAAM,CAAC,SAAS;YACjC,SAASA,MAAM,MAAM,CAAC,OAAO;QACjC;QAEA,OAAON,OAAO,EAAE,CAACO;IACrB;AACJ;AAEO,MAAMC,0DAA8BC,4BAAAA,oBAA0C,CAAC;IAClF,gBAAgBf;IAChB,cAAc;QAACgB;QAAiBC;KAAyB;AAC7D"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { createImplementation } from "@webiny/feature/api";
|
|
2
|
-
import {
|
|
2
|
+
import { GetLanguageByCodeRepository, GetLanguageByCodeUseCase } from "./abstractions.js";
|
|
3
3
|
class GetLanguageByCodeUseCaseImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(code) {
|
|
8
|
+
return this.repository.execute(code);
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const GetLanguageByCodeUseCase_GetLanguageByCodeUseCase = createImplementation({
|
|
12
|
+
abstraction: GetLanguageByCodeUseCase,
|
|
13
|
+
implementation: GetLanguageByCodeUseCaseImpl,
|
|
14
|
+
dependencies: [
|
|
15
|
+
GetLanguageByCodeRepository
|
|
16
|
+
]
|
|
15
17
|
});
|
|
18
|
+
export { GetLanguageByCodeUseCase_GetLanguageByCodeUseCase as GetLanguageByCodeUseCase };
|
|
16
19
|
|
|
17
20
|
//# sourceMappingURL=GetLanguageByCodeUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/GetLanguageByCode/GetLanguageByCodeUseCase.js","sources":["../../../../src/api/features/GetLanguageByCode/GetLanguageByCodeUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport {\n GetLanguageByCodeUseCase as UseCaseAbstraction,\n GetLanguageByCodeRepository\n} from \"./abstractions.js\";\n\nclass GetLanguageByCodeUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetLanguageByCodeRepository.Interface) {}\n\n async execute(code: string): UseCaseAbstraction.Return {\n return this.repository.execute(code);\n }\n}\n\nexport const GetLanguageByCodeUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetLanguageByCodeUseCaseImpl,\n dependencies: [GetLanguageByCodeRepository]\n});\n"],"names":["GetLanguageByCodeUseCaseImpl","repository","code","GetLanguageByCodeUseCase","createImplementation","UseCaseAbstraction","GetLanguageByCodeRepository"],"mappings":";;AAMA,MAAMA;IACF,YAAoBC,UAAiD,CAAE;aAAnDA,UAAU,GAAVA;IAAoD;IAExE,MAAM,QAAQC,IAAY,EAA6B;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACnC;AACJ;AAEO,MAAMC,oDAA2BC,qBAAqB;IACzD,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAA4B;AAC/C"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// ============================================================================
|
|
6
|
-
|
|
7
|
-
export const GetLanguageByCodeRepository = createAbstraction("Languages/GetLanguageByCodeRepository");
|
|
8
|
-
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// Use Case Abstraction
|
|
11
|
-
// ============================================================================
|
|
12
|
-
|
|
13
|
-
/** Get a language entry by its code. */
|
|
14
|
-
export const GetLanguageByCodeUseCase = createAbstraction("Languages/GetLanguageByCodeUseCase");
|
|
2
|
+
const GetLanguageByCodeRepository = createAbstraction("Languages/GetLanguageByCodeRepository");
|
|
3
|
+
const GetLanguageByCodeUseCase = createAbstraction("Languages/GetLanguageByCodeUseCase");
|
|
4
|
+
export { GetLanguageByCodeRepository, GetLanguageByCodeUseCase };
|
|
15
5
|
|
|
16
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/GetLanguageByCode/abstractions.js","sources":["../../../../src/api/features/GetLanguageByCode/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Language } from \"~/api/domain/Language.js\";\nimport type { LanguageNotFoundError, LanguagePersistenceError } from \"~/api/domain/errors.js\";\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IGetLanguageByCodeRepository {\n execute(code: string): Promise<Result<Language, RepositoryError>>;\n}\n\nexport interface IGetLanguageByCodeRepositoryErrors {\n notFound: LanguageNotFoundError;\n persistence: LanguagePersistenceError;\n}\n\ntype RepositoryError = IGetLanguageByCodeRepositoryErrors[keyof IGetLanguageByCodeRepositoryErrors];\n\nexport const GetLanguageByCodeRepository = createAbstraction<IGetLanguageByCodeRepository>(\n \"Languages/GetLanguageByCodeRepository\"\n);\n\nexport namespace GetLanguageByCodeRepository {\n export type Interface = IGetLanguageByCodeRepository;\n export type Return = Promise<Result<Language, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IGetLanguageByCodeUseCase {\n execute(code: string): Promise<Result<Language, UseCaseError>>;\n}\n\nexport interface IGetLanguageByCodeUseCaseErrors {\n notFound: LanguageNotFoundError;\n persistence: LanguagePersistenceError;\n}\n\ntype UseCaseError = IGetLanguageByCodeUseCaseErrors[keyof IGetLanguageByCodeUseCaseErrors];\n\n/** Get a language entry by its code. */\nexport const GetLanguageByCodeUseCase = createAbstraction<IGetLanguageByCodeUseCase>(\n \"Languages/GetLanguageByCodeUseCase\"\n);\n\nexport namespace GetLanguageByCodeUseCase {\n export type Interface = IGetLanguageByCodeUseCase;\n export type Return = Promise<Result<Language, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["GetLanguageByCodeRepository","createAbstraction","GetLanguageByCodeUseCase"],"mappings":";AAmBO,MAAMA,8BAA8BC,kBACvC;AAyBG,MAAMC,2BAA2BD,kBACpC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { GetLanguageByCodeRepository } from "./GetLanguageByCodeRepository.js";
|
|
3
3
|
import { GetLanguageByCodeUseCase } from "./GetLanguageByCodeUseCase.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const GetLanguageByCodeFeature = createFeature({
|
|
5
|
+
name: "Languages/GetLanguageByCode",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GetLanguageByCodeRepository).inSingletonScope();
|
|
8
|
+
container.register(GetLanguageByCodeUseCase);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
|
+
export { GetLanguageByCodeFeature };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/GetLanguageByCode/feature.js","sources":["../../../../src/api/features/GetLanguageByCode/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetLanguageByCodeRepository } from \"./GetLanguageByCodeRepository.js\";\nimport { GetLanguageByCodeUseCase } from \"./GetLanguageByCodeUseCase.js\";\n\nexport const GetLanguageByCodeFeature = createFeature({\n name: \"Languages/GetLanguageByCode\",\n register(container) {\n container.register(GetLanguageByCodeRepository).inSingletonScope();\n container.register(GetLanguageByCodeUseCase);\n }\n});\n"],"names":["GetLanguageByCodeFeature","createFeature","container","GetLanguageByCodeRepository","GetLanguageByCodeUseCase"],"mappings":";;;AAIO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,6BAA6B,gBAAgB;QAChED,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,46 +1,48 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/abstractions.js";
|
|
3
3
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
|
|
4
|
-
import { ListLanguagesRepository
|
|
4
|
+
import { ListLanguagesRepository } from "./abstractions.js";
|
|
5
5
|
import { LANGUAGE_MODEL_ID } from "../../../shared/constants.js";
|
|
6
6
|
import { LanguagePersistenceError } from "../../domain/errors.js";
|
|
7
7
|
class ListLanguagesRepositoryImpl {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
async execute() {
|
|
13
|
-
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
14
|
-
if (modelResult.isFail()) {
|
|
15
|
-
return Result.fail(new LanguagePersistenceError(modelResult.error));
|
|
8
|
+
constructor(getModel, listLatestEntries){
|
|
9
|
+
this.getModel = getModel;
|
|
10
|
+
this.listLatestEntries = listLatestEntries;
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
12
|
+
async execute() {
|
|
13
|
+
const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);
|
|
14
|
+
if (modelResult.isFail()) return Result.fail(new LanguagePersistenceError(modelResult.error));
|
|
15
|
+
const model = modelResult.value;
|
|
16
|
+
const listResult = await this.listLatestEntries.execute(model, {
|
|
17
|
+
limit: 1000,
|
|
18
|
+
where: {
|
|
19
|
+
values: {
|
|
20
|
+
enabled: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
sort: [
|
|
24
|
+
"values_name_ASC"
|
|
25
|
+
]
|
|
26
|
+
});
|
|
27
|
+
if (listResult.isFail()) return Result.fail(new LanguagePersistenceError(listResult.error));
|
|
28
|
+
const languages = listResult.value.entries.map((entry)=>({
|
|
29
|
+
id: entry.entryId,
|
|
30
|
+
name: entry.values.name,
|
|
31
|
+
code: entry.values.code,
|
|
32
|
+
direction: entry.values.direction,
|
|
33
|
+
isDefault: entry.values.isDefault,
|
|
34
|
+
enabled: entry.values.enabled
|
|
35
|
+
}));
|
|
36
|
+
return Result.ok(languages);
|
|
29
37
|
}
|
|
30
|
-
const languages = listResult.value.entries.map(entry => ({
|
|
31
|
-
id: entry.entryId,
|
|
32
|
-
name: entry.values.name,
|
|
33
|
-
code: entry.values.code,
|
|
34
|
-
direction: entry.values.direction,
|
|
35
|
-
isDefault: entry.values.isDefault,
|
|
36
|
-
enabled: entry.values.enabled
|
|
37
|
-
}));
|
|
38
|
-
return Result.ok(languages);
|
|
39
|
-
}
|
|
40
38
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
const ListLanguagesRepository_ListLanguagesRepository = ListLanguagesRepository.createImplementation({
|
|
40
|
+
implementation: ListLanguagesRepositoryImpl,
|
|
41
|
+
dependencies: [
|
|
42
|
+
GetModelUseCase,
|
|
43
|
+
ListLatestEntriesUseCase
|
|
44
|
+
]
|
|
44
45
|
});
|
|
46
|
+
export { ListLanguagesRepository_ListLanguagesRepository as ListLanguagesRepository };
|
|
45
47
|
|
|
46
48
|
//# sourceMappingURL=ListLanguagesRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/ListLanguages/ListLanguagesRepository.js","sources":["../../../../src/api/features/ListLanguages/ListLanguagesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport { ListLanguagesRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { LANGUAGE_MODEL_ID } from \"~/shared/constants.js\";\nimport { LanguagePersistenceError } from \"~/api/domain/errors.js\";\nimport type { Language } from \"~/api/domain/Language.js\";\n\nclass ListLanguagesRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private getModel: GetModelUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface\n ) {}\n\n async execute(): RepositoryAbstraction.Return {\n const modelResult = await this.getModel.execute(LANGUAGE_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new LanguagePersistenceError(modelResult.error));\n }\n\n const model = modelResult.value;\n\n const listResult = await this.listLatestEntries.execute(model, {\n limit: 1000,\n where: {\n values: {\n enabled: true\n }\n },\n sort: [\"values_name_ASC\"]\n });\n\n if (listResult.isFail()) {\n return Result.fail(new LanguagePersistenceError(listResult.error));\n }\n\n const languages: Language[] = listResult.value.entries.map(entry => ({\n id: entry.entryId,\n name: entry.values.name,\n code: entry.values.code,\n direction: entry.values.direction,\n isDefault: entry.values.isDefault,\n enabled: entry.values.enabled\n }));\n\n return Result.ok(languages);\n }\n}\n\nexport const ListLanguagesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListLanguagesRepositoryImpl,\n dependencies: [GetModelUseCase, ListLatestEntriesUseCase]\n});\n"],"names":["ListLanguagesRepositoryImpl","getModel","listLatestEntries","modelResult","LANGUAGE_MODEL_ID","Result","LanguagePersistenceError","model","listResult","languages","entry","ListLanguagesRepository","RepositoryAbstraction","GetModelUseCase","ListLatestEntriesUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,QAAmC,EACnCC,iBAAqD,CAC/D;aAFUD,QAAQ,GAARA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,UAAwC;QAC1C,MAAMC,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACC;QAChD,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,yBAAyBH,YAAY,KAAK;QAGrE,MAAMI,QAAQJ,YAAY,KAAK;QAE/B,MAAMK,aAAa,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACD,OAAO;YAC3D,OAAO;YACP,OAAO;gBACH,QAAQ;oBACJ,SAAS;gBACb;YACJ;YACA,MAAM;gBAAC;aAAkB;QAC7B;QAEA,IAAIC,WAAW,MAAM,IACjB,OAAOH,OAAO,IAAI,CAAC,IAAIC,yBAAyBE,WAAW,KAAK;QAGpE,MAAMC,YAAwBD,WAAW,KAAK,CAAC,OAAO,CAAC,GAAG,CAACE,CAAAA,QAAU;gBACjE,IAAIA,MAAM,OAAO;gBACjB,MAAMA,MAAM,MAAM,CAAC,IAAI;gBACvB,MAAMA,MAAM,MAAM,CAAC,IAAI;gBACvB,WAAWA,MAAM,MAAM,CAAC,SAAS;gBACjC,WAAWA,MAAM,MAAM,CAAC,SAAS;gBACjC,SAASA,MAAM,MAAM,CAAC,OAAO;YACjC;QAEA,OAAOL,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAME,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBZ;IAChB,cAAc;QAACa;QAAiBC;KAAyB;AAC7D"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { createImplementation } from "@webiny/feature/api";
|
|
2
|
-
import {
|
|
2
|
+
import { ListLanguagesRepository, ListLanguagesUseCase } from "./abstractions.js";
|
|
3
3
|
class ListLanguagesUseCaseImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute() {
|
|
8
|
+
return this.repository.execute();
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const ListLanguagesUseCase_ListLanguagesUseCase = createImplementation({
|
|
12
|
+
abstraction: ListLanguagesUseCase,
|
|
13
|
+
implementation: ListLanguagesUseCaseImpl,
|
|
14
|
+
dependencies: [
|
|
15
|
+
ListLanguagesRepository
|
|
16
|
+
]
|
|
15
17
|
});
|
|
18
|
+
export { ListLanguagesUseCase_ListLanguagesUseCase as ListLanguagesUseCase };
|
|
16
19
|
|
|
17
20
|
//# sourceMappingURL=ListLanguagesUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/ListLanguages/ListLanguagesUseCase.js","sources":["../../../../src/api/features/ListLanguages/ListLanguagesUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport {\n ListLanguagesUseCase as UseCaseAbstraction,\n ListLanguagesRepository\n} from \"./abstractions.js\";\n\nclass ListLanguagesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListLanguagesRepository.Interface) {}\n\n async execute(): UseCaseAbstraction.Return {\n return this.repository.execute();\n }\n}\n\nexport const ListLanguagesUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListLanguagesUseCaseImpl,\n dependencies: [ListLanguagesRepository]\n});\n"],"names":["ListLanguagesUseCaseImpl","repository","ListLanguagesUseCase","createImplementation","UseCaseAbstraction","ListLanguagesRepository"],"mappings":";;AAMA,MAAMA;IACF,YAAoBC,UAA6C,CAAE;aAA/CA,UAAU,GAAVA;IAAgD;IAEpE,MAAM,UAAqC;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO;IAClC;AACJ;AAEO,MAAMC,4CAAuBC,qBAAqB;IACrD,aAAaC;IACb,gBAAgBJ;IAChB,cAAc;QAACK;KAAwB;AAC3C"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// ============================================================================
|
|
6
|
-
|
|
7
|
-
export const ListLanguagesRepository = createAbstraction("Languages/ListLanguagesRepository");
|
|
8
|
-
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// Use Case Abstraction
|
|
11
|
-
// ============================================================================
|
|
12
|
-
|
|
13
|
-
/** List all language entries. */
|
|
14
|
-
export const ListLanguagesUseCase = createAbstraction("Languages/ListLanguagesUseCase");
|
|
2
|
+
const ListLanguagesRepository = createAbstraction("Languages/ListLanguagesRepository");
|
|
3
|
+
const ListLanguagesUseCase = createAbstraction("Languages/ListLanguagesUseCase");
|
|
4
|
+
export { ListLanguagesRepository, ListLanguagesUseCase };
|
|
15
5
|
|
|
16
6
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"api/features/ListLanguages/abstractions.js","sources":["../../../../src/api/features/ListLanguages/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Language } from \"~/api/domain/Language.js\";\nimport type { LanguagePersistenceError } from \"~/api/domain/errors.js\";\n\n// ============================================================================\n// Repository Abstraction\n// ============================================================================\n\nexport interface IListLanguagesRepository {\n execute(): Promise<Result<Language[], RepositoryError>>;\n}\n\nexport interface IListLanguagesRepositoryErrors {\n persistence: LanguagePersistenceError;\n}\n\ntype RepositoryError = IListLanguagesRepositoryErrors[keyof IListLanguagesRepositoryErrors];\n\nexport const ListLanguagesRepository = createAbstraction<IListLanguagesRepository>(\n \"Languages/ListLanguagesRepository\"\n);\n\nexport namespace ListLanguagesRepository {\n export type Interface = IListLanguagesRepository;\n export type Return = Promise<Result<Language[], RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n// ============================================================================\n// Use Case Abstraction\n// ============================================================================\n\nexport interface IListLanguagesUseCase {\n execute(): Promise<Result<Language[], UseCaseError>>;\n}\n\nexport interface IListLanguagesUseCaseErrors {\n persistence: LanguagePersistenceError;\n}\n\ntype UseCaseError = IListLanguagesUseCaseErrors[keyof IListLanguagesUseCaseErrors];\n\n/** List all language entries. */\nexport const ListLanguagesUseCase = createAbstraction<IListLanguagesUseCase>(\n \"Languages/ListLanguagesUseCase\"\n);\n\nexport namespace ListLanguagesUseCase {\n export type Interface = IListLanguagesUseCase;\n export type Return = Promise<Result<Language[], UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["ListLanguagesRepository","createAbstraction","ListLanguagesUseCase"],"mappings":";AAkBO,MAAMA,0BAA0BC,kBACnC;AAwBG,MAAMC,uBAAuBD,kBAChC"}
|