@unchainedshop/api 5.0.0-alpha.3 → 5.0.0-alpha.5
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 +2 -2
- package/lib/acl.js +4 -0
- package/lib/adminUiPlugins.d.ts +36 -1
- package/lib/adminUiPlugins.js +188 -26
- package/lib/auth.d.ts +0 -8
- package/lib/auth.js +0 -20
- package/lib/errors.d.ts +2 -0
- package/lib/errors.js +2 -0
- package/lib/events.d.ts +1 -0
- package/lib/events.js +1 -0
- package/lib/express/chatHandler.js +12 -1
- package/lib/express/index.d.ts +2 -4
- package/lib/express/index.js +63 -24
- package/lib/fastify/chatHandler.js +10 -1
- package/lib/fastify/index.d.ts +4 -4
- package/lib/fastify/index.js +83 -30
- package/lib/loaders/assortmentLinksLoader.js +24 -22
- package/lib/loaders/assortmentMediaTextLoader.js +1 -0
- package/lib/loaders/assortmentProductLoader.js +7 -4
- package/lib/loaders/assortmentTextLoader.js +1 -0
- package/lib/loaders/filterTextLoader.js +1 -0
- package/lib/loaders/productMediaTextLoader.js +1 -0
- package/lib/loaders/productTextLoader.js +1 -0
- package/lib/loaders/productVariationTextLoader.js +1 -0
- package/lib/mcp/tools/assortment/handlers/getAssortmentFilters.js +1 -1
- package/lib/mcp/tools/assortment/handlers/getAssortmentProducts.js +1 -1
- package/lib/mcp/tools/system/handlers/allocateWork.js +2 -2
- package/lib/mcp/tools/users/handlers/getUserPaymentCredentials.js +1 -0
- package/lib/mcp/tools/users/index.js +1 -1
- package/lib/mcp/utils/getNormalizedAssortmentDetails.js +2 -2
- package/lib/mcp/utils/getNormalizedUserDetails.js +1 -0
- package/lib/middleware/createAuthMiddleware.js +4 -39
- package/lib/resolvers/mutations/accounts/loginWithPassword.js +16 -2
- package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +3 -1
- package/lib/resolvers/mutations/accounts/logoutAllSessions.js +10 -4
- package/lib/resolvers/mutations/bulk/bulkAssignProductsToAssortment.d.ts +10 -0
- package/lib/resolvers/mutations/bulk/bulkAssignProductsToAssortment.js +18 -0
- package/lib/resolvers/mutations/bulk/bulkOperation.d.ts +12 -0
- package/lib/resolvers/mutations/bulk/bulkOperation.js +14 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveAssortments.d.ts +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveAssortments.js +7 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveFilters.d.ts +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveFilters.js +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveProducts.d.ts +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveProducts.js +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveUsers.d.ts +9 -0
- package/lib/resolvers/mutations/bulk/bulkRemoveUsers.js +7 -0
- package/lib/resolvers/mutations/bulk/bulkSetAssortmentActive.d.ts +10 -0
- package/lib/resolvers/mutations/bulk/bulkSetAssortmentActive.js +9 -0
- package/lib/resolvers/mutations/bulk/bulkSetFilterActive.d.ts +10 -0
- package/lib/resolvers/mutations/bulk/bulkSetFilterActive.js +10 -0
- package/lib/resolvers/mutations/bulk/bulkSetProductStatus.d.ts +10 -0
- package/lib/resolvers/mutations/bulk/bulkSetProductStatus.js +17 -0
- package/lib/resolvers/mutations/bulk/bulkSetUserRoles.d.ts +10 -0
- package/lib/resolvers/mutations/bulk/bulkSetUserRoles.js +14 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateAssortmentTags.d.ts +11 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateAssortmentTags.js +10 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateProductTags.d.ts +11 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateProductTags.js +7 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateUserTags.d.ts +11 -0
- package/lib/resolvers/mutations/bulk/bulkUpdateUserTags.js +7 -0
- package/lib/resolvers/mutations/index.d.ts +12 -0
- package/lib/resolvers/mutations/index.js +25 -1
- package/lib/resolvers/mutations/orders/checkoutCart.js +1 -1
- package/lib/resolvers/mutations/users/removeUser.js +9 -2
- package/lib/resolvers/mutations/users/setRoles.js +9 -2
- package/lib/resolvers/mutations/worker/allocateWork.d.ts +1 -1
- package/lib/resolvers/mutations/worker/allocateWork.js +4 -3
- package/lib/resolvers/queries/index.d.ts +1 -0
- package/lib/resolvers/queries/index.js +2 -0
- package/lib/resolvers/queries/search/globalSearch.d.ts +36 -0
- package/lib/resolvers/queries/search/globalSearch.js +200 -0
- package/lib/resolvers/type/assortment/assortment-types.js +2 -2
- package/lib/resolvers/type/global-search-result-types.d.ts +3 -0
- package/lib/resolvers/type/global-search-result-types.js +15 -0
- package/lib/resolvers/type/index.d.ts +3 -0
- package/lib/resolvers/type/index.js +2 -0
- package/lib/resolvers/type/user-types.d.ts +1 -0
- package/lib/resolvers/type/user-types.js +36 -4
- package/lib/roles/all.js +12 -0
- package/lib/roles/index.js +12 -0
- package/lib/roles/loggedIn.js +1 -1
- package/lib/schema/inputTypes.js +5 -0
- package/lib/schema/mutation.js +74 -1
- package/lib/schema/query.js +15 -0
- package/lib/schema/types/common.js +7 -0
- package/lib/schema/types/search.js +36 -0
- package/lib/schema/types/user.js +4 -0
- package/package.json +31 -26
- package/lib/adminUiTheme.d.ts +0 -25
- package/lib/adminUiTheme.js +0 -34
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
3
|
"description": "GraphQL API layer for the Unchained Engine with Express/Fastify adapters and MCP server",
|
|
4
|
-
"
|
|
4
|
+
"mcpName": "io.github.unchainedshop/unchained",
|
|
5
|
+
"version": "5.0.0-alpha.5",
|
|
5
6
|
"main": "lib/api-index.js",
|
|
6
7
|
"types": "lib/api-index.d.ts",
|
|
7
8
|
"type": "module",
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
"@fastify/multipart": ">= 10 < 11",
|
|
66
67
|
"@fastify/static": ">= 10.1.3 < 11",
|
|
67
68
|
"@modelcontextprotocol/server": ">= 2 < 3",
|
|
69
|
+
"@unchainedshop/admin-ui": "^5.0.0-alpha.5",
|
|
68
70
|
"ai": ">= 7 < 8",
|
|
69
71
|
"cookie-parser": ">= 1.4 < 2",
|
|
70
72
|
"express": ">= 5 < 6",
|
|
@@ -86,6 +88,9 @@
|
|
|
86
88
|
"@modelcontextprotocol/server": {
|
|
87
89
|
"optional": true
|
|
88
90
|
},
|
|
91
|
+
"@unchainedshop/admin-ui": {
|
|
92
|
+
"optional": true
|
|
93
|
+
},
|
|
89
94
|
"ai": {
|
|
90
95
|
"optional": true
|
|
91
96
|
},
|
|
@@ -113,30 +118,30 @@
|
|
|
113
118
|
},
|
|
114
119
|
"dependencies": {
|
|
115
120
|
"@envelop/core": "^5.6.0",
|
|
116
|
-
"@unchainedshop/core": "^5.0.0-alpha.
|
|
117
|
-
"@unchainedshop/core-assortments": "^5.0.0-alpha.
|
|
118
|
-
"@unchainedshop/core-bookmarks": "^5.0.0-alpha.
|
|
119
|
-
"@unchainedshop/core-countries": "^5.0.0-alpha.
|
|
120
|
-
"@unchainedshop/core-currencies": "^5.0.0-alpha.
|
|
121
|
-
"@unchainedshop/core-delivery": "^5.0.0-alpha.
|
|
122
|
-
"@unchainedshop/core-enrollments": "^5.0.0-alpha.
|
|
123
|
-
"@unchainedshop/core-events": "^5.0.0-alpha.
|
|
124
|
-
"@unchainedshop/core-files": "^5.0.0-alpha.
|
|
125
|
-
"@unchainedshop/core-filters": "^5.0.0-alpha.
|
|
126
|
-
"@unchainedshop/core-languages": "^5.0.0-alpha.
|
|
127
|
-
"@unchainedshop/core-orders": "^5.0.0-alpha.
|
|
128
|
-
"@unchainedshop/core-payment": "^5.0.0-alpha.
|
|
129
|
-
"@unchainedshop/core-products": "^5.0.0-alpha.
|
|
130
|
-
"@unchainedshop/core-quotations": "^5.0.0-alpha.
|
|
131
|
-
"@unchainedshop/core-users": "^5.0.0-alpha.
|
|
132
|
-
"@unchainedshop/core-warehousing": "^5.0.0-alpha.
|
|
133
|
-
"@unchainedshop/core-worker": "^5.0.0-alpha.
|
|
134
|
-
"@unchainedshop/events": "^5.0.0-alpha.
|
|
135
|
-
"@unchainedshop/logger": "^5.0.0-alpha.
|
|
136
|
-
"@unchainedshop/mongodb": "^5.0.0-alpha.
|
|
137
|
-
"@unchainedshop/roles": "^5.0.0-alpha.
|
|
138
|
-
"@unchainedshop/utils": "^5.0.0-alpha.
|
|
139
|
-
"@whatwg-node/server": "^0.
|
|
121
|
+
"@unchainedshop/core": "^5.0.0-alpha.5",
|
|
122
|
+
"@unchainedshop/core-assortments": "^5.0.0-alpha.5",
|
|
123
|
+
"@unchainedshop/core-bookmarks": "^5.0.0-alpha.5",
|
|
124
|
+
"@unchainedshop/core-countries": "^5.0.0-alpha.5",
|
|
125
|
+
"@unchainedshop/core-currencies": "^5.0.0-alpha.5",
|
|
126
|
+
"@unchainedshop/core-delivery": "^5.0.0-alpha.5",
|
|
127
|
+
"@unchainedshop/core-enrollments": "^5.0.0-alpha.5",
|
|
128
|
+
"@unchainedshop/core-events": "^5.0.0-alpha.5",
|
|
129
|
+
"@unchainedshop/core-files": "^5.0.0-alpha.5",
|
|
130
|
+
"@unchainedshop/core-filters": "^5.0.0-alpha.5",
|
|
131
|
+
"@unchainedshop/core-languages": "^5.0.0-alpha.5",
|
|
132
|
+
"@unchainedshop/core-orders": "^5.0.0-alpha.5",
|
|
133
|
+
"@unchainedshop/core-payment": "^5.0.0-alpha.5",
|
|
134
|
+
"@unchainedshop/core-products": "^5.0.0-alpha.5",
|
|
135
|
+
"@unchainedshop/core-quotations": "^5.0.0-alpha.5",
|
|
136
|
+
"@unchainedshop/core-users": "^5.0.0-alpha.5",
|
|
137
|
+
"@unchainedshop/core-warehousing": "^5.0.0-alpha.5",
|
|
138
|
+
"@unchainedshop/core-worker": "^5.0.0-alpha.5",
|
|
139
|
+
"@unchainedshop/events": "^5.0.0-alpha.5",
|
|
140
|
+
"@unchainedshop/logger": "^5.0.0-alpha.5",
|
|
141
|
+
"@unchainedshop/mongodb": "^5.0.0-alpha.5",
|
|
142
|
+
"@unchainedshop/roles": "^5.0.0-alpha.5",
|
|
143
|
+
"@unchainedshop/utils": "^5.0.0-alpha.5",
|
|
144
|
+
"@whatwg-node/server": "^0.11.0",
|
|
140
145
|
"dataloader": "^2.2.3",
|
|
141
146
|
"graphql-scalars": "^2.0.0",
|
|
142
147
|
"jose": "^6.0.10",
|
|
@@ -158,6 +163,6 @@
|
|
|
158
163
|
"fastify": "^5.4.0",
|
|
159
164
|
"graphql": "^17.0.2",
|
|
160
165
|
"multer": "^2.0.1",
|
|
161
|
-
"typescript": "^
|
|
166
|
+
"typescript": "^6.0.3"
|
|
162
167
|
}
|
|
163
168
|
}
|
package/lib/adminUiTheme.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface AdminUIThemeTokens {
|
|
2
|
-
surface?: string;
|
|
3
|
-
'surface-subtle'?: string;
|
|
4
|
-
'surface-raised'?: string;
|
|
5
|
-
'surface-input'?: string;
|
|
6
|
-
border?: string;
|
|
7
|
-
'border-subtle'?: string;
|
|
8
|
-
'text-primary'?: string;
|
|
9
|
-
'text-secondary'?: string;
|
|
10
|
-
'text-muted'?: string;
|
|
11
|
-
'text-on-dark'?: string;
|
|
12
|
-
accent?: string;
|
|
13
|
-
'accent-hover'?: string;
|
|
14
|
-
danger?: string;
|
|
15
|
-
'danger-surface'?: string;
|
|
16
|
-
success?: string;
|
|
17
|
-
warning?: string;
|
|
18
|
-
'focus-ring'?: string;
|
|
19
|
-
'text-on-accent'?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface AdminUIThemeConfig {
|
|
22
|
-
light?: AdminUIThemeTokens;
|
|
23
|
-
dark?: AdminUIThemeTokens;
|
|
24
|
-
}
|
|
25
|
-
export declare const generateThemeCSS: (theme?: AdminUIThemeConfig) => string;
|
package/lib/adminUiTheme.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const CSS_VALUE_RE = /^[a-zA-Z0-9#().,/%\s\-_]+$/;
|
|
2
|
-
const sanitizeCSSValue = (value) => {
|
|
3
|
-
const trimmed = value.trim();
|
|
4
|
-
if (!trimmed || !CSS_VALUE_RE.test(trimmed))
|
|
5
|
-
return null;
|
|
6
|
-
return trimmed;
|
|
7
|
-
};
|
|
8
|
-
const buildTokenBlock = (selector, tokens) => {
|
|
9
|
-
const vars = Object.entries(tokens)
|
|
10
|
-
.map(([key, value]) => {
|
|
11
|
-
const safe = sanitizeCSSValue(value);
|
|
12
|
-
return safe ? ` --token-${key}: ${safe};` : null;
|
|
13
|
-
})
|
|
14
|
-
.filter(Boolean);
|
|
15
|
-
if (vars.length === 0)
|
|
16
|
-
return null;
|
|
17
|
-
return `${selector} {\n${vars.join('\n')}\n}`;
|
|
18
|
-
};
|
|
19
|
-
export const generateThemeCSS = (theme) => {
|
|
20
|
-
if (!theme)
|
|
21
|
-
return '/* default theme */';
|
|
22
|
-
const blocks = [];
|
|
23
|
-
if (theme.light) {
|
|
24
|
-
const block = buildTokenBlock(':root:root', theme.light);
|
|
25
|
-
if (block)
|
|
26
|
-
blocks.push(block);
|
|
27
|
-
}
|
|
28
|
-
if (theme.dark) {
|
|
29
|
-
const block = buildTokenBlock('.dark.dark', theme.dark);
|
|
30
|
-
if (block)
|
|
31
|
-
blocks.push(block);
|
|
32
|
-
}
|
|
33
|
-
return blocks.length > 0 ? blocks.join('\n\n') : '/* default theme */';
|
|
34
|
-
};
|