Portal: add nullable System Name to LicenseKey with per-account unique index

Adds systemName (as typed, trimmed) and systemNameLower (case-folded) to
LicenseKey plus a unique index on (userId, systemNameLower) so names are
case-insensitively unique per account when non-null. Additive and
reversible; migration tested up/down. Regenerates the Prisma client.
This commit is contained in:
NeilClack
2026-09-29 09:51:48 -05:00
parent 179df1e252
commit 1d76e8dff9
6 changed files with 101 additions and 8 deletions
@@ -0,0 +1,6 @@
-- AlterTable
ALTER TABLE "LicenseKey" ADD COLUMN "systemName" TEXT,
ADD COLUMN "systemNameLower" TEXT;
-- CreateIndex
CREATE UNIQUE INDEX "LicenseKey_userId_systemNameLower_key" ON "LicenseKey"("userId", "systemNameLower");
+7
View File
@@ -205,10 +205,17 @@ model LicenseKey {
userId String? userId String?
user User? @relation(fields: [userId], references: [id], onDelete: SetNull) user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
email String? email String?
// Human-readable label set only by the Kiosk (e.g. "Living Room"). Trimmed,
// 1-40 chars. Never a reference or foreign key; the License Key is the only
// identifier. `systemNameLower` is a case-folded copy used to enforce
// per-account, case-insensitive uniqueness when non-null.
systemName String?
systemNameLower String?
// Legacy subscription level. Retained in the database but unmanaged; hidden // Legacy subscription level. Retained in the database but unmanaged; hidden
// from the client and left NULL. // from the client and left NULL.
level String? @ignore level String? @ignore
@@unique([userId, systemNameLower])
@@index([userId]) @@index([userId])
@@index([email]) @@index([email])
} }
File diff suppressed because one or more lines are too long
@@ -2020,7 +2020,9 @@ export const LicenseKeyScalarFieldEnum = {
createdAt: 'createdAt', createdAt: 'createdAt',
lastValidatedAt: 'lastValidatedAt', lastValidatedAt: 'lastValidatedAt',
userId: 'userId', userId: 'userId',
email: 'email' email: 'email',
systemName: 'systemName',
systemNameLower: 'systemNameLower'
} as const } as const
export type LicenseKeyScalarFieldEnum = (typeof LicenseKeyScalarFieldEnum)[keyof typeof LicenseKeyScalarFieldEnum] export type LicenseKeyScalarFieldEnum = (typeof LicenseKeyScalarFieldEnum)[keyof typeof LicenseKeyScalarFieldEnum]
@@ -241,7 +241,9 @@ export const LicenseKeyScalarFieldEnum = {
createdAt: 'createdAt', createdAt: 'createdAt',
lastValidatedAt: 'lastValidatedAt', lastValidatedAt: 'lastValidatedAt',
userId: 'userId', userId: 'userId',
email: 'email' email: 'email',
systemName: 'systemName',
systemNameLower: 'systemNameLower'
} as const } as const
export type LicenseKeyScalarFieldEnum = (typeof LicenseKeyScalarFieldEnum)[keyof typeof LicenseKeyScalarFieldEnum] export type LicenseKeyScalarFieldEnum = (typeof LicenseKeyScalarFieldEnum)[keyof typeof LicenseKeyScalarFieldEnum]
+78 -2
View File
@@ -32,6 +32,8 @@ export type LicenseKeyMinAggregateOutputType = {
lastValidatedAt: Date | null lastValidatedAt: Date | null
userId: string | null userId: string | null
email: string | null email: string | null
systemName: string | null
systemNameLower: string | null
} }
export type LicenseKeyMaxAggregateOutputType = { export type LicenseKeyMaxAggregateOutputType = {
@@ -42,6 +44,8 @@ export type LicenseKeyMaxAggregateOutputType = {
lastValidatedAt: Date | null lastValidatedAt: Date | null
userId: string | null userId: string | null
email: string | null email: string | null
systemName: string | null
systemNameLower: string | null
} }
export type LicenseKeyCountAggregateOutputType = { export type LicenseKeyCountAggregateOutputType = {
@@ -52,6 +56,8 @@ export type LicenseKeyCountAggregateOutputType = {
lastValidatedAt: number lastValidatedAt: number
userId: number userId: number
email: number email: number
systemName: number
systemNameLower: number
_all: number _all: number
} }
@@ -64,6 +70,8 @@ export type LicenseKeyMinAggregateInputType = {
lastValidatedAt?: true lastValidatedAt?: true
userId?: true userId?: true
email?: true email?: true
systemName?: true
systemNameLower?: true
} }
export type LicenseKeyMaxAggregateInputType = { export type LicenseKeyMaxAggregateInputType = {
@@ -74,6 +82,8 @@ export type LicenseKeyMaxAggregateInputType = {
lastValidatedAt?: true lastValidatedAt?: true
userId?: true userId?: true
email?: true email?: true
systemName?: true
systemNameLower?: true
} }
export type LicenseKeyCountAggregateInputType = { export type LicenseKeyCountAggregateInputType = {
@@ -84,6 +94,8 @@ export type LicenseKeyCountAggregateInputType = {
lastValidatedAt?: true lastValidatedAt?: true
userId?: true userId?: true
email?: true email?: true
systemName?: true
systemNameLower?: true
_all?: true _all?: true
} }
@@ -167,6 +179,8 @@ export type LicenseKeyGroupByOutputType = {
lastValidatedAt: Date | null lastValidatedAt: Date | null
userId: string | null userId: string | null
email: string | null email: string | null
systemName: string | null
systemNameLower: string | null
_count: LicenseKeyCountAggregateOutputType | null _count: LicenseKeyCountAggregateOutputType | null
_min: LicenseKeyMinAggregateOutputType | null _min: LicenseKeyMinAggregateOutputType | null
_max: LicenseKeyMaxAggregateOutputType | null _max: LicenseKeyMaxAggregateOutputType | null
@@ -198,6 +212,8 @@ export type LicenseKeyWhereInput = {
lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null
userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemName?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemNameLower?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
user?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null user?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
} }
@@ -209,12 +225,15 @@ export type LicenseKeyOrderByWithRelationInput = {
lastValidatedAt?: Prisma.SortOrderInput | Prisma.SortOrder lastValidatedAt?: Prisma.SortOrderInput | Prisma.SortOrder
userId?: Prisma.SortOrderInput | Prisma.SortOrder userId?: Prisma.SortOrderInput | Prisma.SortOrder
email?: Prisma.SortOrderInput | Prisma.SortOrder email?: Prisma.SortOrderInput | Prisma.SortOrder
systemName?: Prisma.SortOrderInput | Prisma.SortOrder
systemNameLower?: Prisma.SortOrderInput | Prisma.SortOrder
user?: Prisma.UserOrderByWithRelationInput user?: Prisma.UserOrderByWithRelationInput
} }
export type LicenseKeyWhereUniqueInput = Prisma.AtLeast<{ export type LicenseKeyWhereUniqueInput = Prisma.AtLeast<{
id?: string id?: string
key?: string key?: string
userId_systemNameLower?: Prisma.LicenseKeyUserIdSystemNameLowerCompoundUniqueInput
AND?: Prisma.LicenseKeyWhereInput | Prisma.LicenseKeyWhereInput[] AND?: Prisma.LicenseKeyWhereInput | Prisma.LicenseKeyWhereInput[]
OR?: Prisma.LicenseKeyWhereInput[] OR?: Prisma.LicenseKeyWhereInput[]
NOT?: Prisma.LicenseKeyWhereInput | Prisma.LicenseKeyWhereInput[] NOT?: Prisma.LicenseKeyWhereInput | Prisma.LicenseKeyWhereInput[]
@@ -223,8 +242,10 @@ export type LicenseKeyWhereUniqueInput = Prisma.AtLeast<{
lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null
userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemName?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemNameLower?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
user?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null user?: Prisma.XOR<Prisma.UserNullableScalarRelationFilter, Prisma.UserWhereInput> | null
}, "id" | "key"> }, "id" | "key" | "userId_systemNameLower">
export type LicenseKeyOrderByWithAggregationInput = { export type LicenseKeyOrderByWithAggregationInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
@@ -234,6 +255,8 @@ export type LicenseKeyOrderByWithAggregationInput = {
lastValidatedAt?: Prisma.SortOrderInput | Prisma.SortOrder lastValidatedAt?: Prisma.SortOrderInput | Prisma.SortOrder
userId?: Prisma.SortOrderInput | Prisma.SortOrder userId?: Prisma.SortOrderInput | Prisma.SortOrder
email?: Prisma.SortOrderInput | Prisma.SortOrder email?: Prisma.SortOrderInput | Prisma.SortOrder
systemName?: Prisma.SortOrderInput | Prisma.SortOrder
systemNameLower?: Prisma.SortOrderInput | Prisma.SortOrder
_count?: Prisma.LicenseKeyCountOrderByAggregateInput _count?: Prisma.LicenseKeyCountOrderByAggregateInput
_max?: Prisma.LicenseKeyMaxOrderByAggregateInput _max?: Prisma.LicenseKeyMaxOrderByAggregateInput
_min?: Prisma.LicenseKeyMinOrderByAggregateInput _min?: Prisma.LicenseKeyMinOrderByAggregateInput
@@ -250,6 +273,8 @@ export type LicenseKeyScalarWhereWithAggregatesInput = {
lastValidatedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"LicenseKey"> | Date | string | null lastValidatedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"LicenseKey"> | Date | string | null
userId?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null userId?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null
email?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null email?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null
systemName?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null
systemNameLower?: Prisma.StringNullableWithAggregatesFilter<"LicenseKey"> | string | null
} }
export type LicenseKeyCreateInput = { export type LicenseKeyCreateInput = {
@@ -259,6 +284,8 @@ export type LicenseKeyCreateInput = {
createdAt?: Date | string createdAt?: Date | string
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
user?: Prisma.UserCreateNestedOneWithoutLicenseKeysInput user?: Prisma.UserCreateNestedOneWithoutLicenseKeysInput
} }
@@ -270,6 +297,8 @@ export type LicenseKeyUncheckedCreateInput = {
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
userId?: string | null userId?: string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
} }
export type LicenseKeyUpdateInput = { export type LicenseKeyUpdateInput = {
@@ -279,6 +308,8 @@ export type LicenseKeyUpdateInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
user?: Prisma.UserUpdateOneWithoutLicenseKeysNestedInput user?: Prisma.UserUpdateOneWithoutLicenseKeysNestedInput
} }
@@ -290,6 +321,8 @@ export type LicenseKeyUncheckedUpdateInput = {
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
userId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null userId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
export type LicenseKeyCreateManyInput = { export type LicenseKeyCreateManyInput = {
@@ -300,6 +333,8 @@ export type LicenseKeyCreateManyInput = {
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
userId?: string | null userId?: string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
} }
export type LicenseKeyUpdateManyMutationInput = { export type LicenseKeyUpdateManyMutationInput = {
@@ -309,6 +344,8 @@ export type LicenseKeyUpdateManyMutationInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
export type LicenseKeyUncheckedUpdateManyInput = { export type LicenseKeyUncheckedUpdateManyInput = {
@@ -319,6 +356,8 @@ export type LicenseKeyUncheckedUpdateManyInput = {
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
userId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null userId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
export type LicenseKeyListRelationFilter = { export type LicenseKeyListRelationFilter = {
@@ -331,6 +370,11 @@ export type LicenseKeyOrderByRelationAggregateInput = {
_count?: Prisma.SortOrder _count?: Prisma.SortOrder
} }
export type LicenseKeyUserIdSystemNameLowerCompoundUniqueInput = {
userId: string
systemNameLower: string
}
export type LicenseKeyCountOrderByAggregateInput = { export type LicenseKeyCountOrderByAggregateInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
key?: Prisma.SortOrder key?: Prisma.SortOrder
@@ -339,6 +383,8 @@ export type LicenseKeyCountOrderByAggregateInput = {
lastValidatedAt?: Prisma.SortOrder lastValidatedAt?: Prisma.SortOrder
userId?: Prisma.SortOrder userId?: Prisma.SortOrder
email?: Prisma.SortOrder email?: Prisma.SortOrder
systemName?: Prisma.SortOrder
systemNameLower?: Prisma.SortOrder
} }
export type LicenseKeyMaxOrderByAggregateInput = { export type LicenseKeyMaxOrderByAggregateInput = {
@@ -349,6 +395,8 @@ export type LicenseKeyMaxOrderByAggregateInput = {
lastValidatedAt?: Prisma.SortOrder lastValidatedAt?: Prisma.SortOrder
userId?: Prisma.SortOrder userId?: Prisma.SortOrder
email?: Prisma.SortOrder email?: Prisma.SortOrder
systemName?: Prisma.SortOrder
systemNameLower?: Prisma.SortOrder
} }
export type LicenseKeyMinOrderByAggregateInput = { export type LicenseKeyMinOrderByAggregateInput = {
@@ -359,6 +407,8 @@ export type LicenseKeyMinOrderByAggregateInput = {
lastValidatedAt?: Prisma.SortOrder lastValidatedAt?: Prisma.SortOrder
userId?: Prisma.SortOrder userId?: Prisma.SortOrder
email?: Prisma.SortOrder email?: Prisma.SortOrder
systemName?: Prisma.SortOrder
systemNameLower?: Prisma.SortOrder
} }
export type LicenseKeyCreateNestedManyWithoutUserInput = { export type LicenseKeyCreateNestedManyWithoutUserInput = {
@@ -410,6 +460,8 @@ export type LicenseKeyCreateWithoutUserInput = {
createdAt?: Date | string createdAt?: Date | string
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
} }
export type LicenseKeyUncheckedCreateWithoutUserInput = { export type LicenseKeyUncheckedCreateWithoutUserInput = {
@@ -419,6 +471,8 @@ export type LicenseKeyUncheckedCreateWithoutUserInput = {
createdAt?: Date | string createdAt?: Date | string
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
} }
export type LicenseKeyCreateOrConnectWithoutUserInput = { export type LicenseKeyCreateOrConnectWithoutUserInput = {
@@ -458,6 +512,8 @@ export type LicenseKeyScalarWhereInput = {
lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null lastValidatedAt?: Prisma.DateTimeNullableFilter<"LicenseKey"> | Date | string | null
userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null userId?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null email?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemName?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
systemNameLower?: Prisma.StringNullableFilter<"LicenseKey"> | string | null
} }
export type LicenseKeyCreateManyUserInput = { export type LicenseKeyCreateManyUserInput = {
@@ -467,6 +523,8 @@ export type LicenseKeyCreateManyUserInput = {
createdAt?: Date | string createdAt?: Date | string
lastValidatedAt?: Date | string | null lastValidatedAt?: Date | string | null
email?: string | null email?: string | null
systemName?: string | null
systemNameLower?: string | null
} }
export type LicenseKeyUpdateWithoutUserInput = { export type LicenseKeyUpdateWithoutUserInput = {
@@ -476,6 +534,8 @@ export type LicenseKeyUpdateWithoutUserInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
export type LicenseKeyUncheckedUpdateWithoutUserInput = { export type LicenseKeyUncheckedUpdateWithoutUserInput = {
@@ -485,6 +545,8 @@ export type LicenseKeyUncheckedUpdateWithoutUserInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
export type LicenseKeyUncheckedUpdateManyWithoutUserInput = { export type LicenseKeyUncheckedUpdateManyWithoutUserInput = {
@@ -494,6 +556,8 @@ export type LicenseKeyUncheckedUpdateManyWithoutUserInput = {
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastValidatedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
systemNameLower?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
} }
@@ -506,6 +570,8 @@ export type LicenseKeySelect<ExtArgs extends runtime.Types.Extensions.InternalAr
lastValidatedAt?: boolean lastValidatedAt?: boolean
userId?: boolean userId?: boolean
email?: boolean email?: boolean
systemName?: boolean
systemNameLower?: boolean
user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs> user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs>
}, ExtArgs["result"]["licenseKey"]> }, ExtArgs["result"]["licenseKey"]>
@@ -517,6 +583,8 @@ export type LicenseKeySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Ex
lastValidatedAt?: boolean lastValidatedAt?: boolean
userId?: boolean userId?: boolean
email?: boolean email?: boolean
systemName?: boolean
systemNameLower?: boolean
user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs> user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs>
}, ExtArgs["result"]["licenseKey"]> }, ExtArgs["result"]["licenseKey"]>
@@ -528,6 +596,8 @@ export type LicenseKeySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Ex
lastValidatedAt?: boolean lastValidatedAt?: boolean
userId?: boolean userId?: boolean
email?: boolean email?: boolean
systemName?: boolean
systemNameLower?: boolean
user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs> user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs>
}, ExtArgs["result"]["licenseKey"]> }, ExtArgs["result"]["licenseKey"]>
@@ -539,9 +609,11 @@ export type LicenseKeySelectScalar = {
lastValidatedAt?: boolean lastValidatedAt?: boolean
userId?: boolean userId?: boolean
email?: boolean email?: boolean
systemName?: boolean
systemNameLower?: boolean
} }
export type LicenseKeyOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "key" | "active" | "createdAt" | "lastValidatedAt" | "userId" | "email", ExtArgs["result"]["licenseKey"]> export type LicenseKeyOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "key" | "active" | "createdAt" | "lastValidatedAt" | "userId" | "email" | "systemName" | "systemNameLower", ExtArgs["result"]["licenseKey"]>
export type LicenseKeyInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type LicenseKeyInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs> user?: boolean | Prisma.LicenseKey$userArgs<ExtArgs>
} }
@@ -565,6 +637,8 @@ export type $LicenseKeyPayload<ExtArgs extends runtime.Types.Extensions.Internal
lastValidatedAt: Date | null lastValidatedAt: Date | null
userId: string | null userId: string | null
email: string | null email: string | null
systemName: string | null
systemNameLower: string | null
}, ExtArgs["result"]["licenseKey"]> }, ExtArgs["result"]["licenseKey"]>
composites: {} composites: {}
} }
@@ -996,6 +1070,8 @@ export interface LicenseKeyFieldRefs {
readonly lastValidatedAt: Prisma.FieldRef<"LicenseKey", 'DateTime'> readonly lastValidatedAt: Prisma.FieldRef<"LicenseKey", 'DateTime'>
readonly userId: Prisma.FieldRef<"LicenseKey", 'String'> readonly userId: Prisma.FieldRef<"LicenseKey", 'String'>
readonly email: Prisma.FieldRef<"LicenseKey", 'String'> readonly email: Prisma.FieldRef<"LicenseKey", 'String'>
readonly systemName: Prisma.FieldRef<"LicenseKey", 'String'>
readonly systemNameLower: Prisma.FieldRef<"LicenseKey", 'String'>
} }