@unchainedshop/core-languages 5.0.0-alpha.1 → 5.0.0-alpha.10
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/README.md +8 -58
- package/lib/db/LanguagesCollection.js +11 -13
- package/lib/module/configureLanguagesModule.js +1 -2
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -13,69 +13,19 @@ npm install @unchainedshop/core-languages
|
|
|
13
13
|
|
|
14
14
|
## Usage
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
import { configureLanguagesModule } from '@unchainedshop/core-languages';
|
|
18
|
-
|
|
19
|
-
const languagesModule = await configureLanguagesModule({ db });
|
|
16
|
+
The platform initializes this module as `platform.unchainedAPI.modules.languages`.
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
isoCode: 'en',
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
// Find languages
|
|
27
|
-
const languages = await languagesModule.findLanguages({ includeInactive: false });
|
|
18
|
+
```typescript
|
|
19
|
+
const { languages } = platform.unchainedAPI.modules;
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
const
|
|
21
|
+
const languageId = await languages.create({ isoCode: 'en', isActive: true });
|
|
22
|
+
const language = await languages.findLanguage({ languageId });
|
|
23
|
+
const activeLanguages = await languages.findLanguages({ includeInactive: false });
|
|
31
24
|
```
|
|
32
25
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
### Module Configuration
|
|
36
|
-
|
|
37
|
-
| Export | Description |
|
|
38
|
-
|--------|-------------|
|
|
39
|
-
| `configureLanguagesModule` | Configure and return the languages module |
|
|
40
|
-
|
|
41
|
-
### Queries
|
|
42
|
-
|
|
43
|
-
| Method | Description |
|
|
44
|
-
|--------|-------------|
|
|
45
|
-
| `findLanguage` | Find language by ID or ISO code |
|
|
46
|
-
| `findLanguages` | Find languages with filtering, sorting, and pagination |
|
|
47
|
-
| `count` | Count languages matching query |
|
|
48
|
-
| `languageExists` | Check if a language exists |
|
|
49
|
-
|
|
50
|
-
### Mutations
|
|
51
|
-
|
|
52
|
-
| Method | Description |
|
|
53
|
-
|--------|-------------|
|
|
54
|
-
| `create` | Create a new language |
|
|
55
|
-
| `update` | Update an existing language |
|
|
56
|
-
| `delete` | Soft delete a language |
|
|
57
|
-
|
|
58
|
-
### Helper Methods
|
|
59
|
-
|
|
60
|
-
| Method | Description |
|
|
61
|
-
|--------|-------------|
|
|
62
|
-
| `isBase` | Check if language is the base/system language |
|
|
63
|
-
|
|
64
|
-
### Types
|
|
65
|
-
|
|
66
|
-
| Export | Description |
|
|
67
|
-
|--------|-------------|
|
|
68
|
-
| `Language` | Language document type |
|
|
69
|
-
| `LanguageQuery` | Query parameters type |
|
|
70
|
-
| `LanguagesModule` | Module interface type |
|
|
71
|
-
|
|
72
|
-
## Events
|
|
26
|
+
`create` returns a language ID. Product and assortment translations are managed by their respective modules.
|
|
73
27
|
|
|
74
|
-
|
|
75
|
-
|-------|-------------|
|
|
76
|
-
| `LANGUAGE_CREATE` | Emitted when a language is created |
|
|
77
|
-
| `LANGUAGE_UPDATE` | Emitted when a language is updated |
|
|
78
|
-
| `LANGUAGE_REMOVE` | Emitted when a language is removed |
|
|
28
|
+
See the [module guide](https://docs.unchained.shop/platform-configuration/modules/languages), [public exports](src/languages-index.ts), and [module implementation](src/module/configureLanguagesModule.ts).
|
|
79
29
|
|
|
80
30
|
## License
|
|
81
31
|
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import { buildDbIndexes,
|
|
1
|
+
import { buildDbIndexes, mongodb } from '@unchainedshop/mongodb';
|
|
2
2
|
export const LanguagesCollection = async (db) => {
|
|
3
3
|
const Languages = db.collection('languages');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
{
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
isoCode: 6,
|
|
12
|
-
},
|
|
13
|
-
name: 'languages_fulltext_search',
|
|
4
|
+
await buildDbIndexes(Languages, [
|
|
5
|
+
{
|
|
6
|
+
index: { isoCode: 'text', _id: 'text' },
|
|
7
|
+
options: {
|
|
8
|
+
weights: {
|
|
9
|
+
_id: 8,
|
|
10
|
+
isoCode: 6,
|
|
14
11
|
},
|
|
12
|
+
name: 'languages_fulltext_search',
|
|
15
13
|
},
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
18
16
|
await buildDbIndexes(Languages, [
|
|
19
17
|
{ index: { isoCode: 1 }, options: { unique: true } },
|
|
20
18
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {} from '@unchainedshop/mongodb';
|
|
2
2
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
3
3
|
import { generateDbFilterById, buildSortOptions, mongodb, generateDbObjectId, } from '@unchainedshop/mongodb';
|
|
4
4
|
import { SortDirection } from '@unchainedshop/utils';
|
|
@@ -13,7 +13,6 @@ export const buildFindSelector = ({ includeInactive = false, queryString, isoCod
|
|
|
13
13
|
selector.isoCode = { $in: isoCodes };
|
|
14
14
|
}
|
|
15
15
|
if (queryString) {
|
|
16
|
-
assertDocumentDBCompatMode();
|
|
17
16
|
selector.$text = { $search: queryString };
|
|
18
17
|
}
|
|
19
18
|
return selector;
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-languages",
|
|
3
3
|
"description": "Language management module for the Unchained Engine",
|
|
4
|
-
"version": "5.0.0-alpha.
|
|
4
|
+
"version": "5.0.0-alpha.10",
|
|
5
|
+
"files": [
|
|
6
|
+
"lib"
|
|
7
|
+
],
|
|
5
8
|
"main": "lib/languages-index.js",
|
|
6
9
|
"types": "lib/languages-index.d.ts",
|
|
7
10
|
"type": "module",
|
|
@@ -35,11 +38,12 @@
|
|
|
35
38
|
},
|
|
36
39
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
37
40
|
"dependencies": {
|
|
38
|
-
"@unchainedshop/events": "^5.0.0-alpha.
|
|
39
|
-
"@unchainedshop/
|
|
41
|
+
"@unchainedshop/events": "^5.0.0-alpha.10",
|
|
42
|
+
"@unchainedshop/mongodb": "^5.0.0-alpha.10",
|
|
43
|
+
"@unchainedshop/utils": "^5.0.0-alpha.10"
|
|
40
44
|
},
|
|
41
45
|
"devDependencies": {
|
|
42
|
-
"@types/node": "^
|
|
43
|
-
"typescript": "^
|
|
46
|
+
"@types/node": "^26.2.0",
|
|
47
|
+
"typescript": "^6.0.3"
|
|
44
48
|
}
|
|
45
49
|
}
|