mirror of
https://github.com/better-auth/better-auth.git
synced 2026-05-26 00:46:44 -05:00
fix: missing options
This commit is contained in:
@@ -741,7 +741,7 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
*/
|
||||
getActiveMemberRole: getActiveMemberRole(opts),
|
||||
};
|
||||
const teamSupport = options?.teams?.enabled;
|
||||
const teamSupport = opts.teams?.enabled;
|
||||
const teamEndpoints = {
|
||||
/**
|
||||
* ### Endpoint
|
||||
@@ -902,7 +902,7 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
getOrgRole: getOrgRole(opts),
|
||||
updateOrgRole: updateOrgRole(opts),
|
||||
};
|
||||
if (options?.dynamicAccessControl?.enabled) {
|
||||
if (opts.dynamicAccessControl?.enabled) {
|
||||
endpoints = {
|
||||
...endpoints,
|
||||
...dynamicAccessControlEndpoints,
|
||||
@@ -910,19 +910,19 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
}
|
||||
const roles = {
|
||||
...defaultRoles,
|
||||
...options?.roles,
|
||||
...opts.roles,
|
||||
};
|
||||
|
||||
// Build team schema in a way that never introduces undefined values when spreading
|
||||
const teamSchema = teamSupport
|
||||
? ({
|
||||
team: {
|
||||
modelName: options?.schema?.team?.modelName,
|
||||
modelName: opts.schema?.team?.modelName,
|
||||
fields: {
|
||||
name: {
|
||||
type: "string",
|
||||
required: true,
|
||||
fieldName: options?.schema?.team?.fields?.name,
|
||||
fieldName: opts.schema?.team?.fields?.name,
|
||||
},
|
||||
organizationId: {
|
||||
type: "string",
|
||||
@@ -931,25 +931,25 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "organization",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.team?.fields?.organizationId,
|
||||
fieldName: opts.schema?.team?.fields?.organizationId,
|
||||
index: true,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
fieldName: options?.schema?.team?.fields?.createdAt,
|
||||
fieldName: opts.schema?.team?.fields?.createdAt,
|
||||
},
|
||||
updatedAt: {
|
||||
type: "date",
|
||||
required: false,
|
||||
fieldName: options?.schema?.team?.fields?.updatedAt,
|
||||
fieldName: opts.schema?.team?.fields?.updatedAt,
|
||||
onUpdate: () => new Date(),
|
||||
},
|
||||
...(options?.schema?.team?.additionalFields || {}),
|
||||
...(opts.schema?.team?.additionalFields || {}),
|
||||
},
|
||||
},
|
||||
teamMember: {
|
||||
modelName: options?.schema?.teamMember?.modelName,
|
||||
modelName: opts.schema?.teamMember?.modelName,
|
||||
fields: {
|
||||
teamId: {
|
||||
type: "string",
|
||||
@@ -958,7 +958,7 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "team",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.teamMember?.fields?.teamId,
|
||||
fieldName: opts.schema?.teamMember?.fields?.teamId,
|
||||
index: true,
|
||||
},
|
||||
userId: {
|
||||
@@ -968,20 +968,20 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "user",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.teamMember?.fields?.userId,
|
||||
fieldName: opts.schema?.teamMember?.fields?.userId,
|
||||
index: true,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: false,
|
||||
fieldName: options?.schema?.teamMember?.fields?.createdAt,
|
||||
fieldName: opts.schema?.teamMember?.fields?.createdAt,
|
||||
},
|
||||
},
|
||||
},
|
||||
} satisfies BetterAuthPluginDBSchema)
|
||||
: {};
|
||||
|
||||
const organizationRoleSchema = options?.dynamicAccessControl?.enabled
|
||||
const organizationRoleSchema = opts.dynamicAccessControl?.enabled
|
||||
? ({
|
||||
organizationRole: {
|
||||
fields: {
|
||||
@@ -992,36 +992,35 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "organization",
|
||||
field: "id",
|
||||
},
|
||||
fieldName:
|
||||
options?.schema?.organizationRole?.fields?.organizationId,
|
||||
fieldName: opts.schema?.organizationRole?.fields?.organizationId,
|
||||
index: true,
|
||||
},
|
||||
role: {
|
||||
type: "string",
|
||||
required: true,
|
||||
fieldName: options?.schema?.organizationRole?.fields?.role,
|
||||
fieldName: opts.schema?.organizationRole?.fields?.role,
|
||||
index: true,
|
||||
},
|
||||
permission: {
|
||||
type: "string",
|
||||
required: true,
|
||||
fieldName: options?.schema?.organizationRole?.fields?.permission,
|
||||
fieldName: opts.schema?.organizationRole?.fields?.permission,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
defaultValue: () => new Date(),
|
||||
fieldName: options?.schema?.organizationRole?.fields?.createdAt,
|
||||
fieldName: opts.schema?.organizationRole?.fields?.createdAt,
|
||||
},
|
||||
updatedAt: {
|
||||
type: "date",
|
||||
required: false,
|
||||
fieldName: options?.schema?.organizationRole?.fields?.updatedAt,
|
||||
fieldName: opts.schema?.organizationRole?.fields?.updatedAt,
|
||||
onUpdate: () => new Date(),
|
||||
},
|
||||
...(options?.schema?.organizationRole?.additionalFields || {}),
|
||||
...(opts.schema?.organizationRole?.additionalFields || {}),
|
||||
},
|
||||
modelName: options?.schema?.organizationRole?.modelName,
|
||||
modelName: opts.schema?.organizationRole?.modelName,
|
||||
},
|
||||
} satisfies BetterAuthPluginDBSchema)
|
||||
: {};
|
||||
@@ -1029,38 +1028,38 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
const schema = {
|
||||
...({
|
||||
organization: {
|
||||
modelName: options?.schema?.organization?.modelName,
|
||||
modelName: opts.schema?.organization?.modelName,
|
||||
fields: {
|
||||
name: {
|
||||
type: "string",
|
||||
required: true,
|
||||
sortable: true,
|
||||
fieldName: options?.schema?.organization?.fields?.name,
|
||||
fieldName: opts.schema?.organization?.fields?.name,
|
||||
},
|
||||
slug: {
|
||||
type: "string",
|
||||
required: true,
|
||||
unique: true,
|
||||
sortable: true,
|
||||
fieldName: options?.schema?.organization?.fields?.slug,
|
||||
fieldName: opts.schema?.organization?.fields?.slug,
|
||||
index: true,
|
||||
},
|
||||
logo: {
|
||||
type: "string",
|
||||
required: false,
|
||||
fieldName: options?.schema?.organization?.fields?.logo,
|
||||
fieldName: opts.schema?.organization?.fields?.logo,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
fieldName: options?.schema?.organization?.fields?.createdAt,
|
||||
fieldName: opts.schema?.organization?.fields?.createdAt,
|
||||
},
|
||||
metadata: {
|
||||
type: "string",
|
||||
required: false,
|
||||
fieldName: options?.schema?.organization?.fields?.metadata,
|
||||
fieldName: opts.schema?.organization?.fields?.metadata,
|
||||
},
|
||||
...(options?.schema?.organization?.additionalFields || {}),
|
||||
...(opts.schema?.organization?.additionalFields || {}),
|
||||
},
|
||||
},
|
||||
} satisfies BetterAuthPluginDBSchema),
|
||||
@@ -1068,7 +1067,7 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
...teamSchema,
|
||||
...({
|
||||
member: {
|
||||
modelName: options?.schema?.member?.modelName,
|
||||
modelName: opts.schema?.member?.modelName,
|
||||
fields: {
|
||||
organizationId: {
|
||||
type: "string",
|
||||
@@ -1077,13 +1076,13 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "organization",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.member?.fields?.organizationId,
|
||||
fieldName: opts.schema?.member?.fields?.organizationId,
|
||||
index: true,
|
||||
},
|
||||
userId: {
|
||||
type: "string",
|
||||
required: true,
|
||||
fieldName: options?.schema?.member?.fields?.userId,
|
||||
fieldName: opts.schema?.member?.fields?.userId,
|
||||
references: {
|
||||
model: "user",
|
||||
field: "id",
|
||||
@@ -1095,18 +1094,18 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
required: true,
|
||||
sortable: true,
|
||||
defaultValue: "member",
|
||||
fieldName: options?.schema?.member?.fields?.role,
|
||||
fieldName: opts.schema?.member?.fields?.role,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
fieldName: options?.schema?.member?.fields?.createdAt,
|
||||
fieldName: opts.schema?.member?.fields?.createdAt,
|
||||
},
|
||||
...(options?.schema?.member?.additionalFields || {}),
|
||||
...(opts.schema?.member?.additionalFields || {}),
|
||||
},
|
||||
},
|
||||
invitation: {
|
||||
modelName: options?.schema?.invitation?.modelName,
|
||||
modelName: opts.schema?.invitation?.modelName,
|
||||
fields: {
|
||||
organizationId: {
|
||||
type: "string",
|
||||
@@ -1115,21 +1114,21 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "organization",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.invitation?.fields?.organizationId,
|
||||
fieldName: opts.schema?.invitation?.fields?.organizationId,
|
||||
index: true,
|
||||
},
|
||||
email: {
|
||||
type: "string",
|
||||
required: true,
|
||||
sortable: true,
|
||||
fieldName: options?.schema?.invitation?.fields?.email,
|
||||
fieldName: opts.schema?.invitation?.fields?.email,
|
||||
index: true,
|
||||
},
|
||||
role: {
|
||||
type: "string",
|
||||
required: false,
|
||||
sortable: true,
|
||||
fieldName: options?.schema?.invitation?.fields?.role,
|
||||
fieldName: opts.schema?.invitation?.fields?.role,
|
||||
},
|
||||
...(teamSupport
|
||||
? {
|
||||
@@ -1137,7 +1136,7 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
type: "string",
|
||||
required: false,
|
||||
sortable: true,
|
||||
fieldName: options?.schema?.invitation?.fields?.teamId,
|
||||
fieldName: opts.schema?.invitation?.fields?.teamId,
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
@@ -1146,17 +1145,17 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
required: true,
|
||||
sortable: true,
|
||||
defaultValue: "pending",
|
||||
fieldName: options?.schema?.invitation?.fields?.status,
|
||||
fieldName: opts.schema?.invitation?.fields?.status,
|
||||
},
|
||||
expiresAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
fieldName: options?.schema?.invitation?.fields?.expiresAt,
|
||||
fieldName: opts.schema?.invitation?.fields?.expiresAt,
|
||||
},
|
||||
createdAt: {
|
||||
type: "date",
|
||||
required: true,
|
||||
fieldName: options?.schema?.invitation?.fields?.createdAt,
|
||||
fieldName: opts.schema?.invitation?.fields?.createdAt,
|
||||
defaultValue: () => new Date(),
|
||||
},
|
||||
inviterId: {
|
||||
@@ -1165,10 +1164,10 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
model: "user",
|
||||
field: "id",
|
||||
},
|
||||
fieldName: options?.schema?.invitation?.fields?.inviterId,
|
||||
fieldName: opts.schema?.invitation?.fields?.inviterId,
|
||||
required: true,
|
||||
},
|
||||
...(options?.schema?.invitation?.additionalFields || {}),
|
||||
...(opts.schema?.invitation?.additionalFields || {}),
|
||||
},
|
||||
},
|
||||
} satisfies BetterAuthPluginDBSchema),
|
||||
@@ -1200,14 +1199,14 @@ export function organization<O extends OrganizationOptions>(options?: O): any {
|
||||
activeOrganizationId: {
|
||||
type: "string",
|
||||
required: false,
|
||||
fieldName: options?.schema?.session?.fields?.activeOrganizationId,
|
||||
fieldName: opts.schema?.session?.fields?.activeOrganizationId,
|
||||
},
|
||||
...(teamSupport
|
||||
? {
|
||||
activeTeamId: {
|
||||
type: "string",
|
||||
required: false,
|
||||
fieldName: options?.schema?.session?.fields?.activeTeamId,
|
||||
fieldName: opts.schema?.session?.fields?.activeTeamId,
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
|
||||
Reference in New Issue
Block a user