@vertebr/admin 0.14.0 → 0.15.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/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/api/catalog.d.ts +17 -9
- package/dist/runtime/api/catalog.d.ts.map +1 -1
- package/dist/runtime/api/catalog.js +10 -0
- package/dist/runtime/api/catalog.js.map +1 -1
- package/dist/runtime/connectors/payments/connector.d.ts.map +1 -1
- package/dist/runtime/connectors/payments/connector.js +3 -0
- package/dist/runtime/connectors/payments/connector.js.map +1 -1
- package/dist/runtime/createAdmin.d.ts.map +1 -1
- package/dist/runtime/createAdmin.js +3 -0
- package/dist/runtime/createAdmin.js.map +1 -1
- package/dist/runtime/types/addon.d.ts +3 -0
- package/dist/runtime/types/addon.d.ts.map +1 -1
- package/dist/runtime/types/addon.js.map +1 -1
- package/dist/runtime/types/audit.d.ts +3 -0
- package/dist/runtime/types/audit.d.ts.map +1 -1
- package/dist/runtime/types/config.d.ts +5 -0
- package/dist/runtime/types/config.d.ts.map +1 -1
- package/dist/runtime/types/index.d.ts +2 -0
- package/dist/runtime/types/index.d.ts.map +1 -1
- package/dist/runtime/types/index.js +4 -0
- package/dist/runtime/types/index.js.map +1 -1
- package/dist/runtime/types/layout.d.ts +3 -0
- package/dist/runtime/types/layout.d.ts.map +1 -1
- package/dist/runtime/types/mail/definition.d.ts +3 -0
- package/dist/runtime/types/mail/definition.d.ts.map +1 -1
- package/dist/runtime/types/metrics.d.ts +3 -0
- package/dist/runtime/types/metrics.d.ts.map +1 -1
- package/dist/runtime/types/navIcon.d.ts +8 -0
- package/dist/runtime/types/navIcon.d.ts.map +1 -0
- package/dist/runtime/types/navIcon.js +37 -0
- package/dist/runtime/types/navIcon.js.map +1 -0
- package/dist/runtime/types/resource.d.ts +3 -0
- package/dist/runtime/types/resource.d.ts.map +1 -1
- package/dist/schema.d.ts +9 -0
- package/dist/schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/static/assets/{index-DqDnCvHx.js → index-BJ2De0Au.js} +83 -83
- package/static/index.html +1 -1
- package/dist/api/catalog.d.ts +0 -59
- package/dist/api/catalog.d.ts.map +0 -1
- package/dist/api/catalog.js +0 -85
- package/dist/api/catalog.js.map +0 -1
- package/dist/api/configs.d.ts +0 -15
- package/dist/api/configs.d.ts.map +0 -1
- package/dist/api/configs.js +0 -43
- package/dist/api/configs.js.map +0 -1
- package/dist/api/emails.d.ts +0 -85
- package/dist/api/emails.d.ts.map +0 -1
- package/dist/api/emails.js +0 -520
- package/dist/api/emails.js.map +0 -1
- package/dist/api/gallery.d.ts +0 -28
- package/dist/api/gallery.d.ts.map +0 -1
- package/dist/api/gallery.js +0 -91
- package/dist/api/gallery.js.map +0 -1
- package/dist/api/metrics.d.ts +0 -22
- package/dist/api/metrics.d.ts.map +0 -1
- package/dist/api/metrics.js +0 -38
- package/dist/api/metrics.js.map +0 -1
- package/dist/api/public.d.ts +0 -22
- package/dist/api/public.d.ts.map +0 -1
- package/dist/api/public.js +0 -69
- package/dist/api/public.js.map +0 -1
- package/dist/api/request.d.ts +0 -26
- package/dist/api/request.d.ts.map +0 -1
- package/dist/api/request.js +0 -38
- package/dist/api/request.js.map +0 -1
- package/dist/api/resources.d.ts +0 -85
- package/dist/api/resources.d.ts.map +0 -1
- package/dist/api/resources.js +0 -263
- package/dist/api/resources.js.map +0 -1
- package/dist/api/routes.d.ts +0 -8
- package/dist/api/routes.d.ts.map +0 -1
- package/dist/api/routes.js +0 -202
- package/dist/api/routes.js.map +0 -1
- package/dist/api/spa.d.ts +0 -2
- package/dist/api/spa.d.ts.map +0 -1
- package/dist/api/spa.js +0 -34
- package/dist/api/spa.js.map +0 -1
- package/dist/connectors/payments/connector.d.ts +0 -30
- package/dist/connectors/payments/connector.d.ts.map +0 -1
- package/dist/connectors/payments/connector.js +0 -226
- package/dist/connectors/payments/connector.js.map +0 -1
- package/dist/connectors/payments/index.d.ts +0 -4
- package/dist/connectors/payments/index.d.ts.map +0 -1
- package/dist/connectors/payments/index.js +0 -10
- package/dist/connectors/payments/index.js.map +0 -1
- package/dist/connectors/payments/stripe.d.ts +0 -99
- package/dist/connectors/payments/stripe.d.ts.map +0 -1
- package/dist/connectors/payments/stripe.js +0 -189
- package/dist/connectors/payments/stripe.js.map +0 -1
- package/dist/connectors/payments/types.d.ts +0 -67
- package/dist/connectors/payments/types.d.ts.map +0 -1
- package/dist/connectors/payments/types.js +0 -16
- package/dist/connectors/payments/types.js.map +0 -1
- package/dist/connectors/stripe.d.ts +0 -19
- package/dist/connectors/stripe.d.ts.map +0 -1
- package/dist/connectors/stripe.js +0 -26
- package/dist/connectors/stripe.js.map +0 -1
- package/dist/constants.d.ts +0 -5
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -8
- package/dist/constants.js.map +0 -1
- package/dist/createAdmin.d.ts +0 -3
- package/dist/createAdmin.d.ts.map +0 -1
- package/dist/createAdmin.js +0 -152
- package/dist/createAdmin.js.map +0 -1
- package/dist/database/firestore.d.ts +0 -71
- package/dist/database/firestore.d.ts.map +0 -1
- package/dist/database/firestore.js +0 -115
- package/dist/database/firestore.js.map +0 -1
- package/dist/database/memory.d.ts +0 -12
- package/dist/database/memory.d.ts.map +0 -1
- package/dist/database/memory.js +0 -116
- package/dist/database/memory.js.map +0 -1
- package/dist/database/mongo.d.ts +0 -41
- package/dist/database/mongo.d.ts.map +0 -1
- package/dist/database/mongo.js +0 -151
- package/dist/database/mongo.js.map +0 -1
- package/dist/database/postgres.d.ts +0 -46
- package/dist/database/postgres.d.ts.map +0 -1
- package/dist/database/postgres.js +0 -262
- package/dist/database/postgres.js.map +0 -1
- package/dist/errors.d.ts +0 -17
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -36
- package/dist/errors.js.map +0 -1
- package/dist/index/api/catalog.d.ts +0 -53
- package/dist/index/api/catalog.d.ts.map +0 -1
- package/dist/index/api/catalog.js +0 -70
- package/dist/index/api/catalog.js.map +0 -1
- package/dist/index/api/configs.d.ts +0 -15
- package/dist/index/api/configs.d.ts.map +0 -1
- package/dist/index/api/configs.js +0 -43
- package/dist/index/api/configs.js.map +0 -1
- package/dist/index/api/gallery.d.ts +0 -28
- package/dist/index/api/gallery.d.ts.map +0 -1
- package/dist/index/api/gallery.js +0 -89
- package/dist/index/api/gallery.js.map +0 -1
- package/dist/index/api/metrics.d.ts +0 -9
- package/dist/index/api/metrics.d.ts.map +0 -1
- package/dist/index/api/metrics.js +0 -26
- package/dist/index/api/metrics.js.map +0 -1
- package/dist/index/api/public.d.ts +0 -22
- package/dist/index/api/public.d.ts.map +0 -1
- package/dist/index/api/public.js +0 -69
- package/dist/index/api/public.js.map +0 -1
- package/dist/index/api/request.d.ts +0 -25
- package/dist/index/api/request.d.ts.map +0 -1
- package/dist/index/api/request.js +0 -38
- package/dist/index/api/request.js.map +0 -1
- package/dist/index/api/resources.d.ts +0 -64
- package/dist/index/api/resources.d.ts.map +0 -1
- package/dist/index/api/resources.js +0 -173
- package/dist/index/api/resources.js.map +0 -1
- package/dist/index/api/routes.d.ts +0 -8
- package/dist/index/api/routes.d.ts.map +0 -1
- package/dist/index/api/routes.js +0 -156
- package/dist/index/api/routes.js.map +0 -1
- package/dist/index/api/spa.d.ts +0 -2
- package/dist/index/api/spa.d.ts.map +0 -1
- package/dist/index/api/spa.js +0 -33
- package/dist/index/api/spa.js.map +0 -1
- package/dist/index/connectors/stripe.d.ts +0 -9
- package/dist/index/connectors/stripe.d.ts.map +0 -1
- package/dist/index/connectors/stripe.js +0 -23
- package/dist/index/connectors/stripe.js.map +0 -1
- package/dist/index/constants.d.ts +0 -5
- package/dist/index/constants.d.ts.map +0 -1
- package/dist/index/constants.js +0 -8
- package/dist/index/constants.js.map +0 -1
- package/dist/index/createAdmin.d.ts +0 -3
- package/dist/index/createAdmin.d.ts.map +0 -1
- package/dist/index/createAdmin.js +0 -145
- package/dist/index/createAdmin.js.map +0 -1
- package/dist/index/errors.d.ts +0 -17
- package/dist/index/errors.d.ts.map +0 -1
- package/dist/index/errors.js +0 -36
- package/dist/index/errors.js.map +0 -1
- package/dist/index/services/environment.d.ts +0 -8
- package/dist/index/services/environment.d.ts.map +0 -1
- package/dist/index/services/environment.js +0 -78
- package/dist/index/services/environment.js.map +0 -1
- package/dist/index/services/registry.d.ts +0 -6
- package/dist/index/services/registry.d.ts.map +0 -1
- package/dist/index/services/registry.js +0 -32
- package/dist/index/services/registry.js.map +0 -1
- package/dist/index/services/state.d.ts +0 -24
- package/dist/index/services/state.d.ts.map +0 -1
- package/dist/index/services/state.js +0 -3
- package/dist/index/services/state.js.map +0 -1
- package/dist/index/types/admin.d.ts +0 -77
- package/dist/index/types/admin.d.ts.map +0 -1
- package/dist/index/types/admin.js +0 -3
- package/dist/index/types/admin.js.map +0 -1
- package/dist/index/types/auth.d.ts +0 -67
- package/dist/index/types/auth.d.ts.map +0 -1
- package/dist/index/types/auth.js +0 -3
- package/dist/index/types/auth.js.map +0 -1
- package/dist/index/types/config.d.ts +0 -35
- package/dist/index/types/config.d.ts.map +0 -1
- package/dist/index/types/config.js +0 -3
- package/dist/index/types/config.js.map +0 -1
- package/dist/index/types/index.d.ts +0 -7
- package/dist/index/types/index.d.ts.map +0 -1
- package/dist/index/types/index.js +0 -3
- package/dist/index/types/index.js.map +0 -1
- package/dist/index/types/layout.d.ts +0 -27
- package/dist/index/types/layout.d.ts.map +0 -1
- package/dist/index/types/layout.js +0 -3
- package/dist/index/types/layout.js.map +0 -1
- package/dist/index/types/metrics.d.ts +0 -15
- package/dist/index/types/metrics.d.ts.map +0 -1
- package/dist/index/types/metrics.js +0 -3
- package/dist/index/types/metrics.js.map +0 -1
- package/dist/index/types/resource.d.ts +0 -34
- package/dist/index/types/resource.d.ts.map +0 -1
- package/dist/index/types/resource.js +0 -3
- package/dist/index/types/resource.js.map +0 -1
- package/dist/index/utils/auth.d.ts +0 -4
- package/dist/index/utils/auth.d.ts.map +0 -1
- package/dist/index/utils/auth.js +0 -29
- package/dist/index/utils/auth.js.map +0 -1
- package/dist/index/utils/config.d.ts +0 -4
- package/dist/index/utils/config.d.ts.map +0 -1
- package/dist/index/utils/config.js +0 -14
- package/dist/index/utils/config.js.map +0 -1
- package/dist/index/utils/http.d.ts +0 -5
- package/dist/index/utils/http.d.ts.map +0 -1
- package/dist/index/utils/http.js +0 -38
- package/dist/index/utils/http.js.map +0 -1
- package/dist/index/utils/staticDir.d.ts +0 -2
- package/dist/index/utils/staticDir.d.ts.map +0 -1
- package/dist/index/utils/staticDir.js +0 -16
- package/dist/index/utils/staticDir.js.map +0 -1
- package/dist/index/utils/uploads.d.ts +0 -6
- package/dist/index/utils/uploads.d.ts.map +0 -1
- package/dist/index/utils/uploads.js +0 -66
- package/dist/index/utils/uploads.js.map +0 -1
- package/dist/mail.d.ts +0 -22
- package/dist/mail.d.ts.map +0 -1
- package/dist/mail.js +0 -248
- package/dist/mail.js.map +0 -1
- package/dist/services/environment.d.ts +0 -8
- package/dist/services/environment.d.ts.map +0 -1
- package/dist/services/environment.js +0 -78
- package/dist/services/environment.js.map +0 -1
- package/dist/services/registry.d.ts +0 -6
- package/dist/services/registry.d.ts.map +0 -1
- package/dist/services/registry.js +0 -32
- package/dist/services/registry.js.map +0 -1
- package/dist/services/state.d.ts +0 -25
- package/dist/services/state.d.ts.map +0 -1
- package/dist/services/state.js +0 -3
- package/dist/services/state.js.map +0 -1
- package/dist/types/actions.d.ts +0 -15
- package/dist/types/actions.d.ts.map +0 -1
- package/dist/types/actions.js +0 -3
- package/dist/types/actions.js.map +0 -1
- package/dist/types/admin.d.ts +0 -83
- package/dist/types/admin.d.ts.map +0 -1
- package/dist/types/admin.js +0 -3
- package/dist/types/admin.js.map +0 -1
- package/dist/types/auth.d.ts +0 -67
- package/dist/types/auth.d.ts.map +0 -1
- package/dist/types/auth.js +0 -3
- package/dist/types/auth.js.map +0 -1
- package/dist/types/config.d.ts +0 -39
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -3
- package/dist/types/config.js.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -7
- package/dist/types/index.js.map +0 -1
- package/dist/types/layout.d.ts +0 -29
- package/dist/types/layout.d.ts.map +0 -1
- package/dist/types/layout.js +0 -3
- package/dist/types/layout.js.map +0 -1
- package/dist/types/mail/catalog.d.ts +0 -104
- package/dist/types/mail/catalog.d.ts.map +0 -1
- package/dist/types/mail/catalog.js +0 -3
- package/dist/types/mail/catalog.js.map +0 -1
- package/dist/types/mail/definition.d.ts +0 -68
- package/dist/types/mail/definition.d.ts.map +0 -1
- package/dist/types/mail/definition.js +0 -3
- package/dist/types/mail/definition.js.map +0 -1
- package/dist/types/mail/index.d.ts +0 -4
- package/dist/types/mail/index.d.ts.map +0 -1
- package/dist/types/mail/index.js +0 -3
- package/dist/types/mail/index.js.map +0 -1
- package/dist/types/mail/message.d.ts +0 -45
- package/dist/types/mail/message.d.ts.map +0 -1
- package/dist/types/mail/message.js +0 -3
- package/dist/types/mail/message.js.map +0 -1
- package/dist/types/metrics.d.ts +0 -46
- package/dist/types/metrics.d.ts.map +0 -1
- package/dist/types/metrics.js +0 -3
- package/dist/types/metrics.js.map +0 -1
- package/dist/types/resource.d.ts +0 -41
- package/dist/types/resource.d.ts.map +0 -1
- package/dist/types/resource.js +0 -3
- package/dist/types/resource.js.map +0 -1
- package/dist/utils/auth.d.ts +0 -4
- package/dist/utils/auth.d.ts.map +0 -1
- package/dist/utils/auth.js +0 -29
- package/dist/utils/auth.js.map +0 -1
- package/dist/utils/config.d.ts +0 -4
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -14
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/http.d.ts +0 -7
- package/dist/utils/http.d.ts.map +0 -1
- package/dist/utils/http.js +0 -61
- package/dist/utils/http.js.map +0 -1
- package/dist/utils/metricsRange.d.ts +0 -34
- package/dist/utils/metricsRange.d.ts.map +0 -1
- package/dist/utils/metricsRange.js +0 -121
- package/dist/utils/metricsRange.js.map +0 -1
- package/dist/utils/sidebar.d.ts +0 -2
- package/dist/utils/sidebar.d.ts.map +0 -1
- package/dist/utils/sidebar.js +0 -8
- package/dist/utils/sidebar.js.map +0 -1
- package/dist/utils/staticDir.d.ts +0 -2
- package/dist/utils/staticDir.d.ts.map +0 -1
- package/dist/utils/staticDir.js +0 -16
- package/dist/utils/staticDir.js.map +0 -1
- package/dist/utils/uploads.d.ts +0 -6
- package/dist/utils/uploads.d.ts.map +0 -1
- package/dist/utils/uploads.js +0 -66
- package/dist/utils/uploads.js.map +0 -1
package/dist/database/mongo.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { DatabaseAdapter } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Minimal MongoDB surface — duck-typed so @vertebr/admin does not require
|
|
4
|
-
* the official driver as a dependency.
|
|
5
|
-
*/
|
|
6
|
-
export type MongoCursorLike = {
|
|
7
|
-
sort: (sort: Record<string, 1 | -1>) => MongoCursorLike;
|
|
8
|
-
limit: (n: number) => MongoCursorLike;
|
|
9
|
-
toArray: () => Promise<Array<Record<string, unknown>>>;
|
|
10
|
-
};
|
|
11
|
-
export type MongoCollectionLike = {
|
|
12
|
-
find: (filter?: Record<string, unknown>) => MongoCursorLike;
|
|
13
|
-
findOne: (filter: Record<string, unknown>) => Promise<Record<string, unknown> | null>;
|
|
14
|
-
updateOne: (filter: Record<string, unknown>, update: Record<string, unknown>, options?: {
|
|
15
|
-
upsert?: boolean;
|
|
16
|
-
}) => Promise<unknown>;
|
|
17
|
-
insertOne: (doc: Record<string, unknown>) => Promise<{
|
|
18
|
-
insertedId?: unknown;
|
|
19
|
-
}>;
|
|
20
|
-
deleteOne: (filter: Record<string, unknown>) => Promise<unknown>;
|
|
21
|
-
countDocuments: (filter?: Record<string, unknown>) => Promise<number>;
|
|
22
|
-
};
|
|
23
|
-
export type MongoDbLike = {
|
|
24
|
-
collection: (name: string) => MongoCollectionLike;
|
|
25
|
-
};
|
|
26
|
-
export type MongoAdapterOptions = {
|
|
27
|
-
getDb: () => MongoDbLike | Promise<MongoDbLike>;
|
|
28
|
-
/** Field used as document id. @default "_id" mapped to `id` in rows. */
|
|
29
|
-
idField?: string;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Opt-in MongoDB adapter. The host app supplies `getDb()` — Vertebr never
|
|
33
|
-
* opens a Mongo connection string on its own.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* import { MongoClient } from "mongodb";
|
|
37
|
-
* const client = await MongoClient.connect(process.env.MONGO_URL!);
|
|
38
|
-
* const db = mongoAdapter({ getDb: () => client.db() });
|
|
39
|
-
*/
|
|
40
|
-
export declare function mongoAdapter(options: MongoAdapterOptions): DatabaseAdapter;
|
|
41
|
-
//# sourceMappingURL=mongo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/database/mongo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC;IAC5D,OAAO,EAAE,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,SAAS,EAAE,CACT,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,SAAS,EAAE,CACT,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,OAAO,CAAC;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAiFF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,eAAe,CAuF1E"}
|
package/dist/database/mongo.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mongoAdapter = mongoAdapter;
|
|
4
|
-
function serializeValue(value) {
|
|
5
|
-
if (value == null)
|
|
6
|
-
return value;
|
|
7
|
-
if (value instanceof Date)
|
|
8
|
-
return value.toISOString();
|
|
9
|
-
if (Array.isArray(value))
|
|
10
|
-
return value.map(serializeValue);
|
|
11
|
-
if (typeof value === "object") {
|
|
12
|
-
// ObjectId / Decimal128 etc. — prefer string form when available
|
|
13
|
-
if ("toHexString" in value &&
|
|
14
|
-
typeof value.toHexString === "function") {
|
|
15
|
-
return value.toHexString();
|
|
16
|
-
}
|
|
17
|
-
const out = {};
|
|
18
|
-
for (const [key, entry] of Object.entries(value)) {
|
|
19
|
-
out[key] = serializeValue(entry);
|
|
20
|
-
}
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
function toDoc(raw, idField) {
|
|
26
|
-
const data = serializeValue(raw);
|
|
27
|
-
const id = String(data.id ?? data[idField] ?? "");
|
|
28
|
-
const { [idField]: _mongoId, ...rest } = data;
|
|
29
|
-
return { ...rest, id };
|
|
30
|
-
}
|
|
31
|
-
function mongoOp(op) {
|
|
32
|
-
switch (op) {
|
|
33
|
-
case "==":
|
|
34
|
-
return "$eq";
|
|
35
|
-
case "!=":
|
|
36
|
-
return "$ne";
|
|
37
|
-
case ">":
|
|
38
|
-
return "$gt";
|
|
39
|
-
case "<":
|
|
40
|
-
return "$lt";
|
|
41
|
-
case ">=":
|
|
42
|
-
return "$gte";
|
|
43
|
-
case "<=":
|
|
44
|
-
return "$lte";
|
|
45
|
-
case "in":
|
|
46
|
-
return "$in";
|
|
47
|
-
case "array-contains":
|
|
48
|
-
return "$elemMatch";
|
|
49
|
-
default:
|
|
50
|
-
throw new Error(`Unsupported where op: ${String(op)}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function buildFilter(options, idField) {
|
|
54
|
-
const filter = {};
|
|
55
|
-
for (const clause of options?.where ?? []) {
|
|
56
|
-
const field = clause.field === "id" ? idField : clause.field;
|
|
57
|
-
if (clause.op === "==") {
|
|
58
|
-
filter[field] = clause.value;
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
if (clause.op === "array-contains") {
|
|
62
|
-
filter[field] = clause.value;
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
const current = filter[field] ?? {};
|
|
66
|
-
current[mongoOp(clause.op)] = clause.value;
|
|
67
|
-
filter[field] = current;
|
|
68
|
-
}
|
|
69
|
-
return filter;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Opt-in MongoDB adapter. The host app supplies `getDb()` — Vertebr never
|
|
73
|
-
* opens a Mongo connection string on its own.
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* import { MongoClient } from "mongodb";
|
|
77
|
-
* const client = await MongoClient.connect(process.env.MONGO_URL!);
|
|
78
|
-
* const db = mongoAdapter({ getDb: () => client.db() });
|
|
79
|
-
*/
|
|
80
|
-
function mongoAdapter(options) {
|
|
81
|
-
const idField = options.idField ?? "_id";
|
|
82
|
-
async function db() {
|
|
83
|
-
return options.getDb();
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
async list(collection, listOptions) {
|
|
87
|
-
const mongo = await db();
|
|
88
|
-
const filter = buildFilter(listOptions, idField);
|
|
89
|
-
let cursor = mongo.collection(collection).find(filter);
|
|
90
|
-
if (listOptions?.orderBy) {
|
|
91
|
-
const field = listOptions.orderBy.field === "id"
|
|
92
|
-
? idField
|
|
93
|
-
: listOptions.orderBy.field;
|
|
94
|
-
const direction = listOptions.orderBy.direction?.toLowerCase() === "desc" ? -1 : 1;
|
|
95
|
-
cursor = cursor.sort({ [field]: direction });
|
|
96
|
-
}
|
|
97
|
-
const rows = listOptions?.limit != null
|
|
98
|
-
? await cursor.limit(listOptions.limit).toArray()
|
|
99
|
-
: await cursor.toArray();
|
|
100
|
-
return rows.map((row) => toDoc(row, idField));
|
|
101
|
-
},
|
|
102
|
-
async get(collection, id) {
|
|
103
|
-
const mongo = await db();
|
|
104
|
-
const row = await mongo.collection(collection).findOne({ [idField]: id });
|
|
105
|
-
return row ? toDoc(row, idField) : null;
|
|
106
|
-
},
|
|
107
|
-
async set(collection, id, value, setOptions) {
|
|
108
|
-
const mongo = await db();
|
|
109
|
-
const merge = setOptions?.merge ?? true;
|
|
110
|
-
const payload = { ...value };
|
|
111
|
-
delete payload.id;
|
|
112
|
-
delete payload[idField];
|
|
113
|
-
if (merge) {
|
|
114
|
-
await mongo.collection(collection).updateOne({ [idField]: id }, { $set: { ...payload, [idField]: id } }, { upsert: true });
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
// Full replace — drop previous fields by rewriting the document.
|
|
118
|
-
await mongo.collection(collection).deleteOne({ [idField]: id });
|
|
119
|
-
await mongo.collection(collection).insertOne({
|
|
120
|
-
...payload,
|
|
121
|
-
[idField]: id,
|
|
122
|
-
});
|
|
123
|
-
},
|
|
124
|
-
async create(collection, value, id) {
|
|
125
|
-
const mongo = await db();
|
|
126
|
-
const resolvedId = id ??
|
|
127
|
-
(typeof value.id === "string" ? value.id : undefined) ??
|
|
128
|
-
(typeof crypto !== "undefined" && "randomUUID" in crypto
|
|
129
|
-
? crypto.randomUUID()
|
|
130
|
-
: `row_${Date.now().toString(36)}`);
|
|
131
|
-
const payload = { ...value };
|
|
132
|
-
delete payload.id;
|
|
133
|
-
await mongo.collection(collection).insertOne({
|
|
134
|
-
...payload,
|
|
135
|
-
[idField]: resolvedId,
|
|
136
|
-
});
|
|
137
|
-
return { id: resolvedId, ...payload };
|
|
138
|
-
},
|
|
139
|
-
async remove(collection, id) {
|
|
140
|
-
const mongo = await db();
|
|
141
|
-
await mongo.collection(collection).deleteOne({ [idField]: id });
|
|
142
|
-
},
|
|
143
|
-
async count(collection, listOptions) {
|
|
144
|
-
const mongo = await db();
|
|
145
|
-
return mongo
|
|
146
|
-
.collection(collection)
|
|
147
|
-
.countDocuments(buildFilter(listOptions, idField));
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=mongo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/database/mongo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { DatabaseAdapter } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Minimal Postgres client surface (`pg` Pool / Client, postgres.js, etc.).
|
|
4
|
-
* Duck-typed so @vertebr/admin does not require `pg` as a dependency.
|
|
5
|
-
*/
|
|
6
|
-
export type PostgresQueryable = {
|
|
7
|
-
query: (text: string, values?: unknown[]) => Promise<{
|
|
8
|
-
rows: Array<Record<string, unknown>>;
|
|
9
|
-
}>;
|
|
10
|
-
};
|
|
11
|
-
export type PostgresAdapterMode = "flat" | "jsonb";
|
|
12
|
-
export type PostgresAdapterOptions = {
|
|
13
|
-
/**
|
|
14
|
-
* Return a queryable client/pool for the current call.
|
|
15
|
-
* Use ALS / env switching here so Vertebr stays DB-agnostic.
|
|
16
|
-
*/
|
|
17
|
-
getClient: () => PostgresQueryable | Promise<PostgresQueryable>;
|
|
18
|
-
/**
|
|
19
|
-
* `flat` — row columns are document fields (default).
|
|
20
|
-
* `jsonb` — table has `id` + JSON `data` column (document store).
|
|
21
|
-
*/
|
|
22
|
-
mode?: PostgresAdapterMode;
|
|
23
|
-
/** Primary key column. @default "id" */
|
|
24
|
-
idColumn?: string;
|
|
25
|
-
/** JSONB payload column when mode is `jsonb`. @default "data" */
|
|
26
|
-
dataColumn?: string;
|
|
27
|
-
/** Optional schema prefix, e.g. `public` → `"public"."products"`. */
|
|
28
|
-
schema?: string;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Opt-in Postgres adapter. The host app supplies `getClient()` — Vertebr
|
|
32
|
-
* never opens a database URL on its own.
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* import pg from "pg";
|
|
36
|
-
* const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
|
|
37
|
-
* const db = postgresAdapter({ getClient: () => pool, mode: "jsonb" });
|
|
38
|
-
*/
|
|
39
|
-
export declare function postgresAdapter(options: PostgresAdapterOptions): DatabaseAdapter;
|
|
40
|
-
/** Suggested DDL for jsonb-mode tables used with `postgresAdapter`. */
|
|
41
|
-
export declare function postgresJsonbTableDDL(table: string, options?: {
|
|
42
|
-
schema?: string;
|
|
43
|
-
idColumn?: string;
|
|
44
|
-
dataColumn?: string;
|
|
45
|
-
}): string;
|
|
46
|
-
//# sourceMappingURL=postgres.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/database/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,KACf,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,SAAS,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE;;;OAGG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA8KF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,sBAAsB,GAC9B,eAAe,CA2JjB;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,MAAM,CASR"}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.postgresAdapter = postgresAdapter;
|
|
4
|
-
exports.postgresJsonbTableDDL = postgresJsonbTableDDL;
|
|
5
|
-
function assertIdent(name, label) {
|
|
6
|
-
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name)) {
|
|
7
|
-
throw new Error(`Invalid SQL ${label}: "${name}"`);
|
|
8
|
-
}
|
|
9
|
-
return name;
|
|
10
|
-
}
|
|
11
|
-
function quoteIdent(name) {
|
|
12
|
-
return `"${assertIdent(name, "identifier")}"`;
|
|
13
|
-
}
|
|
14
|
-
function quoteLiteral(value) {
|
|
15
|
-
return `'${value.replace(/'/g, "''")}'`;
|
|
16
|
-
}
|
|
17
|
-
function tableRef(collection, schema) {
|
|
18
|
-
const table = quoteIdent(collection);
|
|
19
|
-
if (!schema)
|
|
20
|
-
return table;
|
|
21
|
-
return `${quoteIdent(schema)}.${table}`;
|
|
22
|
-
}
|
|
23
|
-
function serializeValue(value) {
|
|
24
|
-
if (value == null)
|
|
25
|
-
return value;
|
|
26
|
-
if (value instanceof Date)
|
|
27
|
-
return value.toISOString();
|
|
28
|
-
if (Array.isArray(value))
|
|
29
|
-
return value.map(serializeValue);
|
|
30
|
-
if (typeof value === "object") {
|
|
31
|
-
const out = {};
|
|
32
|
-
for (const [key, entry] of Object.entries(value)) {
|
|
33
|
-
out[key] = serializeValue(entry);
|
|
34
|
-
}
|
|
35
|
-
return out;
|
|
36
|
-
}
|
|
37
|
-
return value;
|
|
38
|
-
}
|
|
39
|
-
function rowToDoc(row, idColumn, mode, dataColumn) {
|
|
40
|
-
if (mode === "jsonb") {
|
|
41
|
-
const raw = row[dataColumn];
|
|
42
|
-
const data = raw && typeof raw === "object" && !Array.isArray(raw)
|
|
43
|
-
? serializeValue(raw)
|
|
44
|
-
: {};
|
|
45
|
-
const id = String(row[idColumn] ?? data.id ?? "");
|
|
46
|
-
return { id, ...data, [idColumn]: id };
|
|
47
|
-
}
|
|
48
|
-
const data = serializeValue(row);
|
|
49
|
-
const id = String(data[idColumn] ?? "");
|
|
50
|
-
return { ...data, id };
|
|
51
|
-
}
|
|
52
|
-
function sqlOp(op) {
|
|
53
|
-
switch (op) {
|
|
54
|
-
case "==":
|
|
55
|
-
return "=";
|
|
56
|
-
case "!=":
|
|
57
|
-
return "<>";
|
|
58
|
-
case ">":
|
|
59
|
-
case "<":
|
|
60
|
-
case ">=":
|
|
61
|
-
case "<=":
|
|
62
|
-
return op;
|
|
63
|
-
case "in":
|
|
64
|
-
return "IN";
|
|
65
|
-
case "array-contains":
|
|
66
|
-
return "@>";
|
|
67
|
-
default:
|
|
68
|
-
throw new Error(`Unsupported where op: ${String(op)}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function fieldExpr(field, mode, dataColumn) {
|
|
72
|
-
const safe = assertIdent(field, "field");
|
|
73
|
-
if (mode === "jsonb") {
|
|
74
|
-
return `${quoteIdent(dataColumn)}->>${quoteLiteral(safe)}`;
|
|
75
|
-
}
|
|
76
|
-
return quoteIdent(safe);
|
|
77
|
-
}
|
|
78
|
-
function buildWhere(options, mode, dataColumn) {
|
|
79
|
-
const values = [];
|
|
80
|
-
const parts = [];
|
|
81
|
-
let index = 1;
|
|
82
|
-
for (const clause of options?.where ?? []) {
|
|
83
|
-
const column = fieldExpr(clause.field, mode, dataColumn);
|
|
84
|
-
const op = sqlOp(clause.op);
|
|
85
|
-
if (clause.op === "in") {
|
|
86
|
-
if (!Array.isArray(clause.value)) {
|
|
87
|
-
throw new Error(`Where "in" requires an array for ${clause.field}`);
|
|
88
|
-
}
|
|
89
|
-
if (clause.value.length === 0) {
|
|
90
|
-
parts.push("FALSE");
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
const slots = clause.value.map((entry) => {
|
|
94
|
-
values.push(entry);
|
|
95
|
-
return `$${index++}`;
|
|
96
|
-
});
|
|
97
|
-
parts.push(`${column} IN (${slots.join(", ")})`);
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
if (clause.op === "array-contains") {
|
|
101
|
-
if (mode !== "jsonb") {
|
|
102
|
-
throw new Error(`array-contains is only supported in jsonb mode (field: ${clause.field})`);
|
|
103
|
-
}
|
|
104
|
-
const safe = assertIdent(clause.field, "field");
|
|
105
|
-
values.push(JSON.stringify([clause.value]));
|
|
106
|
-
parts.push(`${quoteIdent(dataColumn)}->${quoteLiteral(safe)} @> $${index++}::jsonb`);
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
values.push(clause.value);
|
|
110
|
-
parts.push(`${column} ${op} $${index++}`);
|
|
111
|
-
}
|
|
112
|
-
return {
|
|
113
|
-
sql: parts.length ? ` WHERE ${parts.join(" AND ")}` : "",
|
|
114
|
-
values,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
function buildOrderLimit(options, mode, dataColumn) {
|
|
118
|
-
let sql = "";
|
|
119
|
-
if (options?.orderBy) {
|
|
120
|
-
const column = fieldExpr(options.orderBy.field, mode, dataColumn);
|
|
121
|
-
const direction = options.orderBy.direction?.toLowerCase() === "desc" ? "DESC" : "ASC";
|
|
122
|
-
sql += ` ORDER BY ${column} ${direction}`;
|
|
123
|
-
}
|
|
124
|
-
if (options?.limit != null) {
|
|
125
|
-
const limit = Number(options.limit);
|
|
126
|
-
if (!Number.isFinite(limit) || limit < 0) {
|
|
127
|
-
throw new Error(`Invalid limit: ${options.limit}`);
|
|
128
|
-
}
|
|
129
|
-
sql += ` LIMIT ${Math.floor(limit)}`;
|
|
130
|
-
}
|
|
131
|
-
return sql;
|
|
132
|
-
}
|
|
133
|
-
function cryptoRandomId() {
|
|
134
|
-
if (typeof crypto !== "undefined" && "randomUUID" in crypto) {
|
|
135
|
-
return crypto.randomUUID();
|
|
136
|
-
}
|
|
137
|
-
return `row_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Opt-in Postgres adapter. The host app supplies `getClient()` — Vertebr
|
|
141
|
-
* never opens a database URL on its own.
|
|
142
|
-
*
|
|
143
|
-
* @example
|
|
144
|
-
* import pg from "pg";
|
|
145
|
-
* const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
|
|
146
|
-
* const db = postgresAdapter({ getClient: () => pool, mode: "jsonb" });
|
|
147
|
-
*/
|
|
148
|
-
function postgresAdapter(options) {
|
|
149
|
-
const mode = options.mode ?? "flat";
|
|
150
|
-
const idColumn = options.idColumn ?? "id";
|
|
151
|
-
const dataColumn = options.dataColumn ?? "data";
|
|
152
|
-
assertIdent(idColumn, "idColumn");
|
|
153
|
-
assertIdent(dataColumn, "dataColumn");
|
|
154
|
-
async function client() {
|
|
155
|
-
return options.getClient();
|
|
156
|
-
}
|
|
157
|
-
function ref(collection) {
|
|
158
|
-
return tableRef(collection, options.schema);
|
|
159
|
-
}
|
|
160
|
-
async function set(collection, id, value, setOptions) {
|
|
161
|
-
const db = await client();
|
|
162
|
-
const merge = setOptions?.merge ?? true;
|
|
163
|
-
const payload = { ...value };
|
|
164
|
-
delete payload.id;
|
|
165
|
-
if (idColumn !== "id")
|
|
166
|
-
delete payload[idColumn];
|
|
167
|
-
if (mode === "jsonb") {
|
|
168
|
-
const json = JSON.stringify(serializeValue(payload));
|
|
169
|
-
if (merge) {
|
|
170
|
-
await db.query(`INSERT INTO ${ref(collection)} (${quoteIdent(idColumn)}, ${quoteIdent(dataColumn)})
|
|
171
|
-
VALUES ($1, $2::jsonb)
|
|
172
|
-
ON CONFLICT (${quoteIdent(idColumn)}) DO UPDATE SET
|
|
173
|
-
${quoteIdent(dataColumn)} = COALESCE(${ref(collection)}.${quoteIdent(dataColumn)}, '{}'::jsonb) || EXCLUDED.${quoteIdent(dataColumn)}`, [id, json]);
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
await db.query(`INSERT INTO ${ref(collection)} (${quoteIdent(idColumn)}, ${quoteIdent(dataColumn)})
|
|
177
|
-
VALUES ($1, $2::jsonb)
|
|
178
|
-
ON CONFLICT (${quoteIdent(idColumn)}) DO UPDATE SET
|
|
179
|
-
${quoteIdent(dataColumn)} = EXCLUDED.${quoteIdent(dataColumn)}`, [id, json]);
|
|
180
|
-
}
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
const existing = await db.query(`SELECT * FROM ${ref(collection)} WHERE ${quoteIdent(idColumn)} = $1 LIMIT 1`, [id]);
|
|
184
|
-
const current = (existing.rows[0] ?? {});
|
|
185
|
-
const serialized = serializeValue(payload);
|
|
186
|
-
const serializedObj = serialized && typeof serialized === "object" && !Array.isArray(serialized)
|
|
187
|
-
? serialized
|
|
188
|
-
: {};
|
|
189
|
-
const next = merge
|
|
190
|
-
? { ...current, ...serializedObj, [idColumn]: id }
|
|
191
|
-
: { ...serializedObj, [idColumn]: id };
|
|
192
|
-
// Keep the primary key; only drop a separate `id` field when PK is renamed.
|
|
193
|
-
if (idColumn !== "id") {
|
|
194
|
-
delete next.id;
|
|
195
|
-
}
|
|
196
|
-
const columns = Object.keys(next);
|
|
197
|
-
if (columns.length === 0) {
|
|
198
|
-
await db.query(`INSERT INTO ${ref(collection)} (${quoteIdent(idColumn)}) VALUES ($1)
|
|
199
|
-
ON CONFLICT (${quoteIdent(idColumn)}) DO NOTHING`, [id]);
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const insertCols = columns.map(quoteIdent).join(", ");
|
|
203
|
-
const insertVals = columns.map((_, i) => `$${i + 1}`).join(", ");
|
|
204
|
-
const updateCols = columns.filter((col) => col !== idColumn);
|
|
205
|
-
const updates = updateCols.length > 0
|
|
206
|
-
? updateCols
|
|
207
|
-
.map((col) => `${quoteIdent(col)} = EXCLUDED.${quoteIdent(col)}`)
|
|
208
|
-
.join(", ")
|
|
209
|
-
: `${quoteIdent(idColumn)} = EXCLUDED.${quoteIdent(idColumn)}`;
|
|
210
|
-
const values = columns.map((col) => next[col]);
|
|
211
|
-
await db.query(`INSERT INTO ${ref(collection)} (${insertCols})
|
|
212
|
-
VALUES (${insertVals})
|
|
213
|
-
ON CONFLICT (${quoteIdent(idColumn)}) DO UPDATE SET ${updates}`, values);
|
|
214
|
-
}
|
|
215
|
-
async function get(collection, id) {
|
|
216
|
-
const db = await client();
|
|
217
|
-
const result = await db.query(`SELECT * FROM ${ref(collection)} WHERE ${quoteIdent(idColumn)} = $1 LIMIT 1`, [id]);
|
|
218
|
-
const row = result.rows[0];
|
|
219
|
-
return row ? rowToDoc(row, idColumn, mode, dataColumn) : null;
|
|
220
|
-
}
|
|
221
|
-
return {
|
|
222
|
-
async list(collection, listOptions) {
|
|
223
|
-
const db = await client();
|
|
224
|
-
const where = buildWhere(listOptions, mode, dataColumn);
|
|
225
|
-
const orderLimit = buildOrderLimit(listOptions, mode, dataColumn);
|
|
226
|
-
const result = await db.query(`SELECT * FROM ${ref(collection)}${where.sql}${orderLimit}`, where.values);
|
|
227
|
-
return result.rows.map((row) => rowToDoc(row, idColumn, mode, dataColumn));
|
|
228
|
-
},
|
|
229
|
-
get,
|
|
230
|
-
set,
|
|
231
|
-
async create(collection, value, id) {
|
|
232
|
-
const resolvedId = id ??
|
|
233
|
-
(typeof value.id === "string" ? value.id : undefined) ??
|
|
234
|
-
cryptoRandomId();
|
|
235
|
-
await set(collection, resolvedId, value, { merge: true });
|
|
236
|
-
const doc = await get(collection, resolvedId);
|
|
237
|
-
return doc ?? { id: resolvedId, ...value };
|
|
238
|
-
},
|
|
239
|
-
async remove(collection, id) {
|
|
240
|
-
const db = await client();
|
|
241
|
-
await db.query(`DELETE FROM ${ref(collection)} WHERE ${quoteIdent(idColumn)} = $1`, [id]);
|
|
242
|
-
},
|
|
243
|
-
async count(collection, listOptions) {
|
|
244
|
-
const db = await client();
|
|
245
|
-
const where = buildWhere(listOptions, mode, dataColumn);
|
|
246
|
-
const result = await db.query(`SELECT COUNT(*)::int AS count FROM ${ref(collection)}${where.sql}`, where.values);
|
|
247
|
-
return Number(result.rows[0]?.count ?? 0);
|
|
248
|
-
},
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
/** Suggested DDL for jsonb-mode tables used with `postgresAdapter`. */
|
|
252
|
-
function postgresJsonbTableDDL(table, options) {
|
|
253
|
-
const idColumn = options?.idColumn ?? "id";
|
|
254
|
-
const dataColumn = options?.dataColumn ?? "data";
|
|
255
|
-
const name = tableRef(table, options?.schema);
|
|
256
|
-
return `CREATE TABLE IF NOT EXISTS ${name} (
|
|
257
|
-
${quoteIdent(idColumn)} TEXT PRIMARY KEY,
|
|
258
|
-
${quoteIdent(dataColumn)} JSONB NOT NULL DEFAULT '{}'::jsonb,
|
|
259
|
-
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
260
|
-
);`;
|
|
261
|
-
}
|
|
262
|
-
//# sourceMappingURL=postgres.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/database/postgres.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare class VertebrAuthError extends Error {
|
|
2
|
-
readonly statusCode = 401;
|
|
3
|
-
constructor(message?: string);
|
|
4
|
-
}
|
|
5
|
-
export declare class VertebrNotFoundError extends Error {
|
|
6
|
-
readonly statusCode = 404;
|
|
7
|
-
constructor(message?: string);
|
|
8
|
-
}
|
|
9
|
-
export declare class VertebrEnvError extends Error {
|
|
10
|
-
readonly statusCode = 400;
|
|
11
|
-
constructor(message?: string);
|
|
12
|
-
}
|
|
13
|
-
export declare class VertebrBadRequestError extends Error {
|
|
14
|
-
readonly statusCode = 400;
|
|
15
|
-
constructor(message?: string);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,UAAU,OAAO;gBACd,OAAO,SAAiB;CAIrC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,UAAU,OAAO;gBACd,OAAO,SAAc;CAIlC;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,UAAU,OAAO;gBACd,OAAO,SAAwB;CAI5C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,OAAO;gBACd,OAAO,SAAgB;CAIpC"}
|
package/dist/errors.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VertebrBadRequestError = exports.VertebrEnvError = exports.VertebrNotFoundError = exports.VertebrAuthError = void 0;
|
|
4
|
-
class VertebrAuthError extends Error {
|
|
5
|
-
statusCode = 401;
|
|
6
|
-
constructor(message = "Unauthorized") {
|
|
7
|
-
super(message);
|
|
8
|
-
this.name = "VertebrAuthError";
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.VertebrAuthError = VertebrAuthError;
|
|
12
|
-
class VertebrNotFoundError extends Error {
|
|
13
|
-
statusCode = 404;
|
|
14
|
-
constructor(message = "Not found") {
|
|
15
|
-
super(message);
|
|
16
|
-
this.name = "VertebrNotFoundError";
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.VertebrNotFoundError = VertebrNotFoundError;
|
|
20
|
-
class VertebrEnvError extends Error {
|
|
21
|
-
statusCode = 400;
|
|
22
|
-
constructor(message = "Invalid environment") {
|
|
23
|
-
super(message);
|
|
24
|
-
this.name = "VertebrEnvError";
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.VertebrEnvError = VertebrEnvError;
|
|
28
|
-
class VertebrBadRequestError extends Error {
|
|
29
|
-
statusCode = 400;
|
|
30
|
-
constructor(message = "Bad request") {
|
|
31
|
-
super(message);
|
|
32
|
-
this.name = "VertebrBadRequestError";
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.VertebrBadRequestError = VertebrBadRequestError;
|
|
36
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAiB,SAAQ,KAAK;IAChC,UAAU,GAAG,GAAG,CAAC;IAC1B,YAAY,OAAO,GAAG,cAAc;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAND,4CAMC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IACpC,UAAU,GAAG,GAAG,CAAC;IAC1B,YAAY,OAAO,GAAG,WAAW;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAND,oDAMC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAC/B,UAAU,GAAG,GAAG,CAAC;IAC1B,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAND,0CAMC;AAED,MAAa,sBAAuB,SAAQ,KAAK;IACtC,UAAU,GAAG,GAAG,CAAC;IAC1B,YAAY,OAAO,GAAG,aAAa;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAND,wDAMC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { AdminState } from "../services/state";
|
|
2
|
-
export declare function bootstrapHandler(state: AdminState): Promise<{
|
|
3
|
-
ok: boolean;
|
|
4
|
-
brand: string;
|
|
5
|
-
defaultEnvironment: string;
|
|
6
|
-
environments: {
|
|
7
|
-
id: string;
|
|
8
|
-
label: string;
|
|
9
|
-
tone: "neutral" | "warn" | "danger";
|
|
10
|
-
auth: import("../types").EnvironmentAuthPublic;
|
|
11
|
-
}[];
|
|
12
|
-
}>;
|
|
13
|
-
export declare function catalogHandler(state: AdminState, request: unknown): Promise<{
|
|
14
|
-
ok: boolean;
|
|
15
|
-
brand: string;
|
|
16
|
-
environment: string;
|
|
17
|
-
environments: {
|
|
18
|
-
id: string;
|
|
19
|
-
label: string;
|
|
20
|
-
tone: "neutral" | "warn" | "danger";
|
|
21
|
-
auth: import("../types").EnvironmentAuthPublic;
|
|
22
|
-
}[];
|
|
23
|
-
defaultEnvironment: string;
|
|
24
|
-
resources: {
|
|
25
|
-
id: string;
|
|
26
|
-
label: string;
|
|
27
|
-
schema: Record<string, import("../../schema").FieldSchema>;
|
|
28
|
-
permissions: {
|
|
29
|
-
create: boolean;
|
|
30
|
-
update: boolean;
|
|
31
|
-
delete: boolean;
|
|
32
|
-
};
|
|
33
|
-
uploads: Record<string, import("../../schema").ResourceUploadMeta> | undefined;
|
|
34
|
-
}[];
|
|
35
|
-
configs: {
|
|
36
|
-
id: string;
|
|
37
|
-
label: string;
|
|
38
|
-
schema: Record<string, import("../../schema").FieldSchema>;
|
|
39
|
-
section: string;
|
|
40
|
-
}[];
|
|
41
|
-
metrics: {
|
|
42
|
-
id: string;
|
|
43
|
-
label: string;
|
|
44
|
-
} | null;
|
|
45
|
-
gallery: {
|
|
46
|
-
id: string;
|
|
47
|
-
label: string;
|
|
48
|
-
accept: string[];
|
|
49
|
-
maxBytes: number;
|
|
50
|
-
canDelete: boolean;
|
|
51
|
-
} | null;
|
|
52
|
-
}>;
|
|
53
|
-
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/index/api/catalog.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU;;;;;;;;;;GAYvD;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CvE"}
|