UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

40 lines (39 loc) 1.26 kB
import { getAuthTablesWithResolvedIndexes } from "@better-auth/core/db/internal"; //#region src/db/get-schema.ts function getSchema(config) { const { indexesByTable, tables } = getAuthTablesWithResolvedIndexes(config); const schema = {}; for (const key in tables) { const table = tables[key]; const fields = table.fields; const actualFields = {}; Object.entries(fields).forEach(([key, field]) => { actualFields[field.fieldName || key] = field; if (field.references) { const refTable = tables[field.references.model]; if (refTable) actualFields[field.fieldName || key].references = { ...field.references, model: refTable.modelName, field: field.references.field }; } }); if (schema[table.modelName]) { schema[table.modelName].fields = { ...schema[table.modelName].fields, ...actualFields }; if (table.disableMigrations) schema[table.modelName].disableMigrations = true; continue; } schema[table.modelName] = { fields: actualFields, order: table.order || Infinity, disableMigrations: table.disableMigrations }; } for (const [tableName, indexes] of indexesByTable) if (schema[tableName]) schema[tableName].indexes = indexes; return schema; } //#endregion export { getSchema };