mirror of
https://github.com/better-auth/better-auth.git
synced 2026-05-25 00:22:43 -05:00
feat: add additionalFields option in verification table schema (#6747)
This commit is contained in:
committed by
GitHub
parent
78dc6f8a88
commit
eab5b4a04f
@@ -47,7 +47,8 @@ export const getAuthTables = (
|
||||
},
|
||||
} satisfies BetterAuthDBSchema;
|
||||
|
||||
const { user, session, account, ...pluginTables } = pluginSchema;
|
||||
const { user, session, account, verification, ...pluginTables } =
|
||||
pluginSchema;
|
||||
|
||||
const sessionTable = {
|
||||
session: {
|
||||
@@ -267,6 +268,8 @@ export const getAuthTables = (
|
||||
onUpdate: () => new Date(),
|
||||
fieldName: options.verification?.fields?.updatedAt || "updatedAt",
|
||||
},
|
||||
...verification?.fields,
|
||||
...options.verification?.additionalFields,
|
||||
},
|
||||
order: 4,
|
||||
},
|
||||
|
||||
@@ -59,4 +59,25 @@ describe("getAuthTables", () => {
|
||||
expect(refreshTokenExpiresAtField.fieldName).toBe("refreshTokenExpiresAt");
|
||||
expect(accessTokenExpiresAtField.fieldName).toBe("accessTokenExpiresAt");
|
||||
});
|
||||
|
||||
it("should merge additionalFields into verification table metadata", () => {
|
||||
const tables = getAuthTables({
|
||||
verification: {
|
||||
additionalFields: {
|
||||
newField: {
|
||||
fieldName: "new_field",
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const verificationTable = tables.verification;
|
||||
const newField = verificationTable!.fields.newField!;
|
||||
|
||||
console.log(newField);
|
||||
expect(newField).not.toBeUndefined();
|
||||
expect(newField.fieldName).toBe("new_field");
|
||||
expect(newField.type).toBe("string");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -954,6 +954,12 @@ export type BetterAuthOptions = {
|
||||
* Map verification fields
|
||||
*/
|
||||
fields?: Partial<Record<keyof OmitId<Verification>, string>>;
|
||||
/**
|
||||
* Additional fields for the verification
|
||||
*/
|
||||
additionalFields?: {
|
||||
[key: string]: DBFieldAttribute;
|
||||
};
|
||||
/**
|
||||
* disable cleaning up expired values when a verification value is
|
||||
* fetched
|
||||
|
||||
Reference in New Issue
Block a user