@rpcbase/db 0.7.0 → 0.9.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.js +21 -15
- package/dist/loadModel.d.ts.map +1 -1
- package/dist/models/Tenant.d.ts +3 -3
- package/dist/models/Tenant.d.ts.map +1 -1
- package/dist/models/User.d.ts +3 -3
- package/dist/models/User.d.ts.map +1 -1
- package/dist/schema/extension.d.ts +2 -0
- package/dist/schema/extension.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { z, ZodMap, ZodRecord, ZodAny, ZodUnion, ZodNullable, ZodOptional, ZodDe
|
|
|
3
3
|
export * from "zod";
|
|
4
4
|
import { z as z2 } from "zod";
|
|
5
5
|
import assert from "assert";
|
|
6
|
-
const
|
|
6
|
+
const ZRBUser = z.object({
|
|
7
7
|
email: z.string().email().optional(),
|
|
8
8
|
password: z.string(),
|
|
9
9
|
name: z.string().optional(),
|
|
@@ -12,7 +12,7 @@ const ZUser = z.object({
|
|
|
12
12
|
email_verification_code: z.string().length(6).optional(),
|
|
13
13
|
email_verification_expires_at: z.date().optional()
|
|
14
14
|
});
|
|
15
|
-
const
|
|
15
|
+
const RBUserSchema = new Schema({
|
|
16
16
|
email: { type: String, unique: true, sparse: true },
|
|
17
17
|
phone: { type: String, unique: true, sparse: true },
|
|
18
18
|
password: { type: String, required: true },
|
|
@@ -20,23 +20,23 @@ const UserSchema = new Schema({
|
|
|
20
20
|
tenants: { type: [String], index: true, required: true },
|
|
21
21
|
email_verification_code: { type: String, required: false },
|
|
22
22
|
email_verification_expires_at: { type: Date, required: false }
|
|
23
|
-
});
|
|
24
|
-
const
|
|
23
|
+
}, { collection: "users" });
|
|
24
|
+
const ZRBTenant = z.object({
|
|
25
25
|
tenant_id: z.string(),
|
|
26
26
|
parent_tenant_id: z.string().optional(),
|
|
27
27
|
name: z.string().optional()
|
|
28
28
|
});
|
|
29
|
-
const
|
|
29
|
+
const RBTenantSchema = new Schema({
|
|
30
30
|
tenant_id: { type: String, required: true, unique: true, index: true },
|
|
31
31
|
parent_tenant_id: { type: String },
|
|
32
32
|
name: { type: String }
|
|
33
|
-
});
|
|
33
|
+
}, { collection: "tenants" });
|
|
34
34
|
const frameworkSchemas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
35
35
|
__proto__: null,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
RBTenantSchema,
|
|
37
|
+
RBUserSchema,
|
|
38
|
+
ZRBTenant,
|
|
39
|
+
ZRBUser
|
|
40
40
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
41
41
|
const zmAssert$4 = {
|
|
42
42
|
string(f) {
|
|
@@ -350,6 +350,10 @@ const zUUID = (ref) => {
|
|
|
350
350
|
};
|
|
351
351
|
return output;
|
|
352
352
|
};
|
|
353
|
+
const zI18nString = () => z.record(
|
|
354
|
+
z.string().regex(/^[A-Za-z]{2}$/i, { message: "Expected a country code (ISO 3166-1 alpha-2)." }),
|
|
355
|
+
z.string()
|
|
356
|
+
);
|
|
353
357
|
function zodSchema(schema, options) {
|
|
354
358
|
const definition = parseObject(schema);
|
|
355
359
|
return new Schema(definition, options);
|
|
@@ -681,7 +685,8 @@ const loadModel = async (modelName, ctx) => {
|
|
|
681
685
|
const models = getRegisteredModels();
|
|
682
686
|
const tenantId = ctx.req.session?.user?.current_tenant_id || "00000000";
|
|
683
687
|
assert(tenantId, "Tenant ID is missing from session");
|
|
684
|
-
const
|
|
688
|
+
const userModelNames = ["User", "Tenant", "RBUser", "RBTenant"];
|
|
689
|
+
const dbName = userModelNames.includes(modelName) ? `${APP_NAME}-users-db` : `${APP_NAME}-${tenantId}-db`;
|
|
685
690
|
const connectionString = `mongodb://localhost:${DB_PORT}/${dbName}`;
|
|
686
691
|
if (!connections[dbName]) {
|
|
687
692
|
const connection = mongoose.createConnection(connectionString, {
|
|
@@ -710,15 +715,16 @@ const loadModel = async (modelName, ctx) => {
|
|
|
710
715
|
return modelConnection.models[modelName];
|
|
711
716
|
};
|
|
712
717
|
export {
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
718
|
+
RBTenantSchema,
|
|
719
|
+
RBUserSchema,
|
|
720
|
+
ZRBTenant,
|
|
721
|
+
ZRBUser,
|
|
717
722
|
extendZod,
|
|
718
723
|
getRegisteredModels,
|
|
719
724
|
loadModel,
|
|
720
725
|
registerModels,
|
|
721
726
|
z2 as z,
|
|
727
|
+
zI18nString,
|
|
722
728
|
zId,
|
|
723
729
|
zUUID,
|
|
724
730
|
zodSchema,
|
package/dist/loadModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadModel.d.ts","sourceRoot":"","sources":["../src/loadModel.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAK/B,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE;QACH,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,EAAE;gBACL,iBAAiB,CAAC,EAAE,MAAM,CAAC;aAC5B,CAAA;SACF,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAKF,eAAO,MAAM,SAAS,GAAU,WAAW,MAAM,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"loadModel.d.ts","sourceRoot":"","sources":["../src/loadModel.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAK/B,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE;QACH,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,EAAE;gBACL,iBAAiB,CAAC,EAAE,MAAM,CAAC;aAC5B,CAAA;SACF,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAKF,eAAO,MAAM,SAAS,GAAU,WAAW,MAAM,EAAE,KAAK,YAAY,uDA4CnE,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/models/Tenant.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Schema } from '../../../vite/node_modules/mongoose';
|
|
2
2
|
import { z } from '../../../vite/node_modules/zod';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const ZRBTenant: z.ZodObject<{
|
|
4
4
|
tenant_id: z.ZodString;
|
|
5
5
|
parent_tenant_id: z.ZodOptional<z.ZodString>;
|
|
6
6
|
name: z.ZodOptional<z.ZodString>;
|
|
7
7
|
}, z.core.$strip>;
|
|
8
|
-
export type
|
|
9
|
-
export declare const
|
|
8
|
+
export type IRBTenant = z.infer<typeof ZRBTenant>;
|
|
9
|
+
export declare const RBTenantSchema: Schema;
|
|
10
10
|
//# sourceMappingURL=Tenant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tenant.d.ts","sourceRoot":"","sources":["../../src/models/Tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"Tenant.d.ts","sourceRoot":"","sources":["../../src/models/Tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,SAAS;;;;iBAIpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAIA,CAAA"}
|
package/dist/models/User.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from '../../../vite/node_modules/mongoose';
|
|
2
2
|
import { z } from '../../../vite/node_modules/zod';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const ZRBUser: z.ZodObject<{
|
|
4
4
|
email: z.ZodOptional<z.ZodString>;
|
|
5
5
|
password: z.ZodString;
|
|
6
6
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -9,6 +9,6 @@ export declare const ZUser: z.ZodObject<{
|
|
|
9
9
|
email_verification_code: z.ZodOptional<z.ZodString>;
|
|
10
10
|
email_verification_expires_at: z.ZodOptional<z.ZodDate>;
|
|
11
11
|
}, z.core.$strip>;
|
|
12
|
-
export type
|
|
13
|
-
export declare const
|
|
12
|
+
export type IRBUser = z.infer<typeof ZRBUser>;
|
|
13
|
+
export declare const RBUserSchema: Schema;
|
|
14
14
|
//# sourceMappingURL=User.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,OAAO;;;;;;;;iBAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAE,MAQA,CAAA"}
|
|
@@ -62,5 +62,7 @@ export type TzmUUID = ReturnType<typeof createUUID> & {
|
|
|
62
62
|
};
|
|
63
63
|
declare const createUUID: () => z.ZodUnion<[z.ZodUUID, z.ZodCustom<Types.UUID, Types.UUID>]>;
|
|
64
64
|
export declare const zUUID: (ref?: string) => TzmUUID;
|
|
65
|
+
export type I18nStringRecord = Record<string, string>;
|
|
66
|
+
export declare const zI18nString: () => z.ZodRecord<z.ZodString, z.ZodString>;
|
|
65
67
|
export {};
|
|
66
68
|
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/schema/extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAmB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,SAAS;QACjB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;IAED,UAAU,SAAS;QACjB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;IAED,UAAU,OAAO;QACf,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;QAClC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;QAClC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;CAEF;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,QA2DtC;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG;IAChD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IAChC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;CAChC,CAAA;AAED,QAAA,MAAM,QAAQ,8EAKb,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,KAoDlC,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG;IACpD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAClC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAClC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,QAAA,MAAM,UAAU,oEAEf,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,OAoDpC,CAAA"}
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/schema/extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAmB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,SAAS;QACjB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;IAED,UAAU,SAAS;QACjB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,CAAA;QACpC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;IAED,UAAU,OAAO;QACf,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;QAClC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;QAClC,WAAW,EAAE,OAAO,CAAA;QACpB,WAAW,EAAE,OAAO,CAAA;KACrB;CAEF;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,QA2DtC;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG;IAChD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IAChC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;CAChC,CAAA;AAED,QAAA,MAAM,QAAQ,8EAKb,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,KAoDlC,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG;IACpD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAClC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAClC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,QAAA,MAAM,UAAU,oEAEf,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,OAoDpC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAErD,eAAO,MAAM,WAAW,QAMjB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rpcbase/db",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"mongoose": "^8",
|
|
53
|
+
"mongoose": "^8 || ^9",
|
|
54
54
|
"zod": "^4"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|