@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.
Files changed (91) hide show
  1. package/README.md +2 -2
  2. package/lib/acl.js +4 -0
  3. package/lib/adminUiPlugins.d.ts +36 -1
  4. package/lib/adminUiPlugins.js +188 -26
  5. package/lib/auth.d.ts +0 -8
  6. package/lib/auth.js +0 -20
  7. package/lib/errors.d.ts +2 -0
  8. package/lib/errors.js +2 -0
  9. package/lib/events.d.ts +1 -0
  10. package/lib/events.js +1 -0
  11. package/lib/express/chatHandler.js +12 -1
  12. package/lib/express/index.d.ts +2 -4
  13. package/lib/express/index.js +63 -24
  14. package/lib/fastify/chatHandler.js +10 -1
  15. package/lib/fastify/index.d.ts +4 -4
  16. package/lib/fastify/index.js +83 -30
  17. package/lib/loaders/assortmentLinksLoader.js +24 -22
  18. package/lib/loaders/assortmentMediaTextLoader.js +1 -0
  19. package/lib/loaders/assortmentProductLoader.js +7 -4
  20. package/lib/loaders/assortmentTextLoader.js +1 -0
  21. package/lib/loaders/filterTextLoader.js +1 -0
  22. package/lib/loaders/productMediaTextLoader.js +1 -0
  23. package/lib/loaders/productTextLoader.js +1 -0
  24. package/lib/loaders/productVariationTextLoader.js +1 -0
  25. package/lib/mcp/tools/assortment/handlers/getAssortmentFilters.js +1 -1
  26. package/lib/mcp/tools/assortment/handlers/getAssortmentProducts.js +1 -1
  27. package/lib/mcp/tools/system/handlers/allocateWork.js +2 -2
  28. package/lib/mcp/tools/users/handlers/getUserPaymentCredentials.js +1 -0
  29. package/lib/mcp/tools/users/index.js +1 -1
  30. package/lib/mcp/utils/getNormalizedAssortmentDetails.js +2 -2
  31. package/lib/mcp/utils/getNormalizedUserDetails.js +1 -0
  32. package/lib/middleware/createAuthMiddleware.js +4 -39
  33. package/lib/resolvers/mutations/accounts/loginWithPassword.js +16 -2
  34. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +3 -1
  35. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +10 -4
  36. package/lib/resolvers/mutations/bulk/bulkAssignProductsToAssortment.d.ts +10 -0
  37. package/lib/resolvers/mutations/bulk/bulkAssignProductsToAssortment.js +18 -0
  38. package/lib/resolvers/mutations/bulk/bulkOperation.d.ts +12 -0
  39. package/lib/resolvers/mutations/bulk/bulkOperation.js +14 -0
  40. package/lib/resolvers/mutations/bulk/bulkRemoveAssortments.d.ts +9 -0
  41. package/lib/resolvers/mutations/bulk/bulkRemoveAssortments.js +7 -0
  42. package/lib/resolvers/mutations/bulk/bulkRemoveFilters.d.ts +9 -0
  43. package/lib/resolvers/mutations/bulk/bulkRemoveFilters.js +9 -0
  44. package/lib/resolvers/mutations/bulk/bulkRemoveProducts.d.ts +9 -0
  45. package/lib/resolvers/mutations/bulk/bulkRemoveProducts.js +9 -0
  46. package/lib/resolvers/mutations/bulk/bulkRemoveUsers.d.ts +9 -0
  47. package/lib/resolvers/mutations/bulk/bulkRemoveUsers.js +7 -0
  48. package/lib/resolvers/mutations/bulk/bulkSetAssortmentActive.d.ts +10 -0
  49. package/lib/resolvers/mutations/bulk/bulkSetAssortmentActive.js +9 -0
  50. package/lib/resolvers/mutations/bulk/bulkSetFilterActive.d.ts +10 -0
  51. package/lib/resolvers/mutations/bulk/bulkSetFilterActive.js +10 -0
  52. package/lib/resolvers/mutations/bulk/bulkSetProductStatus.d.ts +10 -0
  53. package/lib/resolvers/mutations/bulk/bulkSetProductStatus.js +17 -0
  54. package/lib/resolvers/mutations/bulk/bulkSetUserRoles.d.ts +10 -0
  55. package/lib/resolvers/mutations/bulk/bulkSetUserRoles.js +14 -0
  56. package/lib/resolvers/mutations/bulk/bulkUpdateAssortmentTags.d.ts +11 -0
  57. package/lib/resolvers/mutations/bulk/bulkUpdateAssortmentTags.js +10 -0
  58. package/lib/resolvers/mutations/bulk/bulkUpdateProductTags.d.ts +11 -0
  59. package/lib/resolvers/mutations/bulk/bulkUpdateProductTags.js +7 -0
  60. package/lib/resolvers/mutations/bulk/bulkUpdateUserTags.d.ts +11 -0
  61. package/lib/resolvers/mutations/bulk/bulkUpdateUserTags.js +7 -0
  62. package/lib/resolvers/mutations/index.d.ts +12 -0
  63. package/lib/resolvers/mutations/index.js +25 -1
  64. package/lib/resolvers/mutations/orders/checkoutCart.js +1 -1
  65. package/lib/resolvers/mutations/users/removeUser.js +9 -2
  66. package/lib/resolvers/mutations/users/setRoles.js +9 -2
  67. package/lib/resolvers/mutations/worker/allocateWork.d.ts +1 -1
  68. package/lib/resolvers/mutations/worker/allocateWork.js +4 -3
  69. package/lib/resolvers/queries/index.d.ts +1 -0
  70. package/lib/resolvers/queries/index.js +2 -0
  71. package/lib/resolvers/queries/search/globalSearch.d.ts +36 -0
  72. package/lib/resolvers/queries/search/globalSearch.js +200 -0
  73. package/lib/resolvers/type/assortment/assortment-types.js +2 -2
  74. package/lib/resolvers/type/global-search-result-types.d.ts +3 -0
  75. package/lib/resolvers/type/global-search-result-types.js +15 -0
  76. package/lib/resolvers/type/index.d.ts +3 -0
  77. package/lib/resolvers/type/index.js +2 -0
  78. package/lib/resolvers/type/user-types.d.ts +1 -0
  79. package/lib/resolvers/type/user-types.js +36 -4
  80. package/lib/roles/all.js +12 -0
  81. package/lib/roles/index.js +12 -0
  82. package/lib/roles/loggedIn.js +1 -1
  83. package/lib/schema/inputTypes.js +5 -0
  84. package/lib/schema/mutation.js +74 -1
  85. package/lib/schema/query.js +15 -0
  86. package/lib/schema/types/common.js +7 -0
  87. package/lib/schema/types/search.js +36 -0
  88. package/lib/schema/types/user.js +4 -0
  89. package/package.json +31 -26
  90. package/lib/adminUiTheme.d.ts +0 -25
  91. 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
