@unchainedshop/api 4.1.1 → 4.1.3
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/index.html +178 -0
- package/lib/express/chatHandler.d.ts +0 -1
- package/lib/express/chatHandler.d.ts.map +1 -1
- package/lib/express/chatHandler.js +0 -10
- package/lib/express/chatHandler.js.map +1 -1
- package/lib/express/index.d.ts +16 -3
- package/lib/express/index.d.ts.map +1 -1
- package/lib/express/index.js +26 -2
- package/lib/express/index.js.map +1 -1
- package/lib/fastify/ercMetadataHandler.js +1 -1
- package/lib/fastify/ercMetadataHandler.js.map +1 -1
- package/lib/fastify/index.d.ts +16 -7
- package/lib/fastify/index.d.ts.map +1 -1
- package/lib/fastify/index.js +60 -17
- package/lib/fastify/index.js.map +1 -1
- package/package.json +26 -1
- package/src/express/chatHandler.ts +0 -15
- package/src/express/index.ts +45 -1
- package/src/fastify/ercMetadataHandler.ts +1 -1
- package/src/fastify/index.ts +80 -21
package/index.html
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Unchained Engine - Running</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
16
|
+
background-color: #ffffff;
|
|
17
|
+
color: #232323;
|
|
18
|
+
min-height: 100vh;
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
padding: 20px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.container {
|
|
26
|
+
text-align: center;
|
|
27
|
+
max-width: 600px;
|
|
28
|
+
width: 100%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.logo {
|
|
32
|
+
margin-bottom: 40px;
|
|
33
|
+
animation: fadeIn 0.8s ease-in;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.logo svg {
|
|
37
|
+
width: 100%;
|
|
38
|
+
max-width: 300px;
|
|
39
|
+
height: auto;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.status-badge {
|
|
43
|
+
display: inline-block;
|
|
44
|
+
background-color: #232323;
|
|
45
|
+
color: white;
|
|
46
|
+
padding: 8px 16px;
|
|
47
|
+
border-radius: 20px;
|
|
48
|
+
font-size: 14px;
|
|
49
|
+
font-weight: 600;
|
|
50
|
+
margin-bottom: 20px;
|
|
51
|
+
animation: pulse 2s infinite;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
h1 {
|
|
55
|
+
font-size: 2.5rem;
|
|
56
|
+
font-weight: 700;
|
|
57
|
+
margin-bottom: 10px;
|
|
58
|
+
animation: fadeIn 0.8s ease-in 0.2s both;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.subtitle {
|
|
62
|
+
font-size: 1.2rem;
|
|
63
|
+
color: #666;
|
|
64
|
+
margin-bottom: 30px;
|
|
65
|
+
animation: fadeIn 0.8s ease-in 0.4s both;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.info-box {
|
|
69
|
+
background-color: #f8f8f8;
|
|
70
|
+
border: 2px solid #232323;
|
|
71
|
+
border-radius: 8px;
|
|
72
|
+
padding: 20px;
|
|
73
|
+
margin-top: 40px;
|
|
74
|
+
animation: fadeIn 0.8s ease-in 0.6s both;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.info-box h2 {
|
|
78
|
+
font-size: 1.1rem;
|
|
79
|
+
margin-bottom: 15px;
|
|
80
|
+
color: #232323;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.code {
|
|
84
|
+
background-color: #232323;
|
|
85
|
+
color: white;
|
|
86
|
+
padding: 12px 16px;
|
|
87
|
+
border-radius: 4px;
|
|
88
|
+
font-family: 'Courier New', monospace;
|
|
89
|
+
font-size: 14px;
|
|
90
|
+
display: inline-block;
|
|
91
|
+
margin-top: 8px;
|
|
92
|
+
user-select: all;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.footer {
|
|
96
|
+
margin-top: 40px;
|
|
97
|
+
padding-top: 20px;
|
|
98
|
+
border-top: 1px solid #e0e0e0;
|
|
99
|
+
color: #666;
|
|
100
|
+
font-size: 14px;
|
|
101
|
+
animation: fadeIn 0.8s ease-in 0.8s both;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
a:hover {
|
|
105
|
+
opacity: 0.8;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@keyframes fadeIn {
|
|
109
|
+
from {
|
|
110
|
+
opacity: 0;
|
|
111
|
+
transform: translateY(10px);
|
|
112
|
+
}
|
|
113
|
+
to {
|
|
114
|
+
opacity: 1;
|
|
115
|
+
transform: translateY(0);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@keyframes pulse {
|
|
120
|
+
0%, 100% {
|
|
121
|
+
opacity: 1;
|
|
122
|
+
}
|
|
123
|
+
50% {
|
|
124
|
+
opacity: 0.8;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@media (max-width: 640px) {
|
|
129
|
+
h1 {
|
|
130
|
+
font-size: 2rem;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.subtitle {
|
|
134
|
+
font-size: 1rem;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.logo svg {
|
|
138
|
+
max-width: 200px;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
</style>
|
|
142
|
+
</head>
|
|
143
|
+
<body>
|
|
144
|
+
<div class="container">
|
|
145
|
+
<div class="logo">
|
|
146
|
+
<svg width="368" height="223" viewBox="0 0 368 223" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
147
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M165.822 123.499C166.877 125.076 167.995 126.646 169.178 128.209L205.659 176.43C204.643 178.251 203.548 180.057 202.374 181.848C196.716 190.225 189.514 197.721 180.768 204.338C172.022 210.954 162.756 215.916 152.969 219.224C143.228 222.204 133.573 223.364 124.004 222.704C114.293 221.858 104.948 218.98 95.9675 214.071C87.0323 208.835 78.9046 201.378 71.5843 191.702L0 97.079L34.0531 71.3171L103.737 163.428C110.776 172.732 118.944 178.695 128.242 181.316C137.725 183.797 147.491 181.236 157.54 173.634C167.588 166.032 172.709 157.331 172.901 147.53C173.062 139.347 170.702 131.337 165.822 123.499ZM165.822 123.499C165.409 122.837 164.978 122.175 164.529 121.515C164.949 122.177 165.38 122.839 165.822 123.499ZM162.105 47.4016C158.186 54.426 155.445 61.6662 153.882 69.1223C152.056 78.6966 152.283 88.4725 154.564 98.4497C156.431 106.283 159.753 113.971 164.529 121.515C163.929 120.632 163.297 119.751 162.632 118.873L92.9483 26.7617L127.001 0.999821L162.105 47.4016ZM201.943 100.333C200.888 98.7564 199.769 97.1864 198.586 95.6229L162.105 47.4016C163.121 45.5813 164.216 43.7755 165.39 41.9842C171.048 33.6072 178.25 26.1106 186.996 19.4941C195.742 12.8777 205.008 7.91575 214.795 4.60834C224.536 1.6278 234.191 0.467621 243.76 1.12782C253.471 1.9741 262.816 4.85191 271.796 9.76127C280.732 14.9975 288.859 22.4537 296.18 32.13L367.764 126.753L333.711 152.515L264.027 60.404C256.988 51.0999 248.82 45.1372 239.522 42.5158C230.039 40.0352 220.273 42.5959 210.224 50.1978C200.176 57.7996 195.055 66.501 194.863 76.3019C194.702 84.4853 197.062 92.4956 201.943 100.333ZM201.943 100.333C202.385 100.993 202.815 101.655 203.235 102.317C202.786 101.657 202.355 100.996 201.943 100.333ZM203.235 102.317C203.835 103.2 204.467 104.081 205.132 104.959L274.816 197.07L240.763 222.832L205.659 176.43C209.578 169.406 212.319 162.166 213.882 154.71C215.708 145.135 215.481 135.36 213.2 125.382C211.333 117.549 208.011 109.861 203.235 102.317Z" fill="#232323"/>
|
|
148
|
+
</svg>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
<div class="status-badge">✓ RUNNING</div>
|
|
152
|
+
|
|
153
|
+
<h1>Unchained Engine</h1>
|
|
154
|
+
<p class="subtitle">High-performant Headless E-Commerce Framework</p>
|
|
155
|
+
|
|
156
|
+
<div class="info-box">
|
|
157
|
+
<h2>🚀 Ready to Install Admin UI?</h2>
|
|
158
|
+
<p style="margin-bottom: 10px;">Get started with the Unchained admin interface by running:</p>
|
|
159
|
+
<div class="code">npm install @fastify/static @unchainedshop/admin-ui</div>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<div class="info-box" style="margin-top: 20px;">
|
|
163
|
+
<h2>🔧 GraphQL Playground</h2>
|
|
164
|
+
<p style="margin-bottom: 10px;">Explore your API using the GraphiQL interface:</p>
|
|
165
|
+
<a href="/graphql" style="display: inline-block; margin-top: 8px; padding: 10px 20px; background-color: #232323; color: white; text-decoration: none; border-radius: 4px; font-weight: 600; transition: opacity 0.2s;">
|
|
166
|
+
Open GraphiQL →
|
|
167
|
+
</a>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div class="footer">
|
|
171
|
+
<p>Your Unchained Engine is up and running successfully!</p>
|
|
172
|
+
<p style="margin-top: 10px;">
|
|
173
|
+
📚 Visit <a href="https://docs.unchained.shop" target="_blank" style="color: #232323; text-decoration: underline;">docs.unchained.shop</a> for documentation and guides
|
|
174
|
+
</p>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
</body>
|
|
178
|
+
</html>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Express } from 'express';
|
|
2
2
|
import { ChatConfiguration } from '../chat/utils.js';
|
|
3
|
-
export declare const expressRouter: () => import("express-serve-static-core").Router;
|
|
4
3
|
export declare const connectChat: (app: Express, chatConfiguration: ChatConfiguration) => void;
|
|
5
4
|
//# sourceMappingURL=chatHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatHandler.d.ts","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,SAAS,CAAC;AAK1E,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"chatHandler.d.ts","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,SAAS,CAAC;AAK1E,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AA2LnE,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,mBAAmB,iBAAiB,SAe7E,CAAC"}
|
|
@@ -22,16 +22,6 @@ try {
|
|
|
22
22
|
catch {
|
|
23
23
|
/* */
|
|
24
24
|
}
|
|
25
|
-
export const expressRouter = () => {
|
|
26
|
-
const router = express.Router();
|
|
27
|
-
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
28
|
-
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
29
|
-
router.use(express.static(staticPath));
|
|
30
|
-
router.get(/(.*)/, (_, res) => {
|
|
31
|
-
res.sendFile(`${staticPath}/index.html`);
|
|
32
|
-
});
|
|
33
|
-
return router;
|
|
34
|
-
};
|
|
35
25
|
const setupMCPChatHandler = (chatConfiguration) => {
|
|
36
26
|
if (!chatConfiguration || !chatConfiguration.model) {
|
|
37
27
|
throw new Error('Model is required');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatHandler.js","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAElD,IAAI,sBAA6D,CAAC;AAClE,IAAI,WAAuC,CAAC;AAC5C,IAAI,UAAqC,CAAC;AAC1C,IAAI,eAA6D,CAAC;AAElE,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7C,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IACxD,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAClC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAChC,eAAe,GAAG,QAAQ,CAAC,4BAA4B,CAAC;AAC1D,CAAC;AAAC,MAAM,CAAC;IACP,KAAK;AACP,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"chatHandler.js","sourceRoot":"","sources":["../../src/express/chatHandler.ts"],"names":[],"mappings":"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"}
|
package/lib/express/index.d.ts
CHANGED
|
@@ -2,12 +2,25 @@ import e from 'express';
|
|
|
2
2
|
import { YogaServerInstance } from 'graphql-yoga';
|
|
3
3
|
import { mongodb } from '@unchainedshop/mongodb';
|
|
4
4
|
import { UnchainedCore } from '@unchainedshop/core';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { ChatConfiguration } from '../chat/utils.js';
|
|
6
|
+
import { connectChat } from './chatHandler.js';
|
|
7
|
+
export interface AdminUIRouterOptions {
|
|
8
|
+
prefix: string;
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const adminUIRouter: (enabled?: boolean) => import("express-serve-static-core").Router;
|
|
12
|
+
export declare const connect: (expressApp: e.Express, { graphqlHandler, db, unchainedAPI, }: {
|
|
7
13
|
graphqlHandler: YogaServerInstance<any, any>;
|
|
8
14
|
db: mongodb.Db;
|
|
9
15
|
unchainedAPI: UnchainedCore;
|
|
10
|
-
}, { allowRemoteToLocalhostSecureCookies, }?: {
|
|
16
|
+
}, { allowRemoteToLocalhostSecureCookies, adminUI, chat, initPluginMiddlewares, }?: {
|
|
11
17
|
allowRemoteToLocalhostSecureCookies?: boolean;
|
|
18
|
+
adminUI?: boolean | Omit<AdminUIRouterOptions, "enabled">;
|
|
19
|
+
chat?: ChatConfiguration;
|
|
20
|
+
initPluginMiddlewares?: (app: e.Express, { unchainedAPI }: {
|
|
21
|
+
unchainedAPI: UnchainedCore;
|
|
22
|
+
}) => void;
|
|
12
23
|
}) => void;
|
|
24
|
+
export declare const expressRouter: (enabled?: boolean) => import("express-serve-static-core").Router;
|
|
25
|
+
export { connectChat };
|
|
13
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,SAAS,CAAC;AAKxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,SAAS,CAAC;AAKxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,GAAI,iBAAc,+CAc3C,CAAC;AAoHF,eAAO,MAAM,OAAO,GAClB,YAAY,CAAC,CAAC,OAAO,EACrB,uCAIG;IACD,cAAc,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;IACf,YAAY,EAAE,aAAa,CAAC;CAC7B,EACD,iFAKG;IACD,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,aAAa,CAAA;KAAE,KAAK,IAAI,CAAC;CAChG,SAsFP,CAAC;AAGF,eAAO,MAAM,aAAa,mEAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/express/index.js
CHANGED
|
@@ -10,7 +10,19 @@ import createERCMetadataMiddleware from './createERCMetadataMiddleware.js';
|
|
|
10
10
|
import createTempUploadMiddleware from './createTempUploadMiddleware.js';
|
|
11
11
|
import createMCPMiddleware from './createMCPMiddleware.js';
|
|
12
12
|
import { API_EVENTS } from '../events.js';
|
|
13
|
-
|
|
13
|
+
import { connectChat } from './chatHandler.js';
|
|
14
|
+
export const adminUIRouter = (enabled = true) => {
|
|
15
|
+
const router = e.Router();
|
|
16
|
+
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
17
|
+
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
18
|
+
if (enabled) {
|
|
19
|
+
router.use(e.static(staticPath));
|
|
20
|
+
router.get(/(.*)/, (_, res) => {
|
|
21
|
+
res.sendFile(`${staticPath}/index.html`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return router;
|
|
25
|
+
};
|
|
14
26
|
const resolveUserRemoteAddress = (req) => {
|
|
15
27
|
const remoteAddress = req.headers['x-real-ip'] ||
|
|
16
28
|
req.headers['x-forwarded-for'] ||
|
|
@@ -88,7 +100,7 @@ const addContext = async function middlewareWithContext(req, res, next) {
|
|
|
88
100
|
next(error);
|
|
89
101
|
}
|
|
90
102
|
};
|
|
91
|
-
export const connect = (expressApp, { graphqlHandler, db, }, { allowRemoteToLocalhostSecureCookies = false, } = {}) => {
|
|
103
|
+
export const connect = (expressApp, { graphqlHandler, db, unchainedAPI, }, { allowRemoteToLocalhostSecureCookies = false, adminUI = false, chat, initPluginMiddlewares, } = {}) => {
|
|
92
104
|
if (allowRemoteToLocalhostSecureCookies) {
|
|
93
105
|
// Workaround: Allow to use sandbox with localhost
|
|
94
106
|
expressApp.set('trust proxy', 1);
|
|
@@ -146,5 +158,17 @@ export const connect = (expressApp, { graphqlHandler, db, }, { allowRemoteToLoca
|
|
|
146
158
|
expressApp.use(TEMP_UPLOAD_API_PATH, upload.any(), createTempUploadMiddleware);
|
|
147
159
|
expressApp.use(MCP_API_PATH, e.json({ limit: '10mb' }));
|
|
148
160
|
expressApp.use(MCP_API_PATH, createMCPMiddleware);
|
|
161
|
+
if (chat) {
|
|
162
|
+
connectChat(expressApp, chat);
|
|
163
|
+
}
|
|
164
|
+
if (initPluginMiddlewares) {
|
|
165
|
+
initPluginMiddlewares(expressApp, { unchainedAPI });
|
|
166
|
+
}
|
|
167
|
+
if (adminUI) {
|
|
168
|
+
expressApp.use(typeof adminUI === 'object' ? adminUI.prefix : '/', adminUIRouter(true));
|
|
169
|
+
}
|
|
149
170
|
};
|
|
171
|
+
// @deprecated use adminUIRouter instead
|
|
172
|
+
export const expressRouter = adminUIRouter;
|
|
173
|
+
export { connectChat };
|
|
150
174
|
//# sourceMappingURL=index.js.map
|
package/lib/express/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,SAAS,CAAC;AACxB,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAE,yBAAyB,EAAqB,MAAM,eAAe,CAAC;AAC7E,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AACzE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AACzE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
2
|
-
const logger = createLogger('unchained:erc-metadata');
|
|
2
|
+
const logger = createLogger('unchained:api:erc-metadata');
|
|
3
3
|
const { ROOT_URL = 'http://localhost:4010' } = process.env;
|
|
4
4
|
const notFoundHandler = (res) => {
|
|
5
5
|
logger.error('Method not supported, return 404');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ercMetadataHandler.js","sourceRoot":"","sources":["../../src/fastify/ercMetadataHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"ercMetadataHandler.js","sourceRoot":"","sources":["../../src/fastify/ercMetadataHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AAE1D,MAAM,EAAE,QAAQ,GAAG,uBAAuB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,EAAE;IAC9B,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAuB,KAAK,EAClD,GAAmD,EACnD,GAAG,EACH,EAAE;IACF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE/F,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAa,CAAC;QAE9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAEhE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,iBAAiB,EAAE,CAAC,aAAa,IAAI,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9F,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe;SACxD,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;YACzD,OAAO;YACP,KAAK;YACL,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM;SACxE,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW;YAAE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;QAE9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/lib/fastify/index.d.ts
CHANGED
|
@@ -2,17 +2,26 @@ import { YogaServerInstance } from 'graphql-yoga';
|
|
|
2
2
|
import { mongodb } from '@unchainedshop/mongodb';
|
|
3
3
|
import { UnchainedCore } from '@unchainedshop/core';
|
|
4
4
|
import { FastifyBaseLogger, FastifyInstance, FastifyPluginAsync } from 'fastify';
|
|
5
|
-
|
|
5
|
+
import { connectChat } from './chatHandler.js';
|
|
6
|
+
import { ChatConfiguration } from '../chat/utils.js';
|
|
7
|
+
export interface AdminUIRouterOptions {
|
|
8
|
+
prefix: string;
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
}
|
|
6
11
|
export declare const unchainedLogger: (prefix: string) => FastifyBaseLogger;
|
|
7
|
-
export declare const connect: (fastify: FastifyInstance, { graphqlHandler, db, }: {
|
|
12
|
+
export declare const connect: (fastify: FastifyInstance, { graphqlHandler, db, unchainedAPI, }: {
|
|
8
13
|
graphqlHandler: YogaServerInstance<any, any>;
|
|
9
14
|
db: mongodb.Db;
|
|
10
15
|
unchainedAPI: UnchainedCore;
|
|
11
|
-
}, { allowRemoteToLocalhostSecureCookies, }?: {
|
|
16
|
+
}, { allowRemoteToLocalhostSecureCookies, adminUI, chat, initPluginMiddlewares, }?: {
|
|
12
17
|
allowRemoteToLocalhostSecureCookies?: boolean;
|
|
18
|
+
adminUI?: boolean | Omit<AdminUIRouterOptions, "enabled">;
|
|
19
|
+
chat?: ChatConfiguration;
|
|
20
|
+
initPluginMiddlewares?: (app: FastifyInstance, { unchainedAPI }: {
|
|
21
|
+
unchainedAPI: UnchainedCore;
|
|
22
|
+
}) => void;
|
|
13
23
|
}) => void;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
export declare const fastifyRouter: FastifyPluginAsync<FastifyRouterOptions>;
|
|
24
|
+
export declare const adminUIRouter: FastifyPluginAsync<AdminUIRouterOptions>;
|
|
25
|
+
export declare const fastifyRouter: FastifyPluginAsync<AdminUIRouterOptions>;
|
|
26
|
+
export { connectChat };
|
|
18
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fastify/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fastify/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAIjG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiFD,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,iBAehD,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,SAAS,eAAe,EACxB,uCAIG;IACD,cAAc,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;IACf,YAAY,EAAE,aAAa,CAAC;CAC7B,EACD,iFAKG;IACD,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,qBAAqB,CAAC,EAAE,CACtB,GAAG,EAAE,eAAe,EACpB,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,aAAa,CAAA;KAAE,KAC9C,IAAI,CAAC;CACN,SA4HP,CAAC;AAqBF,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,oBAAoB,CAmClE,CAAC;AAGF,eAAO,MAAM,aAAa,0CAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/fastify/index.js
CHANGED
|
@@ -10,8 +10,8 @@ import fastifyMultipart from '@fastify/multipart';
|
|
|
10
10
|
import { createLogger } from '@unchainedshop/logger';
|
|
11
11
|
import mcpHandler from './mcpHandler.js';
|
|
12
12
|
import tempUploadHandler from './tempUploadHandler.js';
|
|
13
|
-
import
|
|
14
|
-
|
|
13
|
+
import { connectChat } from './chatHandler.js';
|
|
14
|
+
import { readFileSync } from 'node:fs';
|
|
15
15
|
const resolveUserRemoteAddress = (req) => {
|
|
16
16
|
const remoteAddress = req.headers['x-real-ip'] ||
|
|
17
17
|
req.headers['x-forwarded-for'] ||
|
|
@@ -77,7 +77,7 @@ export const unchainedLogger = (prefix) => {
|
|
|
77
77
|
};
|
|
78
78
|
return new Logger();
|
|
79
79
|
};
|
|
80
|
-
export const connect = (fastify, { graphqlHandler, db, }, { allowRemoteToLocalhostSecureCookies = false, } = {}) => {
|
|
80
|
+
export const connect = (fastify, { graphqlHandler, db, unchainedAPI, }, { allowRemoteToLocalhostSecureCookies = false, adminUI = false, chat, initPluginMiddlewares, } = {}) => {
|
|
81
81
|
if (allowRemoteToLocalhostSecureCookies) {
|
|
82
82
|
// Workaround: Allow to use sandbox with localhost
|
|
83
83
|
// https://github.com/fastify/fastify-cookie/issues/308
|
|
@@ -177,25 +177,65 @@ export const connect = (fastify, { graphqlHandler, db, }, { allowRemoteToLocalho
|
|
|
177
177
|
});
|
|
178
178
|
registered();
|
|
179
179
|
});
|
|
180
|
+
if (chat) {
|
|
181
|
+
connectChat(fastify, chat);
|
|
182
|
+
}
|
|
183
|
+
if (initPluginMiddlewares) {
|
|
184
|
+
initPluginMiddlewares(fastify, { unchainedAPI });
|
|
185
|
+
}
|
|
186
|
+
if (adminUI) {
|
|
187
|
+
fastify.register(adminUIRouter, {
|
|
188
|
+
enabled: true,
|
|
189
|
+
prefix: typeof adminUI === 'object' ? adminUI.prefix : '/',
|
|
190
|
+
});
|
|
191
|
+
}
|
|
180
192
|
};
|
|
181
|
-
|
|
193
|
+
const fallbackLandingPageHandler = (request, reply) => {
|
|
194
|
+
if (request.raw.method === 'GET') {
|
|
195
|
+
const staticURL = import.meta.resolve('@unchainedshop/api/index.html');
|
|
196
|
+
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
197
|
+
return reply.type('text/html').send(readFileSync(staticPath + '/index.html'));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
return reply.status(404).send();
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
const resolveAdminUIPath = () => {
|
|
182
204
|
try {
|
|
183
205
|
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
184
|
-
|
|
185
|
-
await fastify.register(fastifyStatic, {
|
|
186
|
-
root: staticPath,
|
|
187
|
-
prefix: opts.prefix || '/',
|
|
188
|
-
});
|
|
189
|
-
fastify.setNotFoundHandler((request, reply) => {
|
|
190
|
-
if (request.raw.method === 'GET') {
|
|
191
|
-
return reply.type('text/html').sendFile('index.html');
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
return reply.status(404).send();
|
|
195
|
-
}
|
|
196
|
-
});
|
|
206
|
+
return new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
197
207
|
}
|
|
198
208
|
catch {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
export const adminUIRouter = async (fastify, opts) => {
|
|
213
|
+
try {
|
|
214
|
+
let fastifyStatic;
|
|
215
|
+
try {
|
|
216
|
+
const fastifyStaticModule = await import('@fastify/static');
|
|
217
|
+
fastifyStatic = fastifyStaticModule.default;
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
/* */
|
|
221
|
+
}
|
|
222
|
+
if (!fastifyStatic) {
|
|
223
|
+
fastify.log.warn("npm dependency @fastify/static is not installed, can't serve admin-ui");
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const adminUIPath = resolveAdminUIPath();
|
|
227
|
+
if (adminUIPath) {
|
|
228
|
+
await fastify.register(fastifyStatic, {
|
|
229
|
+
root: adminUIPath,
|
|
230
|
+
prefix: opts.prefix || '/',
|
|
231
|
+
});
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
await fastify.get(opts.prefix || '/', fallbackLandingPageHandler);
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
fastify.log.error(e);
|
|
199
239
|
if (process.env.NODE_ENV !== 'production') {
|
|
200
240
|
// Trying the default admin ui dev port
|
|
201
241
|
fastify.get('/', async (request, reply) => {
|
|
@@ -204,4 +244,7 @@ export const fastifyRouter = async (fastify, opts) => {
|
|
|
204
244
|
}
|
|
205
245
|
}
|
|
206
246
|
};
|
|
247
|
+
// @deprecated use adminUIRouter instead
|
|
248
|
+
export const fastifyRouter = adminUIRouter;
|
|
249
|
+
export { connectChat };
|
|
207
250
|
//# sourceMappingURL=index.js.map
|
package/lib/fastify/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAqB,MAAM,eAAe,CAAC;AAC7E,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,eAAe,CAAC;AAIvC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAqB,MAAM,eAAe,CAAC;AAC7E,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,eAAe,CAAC;AAIvC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,MAAM,wBAAwB,GAAG,CAAC,GAAmB,EAAE,EAAE;IACvD,MAAM,aAAa,GAChB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAY;QACnC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAY;QAC1C,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAE5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAE1C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,EACJ,YAAY,GAAG,MAAM,EACrB,gBAAgB,GAAG,UAAU,EAC7B,oBAAoB,GAAG,cAAc,EACrC,oBAAoB,GAAG,cAAc,EACrC,qBAAqB,GAAG,iEAAiE,EACzF,qBAAqB,GAAG,iBAAiB,EACzC,qBAAqB,GAAG,GAAG,EAC3B,uBAAuB,EACvB,yBAAyB,GAAG,MAAM,EAClC,yBAAyB,GAC1B,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,cAAc,GAAG,KAAK,UAAU,cAAc,CAAC,GAAQ,EAAE,KAAU;IACvE,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAE5C,MAAM,KAAK,GAAY,KAAK,WAAW,IAAU,EAAE,OAAO,GAAG,EAAE;QAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAEjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,YAAY,EAAE,GAAG,CAAC;QAE/C,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;YAC1B,MAAM,EAAE,IAAI,CAAC,GAAG;YAEhB,YAAY,EAAE,IAAI,IAAI,CAAE,GAAW,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7D,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAE3D,IAAY,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAa,KAAK,UAAU,MAAM;QAC5C,MAAM,WAAW,GAAG;YAClB,GAAG,EAAG,GAAW,CAAC,OAAO,CAAC,SAAS;YACnC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM;SAC5B,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAEnE,GAAW,CAAC,gBAAgB,GAAG,MAAM,OAAO,CAC3C;QACE,SAAS;QACT,SAAS;QACT,aAAa;QACb,UAAU;QACV,KAAK;QACL,MAAM;QACN,WAAW;QACX,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC1B,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc;KAC3C,EACD,GAAG,EACH,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAqB,EAAE;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,SAAS,MAAM,CAAC,GAAG,IAAI;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG;QACvB,OAAO,IAAI,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,OAAwB,EACxB,EACE,cAAc,EACd,EAAE,EACF,YAAY,GAKb,EACD,EACE,mCAAmC,GAAG,KAAK,EAC3C,OAAO,GAAG,KAAK,EACf,IAAI,EACJ,qBAAqB,MASnB,EAAE,EACN,EAAE;IACF,IAAI,mCAAmC,EAAE,CAAC;QACxC,kDAAkD;QAClD,uDAAuD;QACvD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,WAAW,OAAO;YACnD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,WAAW,GAAG,EAAE,KAAK;YAClD,KAAK,CAAC,OAAO,CAAC;gBACZ,sCAAsC,EAAE,MAAM;gBAC9C,6BAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG;gBACxD,kCAAkC,EAAE,MAAM;gBAC1C,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtF,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,IAAI,GAAG;aACrF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC;IACzC,MAAM,MAAM,GAAG,uBAAuB,CAAC;IACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,KAAK;KACX,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAwC,CAAC;IAErG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,cAAqB,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;QAC1C,UAAU;QACV,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;YACvB,MAAM,EAAG,EAAU,CAAC,MAAM;YAC1B,MAAM,EAAE,EAAE,CAAC,YAAY;YACvB,cAAc,EAAE,UAAU;SAC3B,CAAC;QACF,MAAM,EAAE;YACN,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAChC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC;QACZ,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5B,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE;gBAC7E,GAAG;gBACH,KAAK;aACN,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC;QACZ,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,OAAO,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC;QACZ,GAAG,EAAE,YAAY;QACjB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;QACjC,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QACvC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;QAC3G,CAAC,CAAC,KAAK,CAAC;YACN,GAAG,EAAE,oBAAoB;YACzB,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,OAAO;YACpC,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QACvC,CAAC,CAAC,2BAA2B,EAAE,CAAC;QAChC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI;YACtD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,CAAC;YACN,GAAG,EAAE,oBAAoB;YACzB,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM;YACzC,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,qBAAqB,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;SAC3D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACjE,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA6C,KAAK,EAC1E,OAAwB,EACxB,IAAI,EACJ,EAAE;IACF,IAAI,CAAC;QACH,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC5D,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK;QACP,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;oBACpC,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG;iBAC3B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,0BAA0B,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,uCAAuC;YACvC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBACxC,OAAO,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.3",
|
|
4
4
|
"main": "lib/api-index.js",
|
|
5
5
|
"types": "lib/api-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./lib/api-index.js",
|
|
10
|
+
"types": "./lib/api-index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./fastify": {
|
|
13
|
+
"import": "./lib/fastify/index.js",
|
|
14
|
+
"types": "./lib/fastify/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./express": {
|
|
17
|
+
"import": "./lib/express/index.js",
|
|
18
|
+
"types": "./lib/express/index.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"./lib/*": {
|
|
21
|
+
"import": "./lib/*.js",
|
|
22
|
+
"types": "./lib/*.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./lib/*.js": {
|
|
25
|
+
"import": "./lib/*.js",
|
|
26
|
+
"types": "./lib/*.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./index.html": {
|
|
29
|
+
"import": "./index.html"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
7
32
|
"scripts": {
|
|
8
33
|
"clean": "tsc -b --clean",
|
|
9
34
|
"build": "tsc -b",
|
|
@@ -28,21 +28,6 @@ try {
|
|
|
28
28
|
/* */
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export const expressRouter = () => {
|
|
32
|
-
const router = express.Router();
|
|
33
|
-
|
|
34
|
-
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
35
|
-
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
36
|
-
|
|
37
|
-
router.use(express.static(staticPath));
|
|
38
|
-
|
|
39
|
-
router.get(/(.*)/, (_, res) => {
|
|
40
|
-
res.sendFile(`${staticPath}/index.html`);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
return router;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
31
|
const setupMCPChatHandler = (chatConfiguration: ChatConfiguration & any): RequestHandler => {
|
|
47
32
|
if (!chatConfiguration || !chatConfiguration.model) {
|
|
48
33
|
throw new Error('Model is required');
|
package/src/express/index.ts
CHANGED
|
@@ -15,8 +15,28 @@ import createERCMetadataMiddleware from './createERCMetadataMiddleware.js';
|
|
|
15
15
|
import createTempUploadMiddleware from './createTempUploadMiddleware.js';
|
|
16
16
|
import createMCPMiddleware from './createMCPMiddleware.js';
|
|
17
17
|
import { API_EVENTS } from '../events.js';
|
|
18
|
+
import { ChatConfiguration } from '../chat/utils.js';
|
|
19
|
+
import { connectChat } from './chatHandler.js';
|
|
20
|
+
export interface AdminUIRouterOptions {
|
|
21
|
+
prefix: string;
|
|
22
|
+
enabled?: boolean;
|
|
23
|
+
}
|
|
18
24
|
|
|
19
|
-
export
|
|
25
|
+
export const adminUIRouter = (enabled = true) => {
|
|
26
|
+
const router = e.Router();
|
|
27
|
+
|
|
28
|
+
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
29
|
+
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
30
|
+
|
|
31
|
+
if (enabled) {
|
|
32
|
+
router.use(e.static(staticPath));
|
|
33
|
+
router.get(/(.*)/, (_, res) => {
|
|
34
|
+
res.sendFile(`${staticPath}/index.html`);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return router;
|
|
39
|
+
};
|
|
20
40
|
|
|
21
41
|
const resolveUserRemoteAddress = (req: e.Request) => {
|
|
22
42
|
const remoteAddress =
|
|
@@ -137,6 +157,7 @@ export const connect = (
|
|
|
137
157
|
{
|
|
138
158
|
graphqlHandler,
|
|
139
159
|
db,
|
|
160
|
+
unchainedAPI,
|
|
140
161
|
}: {
|
|
141
162
|
graphqlHandler: YogaServerInstance<any, any>;
|
|
142
163
|
db: mongodb.Db;
|
|
@@ -144,8 +165,14 @@ export const connect = (
|
|
|
144
165
|
},
|
|
145
166
|
{
|
|
146
167
|
allowRemoteToLocalhostSecureCookies = false,
|
|
168
|
+
adminUI = false,
|
|
169
|
+
chat,
|
|
170
|
+
initPluginMiddlewares,
|
|
147
171
|
}: {
|
|
148
172
|
allowRemoteToLocalhostSecureCookies?: boolean;
|
|
173
|
+
adminUI?: boolean | Omit<AdminUIRouterOptions, 'enabled'>;
|
|
174
|
+
chat?: ChatConfiguration;
|
|
175
|
+
initPluginMiddlewares?: (app: e.Express, { unchainedAPI }: { unchainedAPI: UnchainedCore }) => void;
|
|
149
176
|
} = {},
|
|
150
177
|
) => {
|
|
151
178
|
if (allowRemoteToLocalhostSecureCookies) {
|
|
@@ -220,4 +247,21 @@ export const connect = (
|
|
|
220
247
|
|
|
221
248
|
expressApp.use(MCP_API_PATH, e.json({ limit: '10mb' }));
|
|
222
249
|
expressApp.use(MCP_API_PATH, createMCPMiddleware);
|
|
250
|
+
|
|
251
|
+
if (chat) {
|
|
252
|
+
connectChat(expressApp, chat);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
if (initPluginMiddlewares) {
|
|
256
|
+
initPluginMiddlewares(expressApp, { unchainedAPI });
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
if (adminUI) {
|
|
260
|
+
expressApp.use(typeof adminUI === 'object' ? adminUI.prefix : '/', adminUIRouter(true));
|
|
261
|
+
}
|
|
223
262
|
};
|
|
263
|
+
|
|
264
|
+
// @deprecated use adminUIRouter instead
|
|
265
|
+
export const expressRouter = adminUIRouter;
|
|
266
|
+
|
|
267
|
+
export { connectChat };
|
|
@@ -2,7 +2,7 @@ import { createLogger } from '@unchainedshop/logger';
|
|
|
2
2
|
import { Context } from '../context.js';
|
|
3
3
|
import { FastifyRequest, RouteHandlerMethod } from 'fastify';
|
|
4
4
|
|
|
5
|
-
const logger = createLogger('unchained:erc-metadata');
|
|
5
|
+
const logger = createLogger('unchained:api:erc-metadata');
|
|
6
6
|
|
|
7
7
|
const { ROOT_URL = 'http://localhost:4010' } = process.env;
|
|
8
8
|
|
package/src/fastify/index.ts
CHANGED
|
@@ -15,8 +15,13 @@ import { FastifyBaseLogger, FastifyInstance, FastifyPluginAsync, FastifyRequest
|
|
|
15
15
|
import { createLogger } from '@unchainedshop/logger';
|
|
16
16
|
import mcpHandler from './mcpHandler.js';
|
|
17
17
|
import tempUploadHandler from './tempUploadHandler.js';
|
|
18
|
-
import
|
|
19
|
-
|
|
18
|
+
import { connectChat } from './chatHandler.js';
|
|
19
|
+
import { ChatConfiguration } from '../chat/utils.js';
|
|
20
|
+
import { readFileSync } from 'node:fs';
|
|
21
|
+
export interface AdminUIRouterOptions {
|
|
22
|
+
prefix: string;
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
}
|
|
20
25
|
|
|
21
26
|
const resolveUserRemoteAddress = (req: FastifyRequest) => {
|
|
22
27
|
const remoteAddress =
|
|
@@ -119,6 +124,7 @@ export const connect = (
|
|
|
119
124
|
{
|
|
120
125
|
graphqlHandler,
|
|
121
126
|
db,
|
|
127
|
+
unchainedAPI,
|
|
122
128
|
}: {
|
|
123
129
|
graphqlHandler: YogaServerInstance<any, any>;
|
|
124
130
|
db: mongodb.Db;
|
|
@@ -126,7 +132,18 @@ export const connect = (
|
|
|
126
132
|
},
|
|
127
133
|
{
|
|
128
134
|
allowRemoteToLocalhostSecureCookies = false,
|
|
129
|
-
|
|
135
|
+
adminUI = false,
|
|
136
|
+
chat,
|
|
137
|
+
initPluginMiddlewares,
|
|
138
|
+
}: {
|
|
139
|
+
allowRemoteToLocalhostSecureCookies?: boolean;
|
|
140
|
+
adminUI?: boolean | Omit<AdminUIRouterOptions, 'enabled'>;
|
|
141
|
+
chat?: ChatConfiguration;
|
|
142
|
+
initPluginMiddlewares?: (
|
|
143
|
+
app: FastifyInstance,
|
|
144
|
+
{ unchainedAPI }: { unchainedAPI: UnchainedCore },
|
|
145
|
+
) => void;
|
|
146
|
+
} = {},
|
|
130
147
|
) => {
|
|
131
148
|
if (allowRemoteToLocalhostSecureCookies) {
|
|
132
149
|
// Workaround: Allow to use sandbox with localhost
|
|
@@ -235,33 +252,70 @@ export const connect = (
|
|
|
235
252
|
});
|
|
236
253
|
registered();
|
|
237
254
|
});
|
|
255
|
+
|
|
256
|
+
if (chat) {
|
|
257
|
+
connectChat(fastify, chat);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
if (initPluginMiddlewares) {
|
|
261
|
+
initPluginMiddlewares(fastify, { unchainedAPI });
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (adminUI) {
|
|
265
|
+
fastify.register(adminUIRouter, {
|
|
266
|
+
enabled: true,
|
|
267
|
+
prefix: typeof adminUI === 'object' ? adminUI.prefix : '/',
|
|
268
|
+
});
|
|
269
|
+
}
|
|
238
270
|
};
|
|
239
271
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
272
|
+
const fallbackLandingPageHandler = (request, reply) => {
|
|
273
|
+
if (request.raw.method === 'GET') {
|
|
274
|
+
const staticURL = import.meta.resolve('@unchainedshop/api/index.html');
|
|
275
|
+
const staticPath = new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
276
|
+
return reply.type('text/html').send(readFileSync(staticPath + '/index.html'));
|
|
277
|
+
} else {
|
|
278
|
+
return reply.status(404).send();
|
|
279
|
+
}
|
|
280
|
+
};
|
|
243
281
|
|
|
244
|
-
|
|
282
|
+
const resolveAdminUIPath = () => {
|
|
283
|
+
try {
|
|
284
|
+
const staticURL = import.meta.resolve('@unchainedshop/admin-ui');
|
|
285
|
+
return new URL(staticURL).pathname.split('/').slice(0, -1).join('/');
|
|
286
|
+
} catch {
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
export const adminUIRouter: FastifyPluginAsync<AdminUIRouterOptions> = async (
|
|
245
292
|
fastify: FastifyInstance,
|
|
246
293
|
opts,
|
|
247
294
|
) => {
|
|
248
295
|
try {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
296
|
+
let fastifyStatic;
|
|
297
|
+
try {
|
|
298
|
+
const fastifyStaticModule = await import('@fastify/static');
|
|
299
|
+
fastifyStatic = fastifyStaticModule.default;
|
|
300
|
+
} catch {
|
|
301
|
+
/* */
|
|
302
|
+
}
|
|
256
303
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
304
|
+
if (!fastifyStatic) {
|
|
305
|
+
fastify.log.warn("npm dependency @fastify/static is not installed, can't serve admin-ui");
|
|
306
|
+
} else {
|
|
307
|
+
const adminUIPath = resolveAdminUIPath();
|
|
308
|
+
if (adminUIPath) {
|
|
309
|
+
await fastify.register(fastifyStatic, {
|
|
310
|
+
root: adminUIPath,
|
|
311
|
+
prefix: opts.prefix || '/',
|
|
312
|
+
});
|
|
313
|
+
return;
|
|
262
314
|
}
|
|
263
|
-
}
|
|
264
|
-
|
|
315
|
+
}
|
|
316
|
+
await fastify.get(opts.prefix || '/', fallbackLandingPageHandler);
|
|
317
|
+
} catch (e) {
|
|
318
|
+
fastify.log.error(e);
|
|
265
319
|
if (process.env.NODE_ENV !== 'production') {
|
|
266
320
|
// Trying the default admin ui dev port
|
|
267
321
|
fastify.get('/', async (request, reply) => {
|
|
@@ -270,3 +324,8 @@ export const fastifyRouter: FastifyPluginAsync<FastifyRouterOptions> = async (
|
|
|
270
324
|
}
|
|
271
325
|
}
|
|
272
326
|
};
|
|
327
|
+
|
|
328
|
+
// @deprecated use adminUIRouter instead
|
|
329
|
+
export const fastifyRouter = adminUIRouter;
|
|
330
|
+
|
|
331
|
+
export { connectChat };
|