datasquirel/package-shared/utils/db/schema/resolve-schema-children.ts
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

33 lines
1.0 KiB
TypeScript

import fs from "fs";
import { DSQL_DatabaseSchemaType } from "../../../types";
import _ from "lodash";
import resolveSchemaChildrenHandleChildrenDatabases from "./resolve-schema-children-handle-children-databases";
import resolveSchemaChildrenHandleChildrenTables from "./resolve-schema-children-handle-children-tables";
type Params = {
dbSchema: DSQL_DatabaseSchemaType;
userId: string | number;
};
export default function resolveSchemaChildren({ dbSchema, userId }: Params) {
let newDbSchema = _.cloneDeep(dbSchema);
newDbSchema = resolveSchemaChildrenHandleChildrenDatabases({
currentDbSchema: newDbSchema,
userId,
});
for (let t = 0; t < newDbSchema.tables.length; t++) {
const tableSchema = newDbSchema.tables[t];
newDbSchema = resolveSchemaChildrenHandleChildrenTables({
currentDbSchema: newDbSchema,
currentTableSchema: tableSchema,
currentTableSchemaIndex: t,
userId,
});
}
return newDbSchema;
}