- "version": "5.0.0-alpha.3",
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.1",
117
- "@unchainedshop/core-assortments": "^5.0.0-alpha.1",
118
- "@unchainedshop/core-bookmarks": "^5.0.0-alpha.1",
119
- "@unchainedshop/core-countries": "^5.0.0-alpha.1",
120
- "@unchainedshop/core-currencies": "^5.0.0-alpha.1",
121
- "@unchainedshop/core-delivery": "^5.0.0-alpha.1",
122
- "@unchainedshop/core-enrollments": "^5.0.0-alpha.1",
123
- "@unchainedshop/core-events": "^5.0.0-alpha.1",
124
- "@unchainedshop/core-files": "^5.0.0-alpha.1",
125
- "@unchainedshop/core-filters": "^5.0.0-alpha.1",
126
- "@unchainedshop/core-languages": "^5.0.0-alpha.1",
127
- "@unchainedshop/core-orders": "^5.0.0-alpha.1",
128
- "@unchainedshop/core-payment": "^5.0.0-alpha.1",
129
- "@unchainedshop/core-products": "^5.0.0-alpha.1",
130
- "@unchainedshop/core-quotations": "^5.0.0-alpha.1",
131
- "@unchainedshop/core-users": "^5.0.0-alpha.1",
132
- "@unchainedshop/core-warehousing": "^5.0.0-alpha.1",
133
- "@unchainedshop/core-worker": "^5.0.0-alpha.1",
134
- "@unchainedshop/events": "^5.0.0-alpha.1",
135
- "@unchainedshop/logger": "^5.0.0-alpha.1",
136
- "@unchainedshop/mongodb": "^5.0.0-alpha.1",
137
- "@unchainedshop/roles": "^5.0.0-alpha.1",
138
- "@unchainedshop/utils": "^5.0.0-alpha.1",
139
- "@whatwg-node/server": "^0.10.18",
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": "^5.8.3"
166
+ "typescript": "^6.0.3"
162
167
  }
163
168
  }
@@ -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;
@@ -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
- };