UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

39 lines (38 loc) 1.08 kB
import { getAuthTables } from "@better-auth/core/db"; //#region src/db/get-schema.ts function getSchema(config) { const tables = getAuthTables(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 }; } return schema; } //#endregion export { getSchema };