remult 2.7.34 → 3.0.0-next.1
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/esm/remult-express.js +3 -1
- package/esm/remult-fastify.js +3 -1
- package/esm/remult-hapi.js +3 -1
- package/esm/remult-hono.js +3 -1
- package/esm/remult-next.js +2 -1
- package/esm/remult-nuxt.js +2 -1
- package/esm/remult-solid-start.js +2 -1
- package/esm/remult-sveltekit.js +2 -1
- package/esm/server/get-remult-admin-html.js +1 -1
- package/esm/src/context.js +4 -2
- package/package.json +1 -1
- package/remult-express.d.ts +4 -3
- package/remult-express.js +5 -2
- package/remult-fastify.d.ts +2 -1
- package/remult-fastify.js +5 -2
- package/remult-hapi.d.ts +2 -1
- package/remult-hapi.js +5 -2
- package/remult-hono.d.ts +2 -1
- package/remult-hono.js +5 -2
- package/remult-next.d.ts +2 -1
- package/remult-next.js +4 -2
- package/remult-nuxt.d.ts +2 -1
- package/remult-nuxt.js +4 -2
- package/remult-solid-start.d.ts +2 -1
- package/remult-solid-start.js +4 -2
- package/remult-sveltekit.d.ts +2 -1
- package/remult-sveltekit.js +4 -2
- package/server/get-remult-admin-html.js +1 -1
- package/server/remult-api-server.d.ts +1 -1
- package/src/context.js +5 -2
- package/src/entity.d.ts +13 -0
|
@@ -74,7 +74,7 @@ export interface RemultServerOptions<RequestType> {
|
|
|
74
74
|
*
|
|
75
75
|
* @returns A promise that resolves when the error handling is complete.
|
|
76
76
|
* @example
|
|
77
|
-
* export const api =
|
|
77
|
+
* export const api = remultApi({
|
|
78
78
|
* error: async (e) => {
|
|
79
79
|
* if (e.httpStatusCode == 400) {
|
|
80
80
|
* e.sendError(500, { message: "An error occurred" })
|
package/src/context.js
CHANGED
|
@@ -82,14 +82,17 @@ var Remult = /** @class */ (function () {
|
|
|
82
82
|
* @param dataProvider - an optional alternative data provider to use. Useful for writing to offline storage or an alternative data provider
|
|
83
83
|
*/
|
|
84
84
|
this.repo = function (entity, dataProvider) {
|
|
85
|
+
var _a, _b, _c;
|
|
86
|
+
var info = (0, RepositoryImplementation_js_1.createOldEntity)(entity, _this);
|
|
85
87
|
if (dataProvider === undefined)
|
|
86
|
-
dataProvider =
|
|
88
|
+
dataProvider =
|
|
89
|
+
(_c = (_b = (_a = info === null || info === void 0 ? void 0 : info.options) === null || _a === void 0 ? void 0 : _a.dataProvider) === null || _b === void 0 ? void 0 : _b.call(_a, _this.dataProvider)) !== null && _c !== void 0 ? _c : _this.dataProvider;
|
|
87
90
|
var dpCache = _this.repCache.get(dataProvider);
|
|
88
91
|
if (!dpCache)
|
|
89
92
|
_this.repCache.set(dataProvider, (dpCache = new Map()));
|
|
90
93
|
var r = dpCache.get(entity);
|
|
91
94
|
if (!r) {
|
|
92
|
-
dpCache.set(entity, (r = new RepositoryImplementation_js_1.RepositoryImplementation(entity, _this, dataProvider,
|
|
95
|
+
dpCache.set(entity, (r = new RepositoryImplementation_js_1.RepositoryImplementation(entity, _this, dataProvider, info)));
|
|
93
96
|
(0, relationInfoMember_js_1.verifyFieldRelationInfo)(r, _this, dataProvider);
|
|
94
97
|
}
|
|
95
98
|
return r;
|
package/src/entity.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Allowed, AllowedForInstance } from './context.js';
|
|
|
2
2
|
import type { FieldMetadata } from './column-interfaces.js';
|
|
3
3
|
import type { EntityFilter, EntityIdFields, EntityMetadata, EntityOrderBy, EntityRef, FieldsMetadata, LifecycleEvent, MembersOnly } from './remult3/remult3.js';
|
|
4
4
|
import type { FilterPreciseValues } from './filter/filter-interfaces.js';
|
|
5
|
+
import type { DataProvider } from './data-interfaces.js';
|
|
5
6
|
export interface EntityOptions<entityType = unknown> {
|
|
6
7
|
/**A human readable name for the entity */
|
|
7
8
|
caption?: string;
|
|
@@ -181,6 +182,18 @@ export interface EntityOptions<entityType = unknown> {
|
|
|
181
182
|
id?: keyof MembersOnly<entityType> | (keyof MembersOnly<entityType>)[] | EntityIdFields<entityType> | ((entity: FieldsMetadata<entityType>) => FieldMetadata | FieldMetadata[]);
|
|
182
183
|
entityRefInit?: (ref: EntityRef<entityType>, row: entityType) => void;
|
|
183
184
|
apiRequireId?: Allowed;
|
|
185
|
+
/**
|
|
186
|
+
* A function that allows customizing the data provider for the entity.
|
|
187
|
+
* @param defaultDataProvider The default data provider defined in the `remult` object.
|
|
188
|
+
* @example
|
|
189
|
+
* dataProvider: (dp) => {
|
|
190
|
+
* if (!dp.isProxy) // usually indicates that we're on the backend
|
|
191
|
+
* return getASpacificDataProvider();
|
|
192
|
+
* return null
|
|
193
|
+
* }
|
|
194
|
+
* @returns A custom data provider for the entity.
|
|
195
|
+
*/
|
|
196
|
+
dataProvider?: (defaultDataProvider: DataProvider) => DataProvider | undefined | null;
|
|
184
197
|
}
|
|
185
198
|
/**
|
|
186
199
|
* Provides additional information and utilities for preprocessing filters in API and backend operations.
|