@rpcbase/db 0.17.0 → 0.19.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/createModels.d.ts +18 -0
- package/dist/createModels.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -10
- package/dist/loadModel.d.ts +1 -0
- package/dist/loadModel.d.ts.map +1 -1
- package/dist/models/RtsChange.d.ts +3 -0
- package/dist/models/RtsChange.d.ts.map +1 -0
- package/dist/models/RtsCounter.d.ts +3 -0
- package/dist/models/RtsCounter.d.ts.map +1 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/registerModels.d.ts.map +1 -1
- package/dist/rtsChangeLogPlugin.d.ts +3 -0
- package/dist/rtsChangeLogPlugin.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LoadModelCtx, loadModel, loadRbModel } from './loadModel';
|
|
2
|
+
import { ModelModules } from './registerModels';
|
|
3
|
+
import type * as frameworkSchemas from "./models";
|
|
4
|
+
type ExtractModelNamesFromSchemas<TModules> = {
|
|
5
|
+
[K in keyof TModules]-?: K extends `${infer Name}Schema` ? Name : never;
|
|
6
|
+
}[keyof TModules] & string;
|
|
7
|
+
type FrameworkModelName = ExtractModelNamesFromSchemas<typeof frameworkSchemas>;
|
|
8
|
+
type WithoutRbPrefix<TName extends string> = TName extends `RB${string}` ? never : TName;
|
|
9
|
+
export type TenantModelName<TModules extends ModelModules> = WithoutRbPrefix<ExtractModelNamesFromSchemas<TModules>> | WithoutRbPrefix<FrameworkModelName>;
|
|
10
|
+
export type RbModelName = ExtractModelNamesFromSchemas<typeof frameworkSchemas> extends infer Name ? Name extends string ? Name extends `RB${string}` ? Name : never : never : never;
|
|
11
|
+
export type ModelsClient<TModules extends ModelModules> = {
|
|
12
|
+
register: (modules: TModules) => void;
|
|
13
|
+
get: (modelName: TenantModelName<TModules>, ctx: LoadModelCtx) => ReturnType<typeof loadModel>;
|
|
14
|
+
getRb: (modelName: RbModelName, ctx: LoadModelCtx) => ReturnType<typeof loadRbModel>;
|
|
15
|
+
};
|
|
16
|
+
export declare const createModels: <TModules extends ModelModules>(modules: TModules) => ModelsClient<TModules>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=createModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createModels.d.ts","sourceRoot":"","sources":["../src/createModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,KAAK,gBAAgB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIpD,KAAK,4BAA4B,CAAC,QAAQ,IAAI;KAC3C,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,QAAQ,GAAG,IAAI,GAAG,KAAK;CACxE,CAAC,MAAM,QAAQ,CAAC,GAAG,MAAM,CAAA;AAE1B,KAAK,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/E,KAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,KAAK,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,CAAA;AAExF,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,YAAY,IACrD,eAAe,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GACvD,eAAe,CAAC,kBAAkB,CAAC,CAAA;AAEvC,MAAM,MAAM,WAAW,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,SAAS,MAAM,IAAI,GAC9F,IAAI,SAAS,MAAM,GACjB,IAAI,SAAS,KAAK,MAAM,EAAE,GACxB,IAAI,GACJ,KAAK,GACP,KAAK,GACP,KAAK,CAAA;AAET,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,YAAY,IAAI;IACxD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,YAAY,KAAK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IAC9F,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,KAAK,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CACrF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,YAAY,EAAE,SAAS,QAAQ,KAAG,YAAY,CAAC,QAAQ,CAQpG,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -31,10 +31,37 @@ const RBTenantSchema = new Schema({
|
|
|
31
31
|
parent_tenant_id: { type: String },
|
|
32
32
|
name: { type: String }
|
|
33
33
|
}, { collection: "tenants" });
|
|
34
|
+
const RtsCounterSchema = new Schema(
|
|
35
|
+
{
|
|
36
|
+
_id: { type: String, required: true },
|
|
37
|
+
seq: { type: Number, required: true, default: 0 }
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
versionKey: false
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
const ttlSecondsRaw = process.env.RB_RTS_CHANGES_TTL_S ?? "";
|
|
44
|
+
const ttlSeconds = Number.isFinite(Number(ttlSecondsRaw)) ? Math.max(60, Math.floor(Number(ttlSecondsRaw))) : 60 * 60 * 24 * 30;
|
|
45
|
+
const RtsChangeSchema = new Schema(
|
|
46
|
+
{
|
|
47
|
+
seq: { type: Number, required: true },
|
|
48
|
+
modelName: { type: String, required: true, index: true },
|
|
49
|
+
op: { type: String, required: true, enum: ["delete", "reset_model"] },
|
|
50
|
+
docId: { type: String, required: false },
|
|
51
|
+
ts: { type: Date, required: true, default: Date.now }
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
versionKey: false
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
RtsChangeSchema.index({ seq: 1 }, { unique: true });
|
|
58
|
+
RtsChangeSchema.index({ ts: 1 }, { expireAfterSeconds: ttlSeconds });
|
|
34
59
|
const frameworkSchemas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
35
60
|
__proto__: null,
|
|
36
61
|
RBTenantSchema,
|
|
37
62
|
RBUserSchema,
|
|
63
|
+
RtsChangeSchema,
|
|
64
|
+
RtsCounterSchema,
|
|
38
65
|
ZRBTenant,
|
|
39
66
|
ZRBUser
|
|
40
67
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -751,7 +778,142 @@ function parseMixed(required = true, def) {
|
|
|
751
778
|
required
|
|
752
779
|
};
|
|
753
780
|
}
|
|
781
|
+
const RTS_COUNTER_ID = "rts";
|
|
782
|
+
const EXCLUDED_MODEL_NAMES = /* @__PURE__ */ new Set(["RtsChange", "RtsCounter"]);
|
|
783
|
+
const maxDeleteIdsRaw = process.env.RB_RTS_DELETE_LOG_MAX_IDS ?? "";
|
|
784
|
+
const maxDeleteIds = Number.isFinite(Number(maxDeleteIdsRaw)) ? Math.max(1, Math.floor(Number(maxDeleteIdsRaw))) : 5e3;
|
|
785
|
+
const deleteMetaByQuery = /* @__PURE__ */ new WeakMap();
|
|
786
|
+
const hasToString = (value) => {
|
|
787
|
+
if (typeof value !== "object" || value === null) return false;
|
|
788
|
+
const maybe = value;
|
|
789
|
+
return typeof maybe.toString === "function";
|
|
790
|
+
};
|
|
791
|
+
const normalizeId = (id) => {
|
|
792
|
+
if (!id) return null;
|
|
793
|
+
if (typeof id === "string") return id;
|
|
794
|
+
if (hasToString(id)) return id.toString();
|
|
795
|
+
return null;
|
|
796
|
+
};
|
|
797
|
+
const getDbName = (db) => {
|
|
798
|
+
if (!db || typeof db !== "object") return "";
|
|
799
|
+
const maybe = db;
|
|
800
|
+
const raw = maybe.name ?? maybe.db?.databaseName;
|
|
801
|
+
return typeof raw === "string" ? raw : "";
|
|
802
|
+
};
|
|
803
|
+
const isUsersDb = (db) => getDbName(db).endsWith("-users-db");
|
|
804
|
+
const getRtsModels = (db) => {
|
|
805
|
+
const RtsCounter = db.models.RtsCounter ?? db.model("RtsCounter", RtsCounterSchema);
|
|
806
|
+
const RtsChange = db.models.RtsChange ?? db.model("RtsChange", RtsChangeSchema);
|
|
807
|
+
return { RtsCounter, RtsChange };
|
|
808
|
+
};
|
|
809
|
+
const allocateSeqRange = async (db, count) => {
|
|
810
|
+
const { RtsCounter } = getRtsModels(db);
|
|
811
|
+
const updated = await RtsCounter.findOneAndUpdate(
|
|
812
|
+
{ _id: RTS_COUNTER_ID },
|
|
813
|
+
{ $inc: { seq: count } },
|
|
814
|
+
{ upsert: true, new: true, setDefaultsOnInsert: true, projection: { seq: 1 } }
|
|
815
|
+
).lean();
|
|
816
|
+
const end = Number(updated?.seq ?? 0);
|
|
817
|
+
const start = end - count + 1;
|
|
818
|
+
return { start, end };
|
|
819
|
+
};
|
|
820
|
+
const insertChanges = async (db, changes) => {
|
|
821
|
+
if (!changes.length) return;
|
|
822
|
+
const { RtsChange } = getRtsModels(db);
|
|
823
|
+
const ts = /* @__PURE__ */ new Date();
|
|
824
|
+
await RtsChange.insertMany(changes.map((c) => ({
|
|
825
|
+
seq: c.seq,
|
|
826
|
+
modelName: c.modelName,
|
|
827
|
+
op: c.op,
|
|
828
|
+
docId: c.docId ?? void 0,
|
|
829
|
+
ts
|
|
830
|
+
})));
|
|
831
|
+
};
|
|
832
|
+
const recordDeleteChanges = async (db, modelName, ids) => {
|
|
833
|
+
const uniqueIds = Array.from(new Set(ids)).filter(Boolean);
|
|
834
|
+
if (!uniqueIds.length) return;
|
|
835
|
+
const { start } = await allocateSeqRange(db, uniqueIds.length);
|
|
836
|
+
await insertChanges(db, uniqueIds.map((docId, idx) => ({
|
|
837
|
+
seq: start + idx,
|
|
838
|
+
modelName,
|
|
839
|
+
op: "delete",
|
|
840
|
+
docId
|
|
841
|
+
})));
|
|
842
|
+
};
|
|
843
|
+
const recordResetModel = async (db, modelName) => {
|
|
844
|
+
const { start } = await allocateSeqRange(db, 1);
|
|
845
|
+
await insertChanges(db, [{ seq: start, modelName, op: "reset_model" }]);
|
|
846
|
+
};
|
|
847
|
+
const captureDeleteMeta = async (query, mode) => {
|
|
848
|
+
const modelName = String(query?.model?.modelName ?? "");
|
|
849
|
+
if (!modelName || modelName.startsWith("RB") || EXCLUDED_MODEL_NAMES.has(modelName)) return;
|
|
850
|
+
if (isUsersDb(query?.model?.db)) return;
|
|
851
|
+
const filter = typeof query.getFilter === "function" ? query.getFilter() : query.getQuery?.() ?? {};
|
|
852
|
+
const findQuery = query.model.find(filter, { _id: 1 }).lean();
|
|
853
|
+
if (mode === "one") {
|
|
854
|
+
findQuery.limit(1);
|
|
855
|
+
} else {
|
|
856
|
+
findQuery.limit(maxDeleteIds + 1);
|
|
857
|
+
}
|
|
858
|
+
const docs = await findQuery;
|
|
859
|
+
const ids = Array.isArray(docs) ? docs.map((d) => normalizeId(d?._id)).filter((id) => Boolean(id)) : [];
|
|
860
|
+
const reset = mode === "many" && ids.length > maxDeleteIds;
|
|
861
|
+
const trimmedIds = reset ? [] : ids;
|
|
862
|
+
const meta = {
|
|
863
|
+
modelName,
|
|
864
|
+
ids: trimmedIds,
|
|
865
|
+
reset
|
|
866
|
+
};
|
|
867
|
+
deleteMetaByQuery.set(query, meta);
|
|
868
|
+
};
|
|
869
|
+
const flushDeleteMeta = async (query) => {
|
|
870
|
+
const meta = deleteMetaByQuery.get(query);
|
|
871
|
+
deleteMetaByQuery.delete(query);
|
|
872
|
+
if (!meta) return;
|
|
873
|
+
const db = query?.model?.db;
|
|
874
|
+
if (!db) return;
|
|
875
|
+
try {
|
|
876
|
+
if (meta.reset) {
|
|
877
|
+
await recordResetModel(db, meta.modelName);
|
|
878
|
+
} else {
|
|
879
|
+
await recordDeleteChanges(db, meta.modelName, meta.ids);
|
|
880
|
+
}
|
|
881
|
+
} catch {
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
};
|
|
885
|
+
const rtsChangeLogPlugin = (schema) => {
|
|
886
|
+
schema.pre("deleteOne", { query: true, document: false }, async function() {
|
|
887
|
+
await captureDeleteMeta(this, "one");
|
|
888
|
+
});
|
|
889
|
+
schema.pre("deleteMany", { query: true, document: false }, async function() {
|
|
890
|
+
await captureDeleteMeta(this, "many");
|
|
891
|
+
});
|
|
892
|
+
schema.post("deleteOne", { query: true, document: false }, async function() {
|
|
893
|
+
await flushDeleteMeta(this);
|
|
894
|
+
});
|
|
895
|
+
schema.post("deleteMany", { query: true, document: false }, async function() {
|
|
896
|
+
await flushDeleteMeta(this);
|
|
897
|
+
});
|
|
898
|
+
schema.post("findOneAndDelete", { query: true, document: false }, async function(doc) {
|
|
899
|
+
const modelName = String(this?.model?.modelName ?? "");
|
|
900
|
+
if (!modelName || modelName.startsWith("RB") || EXCLUDED_MODEL_NAMES.has(modelName)) return;
|
|
901
|
+
const db = this?.model?.db;
|
|
902
|
+
if (!db) return;
|
|
903
|
+
if (isUsersDb(db)) return;
|
|
904
|
+
const docId = normalizeId(doc?._id);
|
|
905
|
+
if (!docId) return;
|
|
906
|
+
try {
|
|
907
|
+
await recordDeleteChanges(db, modelName, [docId]);
|
|
908
|
+
} catch {
|
|
909
|
+
return;
|
|
910
|
+
}
|
|
911
|
+
});
|
|
912
|
+
};
|
|
913
|
+
const RTS_CHANGELOG_EXCLUDED_MODELS = /* @__PURE__ */ new Set(["RtsChange", "RtsCounter"]);
|
|
914
|
+
const rtsChangeLogApplied = /* @__PURE__ */ new WeakSet();
|
|
754
915
|
let cachedModels = null;
|
|
916
|
+
const isRtsChangelogExcludedModelName = (name) => name.startsWith("RB") || RTS_CHANGELOG_EXCLUDED_MODELS.has(name);
|
|
755
917
|
const assertSchema = (exportName, value) => {
|
|
756
918
|
if (value instanceof mongoose.Schema) return value;
|
|
757
919
|
throw new Error(
|
|
@@ -765,6 +927,12 @@ const assertSchema = (exportName, value) => {
|
|
|
765
927
|
const buildAppModels = (modules) => Object.entries(modules).filter(([key]) => key.endsWith("Schema")).map(([key, schemaValue]) => {
|
|
766
928
|
const schema = assertSchema(key, schemaValue);
|
|
767
929
|
const name = key.replace(/Schema$/, "");
|
|
930
|
+
if (!isRtsChangelogExcludedModelName(name)) {
|
|
931
|
+
if (!rtsChangeLogApplied.has(schema)) {
|
|
932
|
+
schema.plugin(rtsChangeLogPlugin);
|
|
933
|
+
rtsChangeLogApplied.add(schema);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
768
936
|
return {
|
|
769
937
|
name,
|
|
770
938
|
model: mongoose.models[name] ?? mongoose.model(name, schema)
|
|
@@ -773,6 +941,12 @@ const buildAppModels = (modules) => Object.entries(modules).filter(([key]) => ke
|
|
|
773
941
|
const buildFrameworkModels = () => Object.entries(frameworkSchemas).filter(([key]) => key.endsWith("Schema")).map(([key, schemaValue]) => {
|
|
774
942
|
const schema = assertSchema(key, schemaValue);
|
|
775
943
|
const name = key.replace(/Schema$/, "");
|
|
944
|
+
if (!isRtsChangelogExcludedModelName(name)) {
|
|
945
|
+
if (!rtsChangeLogApplied.has(schema)) {
|
|
946
|
+
schema.plugin(rtsChangeLogPlugin);
|
|
947
|
+
rtsChangeLogApplied.add(schema);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
776
950
|
return {
|
|
777
951
|
name,
|
|
778
952
|
model: mongoose.models[name] ?? mongoose.model(name, schema)
|
|
@@ -791,18 +965,22 @@ const registerModels = (modules) => {
|
|
|
791
965
|
};
|
|
792
966
|
const getRegisteredModels = () => {
|
|
793
967
|
if (!cachedModels) {
|
|
794
|
-
throw new Error("Models not registered. Call
|
|
968
|
+
throw new Error("Models not registered. Call createModels(...) once at startup (or import your models module) before using loadModel.");
|
|
795
969
|
}
|
|
796
970
|
return cachedModels;
|
|
797
971
|
};
|
|
798
972
|
const { APP_NAME, DB_PORT } = process.env;
|
|
799
973
|
const connections = {};
|
|
800
|
-
const
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
974
|
+
const assertTenantModelName = (modelName) => {
|
|
975
|
+
assert(
|
|
976
|
+
!modelName.startsWith("RB"),
|
|
977
|
+
"Invalid tenant model name. RB* models are stored in the global users DB; use loadRbModel."
|
|
978
|
+
);
|
|
979
|
+
};
|
|
980
|
+
const assertRbModelName = (modelName) => {
|
|
981
|
+
assert(modelName.startsWith("RB"), "Invalid RB model name. Supported: RB*");
|
|
982
|
+
};
|
|
983
|
+
const ensureConnection = async (dbName) => {
|
|
806
984
|
const connectionString = `mongodb://localhost:${DB_PORT}/${dbName}`;
|
|
807
985
|
if (!connections[dbName]) {
|
|
808
986
|
const connection = mongoose.createConnection(connectionString, {
|
|
@@ -822,25 +1000,51 @@ const loadModel = async (modelName, ctx) => {
|
|
|
822
1000
|
});
|
|
823
1001
|
}
|
|
824
1002
|
}
|
|
825
|
-
|
|
1003
|
+
return connections[dbName];
|
|
1004
|
+
};
|
|
1005
|
+
const loadModelFromDb = async (modelName, dbName) => {
|
|
1006
|
+
const models = getRegisteredModels();
|
|
826
1007
|
const model = models[modelName];
|
|
827
1008
|
assert(model, `Model ${modelName} not registered. Available models: ${Object.keys(models).join(", ")}`);
|
|
1009
|
+
const modelConnection = await ensureConnection(dbName);
|
|
828
1010
|
if (!modelConnection.models[modelName]) {
|
|
829
1011
|
modelConnection.model(modelName, model.schema);
|
|
830
1012
|
}
|
|
831
1013
|
return modelConnection.models[modelName];
|
|
832
1014
|
};
|
|
1015
|
+
const loadModel = async (modelName, ctx) => {
|
|
1016
|
+
assertTenantModelName(modelName);
|
|
1017
|
+
const tenantId = ctx.req.session?.user?.current_tenant_id;
|
|
1018
|
+
assert(typeof tenantId === "string" && tenantId.trim(), "Tenant ID is missing from session");
|
|
1019
|
+
const dbName = `${APP_NAME}-${tenantId.trim()}-db`;
|
|
1020
|
+
return loadModelFromDb(modelName, dbName);
|
|
1021
|
+
};
|
|
1022
|
+
const loadRbModel = async (modelName, _ctx) => {
|
|
1023
|
+
assertRbModelName(modelName);
|
|
1024
|
+
const dbName = `${APP_NAME}-users-db`;
|
|
1025
|
+
return loadModelFromDb(modelName, dbName);
|
|
1026
|
+
};
|
|
1027
|
+
const createModels = (modules) => {
|
|
1028
|
+
registerModels(modules);
|
|
1029
|
+
return {
|
|
1030
|
+
register: registerModels,
|
|
1031
|
+
get: (modelName, ctx) => loadModel(modelName, ctx),
|
|
1032
|
+
getRb: (modelName, ctx) => loadRbModel(modelName)
|
|
1033
|
+
};
|
|
1034
|
+
};
|
|
833
1035
|
export {
|
|
834
1036
|
LANGUAGE_CODE_REGEX,
|
|
835
1037
|
RBTenantSchema,
|
|
836
1038
|
RBUserSchema,
|
|
1039
|
+
RtsChangeSchema,
|
|
1040
|
+
RtsCounterSchema,
|
|
837
1041
|
ZRBTenant,
|
|
838
1042
|
ZRBUser,
|
|
839
1043
|
buildLocaleFallbackChain,
|
|
1044
|
+
createModels,
|
|
840
1045
|
extendZod,
|
|
841
|
-
getRegisteredModels,
|
|
842
1046
|
loadModel,
|
|
843
|
-
|
|
1047
|
+
loadRbModel,
|
|
844
1048
|
resolveLocalizedString,
|
|
845
1049
|
withLocalizedStringFallback,
|
|
846
1050
|
z2 as z,
|
package/dist/loadModel.d.ts
CHANGED
|
@@ -9,5 +9,6 @@ type LoadModelCtx = {
|
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
11
|
export declare const loadModel: (modelName: string, ctx: LoadModelCtx) => Promise<mongoose.Model<any, {}, {}, {}, any, any, any>>;
|
|
12
|
+
export declare const loadRbModel: (modelName: string, _ctx: LoadModelCtx) => Promise<mongoose.Model<any, {}, {}, {}, any, any, any>>;
|
|
12
13
|
export type { LoadModelCtx };
|
|
13
14
|
//# sourceMappingURL=loadModel.d.ts.map
|
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;
|
|
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;AAyDF,eAAO,MAAM,SAAS,GAAU,WAAW,MAAM,EAAE,KAAK,YAAY,4DAOnE,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,WAAW,MAAM,EAAE,MAAM,YAAY,4DAItE,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RtsChange.d.ts","sourceRoot":"","sources":["../../src/models/RtsChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RtsCounter.d.ts","sourceRoot":"","sources":["../../src/models/RtsCounter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,eAAO,MAAM,gBAAgB,EAAE,MAQ9B,CAAA"}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerModels.d.ts","sourceRoot":"","sources":["../src/registerModels.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"registerModels.d.ts","sourceRoot":"","sources":["../src/registerModels.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAU/B,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAiE3C,eAAO,MAAM,cAAc,GAAI,SAAS,YAAY,SAEnD,CAAA;AAED,eAAO,MAAM,mBAAmB,sEAK/B,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtsChangeLogPlugin.d.ts","sourceRoot":"","sources":["../src/rtsChangeLogPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AA4KpC,eAAO,MAAM,kBAAkB,GAAI,QAAQ,QAAQ,CAAC,MAAM,KAAG,IAkC5D,CAAA"}
|