@websolutespa/bom-mixer-store 3.0.2 → 3.1.0
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/CHANGELOG.md +22 -0
- package/dist/exports/proxy.d.ts +0 -2
- package/dist/exports/proxy.d.ts.map +1 -1
- package/dist/exports/proxy.js +5 -9
- package/dist/exports/proxy.js.map +1 -1
- package/dist/exports/server.d.ts +2 -54
- package/dist/exports/server.d.ts.map +1 -1
- package/dist/exports/server.js +146 -775
- package/dist/exports/server.js.map +1 -1
- package/dist/index.d.ts +4 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +162 -2
- package/dist/index.js.map +1 -0
- package/dist/{static-C4UBVe92.d.ts → static-DbuZMdAg.d.ts} +2 -4
- package/dist/static-DbuZMdAg.d.ts.map +1 -0
- package/dist/{src-bMn1KJCJ.js → store-DiGwhQUO.js} +45 -242
- package/dist/store-DiGwhQUO.js.map +1 -0
- package/package.json +18 -13
- package/src/__tests/session.test.ts +60 -0
- package/src/cached/cached.service.ts +0 -1
- package/src/exports/server.ts +1 -1
- package/src/proxy/proxy.service.ts +22 -22
- package/src/store/store.service.ts +5 -3
- package/src/store/store.ts +1 -1
- package/dist/src-bMn1KJCJ.js.map +0 -1
- package/dist/static-C4UBVe92.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @websolutespa/bom-mixer-store
|
|
2
2
|
|
|
3
|
+
## 3.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 3f7c21b: - Payload 3.91.0 and Next.js 16.4.2 (React 19.2.9): peer dependencies are now ranges, `payload` / `@payloadcms/*` `^3.91.0`, `next` `^16.3.3`, `react` / `react-dom` `^19.2.1`
|
|
8
|
+
- payload-plugin-bowl: the mixer context is built only for reads by an authenticated user (payload 3.90+ resolves the jwt user with the request query, populating tenants before `req.user` is set); email options typed with payload `SendEmailOptions`, no direct nodemailer dependency
|
|
9
|
+
- payload-plugin-storage: `AZURE_STORAGE_CONTAINER_ACCESS` (`private` default since payload 3.90, `blob`, `container`) for containers created by the plugin
|
|
10
|
+
- mixer web: `images.qualities` includes `IMAGE_QUALITY` (next 16 defaults to `[75]`)
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- d88019f: - library majors: uuid 14, marked 18 (llm text renderer ported to token renderers), mime 4, mime-types 3, iron-session 9, node-cron 4, html-to-text 10, react-error-boundary 6, react-dropzone 20 (import modal accepts `text/csv` `.csv`), fast-equals 6, schema-dts 2, json-schema-typed 9, dotenv 18 (quiet), chalk 6, giget 3, @clack/prompts 1, keeper secrets manager 17
|
|
15
|
+
- 12b6e2f: - test: replace the jest presets with shared vitest configurations, `@websolutespa/test/vitest` (`defineNodeConfig`, `defineDomConfig`, `definePayloadConfig`); drop jest dependencies
|
|
16
|
+
- declare every imported package and script binary in the package that uses it (no more reliance on hoisting), drop unused dependencies
|
|
17
|
+
- bom-mixer-checkout: `useCart.add` no longer mutates the previous cart state
|
|
18
|
+
|
|
19
|
+
## 3.0.3
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Removed: StoreStrategy.Local Payload
|
|
24
|
+
|
|
3
25
|
## 3.0.2
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/exports/proxy.d.ts
CHANGED
|
@@ -4,8 +4,6 @@ import { NextRequest } from "next/server";
|
|
|
4
4
|
declare function isStaticRequest(request: NextRequest): boolean;
|
|
5
5
|
declare function isNextRequest(request: NextRequest): boolean;
|
|
6
6
|
declare function isApiRequest(request: NextRequest): boolean;
|
|
7
|
-
//# sourceMappingURL=proxy.service.d.ts.map
|
|
8
|
-
|
|
9
7
|
//#endregion
|
|
10
8
|
export { isApiRequest, isNextRequest, isStaticRequest };
|
|
11
9
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","names":[],"sources":["../../src/proxy/proxy.service.ts"],"
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","names":[],"sources":["../../src/proxy/proxy.service.ts"],"mappings":";;;iBAKgB,eAAA,CAAgB,OAAA,EAAS,WAAA;AAAA,iBAMzB,aAAA,CAAc,OAAA,EAAS,WAAA;AAAA,iBAMvB,YAAA,CAAa,OAAA,EAAS,WAAA"}
|
package/dist/exports/proxy.js
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import mime from "mime";
|
|
3
2
|
//#region src/proxy/proxy.service.ts
|
|
4
3
|
const API_BASE = process.env.NEXT_PUBLIC_API || "/api";
|
|
5
4
|
function isStaticRequest(request) {
|
|
6
5
|
const { pathname } = request.nextUrl;
|
|
7
|
-
|
|
8
|
-
return isStatic;
|
|
6
|
+
return mime.getType(pathname) !== null;
|
|
9
7
|
}
|
|
10
8
|
function isNextRequest(request) {
|
|
11
9
|
const { pathname } = request.nextUrl;
|
|
12
|
-
|
|
13
|
-
return isNext;
|
|
10
|
+
return pathname.startsWith("/_next");
|
|
14
11
|
}
|
|
15
12
|
function isApiRequest(request) {
|
|
16
13
|
const { pathname } = request.nextUrl;
|
|
17
|
-
|
|
18
|
-
return isApi;
|
|
14
|
+
return pathname.startsWith(API_BASE);
|
|
19
15
|
}
|
|
20
|
-
|
|
21
16
|
//#endregion
|
|
22
17
|
export { isApiRequest, isNextRequest, isStaticRequest };
|
|
18
|
+
|
|
23
19
|
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","names":[
|
|
1
|
+
{"version":3,"file":"proxy.js","names":[],"sources":["../../src/proxy/proxy.service.ts"],"sourcesContent":["import mime from 'mime';\nimport { NextRequest } from 'next/server';\n\nconst API_BASE = process.env.NEXT_PUBLIC_API || '/api';\n\nexport function isStaticRequest(request: NextRequest) {\n const { pathname } = request.nextUrl;\n const isStatic = mime.getType(pathname) !== null;\n return isStatic;\n}\n\nexport function isNextRequest(request: NextRequest) {\n const { pathname } = request.nextUrl;\n const isNext = pathname.startsWith('/_next');\n return isNext;\n}\n\nexport function isApiRequest(request: NextRequest) {\n const { pathname } = request.nextUrl;\n const isApi = pathname.startsWith(API_BASE);\n return isApi;\n}\n"],"mappings":";;AAGA,MAAM,WAAW,QAAQ,IAAI,mBAAmB;AAEhD,SAAgB,gBAAgB,SAAsB;CACpD,MAAM,EAAE,aAAa,QAAQ;AAE7B,QADiB,KAAK,QAAQ,SAAS,KAAK;;AAI9C,SAAgB,cAAc,SAAsB;CAClD,MAAM,EAAE,aAAa,QAAQ;AAE7B,QADe,SAAS,WAAW,SAAS;;AAI9C,SAAgB,aAAa,SAAsB;CACjD,MAAM,EAAE,aAAa,QAAQ;AAE7B,QADc,SAAS,WAAW,SAAS"}
|
package/dist/exports/server.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as MapTo, r as StaticServiceConfig, t as IField } from "../static-DbuZMdAg.js";
|
|
2
2
|
import { GlobalQueryParams, ICategorized, IEntity, IEquatable, IMemoryStore, IPagedResult, IQuerable, IRoute, IStore, JsonService, QueryParams } from "@websolutespa/bom-core";
|
|
3
|
-
import * as payload0 from "payload";
|
|
4
|
-
import { BasePayload, SanitizedConfig } from "payload";
|
|
5
3
|
import { NextApiRequest, NextApiResponse } from "next";
|
|
6
4
|
|
|
7
5
|
//#region src/api/api.handler.d.ts
|
|
@@ -10,40 +8,6 @@ type IHandler<T = any> = (request: NextApiRequest, response: NextApiResponse<T>)
|
|
|
10
8
|
type IApiHandler = Record<ICrudMethod, IHandler>;
|
|
11
9
|
declare function apiHandler<T = any>(handler: IApiHandler): IHandler<T>;
|
|
12
10
|
declare function errorHandler(error: any, response: NextApiResponse): void | Response;
|
|
13
|
-
//# sourceMappingURL=api.handler.d.ts.map
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region src/local_/local.service.d.ts
|
|
16
|
-
type LocalProvider = {
|
|
17
|
-
config: Promise<SanitizedConfig> | undefined;
|
|
18
|
-
sanitizedConfig: SanitizedConfig | undefined;
|
|
19
|
-
payload: BasePayload | undefined;
|
|
20
|
-
};
|
|
21
|
-
declare function setPayloadConfig(config: Promise<SanitizedConfig>): Promise<SanitizedConfig>;
|
|
22
|
-
declare function getPayloadSingleton(): Promise<BasePayload>;
|
|
23
|
-
declare function getAuthHeaders(token?: string): Headers;
|
|
24
|
-
declare function getPayloadUser(payload: BasePayload, token?: string): Promise<payload0.User | null>;
|
|
25
|
-
/**
|
|
26
|
-
* This service handle call to local api
|
|
27
|
-
*/
|
|
28
|
-
declare class LocalService<T extends IEntity = IEntity> implements IQuerable<T> {
|
|
29
|
-
key: string;
|
|
30
|
-
store: IStore;
|
|
31
|
-
constructor(key: string, store: IStore);
|
|
32
|
-
findGlobal<B extends T = T>(params?: GlobalQueryParams, token?: string): Promise<B | undefined>;
|
|
33
|
-
findOne<B extends T = T>(id: IEquatable, params?: Omit<QueryParams, 'where'>, token?: string): Promise<B | undefined>;
|
|
34
|
-
findMany<B extends T = T>(params?: QueryParams, token?: string): Promise<B[]>;
|
|
35
|
-
findPaged<B extends T = T>(params?: QueryParams, token?: string): Promise<IPagedResult<B>>;
|
|
36
|
-
create<B extends T = T>(payload: Omit<B, 'id'>, params?: QueryParams, token?: string): Promise<B>;
|
|
37
|
-
updateOne<B extends T = T>(id: IEquatable, payload: Partial<B>, params?: Omit<QueryParams, 'where'>, token?: string): Promise<B>;
|
|
38
|
-
updateMany<B extends T = T>(payload: Partial<B>, params?: QueryParams, token?: string): Promise<B[]>;
|
|
39
|
-
deleteOne<B extends T = T>(id: IEquatable, params?: Omit<QueryParams, 'where'>, token?: string): Promise<B | undefined>;
|
|
40
|
-
deleteMany<B extends T = T>(params?: QueryParams, token?: string): Promise<B[]>;
|
|
41
|
-
update<B extends T = T>(payload: Partial<B>, params?: QueryParams, token?: string): Promise<B>;
|
|
42
|
-
delete<B extends T = T>(id: IEquatable, token?: string): Promise<B | undefined>;
|
|
43
|
-
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
44
|
-
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=local.service.d.ts.map
|
|
47
11
|
//#endregion
|
|
48
12
|
//#region src/mock/mock.service.d.ts
|
|
49
13
|
declare class MockService<T extends IEntity = IEntity> extends JsonService<T> {
|
|
@@ -52,35 +16,28 @@ declare class MockService<T extends IEntity = IEntity> extends JsonService<T> {
|
|
|
52
16
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
53
17
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
54
18
|
}
|
|
55
|
-
//# sourceMappingURL=mock.service.d.ts.map
|
|
56
19
|
//#endregion
|
|
57
20
|
//#region src/mock/mock-menu.service.d.ts
|
|
58
21
|
declare class MockMenuService<T extends IEntity = IEntity> extends MockService<T> {
|
|
59
22
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
60
23
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
61
24
|
}
|
|
62
|
-
//# sourceMappingURL=mock-menu.service.d.ts.map
|
|
63
25
|
//#endregion
|
|
64
26
|
//#region src/mock/mock-page.service.d.ts
|
|
65
27
|
declare class MockPageService<T extends ICategorized = ICategorized> extends MockService<T> {
|
|
66
28
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
67
29
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
68
30
|
}
|
|
69
|
-
//# sourceMappingURL=mock-page.service.d.ts.map
|
|
70
31
|
//#endregion
|
|
71
32
|
//#region src/mock/mock.handler.d.ts
|
|
72
33
|
declare function mockHandler(): IHandler<any>;
|
|
73
|
-
//# sourceMappingURL=mock.handler.d.ts.map
|
|
74
34
|
//#endregion
|
|
75
35
|
//#region src/mock/mock.store.d.ts
|
|
76
36
|
declare function getMockStoreFromData_<T extends IStore>(data?: IMemoryStore): T;
|
|
77
37
|
declare function getMockStore<T extends IStore = IStore>(): Promise<T>;
|
|
78
|
-
//# sourceMappingURL=mock.store.d.ts.map
|
|
79
38
|
//#endregion
|
|
80
39
|
//#region src/preview/preview.handler.d.ts
|
|
81
40
|
declare function previewHandler(): IHandler<any>;
|
|
82
|
-
//# sourceMappingURL=preview.handler.d.ts.map
|
|
83
|
-
|
|
84
41
|
//#endregion
|
|
85
42
|
//#region src/remote/remote.service.d.ts
|
|
86
43
|
/**
|
|
@@ -104,25 +61,21 @@ declare class RemoteService<T extends IEntity = IEntity> implements IQuerable<T>
|
|
|
104
61
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
105
62
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
106
63
|
}
|
|
107
|
-
//# sourceMappingURL=remote.service.d.ts.map
|
|
108
64
|
//#endregion
|
|
109
65
|
//#region src/remote/remote-menu.service.d.ts
|
|
110
66
|
declare class RemoteMenuService<T extends IEntity = IEntity> extends RemoteService<T> {
|
|
111
67
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
112
68
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
113
69
|
}
|
|
114
|
-
//# sourceMappingURL=remote-menu.service.d.ts.map
|
|
115
70
|
//#endregion
|
|
116
71
|
//#region src/remote/remote-page.service.d.ts
|
|
117
72
|
declare class RemotePageService<T extends ICategorized = ICategorized> extends RemoteService<T> {
|
|
118
73
|
protected decorateOne_<B extends T = T>(item: B, params?: QueryParams): Promise<B>;
|
|
119
74
|
protected decorateMany_<B extends T = T>(items: B[], params?: QueryParams): Promise<B[]>;
|
|
120
75
|
}
|
|
121
|
-
//# sourceMappingURL=remote-page.service.d.ts.map
|
|
122
76
|
//#endregion
|
|
123
77
|
//#region src/remote/remote.store.d.ts
|
|
124
78
|
declare function getRemoteStore<T extends IStore>(): Promise<T>;
|
|
125
|
-
//# sourceMappingURL=remote.store.d.ts.map
|
|
126
79
|
//#endregion
|
|
127
80
|
//#region src/static/static.service.d.ts
|
|
128
81
|
declare class StaticService<T extends IEntity = IEntity> extends JsonService<T> {
|
|
@@ -137,7 +90,6 @@ declare class StaticService<T extends IEntity = IEntity> extends JsonService<T>
|
|
|
137
90
|
}
|
|
138
91
|
declare function decorateStaticRelation_<T>(store: IStore, fields: IField[], item: T, params?: QueryParams): Promise<T>;
|
|
139
92
|
declare function decorateStaticRelations_<T>(store: IStore, fields: IField[], items: T[], params?: QueryParams): Promise<T[]>;
|
|
140
|
-
//# sourceMappingURL=static.service.d.ts.map
|
|
141
93
|
//#endregion
|
|
142
94
|
//#region src/store/store.handler.d.ts
|
|
143
95
|
declare function storeHandler<T extends IStore>(storePromise?: () => Promise<T>): IHandler<any>;
|
|
@@ -148,16 +100,12 @@ declare function collectionDelete<T extends IStore>(storePromise: () => Promise<
|
|
|
148
100
|
declare function routePost(store: IStore, request: NextApiRequest, response: NextApiResponse): Promise<void>;
|
|
149
101
|
declare function storeIndexHandler(): IHandler<any>;
|
|
150
102
|
declare function findRoute(store: IStore, pathname: string, href: string, hrefBeforeRedirect: string | null): Promise<IRoute | undefined>;
|
|
151
|
-
//# sourceMappingURL=store.handler.d.ts.map
|
|
152
103
|
//#endregion
|
|
153
104
|
//#region src/store/store.service.d.ts
|
|
154
105
|
declare function getStore<T extends IStore>(): Promise<T>;
|
|
155
|
-
//# sourceMappingURL=store.service.d.ts.map
|
|
156
106
|
//#endregion
|
|
157
107
|
//#region src/vars/vars.handler.d.ts
|
|
158
108
|
declare function varsHandler(): IHandler<any>;
|
|
159
|
-
//# sourceMappingURL=vars.handler.d.ts.map
|
|
160
|
-
|
|
161
109
|
//#endregion
|
|
162
|
-
export { IApiHandler, ICrudMethod, IHandler,
|
|
110
|
+
export { IApiHandler, ICrudMethod, IHandler, MockMenuService, MockPageService, MockService, RemoteMenuService, RemotePageService, RemoteService, StaticService, apiHandler, collectionDelete, collectionGet, collectionPatch, collectionPost, decorateStaticRelation_, decorateStaticRelations_, errorHandler, findRoute, getMockStore, getMockStoreFromData_, getRemoteStore, getStore, mockHandler, previewHandler, routePost, storeHandler, storeIndexHandler, varsHandler };
|
|
163
111
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","names":[],"sources":["../../src/api/api.handler.ts","../../src/
|
|
1
|
+
{"version":3,"file":"server.d.ts","names":[],"sources":["../../src/api/api.handler.ts","../../src/mock/mock.service.ts","../../src/mock/mock-menu.service.ts","../../src/mock/mock-page.service.ts","../../src/mock/mock.handler.ts","../../src/mock/mock.store.ts","../../src/preview/preview.handler.ts","../../src/remote/remote.service.ts","../../src/remote/remote-menu.service.ts","../../src/remote/remote-page.service.ts","../../src/remote/remote.store.ts","../../src/static/static.service.ts","../../src/store/store.handler.ts","../../src/store/store.service.ts","../../src/vars/vars.handler.ts"],"mappings":"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"}
|