create license management

This commit is contained in:
2026-04-06 13:31:40 +03:30
parent c02e7afca1
commit 1160d81cdb
42 changed files with 1233 additions and 522 deletions
@@ -0,0 +1,2 @@
-- DropIndex
DROP INDEX `accounts_password_key` ON `accounts`;
@@ -0,0 +1,17 @@
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_partner_id_fkey`;
-- DropIndex
DROP INDEX `licenses_partner_id_fkey` ON `licenses`;
-- AlterTable
ALTER TABLE `consumers` ADD COLUMN `license_id` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `licenses` MODIFY `partner_id` VARCHAR(191) NULL;
-- AddForeignKey
ALTER TABLE `consumers` ADD CONSTRAINT `consumers_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -0,0 +1,14 @@
/*
Warnings:
- You are about to drop the column `pos_id` on the `licenses` table. All the data in the column will be lost.
*/
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_pos_id_fkey`;
-- DropIndex
DROP INDEX `licenses_pos_id_fkey` ON `licenses`;
-- AlterTable
ALTER TABLE `licenses` DROP COLUMN `pos_id`;
+1 -1
View File
@@ -1,7 +1,7 @@
model Account { model Account {
id String @id @default(uuid()) id String @id @default(uuid())
username String @unique() username String @unique()
password String @unique() password String
status AccountStatus status AccountStatus
type AccountType type AccountType
+2 -1
View File
@@ -4,10 +4,12 @@ model Consumer {
first_name String first_name String
last_name String last_name String
status ConsumerStatus @default(ACTIVE) status ConsumerStatus @default(ACTIVE)
license_id String?
created_at DateTime @default(now()) @db.Timestamp(0) created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0) updated_at DateTime @updatedAt() @db.Timestamp(0)
license License? @relation(fields: [license_id], references: [id])
accounts ConsumerAccount[] accounts ConsumerAccount[]
businessActivities BusinessActivity[] businessActivities BusinessActivity[]
@@ -93,7 +95,6 @@ model Pos {
provider_id String? provider_id String?
provider Provider? @relation(fields: [provider_id], references: [id]) provider Provider? @relation(fields: [provider_id], references: [id])
licenses License[]
permissionPos PermissionPos[] permissionPos PermissionPos[]
salesInvoices SalesInvoice[] salesInvoices SalesInvoice[]
+5 -4
View File
@@ -7,11 +7,12 @@ model License {
created_at DateTime @default(now()) @db.Timestamp(0) created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0) updated_at DateTime @updatedAt() @db.Timestamp(0)
pos_id String partner_id String?
partner_id String
pos Pos @relation(fields: [pos_id], references: [id]) // pos Pos @relation(fields: [pos_id], references: [id])
partner Partner @relation(fields: [partner_id], references: [id]) partner Partner? @relation(fields: [partner_id], references: [id])
consumers Consumer[]
@@map("licenses") @@map("licenses")
} }
+14 -3
View File
@@ -1,7 +1,18 @@
// generator client {
// provider = "prisma-client-js"
// // output = "../../src/generated/prisma"
// // moduleFormat = "cjs"
// previewFeatures = ["views"]
// }
// datasource db {
// provider = "mysql"
// }
generator client { generator client {
provider = "prisma-client-js" provider = "prisma-client"
// output = "../../src/generated/prisma" output = "../../src/generated/prisma"
// moduleFormat = "cjs" moduleFormat = "cjs"
previewFeatures = ["views"] previewFeatures = ["views"]
} }
+275 -3
View File
@@ -1,4 +1,6 @@
import { PasswordUtil } from '@/common/utils/password.util' import { PasswordUtil } from '@/common/utils/password.util'
import { GoodPricingModel, POSType, UnitType } from '@/generated/prisma/enums'
import { GoodCreateInput, GoodCreateManyInput } from '@/generated/prisma/models'
import { prisma } from '../src/lib/prisma' import { prisma } from '../src/lib/prisma'
async function main() { async function main() {
@@ -28,8 +30,9 @@ async function main() {
}, },
}) })
const guildsCount = prisma.guild.count() // ****************** GUILD Start ****************** //
if (!guildsCount) { const guilds = await prisma.guild.findMany()
if (!guilds.length) {
const guilds = await prisma.guild.createMany({ const guilds = await prisma.guild.createMany({
data: [ data: [
{ {
@@ -42,9 +45,17 @@ async function main() {
}, },
], ],
}) })
}
// ****************** GUILD Good Categories Start ****************** //
const goldGuildId = guilds[0].id const goldGuildId = guilds[0].id
const goldGuildGoodCategories = await prisma.goodCategory.findMany({
where: {
guild_id: goldGuildId,
is_default_guild_good: true,
},
})
if (!goldGuildGoodCategories) {
const categoryFactory = (name: string) => ({ const categoryFactory = (name: string) => ({
name, name,
guild_id: goldGuildId, guild_id: goldGuildId,
@@ -62,6 +73,267 @@ async function main() {
], ],
}) })
} }
// ****************** GUILD Good Start ****************** //
const goodFactory = (
name: string,
categoryId: string,
pricingModel: GoodPricingModel,
unitType: UnitType,
): GoodCreateManyInput => ({
name,
category_id: categoryId,
pricing_model: pricingModel,
sku: '',
unit_type: unitType,
is_default_guild_good: true,
})
const zivarCategory = await prisma.goodCategory.findFirst({
where: {
name: 'زیورآلات',
},
})
if (zivarCategory) {
const zivarGoods = await prisma.good.count({
where: {
category_id: zivarCategory?.id,
},
})
if (!zivarGoods) {
const goodItems: GoodCreateManyInput[] = []
goodItems.push(
...[
goodFactory(
'آویز گردنبند طلا',
zivarCategory.id,
GoodPricingModel.GOLD,
UnitType.GRAM,
),
goodFactory('النگو', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
goodFactory('انگشتر', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
goodFactory('دست‌بند', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
goodFactory('زنجیر', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
goodFactory('سرویس', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
goodFactory('گوشواره', zivarCategory.id, GoodPricingModel.GOLD, UnitType.GRAM),
],
)
await prisma.good.createMany({ data: goodItems })
}
}
const goldCategory = await prisma.goodCategory.findFirst({
where: {
name: 'طلا',
},
})
if (goldCategory) {
const goldGoods = await prisma.good.count({
where: {
category_id: goldCategory?.id,
},
})
if (!goldGoods) {
const goodItems: GoodCreateInput[] = []
goodItems.push(
...[
goodFactory(
'طلای آب شده',
goldCategory.id,
GoodPricingModel.GOLD,
UnitType.GRAM,
),
goodFactory(
'طلای شکسته',
goldCategory.id,
GoodPricingModel.GOLD,
UnitType.GRAM,
),
goodFactory(
'طلای مستعمل',
goldCategory.id,
GoodPricingModel.GOLD,
UnitType.GRAM,
),
],
)
await prisma.good.createMany({ data: goodItems })
}
}
const coinCategory = await prisma.goodCategory.findFirst({
where: {
name: 'سکه',
},
})
if (coinCategory) {
const coinGoods = await prisma.good.count({
where: {
category_id: coinCategory?.id,
},
})
if (!coinGoods) {
const goodItems: GoodCreateInput[] = []
goodItems.push(
...[
goodFactory(
'مسکوکات خارجی',
coinCategory.id,
GoodPricingModel.STANDARD,
UnitType.COUNT,
),
goodFactory(
'مسکوکات داخلی (پارسیان)',
coinCategory.id,
GoodPricingModel.STANDARD,
UnitType.COUNT,
),
goodFactory(
'تمام بهار آزادی (طرح جدید)',
coinCategory.id,
GoodPricingModel.STANDARD,
UnitType.COUNT,
),
goodFactory(
'تمام بهار آزادی (طرح قدیم)',
coinCategory.id,
GoodPricingModel.STANDARD,
UnitType.COUNT,
),
],
)
await prisma.good.createMany({ data: goodItems })
}
}
const shemshCategory = await prisma.goodCategory.findFirst({
where: {
name: 'شمش',
},
})
if (shemshCategory) {
const shemshGoods = await prisma.good.count({
where: {
category_id: shemshCategory?.id,
},
})
if (!shemshGoods) {
await prisma.good.create({
data: goodFactory(
'شمش استاندارد',
shemshCategory.id,
GoodPricingModel.GOLD,
UnitType.GRAM,
),
})
}
}
// ****************** BA Start ****************** //
const ba = await prisma.businessActivity.count()
if (!ba) {
await prisma.businessActivity.create({
data: {
name: 'طلا فروشی',
user: {
create: {
first_name: 'محمد',
last_name: 'زرگر',
mobile_number: '09120258155',
accounts: {
create: {
role: 'OWNER',
account: {
create: {
username: 'zargar',
password: await PasswordUtil.hash('123456'),
status: 'ACTIVE',
type: 'CONSUMER',
},
},
},
},
},
},
guild: {
connect: {
id: guilds[0].id,
},
},
complexes: {
create: {
name: 'فروشگاه طلای مرکزی',
address: 'تهران، خیابان جمهوری',
tax_id: '12312452345765',
pos_list: {
create: {
name: 'لاین ۱',
pos_type: POSType.WEB,
serial: '12312312',
status: 'ACTIVE',
},
},
},
},
},
})
}
// ****************** BA Start ****************** //
// ****************** partner Start ****************** //
const partner = await prisma.partner.count()
if (!partner) {
await prisma.partner.create({
data: {
name: 'تیس',
code: 'TIS',
license_quota: 5,
status: 'ACTIVE',
accounts: {
create: {
role: 'OWNER',
account: {
create: {
username: 'tis',
password: await PasswordUtil.hash('123456'),
status: 'ACTIVE',
type: 'PARTNER',
},
},
},
},
},
})
}
// ****************** provider Start ****************** //
const provider = await prisma.provider.count()
if (!provider) {
await prisma.provider.create({
data: {
name: 'توسن',
code: 'Tosan',
status: 'ACTIVE',
accounts: {
create: {
role: 'OWNER',
account: {
create: {
username: 'tosan',
password: await PasswordUtil.hash('123456'),
status: 'ACTIVE',
type: 'PROVIDER',
},
},
},
},
},
})
}
} }
main() main()
Vendored
+7 -6
View File
@@ -1,15 +1,16 @@
import { IPosPayload } from '@/common/models/posPayload.model' import { AccessTokenPayload, IConsumerPayload, IPosPayload } from '@/common/models'
import { AccessTokenPayload } from '@/common/models/tokenPayload.model'
declare global { declare global {
interface Request { interface Request {
decodedToken: AccessTokenPayload decodedToken?: AccessTokenPayload
posData: IPosPayload consumerData?: IConsumerPayload
posData?: IPosPayload
} }
namespace Express { namespace Express {
interface Request { interface Request {
decodedToken: AccessTokenPayload decodedToken?: AccessTokenPayload
posData: IPosPayload consumerData?: IConsumerPayload
posData?: IPosPayload
} }
} }
} }
@@ -0,0 +1,33 @@
import {
BadRequestException,
createParamDecorator,
ExecutionContext,
ForbiddenException,
} from '@nestjs/common'
import { Request } from 'express'
import { IConsumerPayload } from '../models'
export const ConsumerInfoInfo = createParamDecorator(
(data: keyof IConsumerPayload | undefined, ctx: ExecutionContext) => {
try {
const request = ctx.switchToHttp().getRequest<Request>()
const info = request.consumerData
if (!info) {
throw new ForbiddenException('شما به این بخش دسترسی ندارید')
}
if (data) {
return info[data]
}
return info
} catch (err) {
if (err) {
throw err
}
throw new BadRequestException('مشکلی در ساختار درخواست شما وجود دارد.')
}
},
)
+1 -1
View File
@@ -14,7 +14,7 @@ export const TokenAccount = createParamDecorator(
const account = request.decodedToken const account = request.decodedToken
// ✅ if middleware didn't populate req.account, return undefined or throw // ✅ if middleware didn't populate req.account, return undefined or throw
if (!account.user?.id) { if (!account || !account.user?.id) {
throw new UnauthorizedException('شما به این بخش دسترسی ندارید') throw new UnauthorizedException('شما به این بخش دسترسی ندارید')
} }
+52
View File
@@ -0,0 +1,52 @@
// src/common/guards/permissions.guard.ts
import { ITokenPayload } from '@/modules/auth/auth.utils'
import { PrismaService } from '@/prisma/prisma.service'
import { ExecutionContext, ForbiddenException, Injectable } from '@nestjs/common'
import { Request as ExpressRequest } from 'express'
@Injectable()
export class ConsumerGuard {
constructor(private prisma: PrismaService) {}
async canActivate(
tokenPayload: ITokenPayload,
context: ExecutionContext,
): Promise<boolean> {
if (!tokenPayload || tokenPayload.type !== 'CONSUMER')
throw new ForbiddenException('شما دسترسی لازم را ندارید.')
const consumer = await this.prisma.consumer.findFirst({
where: {
accounts: {
some: {
id: tokenPayload.account_id,
},
},
},
select: {
license: {
select: {
expires_at: true,
},
},
},
})
if (!consumer) {
throw new ForbiddenException('شما دسترسی لازم را ندارید.')
}
const req = context.switchToHttp().getRequest<ExpressRequest>()
if (req.method !== 'GET') {
if (!consumer.license?.expires_at) {
throw new ForbiddenException('برای کاربر شما لایسنس ایجاد نشده است.')
}
if (
new Date().toUTCString() > new Date(consumer.license?.expires_at).toUTCString()
) {
throw new ForbiddenException('لایسنس شما منقضی شده است.')
}
}
return true
}
}
@@ -1,54 +1,26 @@
// src/common/guards/permissions.guard.ts // src/common/guards/permissions.guard.ts
import { ITokenPayload } from '@/modules/auth/auth.utils'
import { PrismaService } from '@/prisma/prisma.service' import { PrismaService } from '@/prisma/prisma.service'
import { import { ExecutionContext, ForbiddenException, Injectable } from '@nestjs/common'
CanActivate,
ExecutionContext,
ForbiddenException,
Injectable,
} from '@nestjs/common'
import { Reflector } from '@nestjs/core'
import { JwtService } from '@nestjs/jwt'
import { Request as ExpressRequest } from 'express' import { Request as ExpressRequest } from 'express'
import { IS_PUBLIC_KEY } from '../decorators/public.decorator'
import { checkAndDecodeJwtToken } from '../utils/jwt-user.util'
@Injectable() @Injectable()
export class PosGuard implements CanActivate { export class PosGuard {
constructor( constructor(private prisma: PrismaService) {}
private jwt: JwtService,
private reflector: Reflector,
private prisma: PrismaService,
) {}
async canActivate(context: ExecutionContext): Promise<boolean> {
const isPublic = this.reflector.getAllAndOverride<boolean>(IS_PUBLIC_KEY, [
context.getHandler(),
context.getClass(),
])
if (isPublic) return true
// const requiredPermissions = this.reflector.get<string[]>(
// 'permissions',
// context.getHandler(),
// )
// if (!requiredPermissions || requiredPermissions.length === 0) return true
async canActivate(
tokenPayload: ITokenPayload,
context: ExecutionContext,
): Promise<boolean> {
const req = context.switchToHttp().getRequest<ExpressRequest>() const req = context.switchToHttp().getRequest<ExpressRequest>()
const account = checkAndDecodeJwtToken(req, this.jwt) if (!tokenPayload || tokenPayload.type !== 'CONSUMER')
// const account = req.decodedToken
if (!req.url.startsWith('/api/v1/pos/')) {
return true
}
if (!account || account.type !== 'CONSUMER')
throw new ForbiddenException('شما دسترسی لازم را ندارید.') throw new ForbiddenException('شما دسترسی لازم را ندارید.')
const cookie = req.cookies const cookie = req.cookies
const { posId, accessToken } = cookie const { posId } = cookie
if (!posId || !accessToken) { if (!posId) {
return false return false
} }
@@ -60,7 +32,7 @@ export class PosGuard implements CanActivate {
user: { user: {
accounts: { accounts: {
some: { some: {
id: account.account_id, id: tokenPayload.account_id,
}, },
}, },
}, },
@@ -83,7 +55,7 @@ export class PosGuard implements CanActivate {
const foundedAccount = await this.prisma.consumerAccount.findUnique({ const foundedAccount = await this.prisma.consumerAccount.findUnique({
where: { where: {
id: account.account_id, id: tokenPayload.account_id,
}, },
select: { select: {
role: true, role: true,
@@ -96,7 +68,7 @@ export class PosGuard implements CanActivate {
const accountPermissions = await this.prisma.permissionConsumer.findUnique({ const accountPermissions = await this.prisma.permissionConsumer.findUnique({
where: { where: {
account_id: account.account_id, account_id: tokenPayload.account_id,
}, },
select: { select: {
posPermissions: true, posPermissions: true,
+16 -6
View File
@@ -1,6 +1,8 @@
import { ITokenPayload } from '@/modules/auth/auth.utils'
import { import {
CanActivate, CanActivate,
ExecutionContext, ExecutionContext,
ForbiddenException,
Injectable, Injectable,
UnauthorizedException, UnauthorizedException,
} from '@nestjs/common' } from '@nestjs/common'
@@ -8,12 +10,16 @@ import { Reflector } from '@nestjs/core'
import { JwtService } from '@nestjs/jwt' import { JwtService } from '@nestjs/jwt'
import { Request as ExpressRequest } from 'express' import { Request as ExpressRequest } from 'express'
import { IS_PUBLIC_KEY } from '../decorators/public.decorator' import { IS_PUBLIC_KEY } from '../decorators/public.decorator'
import { ConsumerGuard } from './auth-consumer.guard'
import { PosGuard } from './auth-pos.guard'
@Injectable() @Injectable()
export class JwtAuthGuard implements CanActivate { export class JwtAuthGuard implements CanActivate {
constructor( constructor(
private jwt: JwtService, private jwt: JwtService,
private reflector: Reflector, private reflector: Reflector,
private consumerGuard: ConsumerGuard,
private posGuard: PosGuard,
) {} ) {}
async canActivate(context: ExecutionContext): Promise<boolean> { async canActivate(context: ExecutionContext): Promise<boolean> {
@@ -42,15 +48,19 @@ export class JwtAuthGuard implements CanActivate {
secret: process.env.JWT_SECRET, secret: process.env.JWT_SECRET,
}) })
// if (payload.type !== 'POS') const tokenPayload = this.jwt.decode(token) as ITokenPayload
// throw new UnauthorizedException('Invalid or expired token')
// Set the typed dataPayload to the request
// req.dataPayload = payload
if (req.url.startsWith('/api/v1/consumer')) {
await this.consumerGuard.canActivate(tokenPayload, context)
} else if (req.url.startsWith('/api/v1/pos')) {
await this.consumerGuard.canActivate(tokenPayload, context)
await this.posGuard.canActivate(tokenPayload, context)
} else if (tokenPayload.type != 'ADMIN') {
throw new ForbiddenException('شما دسترسی لازم را ندارید')
}
return true return true
} catch (err) { } catch (err) {
console.log(err) if (err) throw err
throw new UnauthorizedException('Invalid or expired token') throw new UnauthorizedException('Invalid or expired token')
} }
} }
@@ -0,0 +1,4 @@
export interface IConsumerPayload {
user_id: string
account_id: string
}
+3
View File
@@ -0,0 +1,3 @@
export * from './consumerPayload.model'
export * from './posPayload.model'
export * from './tokenPayload.model'
File diff suppressed because one or more lines are too long
@@ -2627,6 +2627,7 @@ export const ConsumerScalarFieldEnum = {
first_name: 'first_name', first_name: 'first_name',
last_name: 'last_name', last_name: 'last_name',
status: 'status', status: 'status',
license_id: 'license_id',
created_at: 'created_at', created_at: 'created_at',
updated_at: 'updated_at' updated_at: 'updated_at'
} as const } as const
@@ -2717,7 +2718,6 @@ export const LicenseScalarFieldEnum = {
status: 'status', status: 'status',
created_at: 'created_at', created_at: 'created_at',
updated_at: 'updated_at', updated_at: 'updated_at',
pos_id: 'pos_id',
partner_id: 'partner_id' partner_id: 'partner_id'
} as const } as const
@@ -3063,7 +3063,8 @@ export const ConsumerOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
mobile_number: 'mobile_number', mobile_number: 'mobile_number',
first_name: 'first_name', first_name: 'first_name',
last_name: 'last_name' last_name: 'last_name',
license_id: 'license_id'
} as const } as const
export type ConsumerOrderByRelevanceFieldEnum = (typeof ConsumerOrderByRelevanceFieldEnum)[keyof typeof ConsumerOrderByRelevanceFieldEnum] export type ConsumerOrderByRelevanceFieldEnum = (typeof ConsumerOrderByRelevanceFieldEnum)[keyof typeof ConsumerOrderByRelevanceFieldEnum]
@@ -3132,7 +3133,6 @@ export type DeviceOrderByRelevanceFieldEnum = (typeof DeviceOrderByRelevanceFiel
export const LicenseOrderByRelevanceFieldEnum = { export const LicenseOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
pos_id: 'pos_id',
partner_id: 'partner_id' partner_id: 'partner_id'
} as const } as const
@@ -142,6 +142,7 @@ export const ConsumerScalarFieldEnum = {
first_name: 'first_name', first_name: 'first_name',
last_name: 'last_name', last_name: 'last_name',
status: 'status', status: 'status',
license_id: 'license_id',
created_at: 'created_at', created_at: 'created_at',
updated_at: 'updated_at' updated_at: 'updated_at'
} as const } as const
@@ -232,7 +233,6 @@ export const LicenseScalarFieldEnum = {
status: 'status', status: 'status',
created_at: 'created_at', created_at: 'created_at',
updated_at: 'updated_at', updated_at: 'updated_at',
pos_id: 'pos_id',
partner_id: 'partner_id' partner_id: 'partner_id'
} as const } as const
@@ -578,7 +578,8 @@ export const ConsumerOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
mobile_number: 'mobile_number', mobile_number: 'mobile_number',
first_name: 'first_name', first_name: 'first_name',
last_name: 'last_name' last_name: 'last_name',
license_id: 'license_id'
} as const } as const
export type ConsumerOrderByRelevanceFieldEnum = (typeof ConsumerOrderByRelevanceFieldEnum)[keyof typeof ConsumerOrderByRelevanceFieldEnum] export type ConsumerOrderByRelevanceFieldEnum = (typeof ConsumerOrderByRelevanceFieldEnum)[keyof typeof ConsumerOrderByRelevanceFieldEnum]
@@ -647,7 +648,6 @@ export type DeviceOrderByRelevanceFieldEnum = (typeof DeviceOrderByRelevanceFiel
export const LicenseOrderByRelevanceFieldEnum = { export const LicenseOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
pos_id: 'pos_id',
partner_id: 'partner_id' partner_id: 'partner_id'
} as const } as const
+2 -2
View File
@@ -204,17 +204,17 @@ export type AccountOrderByWithRelationInput = {
export type AccountWhereUniqueInput = Prisma.AtLeast<{ export type AccountWhereUniqueInput = Prisma.AtLeast<{
id?: string id?: string
username?: string username?: string
password?: string
AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[]
OR?: Prisma.AccountWhereInput[] OR?: Prisma.AccountWhereInput[]
NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[]
password?: Prisma.StringFilter<"Account"> | string
status?: Prisma.EnumAccountStatusFilter<"Account"> | $Enums.AccountStatus status?: Prisma.EnumAccountStatusFilter<"Account"> | $Enums.AccountStatus
type?: Prisma.EnumAccountTypeFilter<"Account"> | $Enums.AccountType type?: Prisma.EnumAccountTypeFilter<"Account"> | $Enums.AccountType
admin_account?: Prisma.XOR<Prisma.AdminAccountNullableScalarRelationFilter, Prisma.AdminAccountWhereInput> | null admin_account?: Prisma.XOR<Prisma.AdminAccountNullableScalarRelationFilter, Prisma.AdminAccountWhereInput> | null
provider_account?: Prisma.XOR<Prisma.ProviderAccountNullableScalarRelationFilter, Prisma.ProviderAccountWhereInput> | null provider_account?: Prisma.XOR<Prisma.ProviderAccountNullableScalarRelationFilter, Prisma.ProviderAccountWhereInput> | null
partner_account?: Prisma.XOR<Prisma.PartnerAccountNullableScalarRelationFilter, Prisma.PartnerAccountWhereInput> | null partner_account?: Prisma.XOR<Prisma.PartnerAccountNullableScalarRelationFilter, Prisma.PartnerAccountWhereInput> | null
consumer_account?: Prisma.XOR<Prisma.ConsumerAccountNullableScalarRelationFilter, Prisma.ConsumerAccountWhereInput> | null consumer_account?: Prisma.XOR<Prisma.ConsumerAccountNullableScalarRelationFilter, Prisma.ConsumerAccountWhereInput> | null
}, "id" | "username" | "password"> }, "id" | "username">
export type AccountOrderByWithAggregationInput = { export type AccountOrderByWithAggregationInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
+220 -1
View File
@@ -30,6 +30,7 @@ export type ConsumerMinAggregateOutputType = {
first_name: string | null first_name: string | null
last_name: string | null last_name: string | null
status: $Enums.ConsumerStatus | null status: $Enums.ConsumerStatus | null
license_id: string | null
created_at: Date | null created_at: Date | null
updated_at: Date | null updated_at: Date | null
} }
@@ -40,6 +41,7 @@ export type ConsumerMaxAggregateOutputType = {
first_name: string | null first_name: string | null
last_name: string | null last_name: string | null
status: $Enums.ConsumerStatus | null status: $Enums.ConsumerStatus | null
license_id: string | null
created_at: Date | null created_at: Date | null
updated_at: Date | null updated_at: Date | null
} }
@@ -50,6 +52,7 @@ export type ConsumerCountAggregateOutputType = {
first_name: number first_name: number
last_name: number last_name: number
status: number status: number
license_id: number
created_at: number created_at: number
updated_at: number updated_at: number
_all: number _all: number
@@ -62,6 +65,7 @@ export type ConsumerMinAggregateInputType = {
first_name?: true first_name?: true
last_name?: true last_name?: true
status?: true status?: true
license_id?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
} }
@@ -72,6 +76,7 @@ export type ConsumerMaxAggregateInputType = {
first_name?: true first_name?: true
last_name?: true last_name?: true
status?: true status?: true
license_id?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
} }
@@ -82,6 +87,7 @@ export type ConsumerCountAggregateInputType = {
first_name?: true first_name?: true
last_name?: true last_name?: true
status?: true status?: true
license_id?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
_all?: true _all?: true
@@ -165,6 +171,7 @@ export type ConsumerGroupByOutputType = {
first_name: string first_name: string
last_name: string last_name: string
status: $Enums.ConsumerStatus status: $Enums.ConsumerStatus
license_id: string | null
created_at: Date created_at: Date
updated_at: Date updated_at: Date
_count: ConsumerCountAggregateOutputType | null _count: ConsumerCountAggregateOutputType | null
@@ -196,8 +203,10 @@ export type ConsumerWhereInput = {
first_name?: Prisma.StringFilter<"Consumer"> | string first_name?: Prisma.StringFilter<"Consumer"> | string
last_name?: Prisma.StringFilter<"Consumer"> | string last_name?: Prisma.StringFilter<"Consumer"> | string
status?: Prisma.EnumConsumerStatusFilter<"Consumer"> | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFilter<"Consumer"> | $Enums.ConsumerStatus
license_id?: Prisma.StringNullableFilter<"Consumer"> | string | null
created_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string created_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
updated_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string updated_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
license?: Prisma.XOR<Prisma.LicenseNullableScalarRelationFilter, Prisma.LicenseWhereInput> | null
accounts?: Prisma.ConsumerAccountListRelationFilter accounts?: Prisma.ConsumerAccountListRelationFilter
businessActivities?: Prisma.BusinessActivityListRelationFilter businessActivities?: Prisma.BusinessActivityListRelationFilter
} }
@@ -208,8 +217,10 @@ export type ConsumerOrderByWithRelationInput = {
first_name?: Prisma.SortOrder first_name?: Prisma.SortOrder
last_name?: Prisma.SortOrder last_name?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
license_id?: Prisma.SortOrderInput | Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
license?: Prisma.LicenseOrderByWithRelationInput
accounts?: Prisma.ConsumerAccountOrderByRelationAggregateInput accounts?: Prisma.ConsumerAccountOrderByRelationAggregateInput
businessActivities?: Prisma.BusinessActivityOrderByRelationAggregateInput businessActivities?: Prisma.BusinessActivityOrderByRelationAggregateInput
_relevance?: Prisma.ConsumerOrderByRelevanceInput _relevance?: Prisma.ConsumerOrderByRelevanceInput
@@ -224,8 +235,10 @@ export type ConsumerWhereUniqueInput = Prisma.AtLeast<{
first_name?: Prisma.StringFilter<"Consumer"> | string first_name?: Prisma.StringFilter<"Consumer"> | string
last_name?: Prisma.StringFilter<"Consumer"> | string last_name?: Prisma.StringFilter<"Consumer"> | string
status?: Prisma.EnumConsumerStatusFilter<"Consumer"> | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFilter<"Consumer"> | $Enums.ConsumerStatus
license_id?: Prisma.StringNullableFilter<"Consumer"> | string | null
created_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string created_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
updated_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string updated_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
license?: Prisma.XOR<Prisma.LicenseNullableScalarRelationFilter, Prisma.LicenseWhereInput> | null
accounts?: Prisma.ConsumerAccountListRelationFilter accounts?: Prisma.ConsumerAccountListRelationFilter
businessActivities?: Prisma.BusinessActivityListRelationFilter businessActivities?: Prisma.BusinessActivityListRelationFilter
}, "id" | "mobile_number"> }, "id" | "mobile_number">
@@ -236,6 +249,7 @@ export type ConsumerOrderByWithAggregationInput = {
first_name?: Prisma.SortOrder first_name?: Prisma.SortOrder
last_name?: Prisma.SortOrder last_name?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
license_id?: Prisma.SortOrderInput | Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
_count?: Prisma.ConsumerCountOrderByAggregateInput _count?: Prisma.ConsumerCountOrderByAggregateInput
@@ -252,6 +266,7 @@ export type ConsumerScalarWhereWithAggregatesInput = {
first_name?: Prisma.StringWithAggregatesFilter<"Consumer"> | string first_name?: Prisma.StringWithAggregatesFilter<"Consumer"> | string
last_name?: Prisma.StringWithAggregatesFilter<"Consumer"> | string last_name?: Prisma.StringWithAggregatesFilter<"Consumer"> | string
status?: Prisma.EnumConsumerStatusWithAggregatesFilter<"Consumer"> | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusWithAggregatesFilter<"Consumer"> | $Enums.ConsumerStatus
license_id?: Prisma.StringNullableWithAggregatesFilter<"Consumer"> | string | null
created_at?: Prisma.DateTimeWithAggregatesFilter<"Consumer"> | Date | string created_at?: Prisma.DateTimeWithAggregatesFilter<"Consumer"> | Date | string
updated_at?: Prisma.DateTimeWithAggregatesFilter<"Consumer"> | Date | string updated_at?: Prisma.DateTimeWithAggregatesFilter<"Consumer"> | Date | string
} }
@@ -264,6 +279,7 @@ export type ConsumerCreateInput = {
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
license?: Prisma.LicenseCreateNestedOneWithoutConsumersInput
accounts?: Prisma.ConsumerAccountCreateNestedManyWithoutUserInput accounts?: Prisma.ConsumerAccountCreateNestedManyWithoutUserInput
businessActivities?: Prisma.BusinessActivityCreateNestedManyWithoutUserInput businessActivities?: Prisma.BusinessActivityCreateNestedManyWithoutUserInput
} }
@@ -274,6 +290,7 @@ export type ConsumerUncheckedCreateInput = {
first_name: string first_name: string
last_name: string last_name: string
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
license_id?: string | null
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
accounts?: Prisma.ConsumerAccountUncheckedCreateNestedManyWithoutUserInput accounts?: Prisma.ConsumerAccountUncheckedCreateNestedManyWithoutUserInput
@@ -288,6 +305,7 @@ export type ConsumerUpdateInput = {
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
license?: Prisma.LicenseUpdateOneWithoutConsumersNestedInput
accounts?: Prisma.ConsumerAccountUpdateManyWithoutUserNestedInput accounts?: Prisma.ConsumerAccountUpdateManyWithoutUserNestedInput
businessActivities?: Prisma.BusinessActivityUpdateManyWithoutUserNestedInput businessActivities?: Prisma.BusinessActivityUpdateManyWithoutUserNestedInput
} }
@@ -298,6 +316,7 @@ export type ConsumerUncheckedUpdateInput = {
first_name?: Prisma.StringFieldUpdateOperationsInput | string first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
license_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
accounts?: Prisma.ConsumerAccountUncheckedUpdateManyWithoutUserNestedInput accounts?: Prisma.ConsumerAccountUncheckedUpdateManyWithoutUserNestedInput
@@ -310,6 +329,7 @@ export type ConsumerCreateManyInput = {
first_name: string first_name: string
last_name: string last_name: string
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
license_id?: string | null
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
} }
@@ -330,6 +350,7 @@ export type ConsumerUncheckedUpdateManyInput = {
first_name?: Prisma.StringFieldUpdateOperationsInput | string first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
license_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
} }
@@ -346,6 +367,7 @@ export type ConsumerCountOrderByAggregateInput = {
first_name?: Prisma.SortOrder first_name?: Prisma.SortOrder
last_name?: Prisma.SortOrder last_name?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
license_id?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
} }
@@ -356,6 +378,7 @@ export type ConsumerMaxOrderByAggregateInput = {
first_name?: Prisma.SortOrder first_name?: Prisma.SortOrder
last_name?: Prisma.SortOrder last_name?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
license_id?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
} }
@@ -366,6 +389,7 @@ export type ConsumerMinOrderByAggregateInput = {
first_name?: Prisma.SortOrder first_name?: Prisma.SortOrder
last_name?: Prisma.SortOrder last_name?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
license_id?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
} }
@@ -375,6 +399,16 @@ export type ConsumerScalarRelationFilter = {
isNot?: Prisma.ConsumerWhereInput isNot?: Prisma.ConsumerWhereInput
} }
export type ConsumerListRelationFilter = {
every?: Prisma.ConsumerWhereInput
some?: Prisma.ConsumerWhereInput
none?: Prisma.ConsumerWhereInput
}
export type ConsumerOrderByRelationAggregateInput = {
_count?: Prisma.SortOrder
}
export type EnumConsumerStatusFieldUpdateOperationsInput = { export type EnumConsumerStatusFieldUpdateOperationsInput = {
set?: $Enums.ConsumerStatus set?: $Enums.ConsumerStatus
} }
@@ -407,6 +441,48 @@ export type ConsumerUpdateOneRequiredWithoutBusinessActivitiesNestedInput = {
update?: Prisma.XOR<Prisma.XOR<Prisma.ConsumerUpdateToOneWithWhereWithoutBusinessActivitiesInput, Prisma.ConsumerUpdateWithoutBusinessActivitiesInput>, Prisma.ConsumerUncheckedUpdateWithoutBusinessActivitiesInput> update?: Prisma.XOR<Prisma.XOR<Prisma.ConsumerUpdateToOneWithWhereWithoutBusinessActivitiesInput, Prisma.ConsumerUpdateWithoutBusinessActivitiesInput>, Prisma.ConsumerUncheckedUpdateWithoutBusinessActivitiesInput>
} }
export type ConsumerCreateNestedManyWithoutLicenseInput = {
create?: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput> | Prisma.ConsumerCreateWithoutLicenseInput[] | Prisma.ConsumerUncheckedCreateWithoutLicenseInput[]
connectOrCreate?: Prisma.ConsumerCreateOrConnectWithoutLicenseInput | Prisma.ConsumerCreateOrConnectWithoutLicenseInput[]
createMany?: Prisma.ConsumerCreateManyLicenseInputEnvelope
connect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
}
export type ConsumerUncheckedCreateNestedManyWithoutLicenseInput = {
create?: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput> | Prisma.ConsumerCreateWithoutLicenseInput[] | Prisma.ConsumerUncheckedCreateWithoutLicenseInput[]
connectOrCreate?: Prisma.ConsumerCreateOrConnectWithoutLicenseInput | Prisma.ConsumerCreateOrConnectWithoutLicenseInput[]
createMany?: Prisma.ConsumerCreateManyLicenseInputEnvelope
connect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
}
export type ConsumerUpdateManyWithoutLicenseNestedInput = {
create?: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput> | Prisma.ConsumerCreateWithoutLicenseInput[] | Prisma.ConsumerUncheckedCreateWithoutLicenseInput[]
connectOrCreate?: Prisma.ConsumerCreateOrConnectWithoutLicenseInput | Prisma.ConsumerCreateOrConnectWithoutLicenseInput[]
upsert?: Prisma.ConsumerUpsertWithWhereUniqueWithoutLicenseInput | Prisma.ConsumerUpsertWithWhereUniqueWithoutLicenseInput[]
createMany?: Prisma.ConsumerCreateManyLicenseInputEnvelope
set?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
disconnect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
delete?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
connect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
update?: Prisma.ConsumerUpdateWithWhereUniqueWithoutLicenseInput | Prisma.ConsumerUpdateWithWhereUniqueWithoutLicenseInput[]
updateMany?: Prisma.ConsumerUpdateManyWithWhereWithoutLicenseInput | Prisma.ConsumerUpdateManyWithWhereWithoutLicenseInput[]
deleteMany?: Prisma.ConsumerScalarWhereInput | Prisma.ConsumerScalarWhereInput[]
}
export type ConsumerUncheckedUpdateManyWithoutLicenseNestedInput = {
create?: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput> | Prisma.ConsumerCreateWithoutLicenseInput[] | Prisma.ConsumerUncheckedCreateWithoutLicenseInput[]
connectOrCreate?: Prisma.ConsumerCreateOrConnectWithoutLicenseInput | Prisma.ConsumerCreateOrConnectWithoutLicenseInput[]
upsert?: Prisma.ConsumerUpsertWithWhereUniqueWithoutLicenseInput | Prisma.ConsumerUpsertWithWhereUniqueWithoutLicenseInput[]
createMany?: Prisma.ConsumerCreateManyLicenseInputEnvelope
set?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
disconnect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
delete?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
connect?: Prisma.ConsumerWhereUniqueInput | Prisma.ConsumerWhereUniqueInput[]
update?: Prisma.ConsumerUpdateWithWhereUniqueWithoutLicenseInput | Prisma.ConsumerUpdateWithWhereUniqueWithoutLicenseInput[]
updateMany?: Prisma.ConsumerUpdateManyWithWhereWithoutLicenseInput | Prisma.ConsumerUpdateManyWithWhereWithoutLicenseInput[]
deleteMany?: Prisma.ConsumerScalarWhereInput | Prisma.ConsumerScalarWhereInput[]
}
export type ConsumerCreateWithoutAccountsInput = { export type ConsumerCreateWithoutAccountsInput = {
id?: string id?: string
mobile_number: string mobile_number: string
@@ -415,6 +491,7 @@ export type ConsumerCreateWithoutAccountsInput = {
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
license?: Prisma.LicenseCreateNestedOneWithoutConsumersInput
businessActivities?: Prisma.BusinessActivityCreateNestedManyWithoutUserInput businessActivities?: Prisma.BusinessActivityCreateNestedManyWithoutUserInput
} }
@@ -424,6 +501,7 @@ export type ConsumerUncheckedCreateWithoutAccountsInput = {
first_name: string first_name: string
last_name: string last_name: string
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
license_id?: string | null
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
businessActivities?: Prisma.BusinessActivityUncheckedCreateNestedManyWithoutUserInput businessActivities?: Prisma.BusinessActivityUncheckedCreateNestedManyWithoutUserInput
@@ -453,6 +531,7 @@ export type ConsumerUpdateWithoutAccountsInput = {
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
license?: Prisma.LicenseUpdateOneWithoutConsumersNestedInput
businessActivities?: Prisma.BusinessActivityUpdateManyWithoutUserNestedInput businessActivities?: Prisma.BusinessActivityUpdateManyWithoutUserNestedInput
} }
@@ -462,6 +541,7 @@ export type ConsumerUncheckedUpdateWithoutAccountsInput = {
first_name?: Prisma.StringFieldUpdateOperationsInput | string first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
license_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
businessActivities?: Prisma.BusinessActivityUncheckedUpdateManyWithoutUserNestedInput businessActivities?: Prisma.BusinessActivityUncheckedUpdateManyWithoutUserNestedInput
@@ -475,6 +555,7 @@ export type ConsumerCreateWithoutBusinessActivitiesInput = {
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
license?: Prisma.LicenseCreateNestedOneWithoutConsumersInput
accounts?: Prisma.ConsumerAccountCreateNestedManyWithoutUserInput accounts?: Prisma.ConsumerAccountCreateNestedManyWithoutUserInput
} }
@@ -484,6 +565,7 @@ export type ConsumerUncheckedCreateWithoutBusinessActivitiesInput = {
first_name: string first_name: string
last_name: string last_name: string
status?: $Enums.ConsumerStatus status?: $Enums.ConsumerStatus
license_id?: string | null
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
accounts?: Prisma.ConsumerAccountUncheckedCreateNestedManyWithoutUserInput accounts?: Prisma.ConsumerAccountUncheckedCreateNestedManyWithoutUserInput
@@ -513,6 +595,7 @@ export type ConsumerUpdateWithoutBusinessActivitiesInput = {
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
license?: Prisma.LicenseUpdateOneWithoutConsumersNestedInput
accounts?: Prisma.ConsumerAccountUpdateManyWithoutUserNestedInput accounts?: Prisma.ConsumerAccountUpdateManyWithoutUserNestedInput
} }
@@ -522,11 +605,120 @@ export type ConsumerUncheckedUpdateWithoutBusinessActivitiesInput = {
first_name?: Prisma.StringFieldUpdateOperationsInput | string first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
license_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
accounts?: Prisma.ConsumerAccountUncheckedUpdateManyWithoutUserNestedInput accounts?: Prisma.ConsumerAccountUncheckedUpdateManyWithoutUserNestedInput
} }
export type ConsumerCreateWithoutLicenseInput = {
id?: string
mobile_number: string
first_name: string
last_name: string
status?: $Enums.ConsumerStatus
created_at?: Date | string
updated_at?: Date | string
accounts?: Prisma.ConsumerAccountCreateNestedManyWithoutUserInput
businessActivities?: Prisma.BusinessActivityCreateNestedManyWithoutUserInput
}
export type ConsumerUncheckedCreateWithoutLicenseInput = {
id?: string
mobile_number: string
first_name: string
last_name: string
status?: $Enums.ConsumerStatus
created_at?: Date | string
updated_at?: Date | string
accounts?: Prisma.ConsumerAccountUncheckedCreateNestedManyWithoutUserInput
businessActivities?: Prisma.BusinessActivityUncheckedCreateNestedManyWithoutUserInput
}
export type ConsumerCreateOrConnectWithoutLicenseInput = {
where: Prisma.ConsumerWhereUniqueInput
create: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput>
}
export type ConsumerCreateManyLicenseInputEnvelope = {
data: Prisma.ConsumerCreateManyLicenseInput | Prisma.ConsumerCreateManyLicenseInput[]
skipDuplicates?: boolean
}
export type ConsumerUpsertWithWhereUniqueWithoutLicenseInput = {
where: Prisma.ConsumerWhereUniqueInput
update: Prisma.XOR<Prisma.ConsumerUpdateWithoutLicenseInput, Prisma.ConsumerUncheckedUpdateWithoutLicenseInput>
create: Prisma.XOR<Prisma.ConsumerCreateWithoutLicenseInput, Prisma.ConsumerUncheckedCreateWithoutLicenseInput>
}
export type ConsumerUpdateWithWhereUniqueWithoutLicenseInput = {
where: Prisma.ConsumerWhereUniqueInput
data: Prisma.XOR<Prisma.ConsumerUpdateWithoutLicenseInput, Prisma.ConsumerUncheckedUpdateWithoutLicenseInput>
}
export type ConsumerUpdateManyWithWhereWithoutLicenseInput = {
where: Prisma.ConsumerScalarWhereInput
data: Prisma.XOR<Prisma.ConsumerUpdateManyMutationInput, Prisma.ConsumerUncheckedUpdateManyWithoutLicenseInput>
}
export type ConsumerScalarWhereInput = {
AND?: Prisma.ConsumerScalarWhereInput | Prisma.ConsumerScalarWhereInput[]
OR?: Prisma.ConsumerScalarWhereInput[]
NOT?: Prisma.ConsumerScalarWhereInput | Prisma.ConsumerScalarWhereInput[]
id?: Prisma.StringFilter<"Consumer"> | string
mobile_number?: Prisma.StringFilter<"Consumer"> | string
first_name?: Prisma.StringFilter<"Consumer"> | string
last_name?: Prisma.StringFilter<"Consumer"> | string
status?: Prisma.EnumConsumerStatusFilter<"Consumer"> | $Enums.ConsumerStatus
license_id?: Prisma.StringNullableFilter<"Consumer"> | string | null
created_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
updated_at?: Prisma.DateTimeFilter<"Consumer"> | Date | string
}
export type ConsumerCreateManyLicenseInput = {
id?: string
mobile_number: string
first_name: string
last_name: string
status?: $Enums.ConsumerStatus
created_at?: Date | string
updated_at?: Date | string
}
export type ConsumerUpdateWithoutLicenseInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
mobile_number?: Prisma.StringFieldUpdateOperationsInput | string
first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
accounts?: Prisma.ConsumerAccountUpdateManyWithoutUserNestedInput
businessActivities?: Prisma.BusinessActivityUpdateManyWithoutUserNestedInput
}
export type ConsumerUncheckedUpdateWithoutLicenseInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
mobile_number?: Prisma.StringFieldUpdateOperationsInput | string
first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
accounts?: Prisma.ConsumerAccountUncheckedUpdateManyWithoutUserNestedInput
businessActivities?: Prisma.BusinessActivityUncheckedUpdateManyWithoutUserNestedInput
}
export type ConsumerUncheckedUpdateManyWithoutLicenseInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
mobile_number?: Prisma.StringFieldUpdateOperationsInput | string
first_name?: Prisma.StringFieldUpdateOperationsInput | string
last_name?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumConsumerStatusFieldUpdateOperationsInput | $Enums.ConsumerStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
/** /**
* Count Type ConsumerCountOutputType * Count Type ConsumerCountOutputType
@@ -573,8 +765,10 @@ export type ConsumerSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
first_name?: boolean first_name?: boolean
last_name?: boolean last_name?: boolean
status?: boolean status?: boolean
license_id?: boolean
created_at?: boolean created_at?: boolean
updated_at?: boolean updated_at?: boolean
license?: boolean | Prisma.Consumer$licenseArgs<ExtArgs>
accounts?: boolean | Prisma.Consumer$accountsArgs<ExtArgs> accounts?: boolean | Prisma.Consumer$accountsArgs<ExtArgs>
businessActivities?: boolean | Prisma.Consumer$businessActivitiesArgs<ExtArgs> businessActivities?: boolean | Prisma.Consumer$businessActivitiesArgs<ExtArgs>
_count?: boolean | Prisma.ConsumerCountOutputTypeDefaultArgs<ExtArgs> _count?: boolean | Prisma.ConsumerCountOutputTypeDefaultArgs<ExtArgs>
@@ -588,12 +782,14 @@ export type ConsumerSelectScalar = {
first_name?: boolean first_name?: boolean
last_name?: boolean last_name?: boolean
status?: boolean status?: boolean
license_id?: boolean
created_at?: boolean created_at?: boolean
updated_at?: boolean updated_at?: boolean
} }
export type ConsumerOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "mobile_number" | "first_name" | "last_name" | "status" | "created_at" | "updated_at", ExtArgs["result"]["consumer"]> export type ConsumerOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "mobile_number" | "first_name" | "last_name" | "status" | "license_id" | "created_at" | "updated_at", ExtArgs["result"]["consumer"]>
export type ConsumerInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type ConsumerInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
license?: boolean | Prisma.Consumer$licenseArgs<ExtArgs>
accounts?: boolean | Prisma.Consumer$accountsArgs<ExtArgs> accounts?: boolean | Prisma.Consumer$accountsArgs<ExtArgs>
businessActivities?: boolean | Prisma.Consumer$businessActivitiesArgs<ExtArgs> businessActivities?: boolean | Prisma.Consumer$businessActivitiesArgs<ExtArgs>
_count?: boolean | Prisma.ConsumerCountOutputTypeDefaultArgs<ExtArgs> _count?: boolean | Prisma.ConsumerCountOutputTypeDefaultArgs<ExtArgs>
@@ -602,6 +798,7 @@ export type ConsumerInclude<ExtArgs extends runtime.Types.Extensions.InternalArg
export type $ConsumerPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type $ConsumerPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
name: "Consumer" name: "Consumer"
objects: { objects: {
license: Prisma.$LicensePayload<ExtArgs> | null
accounts: Prisma.$ConsumerAccountPayload<ExtArgs>[] accounts: Prisma.$ConsumerAccountPayload<ExtArgs>[]
businessActivities: Prisma.$BusinessActivityPayload<ExtArgs>[] businessActivities: Prisma.$BusinessActivityPayload<ExtArgs>[]
} }
@@ -611,6 +808,7 @@ export type $ConsumerPayload<ExtArgs extends runtime.Types.Extensions.InternalAr
first_name: string first_name: string
last_name: string last_name: string
status: $Enums.ConsumerStatus status: $Enums.ConsumerStatus
license_id: string | null
created_at: Date created_at: Date
updated_at: Date updated_at: Date
}, ExtArgs["result"]["consumer"]> }, ExtArgs["result"]["consumer"]>
@@ -953,6 +1151,7 @@ readonly fields: ConsumerFieldRefs;
*/ */
export interface Prisma__ConsumerClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> { export interface Prisma__ConsumerClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise" readonly [Symbol.toStringTag]: "PrismaPromise"
license<T extends Prisma.Consumer$licenseArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Consumer$licenseArgs<ExtArgs>>): Prisma.Prisma__LicenseClient<runtime.Types.Result.GetResult<Prisma.$LicensePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
accounts<T extends Prisma.Consumer$accountsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Consumer$accountsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ConsumerAccountPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null> accounts<T extends Prisma.Consumer$accountsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Consumer$accountsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ConsumerAccountPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
businessActivities<T extends Prisma.Consumer$businessActivitiesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Consumer$businessActivitiesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$BusinessActivityPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null> businessActivities<T extends Prisma.Consumer$businessActivitiesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Consumer$businessActivitiesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$BusinessActivityPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
/** /**
@@ -989,6 +1188,7 @@ export interface ConsumerFieldRefs {
readonly first_name: Prisma.FieldRef<"Consumer", 'String'> readonly first_name: Prisma.FieldRef<"Consumer", 'String'>
readonly last_name: Prisma.FieldRef<"Consumer", 'String'> readonly last_name: Prisma.FieldRef<"Consumer", 'String'>
readonly status: Prisma.FieldRef<"Consumer", 'ConsumerStatus'> readonly status: Prisma.FieldRef<"Consumer", 'ConsumerStatus'>
readonly license_id: Prisma.FieldRef<"Consumer", 'String'>
readonly created_at: Prisma.FieldRef<"Consumer", 'DateTime'> readonly created_at: Prisma.FieldRef<"Consumer", 'DateTime'>
readonly updated_at: Prisma.FieldRef<"Consumer", 'DateTime'> readonly updated_at: Prisma.FieldRef<"Consumer", 'DateTime'>
} }
@@ -1333,6 +1533,25 @@ export type ConsumerDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.Inte
limit?: number limit?: number
} }
/**
* Consumer.license
*/
export type Consumer$licenseArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the License
*/
select?: Prisma.LicenseSelect<ExtArgs> | null
/**
* Omit specific fields from the License
*/
omit?: Prisma.LicenseOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.LicenseInclude<ExtArgs> | null
where?: Prisma.LicenseWhereInput
}
/** /**
* Consumer.accounts * Consumer.accounts
*/ */
+170 -171
View File
@@ -31,7 +31,6 @@ export type LicenseMinAggregateOutputType = {
status: $Enums.LicenseStatus | null status: $Enums.LicenseStatus | null
created_at: Date | null created_at: Date | null
updated_at: Date | null updated_at: Date | null
pos_id: string | null
partner_id: string | null partner_id: string | null
} }
@@ -42,7 +41,6 @@ export type LicenseMaxAggregateOutputType = {
status: $Enums.LicenseStatus | null status: $Enums.LicenseStatus | null
created_at: Date | null created_at: Date | null
updated_at: Date | null updated_at: Date | null
pos_id: string | null
partner_id: string | null partner_id: string | null
} }
@@ -53,7 +51,6 @@ export type LicenseCountAggregateOutputType = {
status: number status: number
created_at: number created_at: number
updated_at: number updated_at: number
pos_id: number
partner_id: number partner_id: number
_all: number _all: number
} }
@@ -66,7 +63,6 @@ export type LicenseMinAggregateInputType = {
status?: true status?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
pos_id?: true
partner_id?: true partner_id?: true
} }
@@ -77,7 +73,6 @@ export type LicenseMaxAggregateInputType = {
status?: true status?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
pos_id?: true
partner_id?: true partner_id?: true
} }
@@ -88,7 +83,6 @@ export type LicenseCountAggregateInputType = {
status?: true status?: true
created_at?: true created_at?: true
updated_at?: true updated_at?: true
pos_id?: true
partner_id?: true partner_id?: true
_all?: true _all?: true
} }
@@ -172,8 +166,7 @@ export type LicenseGroupByOutputType = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at: Date created_at: Date
updated_at: Date updated_at: Date
pos_id: string partner_id: string | null
partner_id: string
_count: LicenseCountAggregateOutputType | null _count: LicenseCountAggregateOutputType | null
_min: LicenseMinAggregateOutputType | null _min: LicenseMinAggregateOutputType | null
_max: LicenseMaxAggregateOutputType | null _max: LicenseMaxAggregateOutputType | null
@@ -204,10 +197,9 @@ export type LicenseWhereInput = {
status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFilter<"License"> | Date | string created_at?: Prisma.DateTimeFilter<"License"> | Date | string
updated_at?: Prisma.DateTimeFilter<"License"> | Date | string updated_at?: Prisma.DateTimeFilter<"License"> | Date | string
pos_id?: Prisma.StringFilter<"License"> | string partner_id?: Prisma.StringNullableFilter<"License"> | string | null
partner_id?: Prisma.StringFilter<"License"> | string partner?: Prisma.XOR<Prisma.PartnerNullableScalarRelationFilter, Prisma.PartnerWhereInput> | null
pos?: Prisma.XOR<Prisma.PosScalarRelationFilter, Prisma.PosWhereInput> consumers?: Prisma.ConsumerListRelationFilter
partner?: Prisma.XOR<Prisma.PartnerScalarRelationFilter, Prisma.PartnerWhereInput>
} }
export type LicenseOrderByWithRelationInput = { export type LicenseOrderByWithRelationInput = {
@@ -217,10 +209,9 @@ export type LicenseOrderByWithRelationInput = {
status?: Prisma.SortOrder status?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
pos_id?: Prisma.SortOrder partner_id?: Prisma.SortOrderInput | Prisma.SortOrder
partner_id?: Prisma.SortOrder
pos?: Prisma.PosOrderByWithRelationInput
partner?: Prisma.PartnerOrderByWithRelationInput partner?: Prisma.PartnerOrderByWithRelationInput
consumers?: Prisma.ConsumerOrderByRelationAggregateInput
_relevance?: Prisma.LicenseOrderByRelevanceInput _relevance?: Prisma.LicenseOrderByRelevanceInput
} }
@@ -234,10 +225,9 @@ export type LicenseWhereUniqueInput = Prisma.AtLeast<{
status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFilter<"License"> | Date | string created_at?: Prisma.DateTimeFilter<"License"> | Date | string
updated_at?: Prisma.DateTimeFilter<"License"> | Date | string updated_at?: Prisma.DateTimeFilter<"License"> | Date | string
pos_id?: Prisma.StringFilter<"License"> | string partner_id?: Prisma.StringNullableFilter<"License"> | string | null
partner_id?: Prisma.StringFilter<"License"> | string partner?: Prisma.XOR<Prisma.PartnerNullableScalarRelationFilter, Prisma.PartnerWhereInput> | null
pos?: Prisma.XOR<Prisma.PosScalarRelationFilter, Prisma.PosWhereInput> consumers?: Prisma.ConsumerListRelationFilter
partner?: Prisma.XOR<Prisma.PartnerScalarRelationFilter, Prisma.PartnerWhereInput>
}, "id"> }, "id">
export type LicenseOrderByWithAggregationInput = { export type LicenseOrderByWithAggregationInput = {
@@ -247,8 +237,7 @@ export type LicenseOrderByWithAggregationInput = {
status?: Prisma.SortOrder status?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
pos_id?: Prisma.SortOrder partner_id?: Prisma.SortOrderInput | Prisma.SortOrder
partner_id?: Prisma.SortOrder
_count?: Prisma.LicenseCountOrderByAggregateInput _count?: Prisma.LicenseCountOrderByAggregateInput
_max?: Prisma.LicenseMaxOrderByAggregateInput _max?: Prisma.LicenseMaxOrderByAggregateInput
_min?: Prisma.LicenseMinOrderByAggregateInput _min?: Prisma.LicenseMinOrderByAggregateInput
@@ -264,8 +253,7 @@ export type LicenseScalarWhereWithAggregatesInput = {
status?: Prisma.EnumLicenseStatusWithAggregatesFilter<"License"> | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusWithAggregatesFilter<"License"> | $Enums.LicenseStatus
created_at?: Prisma.DateTimeWithAggregatesFilter<"License"> | Date | string created_at?: Prisma.DateTimeWithAggregatesFilter<"License"> | Date | string
updated_at?: Prisma.DateTimeWithAggregatesFilter<"License"> | Date | string updated_at?: Prisma.DateTimeWithAggregatesFilter<"License"> | Date | string
pos_id?: Prisma.StringWithAggregatesFilter<"License"> | string partner_id?: Prisma.StringNullableWithAggregatesFilter<"License"> | string | null
partner_id?: Prisma.StringWithAggregatesFilter<"License"> | string
} }
export type LicenseCreateInput = { export type LicenseCreateInput = {
@@ -275,8 +263,8 @@ export type LicenseCreateInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos: Prisma.PosCreateNestedOneWithoutLicensesInput partner?: Prisma.PartnerCreateNestedOneWithoutLicensesInput
partner: Prisma.PartnerCreateNestedOneWithoutLicensesInput consumers?: Prisma.ConsumerCreateNestedManyWithoutLicenseInput
} }
export type LicenseUncheckedCreateInput = { export type LicenseUncheckedCreateInput = {
@@ -286,8 +274,8 @@ export type LicenseUncheckedCreateInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos_id: string partner_id?: string | null
partner_id: string consumers?: Prisma.ConsumerUncheckedCreateNestedManyWithoutLicenseInput
} }
export type LicenseUpdateInput = { export type LicenseUpdateInput = {
@@ -297,8 +285,8 @@ export type LicenseUpdateInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos?: Prisma.PosUpdateOneRequiredWithoutLicensesNestedInput partner?: Prisma.PartnerUpdateOneWithoutLicensesNestedInput
partner?: Prisma.PartnerUpdateOneRequiredWithoutLicensesNestedInput consumers?: Prisma.ConsumerUpdateManyWithoutLicenseNestedInput
} }
export type LicenseUncheckedUpdateInput = { export type LicenseUncheckedUpdateInput = {
@@ -308,8 +296,8 @@ export type LicenseUncheckedUpdateInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos_id?: Prisma.StringFieldUpdateOperationsInput | string partner_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
partner_id?: Prisma.StringFieldUpdateOperationsInput | string consumers?: Prisma.ConsumerUncheckedUpdateManyWithoutLicenseNestedInput
} }
export type LicenseCreateManyInput = { export type LicenseCreateManyInput = {
@@ -319,8 +307,7 @@ export type LicenseCreateManyInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos_id: string partner_id?: string | null
partner_id: string
} }
export type LicenseUpdateManyMutationInput = { export type LicenseUpdateManyMutationInput = {
@@ -339,18 +326,12 @@ export type LicenseUncheckedUpdateManyInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos_id?: Prisma.StringFieldUpdateOperationsInput | string partner_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
partner_id?: Prisma.StringFieldUpdateOperationsInput | string
} }
export type LicenseListRelationFilter = { export type LicenseNullableScalarRelationFilter = {
every?: Prisma.LicenseWhereInput is?: Prisma.LicenseWhereInput | null
some?: Prisma.LicenseWhereInput isNot?: Prisma.LicenseWhereInput | null
none?: Prisma.LicenseWhereInput
}
export type LicenseOrderByRelationAggregateInput = {
_count?: Prisma.SortOrder
} }
export type LicenseOrderByRelevanceInput = { export type LicenseOrderByRelevanceInput = {
@@ -366,7 +347,6 @@ export type LicenseCountOrderByAggregateInput = {
status?: Prisma.SortOrder status?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
pos_id?: Prisma.SortOrder
partner_id?: Prisma.SortOrder partner_id?: Prisma.SortOrder
} }
@@ -377,7 +357,6 @@ export type LicenseMaxOrderByAggregateInput = {
status?: Prisma.SortOrder status?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
pos_id?: Prisma.SortOrder
partner_id?: Prisma.SortOrder partner_id?: Prisma.SortOrder
} }
@@ -388,50 +367,33 @@ export type LicenseMinOrderByAggregateInput = {
status?: Prisma.SortOrder status?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
updated_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder
pos_id?: Prisma.SortOrder
partner_id?: Prisma.SortOrder partner_id?: Prisma.SortOrder
} }
export type LicenseCreateNestedManyWithoutPosInput = { export type LicenseListRelationFilter = {
create?: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput> | Prisma.LicenseCreateWithoutPosInput[] | Prisma.LicenseUncheckedCreateWithoutPosInput[] every?: Prisma.LicenseWhereInput
connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutPosInput | Prisma.LicenseCreateOrConnectWithoutPosInput[] some?: Prisma.LicenseWhereInput
createMany?: Prisma.LicenseCreateManyPosInputEnvelope none?: Prisma.LicenseWhereInput
connect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
} }
export type LicenseUncheckedCreateNestedManyWithoutPosInput = { export type LicenseOrderByRelationAggregateInput = {
create?: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput> | Prisma.LicenseCreateWithoutPosInput[] | Prisma.LicenseUncheckedCreateWithoutPosInput[] _count?: Prisma.SortOrder
connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutPosInput | Prisma.LicenseCreateOrConnectWithoutPosInput[]
createMany?: Prisma.LicenseCreateManyPosInputEnvelope
connect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
} }
export type LicenseUpdateManyWithoutPosNestedInput = { export type LicenseCreateNestedOneWithoutConsumersInput = {
create?: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput> | Prisma.LicenseCreateWithoutPosInput[] | Prisma.LicenseUncheckedCreateWithoutPosInput[] create?: Prisma.XOR<Prisma.LicenseCreateWithoutConsumersInput, Prisma.LicenseUncheckedCreateWithoutConsumersInput>
connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutPosInput | Prisma.LicenseCreateOrConnectWithoutPosInput[] connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutConsumersInput
upsert?: Prisma.LicenseUpsertWithWhereUniqueWithoutPosInput | Prisma.LicenseUpsertWithWhereUniqueWithoutPosInput[] connect?: Prisma.LicenseWhereUniqueInput
createMany?: Prisma.LicenseCreateManyPosInputEnvelope
set?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
disconnect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
delete?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
connect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
update?: Prisma.LicenseUpdateWithWhereUniqueWithoutPosInput | Prisma.LicenseUpdateWithWhereUniqueWithoutPosInput[]
updateMany?: Prisma.LicenseUpdateManyWithWhereWithoutPosInput | Prisma.LicenseUpdateManyWithWhereWithoutPosInput[]
deleteMany?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
} }
export type LicenseUncheckedUpdateManyWithoutPosNestedInput = { export type LicenseUpdateOneWithoutConsumersNestedInput = {
create?: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput> | Prisma.LicenseCreateWithoutPosInput[] | Prisma.LicenseUncheckedCreateWithoutPosInput[] create?: Prisma.XOR<Prisma.LicenseCreateWithoutConsumersInput, Prisma.LicenseUncheckedCreateWithoutConsumersInput>
connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutPosInput | Prisma.LicenseCreateOrConnectWithoutPosInput[] connectOrCreate?: Prisma.LicenseCreateOrConnectWithoutConsumersInput
upsert?: Prisma.LicenseUpsertWithWhereUniqueWithoutPosInput | Prisma.LicenseUpsertWithWhereUniqueWithoutPosInput[] upsert?: Prisma.LicenseUpsertWithoutConsumersInput
createMany?: Prisma.LicenseCreateManyPosInputEnvelope disconnect?: Prisma.LicenseWhereInput | boolean
set?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[] delete?: Prisma.LicenseWhereInput | boolean
disconnect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[] connect?: Prisma.LicenseWhereUniqueInput
delete?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[] update?: Prisma.XOR<Prisma.XOR<Prisma.LicenseUpdateToOneWithWhereWithoutConsumersInput, Prisma.LicenseUpdateWithoutConsumersInput>, Prisma.LicenseUncheckedUpdateWithoutConsumersInput>
connect?: Prisma.LicenseWhereUniqueInput | Prisma.LicenseWhereUniqueInput[]
update?: Prisma.LicenseUpdateWithWhereUniqueWithoutPosInput | Prisma.LicenseUpdateWithWhereUniqueWithoutPosInput[]
updateMany?: Prisma.LicenseUpdateManyWithWhereWithoutPosInput | Prisma.LicenseUpdateManyWithWhereWithoutPosInput[]
deleteMany?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
} }
export type EnumLicenseStatusFieldUpdateOperationsInput = { export type EnumLicenseStatusFieldUpdateOperationsInput = {
@@ -480,64 +442,60 @@ export type LicenseUncheckedUpdateManyWithoutPartnerNestedInput = {
deleteMany?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[] deleteMany?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
} }
export type LicenseCreateWithoutPosInput = { export type LicenseCreateWithoutConsumersInput = {
id?: string id?: string
starts_at: Date | string starts_at: Date | string
expires_at: Date | string expires_at: Date | string
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
partner: Prisma.PartnerCreateNestedOneWithoutLicensesInput partner?: Prisma.PartnerCreateNestedOneWithoutLicensesInput
} }
export type LicenseUncheckedCreateWithoutPosInput = { export type LicenseUncheckedCreateWithoutConsumersInput = {
id?: string id?: string
starts_at: Date | string starts_at: Date | string
expires_at: Date | string expires_at: Date | string
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
partner_id: string partner_id?: string | null
} }
export type LicenseCreateOrConnectWithoutPosInput = { export type LicenseCreateOrConnectWithoutConsumersInput = {
where: Prisma.LicenseWhereUniqueInput where: Prisma.LicenseWhereUniqueInput
create: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput> create: Prisma.XOR<Prisma.LicenseCreateWithoutConsumersInput, Prisma.LicenseUncheckedCreateWithoutConsumersInput>
} }
export type LicenseCreateManyPosInputEnvelope = { export type LicenseUpsertWithoutConsumersInput = {
data: Prisma.LicenseCreateManyPosInput | Prisma.LicenseCreateManyPosInput[] update: Prisma.XOR<Prisma.LicenseUpdateWithoutConsumersInput, Prisma.LicenseUncheckedUpdateWithoutConsumersInput>
skipDuplicates?: boolean create: Prisma.XOR<Prisma.LicenseCreateWithoutConsumersInput, Prisma.LicenseUncheckedCreateWithoutConsumersInput>
where?: Prisma.LicenseWhereInput
} }
export type LicenseUpsertWithWhereUniqueWithoutPosInput = { export type LicenseUpdateToOneWithWhereWithoutConsumersInput = {
where: Prisma.LicenseWhereUniqueInput where?: Prisma.LicenseWhereInput
update: Prisma.XOR<Prisma.LicenseUpdateWithoutPosInput, Prisma.LicenseUncheckedUpdateWithoutPosInput> data: Prisma.XOR<Prisma.LicenseUpdateWithoutConsumersInput, Prisma.LicenseUncheckedUpdateWithoutConsumersInput>
create: Prisma.XOR<Prisma.LicenseCreateWithoutPosInput, Prisma.LicenseUncheckedCreateWithoutPosInput>
} }
export type LicenseUpdateWithWhereUniqueWithoutPosInput = { export type LicenseUpdateWithoutConsumersInput = {
where: Prisma.LicenseWhereUniqueInput id?: Prisma.StringFieldUpdateOperationsInput | string
data: Prisma.XOR<Prisma.LicenseUpdateWithoutPosInput, Prisma.LicenseUncheckedUpdateWithoutPosInput> starts_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
expires_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
partner?: Prisma.PartnerUpdateOneWithoutLicensesNestedInput
} }
export type LicenseUpdateManyWithWhereWithoutPosInput = { export type LicenseUncheckedUpdateWithoutConsumersInput = {
where: Prisma.LicenseScalarWhereInput id?: Prisma.StringFieldUpdateOperationsInput | string
data: Prisma.XOR<Prisma.LicenseUpdateManyMutationInput, Prisma.LicenseUncheckedUpdateManyWithoutPosInput> starts_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
} expires_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
export type LicenseScalarWhereInput = { created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
AND?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[] updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
OR?: Prisma.LicenseScalarWhereInput[] partner_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
NOT?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
id?: Prisma.StringFilter<"License"> | string
starts_at?: Prisma.DateTimeFilter<"License"> | Date | string
expires_at?: Prisma.DateTimeFilter<"License"> | Date | string
status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFilter<"License"> | Date | string
updated_at?: Prisma.DateTimeFilter<"License"> | Date | string
pos_id?: Prisma.StringFilter<"License"> | string
partner_id?: Prisma.StringFilter<"License"> | string
} }
export type LicenseCreateWithoutPartnerInput = { export type LicenseCreateWithoutPartnerInput = {
@@ -547,7 +505,7 @@ export type LicenseCreateWithoutPartnerInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos: Prisma.PosCreateNestedOneWithoutLicensesInput consumers?: Prisma.ConsumerCreateNestedManyWithoutLicenseInput
} }
export type LicenseUncheckedCreateWithoutPartnerInput = { export type LicenseUncheckedCreateWithoutPartnerInput = {
@@ -557,7 +515,7 @@ export type LicenseUncheckedCreateWithoutPartnerInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos_id: string consumers?: Prisma.ConsumerUncheckedCreateNestedManyWithoutLicenseInput
} }
export type LicenseCreateOrConnectWithoutPartnerInput = { export type LicenseCreateOrConnectWithoutPartnerInput = {
@@ -586,44 +544,17 @@ export type LicenseUpdateManyWithWhereWithoutPartnerInput = {
data: Prisma.XOR<Prisma.LicenseUpdateManyMutationInput, Prisma.LicenseUncheckedUpdateManyWithoutPartnerInput> data: Prisma.XOR<Prisma.LicenseUpdateManyMutationInput, Prisma.LicenseUncheckedUpdateManyWithoutPartnerInput>
} }
export type LicenseCreateManyPosInput = { export type LicenseScalarWhereInput = {
id?: string AND?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
starts_at: Date | string OR?: Prisma.LicenseScalarWhereInput[]
expires_at: Date | string NOT?: Prisma.LicenseScalarWhereInput | Prisma.LicenseScalarWhereInput[]
status: $Enums.LicenseStatus id?: Prisma.StringFilter<"License"> | string
created_at?: Date | string starts_at?: Prisma.DateTimeFilter<"License"> | Date | string
updated_at?: Date | string expires_at?: Prisma.DateTimeFilter<"License"> | Date | string
partner_id: string status?: Prisma.EnumLicenseStatusFilter<"License"> | $Enums.LicenseStatus
} created_at?: Prisma.DateTimeFilter<"License"> | Date | string
updated_at?: Prisma.DateTimeFilter<"License"> | Date | string
export type LicenseUpdateWithoutPosInput = { partner_id?: Prisma.StringNullableFilter<"License"> | string | null
id?: Prisma.StringFieldUpdateOperationsInput | string
starts_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
expires_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
partner?: Prisma.PartnerUpdateOneRequiredWithoutLicensesNestedInput
}
export type LicenseUncheckedUpdateWithoutPosInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
starts_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
expires_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
partner_id?: Prisma.StringFieldUpdateOperationsInput | string
}
export type LicenseUncheckedUpdateManyWithoutPosInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
starts_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
expires_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
partner_id?: Prisma.StringFieldUpdateOperationsInput | string
} }
export type LicenseCreateManyPartnerInput = { export type LicenseCreateManyPartnerInput = {
@@ -633,7 +564,6 @@ export type LicenseCreateManyPartnerInput = {
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at?: Date | string created_at?: Date | string
updated_at?: Date | string updated_at?: Date | string
pos_id: string
} }
export type LicenseUpdateWithoutPartnerInput = { export type LicenseUpdateWithoutPartnerInput = {
@@ -643,7 +573,7 @@ export type LicenseUpdateWithoutPartnerInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos?: Prisma.PosUpdateOneRequiredWithoutLicensesNestedInput consumers?: Prisma.ConsumerUpdateManyWithoutLicenseNestedInput
} }
export type LicenseUncheckedUpdateWithoutPartnerInput = { export type LicenseUncheckedUpdateWithoutPartnerInput = {
@@ -653,7 +583,7 @@ export type LicenseUncheckedUpdateWithoutPartnerInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos_id?: Prisma.StringFieldUpdateOperationsInput | string consumers?: Prisma.ConsumerUncheckedUpdateManyWithoutLicenseNestedInput
} }
export type LicenseUncheckedUpdateManyWithoutPartnerInput = { export type LicenseUncheckedUpdateManyWithoutPartnerInput = {
@@ -663,10 +593,38 @@ export type LicenseUncheckedUpdateManyWithoutPartnerInput = {
status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus status?: Prisma.EnumLicenseStatusFieldUpdateOperationsInput | $Enums.LicenseStatus
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
pos_id?: Prisma.StringFieldUpdateOperationsInput | string
} }
/**
* Count Type LicenseCountOutputType
*/
export type LicenseCountOutputType = {
consumers: number
}
export type LicenseCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
consumers?: boolean | LicenseCountOutputTypeCountConsumersArgs
}
/**
* LicenseCountOutputType without action
*/
export type LicenseCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the LicenseCountOutputType
*/
select?: Prisma.LicenseCountOutputTypeSelect<ExtArgs> | null
}
/**
* LicenseCountOutputType without action
*/
export type LicenseCountOutputTypeCountConsumersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
where?: Prisma.ConsumerWhereInput
}
export type LicenseSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{ export type LicenseSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean id?: boolean
@@ -675,10 +633,10 @@ export type LicenseSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
status?: boolean status?: boolean
created_at?: boolean created_at?: boolean
updated_at?: boolean updated_at?: boolean
pos_id?: boolean
partner_id?: boolean partner_id?: boolean
pos?: boolean | Prisma.PosDefaultArgs<ExtArgs> partner?: boolean | Prisma.License$partnerArgs<ExtArgs>
partner?: boolean | Prisma.PartnerDefaultArgs<ExtArgs> consumers?: boolean | Prisma.License$consumersArgs<ExtArgs>
_count?: boolean | Prisma.LicenseCountOutputTypeDefaultArgs<ExtArgs>
}, ExtArgs["result"]["license"]> }, ExtArgs["result"]["license"]>
@@ -690,21 +648,21 @@ export type LicenseSelectScalar = {
status?: boolean status?: boolean
created_at?: boolean created_at?: boolean
updated_at?: boolean updated_at?: boolean
pos_id?: boolean
partner_id?: boolean partner_id?: boolean
} }
export type LicenseOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "starts_at" | "expires_at" | "status" | "created_at" | "updated_at" | "pos_id" | "partner_id", ExtArgs["result"]["license"]> export type LicenseOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "starts_at" | "expires_at" | "status" | "created_at" | "updated_at" | "partner_id", ExtArgs["result"]["license"]>
export type LicenseInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type LicenseInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
pos?: boolean | Prisma.PosDefaultArgs<ExtArgs> partner?: boolean | Prisma.License$partnerArgs<ExtArgs>
partner?: boolean | Prisma.PartnerDefaultArgs<ExtArgs> consumers?: boolean | Prisma.License$consumersArgs<ExtArgs>
_count?: boolean | Prisma.LicenseCountOutputTypeDefaultArgs<ExtArgs>
} }
export type $LicensePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type $LicensePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
name: "License" name: "License"
objects: { objects: {
pos: Prisma.$PosPayload<ExtArgs> partner: Prisma.$PartnerPayload<ExtArgs> | null
partner: Prisma.$PartnerPayload<ExtArgs> consumers: Prisma.$ConsumerPayload<ExtArgs>[]
} }
scalars: runtime.Types.Extensions.GetPayloadResult<{ scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string id: string
@@ -713,8 +671,7 @@ export type $LicensePayload<ExtArgs extends runtime.Types.Extensions.InternalArg
status: $Enums.LicenseStatus status: $Enums.LicenseStatus
created_at: Date created_at: Date
updated_at: Date updated_at: Date
pos_id: string partner_id: string | null
partner_id: string
}, ExtArgs["result"]["license"]> }, ExtArgs["result"]["license"]>
composites: {} composites: {}
} }
@@ -1055,8 +1012,8 @@ readonly fields: LicenseFieldRefs;
*/ */
export interface Prisma__LicenseClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> { export interface Prisma__LicenseClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise" readonly [Symbol.toStringTag]: "PrismaPromise"
pos<T extends Prisma.PosDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PosDefaultArgs<ExtArgs>>): Prisma.Prisma__PosClient<runtime.Types.Result.GetResult<Prisma.$PosPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> partner<T extends Prisma.License$partnerArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.License$partnerArgs<ExtArgs>>): Prisma.Prisma__PartnerClient<runtime.Types.Result.GetResult<Prisma.$PartnerPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
partner<T extends Prisma.PartnerDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PartnerDefaultArgs<ExtArgs>>): Prisma.Prisma__PartnerClient<runtime.Types.Result.GetResult<Prisma.$PartnerPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> consumers<T extends Prisma.License$consumersArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.License$consumersArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ConsumerPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
/** /**
* Attaches callbacks for the resolution and/or rejection of the Promise. * Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved. * @param onfulfilled The callback to execute when the Promise is resolved.
@@ -1092,7 +1049,6 @@ export interface LicenseFieldRefs {
readonly status: Prisma.FieldRef<"License", 'LicenseStatus'> readonly status: Prisma.FieldRef<"License", 'LicenseStatus'>
readonly created_at: Prisma.FieldRef<"License", 'DateTime'> readonly created_at: Prisma.FieldRef<"License", 'DateTime'>
readonly updated_at: Prisma.FieldRef<"License", 'DateTime'> readonly updated_at: Prisma.FieldRef<"License", 'DateTime'>
readonly pos_id: Prisma.FieldRef<"License", 'String'>
readonly partner_id: Prisma.FieldRef<"License", 'String'> readonly partner_id: Prisma.FieldRef<"License", 'String'>
} }
@@ -1436,6 +1392,49 @@ export type LicenseDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
limit?: number limit?: number
} }
/**
* License.partner
*/
export type License$partnerArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Partner
*/
select?: Prisma.PartnerSelect<ExtArgs> | null
/**
* Omit specific fields from the Partner
*/
omit?: Prisma.PartnerOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.PartnerInclude<ExtArgs> | null
where?: Prisma.PartnerWhereInput
}
/**
* License.consumers
*/
export type License$consumersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Consumer
*/
select?: Prisma.ConsumerSelect<ExtArgs> | null
/**
* Omit specific fields from the Consumer
*/
omit?: Prisma.ConsumerOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.ConsumerInclude<ExtArgs> | null
where?: Prisma.ConsumerWhereInput
orderBy?: Prisma.ConsumerOrderByWithRelationInput | Prisma.ConsumerOrderByWithRelationInput[]
cursor?: Prisma.ConsumerWhereUniqueInput
take?: number
skip?: number
distinct?: Prisma.ConsumerScalarFieldEnum | Prisma.ConsumerScalarFieldEnum[]
}
/** /**
* License without action * License without action
*/ */
+11 -4
View File
@@ -370,9 +370,9 @@ export type PartnerUncheckedUpdateManyInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
} }
export type PartnerScalarRelationFilter = { export type PartnerNullableScalarRelationFilter = {
is?: Prisma.PartnerWhereInput is?: Prisma.PartnerWhereInput | null
isNot?: Prisma.PartnerWhereInput isNot?: Prisma.PartnerWhereInput | null
} }
export type PartnerOrderByRelevanceInput = { export type PartnerOrderByRelevanceInput = {
@@ -419,16 +419,23 @@ export type PartnerSumOrderByAggregateInput = {
license_quota?: Prisma.SortOrder license_quota?: Prisma.SortOrder
} }
export type PartnerScalarRelationFilter = {
is?: Prisma.PartnerWhereInput
isNot?: Prisma.PartnerWhereInput
}
export type PartnerCreateNestedOneWithoutLicensesInput = { export type PartnerCreateNestedOneWithoutLicensesInput = {
create?: Prisma.XOR<Prisma.PartnerCreateWithoutLicensesInput, Prisma.PartnerUncheckedCreateWithoutLicensesInput> create?: Prisma.XOR<Prisma.PartnerCreateWithoutLicensesInput, Prisma.PartnerUncheckedCreateWithoutLicensesInput>
connectOrCreate?: Prisma.PartnerCreateOrConnectWithoutLicensesInput connectOrCreate?: Prisma.PartnerCreateOrConnectWithoutLicensesInput
connect?: Prisma.PartnerWhereUniqueInput connect?: Prisma.PartnerWhereUniqueInput
} }
export type PartnerUpdateOneRequiredWithoutLicensesNestedInput = { export type PartnerUpdateOneWithoutLicensesNestedInput = {
create?: Prisma.XOR<Prisma.PartnerCreateWithoutLicensesInput, Prisma.PartnerUncheckedCreateWithoutLicensesInput> create?: Prisma.XOR<Prisma.PartnerCreateWithoutLicensesInput, Prisma.PartnerUncheckedCreateWithoutLicensesInput>
connectOrCreate?: Prisma.PartnerCreateOrConnectWithoutLicensesInput connectOrCreate?: Prisma.PartnerCreateOrConnectWithoutLicensesInput
upsert?: Prisma.PartnerUpsertWithoutLicensesInput upsert?: Prisma.PartnerUpsertWithoutLicensesInput
disconnect?: Prisma.PartnerWhereInput | boolean
delete?: Prisma.PartnerWhereInput | boolean
connect?: Prisma.PartnerWhereUniqueInput connect?: Prisma.PartnerWhereUniqueInput
update?: Prisma.XOR<Prisma.XOR<Prisma.PartnerUpdateToOneWithWhereWithoutLicensesInput, Prisma.PartnerUpdateWithoutLicensesInput>, Prisma.PartnerUncheckedUpdateWithoutLicensesInput> update?: Prisma.XOR<Prisma.XOR<Prisma.PartnerUpdateToOneWithWhereWithoutLicensesInput, Prisma.PartnerUpdateWithoutLicensesInput>, Prisma.PartnerUncheckedUpdateWithoutLicensesInput>
} }
-158
View File
@@ -233,7 +233,6 @@ export type PosWhereInput = {
complex?: Prisma.XOR<Prisma.ComplexScalarRelationFilter, Prisma.ComplexWhereInput> complex?: Prisma.XOR<Prisma.ComplexScalarRelationFilter, Prisma.ComplexWhereInput>
device?: Prisma.XOR<Prisma.DeviceNullableScalarRelationFilter, Prisma.DeviceWhereInput> | null device?: Prisma.XOR<Prisma.DeviceNullableScalarRelationFilter, Prisma.DeviceWhereInput> | null
provider?: Prisma.XOR<Prisma.ProviderNullableScalarRelationFilter, Prisma.ProviderWhereInput> | null provider?: Prisma.XOR<Prisma.ProviderNullableScalarRelationFilter, Prisma.ProviderWhereInput> | null
licenses?: Prisma.LicenseListRelationFilter
permissionPos?: Prisma.PermissionPosListRelationFilter permissionPos?: Prisma.PermissionPosListRelationFilter
salesInvoices?: Prisma.SalesInvoiceListRelationFilter salesInvoices?: Prisma.SalesInvoiceListRelationFilter
} }
@@ -253,7 +252,6 @@ export type PosOrderByWithRelationInput = {
complex?: Prisma.ComplexOrderByWithRelationInput complex?: Prisma.ComplexOrderByWithRelationInput
device?: Prisma.DeviceOrderByWithRelationInput device?: Prisma.DeviceOrderByWithRelationInput
provider?: Prisma.ProviderOrderByWithRelationInput provider?: Prisma.ProviderOrderByWithRelationInput
licenses?: Prisma.LicenseOrderByRelationAggregateInput
permissionPos?: Prisma.PermissionPosOrderByRelationAggregateInput permissionPos?: Prisma.PermissionPosOrderByRelationAggregateInput
salesInvoices?: Prisma.SalesInvoiceOrderByRelationAggregateInput salesInvoices?: Prisma.SalesInvoiceOrderByRelationAggregateInput
_relevance?: Prisma.PosOrderByRelevanceInput _relevance?: Prisma.PosOrderByRelevanceInput
@@ -277,7 +275,6 @@ export type PosWhereUniqueInput = Prisma.AtLeast<{
complex?: Prisma.XOR<Prisma.ComplexScalarRelationFilter, Prisma.ComplexWhereInput> complex?: Prisma.XOR<Prisma.ComplexScalarRelationFilter, Prisma.ComplexWhereInput>
device?: Prisma.XOR<Prisma.DeviceNullableScalarRelationFilter, Prisma.DeviceWhereInput> | null device?: Prisma.XOR<Prisma.DeviceNullableScalarRelationFilter, Prisma.DeviceWhereInput> | null
provider?: Prisma.XOR<Prisma.ProviderNullableScalarRelationFilter, Prisma.ProviderWhereInput> | null provider?: Prisma.XOR<Prisma.ProviderNullableScalarRelationFilter, Prisma.ProviderWhereInput> | null
licenses?: Prisma.LicenseListRelationFilter
permissionPos?: Prisma.PermissionPosListRelationFilter permissionPos?: Prisma.PermissionPosListRelationFilter
salesInvoices?: Prisma.SalesInvoiceListRelationFilter salesInvoices?: Prisma.SalesInvoiceListRelationFilter
}, "id" | "serial"> }, "id" | "serial">
@@ -328,7 +325,6 @@ export type PosCreateInput = {
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
} }
@@ -345,7 +341,6 @@ export type PosUncheckedCreateInput = {
complex_id: string complex_id: string
device_id?: string | null device_id?: string | null
provider_id?: string | null provider_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
} }
@@ -362,7 +357,6 @@ export type PosUpdateInput = {
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
} }
@@ -379,7 +373,6 @@ export type PosUncheckedUpdateInput = {
complex_id?: Prisma.StringFieldUpdateOperationsInput | string complex_id?: Prisma.StringFieldUpdateOperationsInput | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -578,20 +571,6 @@ export type PosUncheckedUpdateManyWithoutDeviceNestedInput = {
deleteMany?: Prisma.PosScalarWhereInput | Prisma.PosScalarWhereInput[] deleteMany?: Prisma.PosScalarWhereInput | Prisma.PosScalarWhereInput[]
} }
export type PosCreateNestedOneWithoutLicensesInput = {
create?: Prisma.XOR<Prisma.PosCreateWithoutLicensesInput, Prisma.PosUncheckedCreateWithoutLicensesInput>
connectOrCreate?: Prisma.PosCreateOrConnectWithoutLicensesInput
connect?: Prisma.PosWhereUniqueInput
}
export type PosUpdateOneRequiredWithoutLicensesNestedInput = {
create?: Prisma.XOR<Prisma.PosCreateWithoutLicensesInput, Prisma.PosUncheckedCreateWithoutLicensesInput>
connectOrCreate?: Prisma.PosCreateOrConnectWithoutLicensesInput
upsert?: Prisma.PosUpsertWithoutLicensesInput
connect?: Prisma.PosWhereUniqueInput
update?: Prisma.XOR<Prisma.XOR<Prisma.PosUpdateToOneWithWhereWithoutLicensesInput, Prisma.PosUpdateWithoutLicensesInput>, Prisma.PosUncheckedUpdateWithoutLicensesInput>
}
export type PosCreateNestedOneWithoutPermissionPosInput = { export type PosCreateNestedOneWithoutPermissionPosInput = {
create?: Prisma.XOR<Prisma.PosCreateWithoutPermissionPosInput, Prisma.PosUncheckedCreateWithoutPermissionPosInput> create?: Prisma.XOR<Prisma.PosCreateWithoutPermissionPosInput, Prisma.PosUncheckedCreateWithoutPermissionPosInput>
connectOrCreate?: Prisma.PosCreateOrConnectWithoutPermissionPosInput connectOrCreate?: Prisma.PosCreateOrConnectWithoutPermissionPosInput
@@ -673,7 +652,6 @@ export type PosCreateWithoutComplexInput = {
updated_at?: Date | string updated_at?: Date | string
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
} }
@@ -689,7 +667,6 @@ export type PosUncheckedCreateWithoutComplexInput = {
updated_at?: Date | string updated_at?: Date | string
device_id?: string | null device_id?: string | null
provider_id?: string | null provider_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
} }
@@ -748,7 +725,6 @@ export type PosCreateWithoutDeviceInput = {
updated_at?: Date | string updated_at?: Date | string
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
} }
@@ -764,7 +740,6 @@ export type PosUncheckedCreateWithoutDeviceInput = {
updated_at?: Date | string updated_at?: Date | string
complex_id: string complex_id: string
provider_id?: string | null provider_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
} }
@@ -795,86 +770,6 @@ export type PosUpdateManyWithWhereWithoutDeviceInput = {
data: Prisma.XOR<Prisma.PosUpdateManyMutationInput, Prisma.PosUncheckedUpdateManyWithoutDeviceInput> data: Prisma.XOR<Prisma.PosUpdateManyMutationInput, Prisma.PosUncheckedUpdateManyWithoutDeviceInput>
} }
export type PosCreateWithoutLicensesInput = {
id?: string
name: string
serial: string
model?: string | null
status?: $Enums.POSStatus
pos_type: $Enums.POSType
created_at?: Date | string
updated_at?: Date | string
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
}
export type PosUncheckedCreateWithoutLicensesInput = {
id?: string
name: string
serial: string
model?: string | null
status?: $Enums.POSStatus
pos_type: $Enums.POSType
created_at?: Date | string
updated_at?: Date | string
complex_id: string
device_id?: string | null
provider_id?: string | null
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
}
export type PosCreateOrConnectWithoutLicensesInput = {
where: Prisma.PosWhereUniqueInput
create: Prisma.XOR<Prisma.PosCreateWithoutLicensesInput, Prisma.PosUncheckedCreateWithoutLicensesInput>
}
export type PosUpsertWithoutLicensesInput = {
update: Prisma.XOR<Prisma.PosUpdateWithoutLicensesInput, Prisma.PosUncheckedUpdateWithoutLicensesInput>
create: Prisma.XOR<Prisma.PosCreateWithoutLicensesInput, Prisma.PosUncheckedCreateWithoutLicensesInput>
where?: Prisma.PosWhereInput
}
export type PosUpdateToOneWithWhereWithoutLicensesInput = {
where?: Prisma.PosWhereInput
data: Prisma.XOR<Prisma.PosUpdateWithoutLicensesInput, Prisma.PosUncheckedUpdateWithoutLicensesInput>
}
export type PosUpdateWithoutLicensesInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
serial?: Prisma.StringFieldUpdateOperationsInput | string
model?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
status?: Prisma.EnumPOSStatusFieldUpdateOperationsInput | $Enums.POSStatus
pos_type?: Prisma.EnumPOSTypeFieldUpdateOperationsInput | $Enums.POSType
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
}
export type PosUncheckedUpdateWithoutLicensesInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
serial?: Prisma.StringFieldUpdateOperationsInput | string
model?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
status?: Prisma.EnumPOSStatusFieldUpdateOperationsInput | $Enums.POSStatus
pos_type?: Prisma.EnumPOSTypeFieldUpdateOperationsInput | $Enums.POSType
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex_id?: Prisma.StringFieldUpdateOperationsInput | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
}
export type PosCreateWithoutPermissionPosInput = { export type PosCreateWithoutPermissionPosInput = {
id?: string id?: string
name: string name: string
@@ -887,7 +782,6 @@ export type PosCreateWithoutPermissionPosInput = {
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
} }
@@ -903,7 +797,6 @@ export type PosUncheckedCreateWithoutPermissionPosInput = {
complex_id: string complex_id: string
device_id?: string | null device_id?: string | null
provider_id?: string | null provider_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
} }
@@ -935,7 +828,6 @@ export type PosUpdateWithoutPermissionPosInput = {
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
} }
@@ -951,7 +843,6 @@ export type PosUncheckedUpdateWithoutPermissionPosInput = {
complex_id?: Prisma.StringFieldUpdateOperationsInput | string complex_id?: Prisma.StringFieldUpdateOperationsInput | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -966,7 +857,6 @@ export type PosCreateWithoutProviderInput = {
updated_at?: Date | string updated_at?: Date | string
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceCreateNestedManyWithoutPosInput
} }
@@ -982,7 +872,6 @@ export type PosUncheckedCreateWithoutProviderInput = {
updated_at?: Date | string updated_at?: Date | string
complex_id: string complex_id: string
device_id?: string | null device_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput salesInvoices?: Prisma.SalesInvoiceUncheckedCreateNestedManyWithoutPosInput
} }
@@ -1025,7 +914,6 @@ export type PosCreateWithoutSalesInvoicesInput = {
complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput complex: Prisma.ComplexCreateNestedOneWithoutPos_listInput
device?: Prisma.DeviceCreateNestedOneWithoutPosesInput device?: Prisma.DeviceCreateNestedOneWithoutPosesInput
provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput provider?: Prisma.ProviderCreateNestedOneWithoutPos_listInput
licenses?: Prisma.LicenseCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosCreateNestedManyWithoutPosInput
} }
@@ -1041,7 +929,6 @@ export type PosUncheckedCreateWithoutSalesInvoicesInput = {
complex_id: string complex_id: string
device_id?: string | null device_id?: string | null
provider_id?: string | null provider_id?: string | null
licenses?: Prisma.LicenseUncheckedCreateNestedManyWithoutPosInput
permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput permissionPos?: Prisma.PermissionPosUncheckedCreateNestedManyWithoutPosInput
} }
@@ -1073,7 +960,6 @@ export type PosUpdateWithoutSalesInvoicesInput = {
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
} }
@@ -1089,7 +975,6 @@ export type PosUncheckedUpdateWithoutSalesInvoicesInput = {
complex_id?: Prisma.StringFieldUpdateOperationsInput | string complex_id?: Prisma.StringFieldUpdateOperationsInput | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -1117,7 +1002,6 @@ export type PosUpdateWithoutComplexInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
} }
@@ -1133,7 +1017,6 @@ export type PosUncheckedUpdateWithoutComplexInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -1175,7 +1058,6 @@ export type PosUpdateWithoutDeviceInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput provider?: Prisma.ProviderUpdateOneWithoutPos_listNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
} }
@@ -1191,7 +1073,6 @@ export type PosUncheckedUpdateWithoutDeviceInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex_id?: Prisma.StringFieldUpdateOperationsInput | string complex_id?: Prisma.StringFieldUpdateOperationsInput | string
provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null provider_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -1233,7 +1114,6 @@ export type PosUpdateWithoutProviderInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput complex?: Prisma.ComplexUpdateOneRequiredWithoutPos_listNestedInput
device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput device?: Prisma.DeviceUpdateOneWithoutPosesNestedInput
licenses?: Prisma.LicenseUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUpdateManyWithoutPosNestedInput
} }
@@ -1249,7 +1129,6 @@ export type PosUncheckedUpdateWithoutProviderInput = {
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
complex_id?: Prisma.StringFieldUpdateOperationsInput | string complex_id?: Prisma.StringFieldUpdateOperationsInput | string
device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null device_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
licenses?: Prisma.LicenseUncheckedUpdateManyWithoutPosNestedInput
permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput permissionPos?: Prisma.PermissionPosUncheckedUpdateManyWithoutPosNestedInput
salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput salesInvoices?: Prisma.SalesInvoiceUncheckedUpdateManyWithoutPosNestedInput
} }
@@ -1273,13 +1152,11 @@ export type PosUncheckedUpdateManyWithoutProviderInput = {
*/ */
export type PosCountOutputType = { export type PosCountOutputType = {
licenses: number
permissionPos: number permissionPos: number
salesInvoices: number salesInvoices: number
} }
export type PosCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type PosCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
licenses?: boolean | PosCountOutputTypeCountLicensesArgs
permissionPos?: boolean | PosCountOutputTypeCountPermissionPosArgs permissionPos?: boolean | PosCountOutputTypeCountPermissionPosArgs
salesInvoices?: boolean | PosCountOutputTypeCountSalesInvoicesArgs salesInvoices?: boolean | PosCountOutputTypeCountSalesInvoicesArgs
} }
@@ -1294,13 +1171,6 @@ export type PosCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensio
select?: Prisma.PosCountOutputTypeSelect<ExtArgs> | null select?: Prisma.PosCountOutputTypeSelect<ExtArgs> | null
} }
/**
* PosCountOutputType without action
*/
export type PosCountOutputTypeCountLicensesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
where?: Prisma.LicenseWhereInput
}
/** /**
* PosCountOutputType without action * PosCountOutputType without action
*/ */
@@ -1331,7 +1201,6 @@ export type PosSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = ru
complex?: boolean | Prisma.ComplexDefaultArgs<ExtArgs> complex?: boolean | Prisma.ComplexDefaultArgs<ExtArgs>
device?: boolean | Prisma.Pos$deviceArgs<ExtArgs> device?: boolean | Prisma.Pos$deviceArgs<ExtArgs>
provider?: boolean | Prisma.Pos$providerArgs<ExtArgs> provider?: boolean | Prisma.Pos$providerArgs<ExtArgs>
licenses?: boolean | Prisma.Pos$licensesArgs<ExtArgs>
permissionPos?: boolean | Prisma.Pos$permissionPosArgs<ExtArgs> permissionPos?: boolean | Prisma.Pos$permissionPosArgs<ExtArgs>
salesInvoices?: boolean | Prisma.Pos$salesInvoicesArgs<ExtArgs> salesInvoices?: boolean | Prisma.Pos$salesInvoicesArgs<ExtArgs>
_count?: boolean | Prisma.PosCountOutputTypeDefaultArgs<ExtArgs> _count?: boolean | Prisma.PosCountOutputTypeDefaultArgs<ExtArgs>
@@ -1358,7 +1227,6 @@ export type PosInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
complex?: boolean | Prisma.ComplexDefaultArgs<ExtArgs> complex?: boolean | Prisma.ComplexDefaultArgs<ExtArgs>
device?: boolean | Prisma.Pos$deviceArgs<ExtArgs> device?: boolean | Prisma.Pos$deviceArgs<ExtArgs>
provider?: boolean | Prisma.Pos$providerArgs<ExtArgs> provider?: boolean | Prisma.Pos$providerArgs<ExtArgs>
licenses?: boolean | Prisma.Pos$licensesArgs<ExtArgs>
permissionPos?: boolean | Prisma.Pos$permissionPosArgs<ExtArgs> permissionPos?: boolean | Prisma.Pos$permissionPosArgs<ExtArgs>
salesInvoices?: boolean | Prisma.Pos$salesInvoicesArgs<ExtArgs> salesInvoices?: boolean | Prisma.Pos$salesInvoicesArgs<ExtArgs>
_count?: boolean | Prisma.PosCountOutputTypeDefaultArgs<ExtArgs> _count?: boolean | Prisma.PosCountOutputTypeDefaultArgs<ExtArgs>
@@ -1370,7 +1238,6 @@ export type $PosPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs =
complex: Prisma.$ComplexPayload<ExtArgs> complex: Prisma.$ComplexPayload<ExtArgs>
device: Prisma.$DevicePayload<ExtArgs> | null device: Prisma.$DevicePayload<ExtArgs> | null
provider: Prisma.$ProviderPayload<ExtArgs> | null provider: Prisma.$ProviderPayload<ExtArgs> | null
licenses: Prisma.$LicensePayload<ExtArgs>[]
permissionPos: Prisma.$PermissionPosPayload<ExtArgs>[] permissionPos: Prisma.$PermissionPosPayload<ExtArgs>[]
salesInvoices: Prisma.$SalesInvoicePayload<ExtArgs>[] salesInvoices: Prisma.$SalesInvoicePayload<ExtArgs>[]
} }
@@ -1729,7 +1596,6 @@ export interface Prisma__PosClient<T, Null = never, ExtArgs extends runtime.Type
complex<T extends Prisma.ComplexDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ComplexDefaultArgs<ExtArgs>>): Prisma.Prisma__ComplexClient<runtime.Types.Result.GetResult<Prisma.$ComplexPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> complex<T extends Prisma.ComplexDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ComplexDefaultArgs<ExtArgs>>): Prisma.Prisma__ComplexClient<runtime.Types.Result.GetResult<Prisma.$ComplexPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
device<T extends Prisma.Pos$deviceArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$deviceArgs<ExtArgs>>): Prisma.Prisma__DeviceClient<runtime.Types.Result.GetResult<Prisma.$DevicePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> device<T extends Prisma.Pos$deviceArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$deviceArgs<ExtArgs>>): Prisma.Prisma__DeviceClient<runtime.Types.Result.GetResult<Prisma.$DevicePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
provider<T extends Prisma.Pos$providerArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$providerArgs<ExtArgs>>): Prisma.Prisma__ProviderClient<runtime.Types.Result.GetResult<Prisma.$ProviderPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> provider<T extends Prisma.Pos$providerArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$providerArgs<ExtArgs>>): Prisma.Prisma__ProviderClient<runtime.Types.Result.GetResult<Prisma.$ProviderPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
licenses<T extends Prisma.Pos$licensesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$licensesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$LicensePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
permissionPos<T extends Prisma.Pos$permissionPosArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$permissionPosArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PermissionPosPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null> permissionPos<T extends Prisma.Pos$permissionPosArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$permissionPosArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PermissionPosPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
salesInvoices<T extends Prisma.Pos$salesInvoicesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$salesInvoicesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$SalesInvoicePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null> salesInvoices<T extends Prisma.Pos$salesInvoicesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Pos$salesInvoicesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$SalesInvoicePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
/** /**
@@ -2152,30 +2018,6 @@ export type Pos$providerArgs<ExtArgs extends runtime.Types.Extensions.InternalAr
where?: Prisma.ProviderWhereInput where?: Prisma.ProviderWhereInput
} }
/**
* Pos.licenses
*/
export type Pos$licensesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the License
*/
select?: Prisma.LicenseSelect<ExtArgs> | null
/**
* Omit specific fields from the License
*/
omit?: Prisma.LicenseOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.LicenseInclude<ExtArgs> | null
where?: Prisma.LicenseWhereInput
orderBy?: Prisma.LicenseOrderByWithRelationInput | Prisma.LicenseOrderByWithRelationInput[]
cursor?: Prisma.LicenseWhereUniqueInput
take?: number
skip?: number
distinct?: Prisma.LicenseScalarFieldEnum | Prisma.LicenseScalarFieldEnum[]
}
/** /**
* Pos.permissionPos * Pos.permissionPos
*/ */
+8 -3
View File
@@ -5,8 +5,9 @@ import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'
import { AppModule } from './app.module' import { AppModule } from './app.module'
import { PrismaExceptionFilter } from './common/filters/prisma-exception.filter' import { PrismaExceptionFilter } from './common/filters/prisma-exception.filter'
import { ValidationExceptionFilter } from './common/filters/validation-exception.filter' import { ValidationExceptionFilter } from './common/filters/validation-exception.filter'
import { ConsumerGuard } from './common/guards/auth-consumer.guard'
import { PosGuard } from './common/guards/auth-pos.guard'
import { JwtAuthGuard } from './common/guards/jwt-auth.guard' import { JwtAuthGuard } from './common/guards/jwt-auth.guard'
import { PosGuard } from './common/guards/pos.gaurd'
import { LoggingInterceptor } from './common/interceptors/logging.interceptor' import { LoggingInterceptor } from './common/interceptors/logging.interceptor'
import { ResponseMappingInterceptor } from './common/interceptors/response-mapping.interceptor' import { ResponseMappingInterceptor } from './common/interceptors/response-mapping.interceptor'
import { PrismaService } from './prisma/prisma.service' import { PrismaService } from './prisma/prisma.service'
@@ -81,9 +82,13 @@ async function bootstrap() {
// Register global exception filters: validation errors and Prisma errors // Register global exception filters: validation errors and Prisma errors
app.useGlobalFilters(new ValidationExceptionFilter(), new PrismaExceptionFilter()) app.useGlobalFilters(new ValidationExceptionFilter(), new PrismaExceptionFilter())
app.useGlobalGuards(new JwtAuthGuard(app.get(JwtService), app.get(Reflector)))
app.useGlobalGuards( app.useGlobalGuards(
new PosGuard(app.get(JwtService), app.get(Reflector), app.get(PrismaService)), new JwtAuthGuard(
app.get(JwtService),
app.get(Reflector),
new ConsumerGuard(new PrismaService()),
new PosGuard(new PrismaService()),
),
) )
await app.listen(process.env.PORT ?? 5002) await app.listen(process.env.PORT ?? 5002)
@@ -1,4 +1,4 @@
import { Body, Controller, Delete, Get, Param, Patch, Post } from '@nestjs/common' import { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common'
import { AdminUsersService } from './consumers.service' import { AdminUsersService } from './consumers.service'
import { CreateConsumerDto, UpdateConsumerDto } from './dto/consumer.dto' import { CreateConsumerDto, UpdateConsumerDto } from './dto/consumer.dto'
@@ -25,9 +25,4 @@ export class AdminUsersController {
async update(@Param('id') id: string, @Body() data: UpdateConsumerDto) { async update(@Param('id') id: string, @Body() data: UpdateConsumerDto) {
return this.usersService.update(id, data) return this.usersService.update(id, data)
} }
@Delete(':id')
async delete(@Param('id') id: string) {
return this.usersService.delete(id)
}
} }
@@ -4,9 +4,15 @@ import { AdminUserAccountsModule } from './accounts/accounts.module'
import { AdminConsumerBusinessActivitiesModule } from './business-activities/business-activities.module' import { AdminConsumerBusinessActivitiesModule } from './business-activities/business-activities.module'
import { AdminUsersController } from './consumers.controller' import { AdminUsersController } from './consumers.controller'
import { AdminUsersService } from './consumers.service' import { AdminUsersService } from './consumers.service'
import { AdminConsumerLicensesModule } from './licenses/licenses.module'
@Module({ @Module({
imports: [PrismaModule, AdminUserAccountsModule, AdminConsumerBusinessActivitiesModule], imports: [
PrismaModule,
AdminUserAccountsModule,
AdminConsumerBusinessActivitiesModule,
AdminConsumerLicensesModule,
],
controllers: [AdminUsersController], controllers: [AdminUsersController],
providers: [AdminUsersService], providers: [AdminUsersService],
exports: [AdminUserAccountsModule], exports: [AdminUserAccountsModule],
@@ -1,7 +1,14 @@
import { PasswordUtil } from '@/common/utils/password.util' import { PasswordUtil } from '@/common/utils/password.util'
import { AccountStatus, AccountType, ConsumerRole } from '@/generated/prisma/enums' import {
AccountStatus,
AccountType,
ConsumerRole,
LicenseStatus,
PartnerStatus,
} from '@/generated/prisma/enums'
import { ConsumerCreateInput, ConsumerSelect } from '@/generated/prisma/models'
import { PrismaService } from '@/prisma/prisma.service' import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common' import { BadRequestException, Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper' import { ResponseMapper } from 'common/response/response-mapper'
import { CreateConsumerDto, UpdateConsumerDto } from './dto/consumer.dto' import { CreateConsumerDto, UpdateConsumerDto } from './dto/consumer.dto'
@@ -9,17 +16,33 @@ import { CreateConsumerDto, UpdateConsumerDto } from './dto/consumer.dto'
export class AdminUsersService { export class AdminUsersService {
constructor(private readonly prisma: PrismaService) {} constructor(private readonly prisma: PrismaService) {}
async findAll() { private readonly defaultSelect: ConsumerSelect = {
const [consumers, count] = await this.prisma.$transaction([
this.prisma.consumer.findMany({
select: {
id: true, id: true,
first_name: true, first_name: true,
last_name: true, last_name: true,
mobile_number: true, mobile_number: true,
status: true, status: true,
created_at: true, created_at: true,
license: {
select: {
id: true,
starts_at: true,
expires_at: true,
status: true,
partner: {
select: {
id: true,
name: true,
}, },
},
},
},
}
async findAll() {
const [consumers, count] = await this.prisma.$transaction([
this.prisma.consumer.findMany({
select: this.defaultSelect,
}), }),
this.prisma.consumer.count(), this.prisma.consumer.count(),
]) ])
@@ -33,16 +56,12 @@ export class AdminUsersService {
} }
async findOne(id: string) { async findOne(id: string) {
this.prisma.license.findFirst({
where: {},
})
const consumer = await this.prisma.consumer.findUniqueOrThrow({ const consumer = await this.prisma.consumer.findUniqueOrThrow({
where: { id }, where: { id },
select: { select: this.defaultSelect,
id: true,
first_name: true,
last_name: true,
mobile_number: true,
status: true,
created_at: true,
},
}) })
return ResponseMapper.single({ return ResponseMapper.single({
@@ -52,9 +71,8 @@ export class AdminUsersService {
} }
async create(data: CreateConsumerDto) { async create(data: CreateConsumerDto) {
const { username, password, ...rest } = data const { username, password, license, ...rest } = data
return this.prisma.consumer.create({ const dataToCreate: ConsumerCreateInput = {
data: {
...rest, ...rest,
accounts: { accounts: {
create: { create: {
@@ -69,15 +87,63 @@ export class AdminUsersService {
}, },
}, },
}, },
}
if (license) {
if (license.partner_id) {
const partner = await this.prisma.partner.findUnique({
where: {
id: license.partner_id,
status: PartnerStatus.ACTIVE,
}, },
select: {
name: true,
license_quota: true,
_count: {
select: {
licenses: true,
},
},
},
})
if (!partner) {
throw new BadRequestException('متاسفانه شریک تجاری مورد نظر شما یافت نشد')
}
const partnerLicensesRemainsQuota =
partner.license_quota || 0 - partner._count.licenses
if (!partnerLicensesRemainsQuota) {
throw new BadRequestException(
`تعداد لایسنس‌های فعلی شریک تجاری ${partner.name} به پایان رسیده است`,
)
}
}
dataToCreate.license = {
create: {
starts_at: license.starts_at,
expires_at: new Date(
new Date(license.starts_at).getFullYear() + 1,
).toISOString(),
status: LicenseStatus.ACTIVE,
partner: {
connect: {
id: license.partner_id,
},
},
},
}
}
return this.prisma.consumer.create({
data: dataToCreate,
select: this.defaultSelect,
}) })
} }
async update(id: string, data: UpdateConsumerDto) { async update(id: string, data: UpdateConsumerDto) {
return this.prisma.admin.update({ where: { id }, data }) return this.prisma.consumer.update({
} where: { id },
data,
async delete(id: string) { })
return this.prisma.admin.delete({ where: { id } })
} }
} }
@@ -1,6 +1,7 @@
import { ConsumerStatus } from '@/generated/prisma/enums' import { ConsumerStatus } from '@/generated/prisma/enums'
import { ApiProperty, PartialType } from '@nestjs/swagger' import { ApiProperty, OmitType, PartialType } from '@nestjs/swagger'
import { IsEnum, IsString } from 'class-validator' import { IsEnum, IsObject, IsString } from 'class-validator'
import { CreateLicenseDto } from '../licenses/dto/license.dto'
export class CreateConsumerDto { export class CreateConsumerDto {
@IsString() @IsString()
@@ -22,8 +23,16 @@ export class CreateConsumerDto {
@IsString() @IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
password: string password: string
@IsObject()
@ApiProperty()
license: CreateLicenseDto
} }
export class UpdateConsumerDto extends PartialType(CreateConsumerDto) { export class UpdateConsumerDto extends OmitType(PartialType(CreateConsumerDto), [
'password',
'username',
'license',
]) {
@IsEnum(ConsumerStatus) @IsEnum(ConsumerStatus)
@ApiProperty({ enum: ConsumerStatus }) @ApiProperty({ enum: ConsumerStatus })
status: ConsumerStatus status: ConsumerStatus
@@ -0,0 +1,37 @@
import { LicenseStatus } from '@/generated/prisma/enums'
import { ApiProperty, OmitType, PartialType } from '@nestjs/swagger'
import { IsDateString, IsEnum } from 'class-validator'
export class CreateLicenseDto {
@ApiProperty({ required: true, default: new Date().toISOString() })
@IsDateString(
{ strict: true },
{ message: 'invoice_date must be a valid ISO-8601 string' },
)
starts_at: Date
@ApiProperty()
@IsDateString(
{ strict: true },
{ message: 'invoice_date must be a valid ISO-8601 string' },
)
expires_at?: Date
@ApiProperty()
partner_id: string
}
export class UpdateLicenseDto extends OmitType(PartialType(CreateLicenseDto), [
'starts_at',
]) {
@ApiProperty({ required: true, default: new Date().toISOString() })
@IsDateString(
{ strict: true },
{ message: 'invoice_date must be a valid ISO-8601 string' },
)
starts_at: Date
@ApiProperty({ enum: LicenseStatus })
@IsEnum(LicenseStatus)
status?: LicenseStatus
}
@@ -0,0 +1,25 @@
import { Body, Controller, Param, Patch, Post } from '@nestjs/common'
import { ApiTags } from '@nestjs/swagger'
import { CreateLicenseDto, UpdateLicenseDto } from './dto/license.dto'
import { LicensesService } from './licenses.service'
@ApiTags('AdminConsumerAccounts')
@Controller('admin/consumers/:consumerId/licenses')
export class LicensesController {
constructor(private readonly service: LicensesService) {}
@Post()
async create(@Param('consumerId') consumerId: string, @Body() data: CreateLicenseDto) {
return this.service.create(consumerId, data)
}
@Patch(':id')
async update(@Param('id') id: string, @Body() data: UpdateLicenseDto) {
return this.service.update(id, data)
}
// @Delete(':id')
// async delete(@Param('id') id: string) {
// return this.service.delete(id)
// }
}
@@ -0,0 +1,12 @@
import { PrismaModule } from '@/prisma/prisma.module'
import { Module } from '@nestjs/common'
import { LicensesController } from './licenses.controller'
import { LicensesService } from './licenses.service'
@Module({
imports: [PrismaModule],
controllers: [LicensesController],
providers: [LicensesService],
exports: [LicensesService],
})
export class AdminConsumerLicensesModule {}
@@ -0,0 +1,51 @@
import { LicenseStatus } from '@/generated/prisma/enums'
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper'
import { CreateLicenseDto, UpdateLicenseDto } from './dto/license.dto'
@Injectable()
export class LicensesService {
constructor(private readonly prisma: PrismaService) {}
private readonly setExpireDate = (starts_at: Date) => {
return new Date(
new Date(starts_at).setFullYear(new Date(starts_at).getFullYear() + 1),
).toISOString()
}
async create(consumerId: string, data: CreateLicenseDto) {
const { starts_at, expires_at } = data
const license = await this.prisma.license.create({
data: {
starts_at,
expires_at: expires_at ?? this.setExpireDate(starts_at),
partner: {
connect: {
id: data.partner_id,
},
},
consumers: {
connect: {
id: consumerId,
},
},
status: LicenseStatus.ACTIVE,
},
})
return ResponseMapper.create(license)
}
async update(id: string, data: UpdateLicenseDto) {
const { starts_at, expires_at } = data
const license = await this.prisma.license.update({
where: { id },
data: {
...data,
starts_at,
expires_at: expires_at ?? this.setExpireDate(starts_at),
},
})
return ResponseMapper.update(license)
}
}
@@ -17,7 +17,7 @@ export class GoodsController {
} }
@Post() @Post()
create(@Param('guildId') guildId: string, @Body() data: CreateGuildGoodDto) { create(@Body() data: CreateGuildGoodDto) {
return this.goodsService.create(guildId, data) return this.goodsService.create(data)
} }
} }
@@ -67,7 +67,7 @@ export class GoodsService {
return ResponseMapper.single(good) return ResponseMapper.single(good)
} }
async create(guild_id: string, data: CreateGuildGoodDto) { async create(data: CreateGuildGoodDto) {
const { category_id, ...rest } = data const { category_id, ...rest } = data
const good = await this.prisma.good.create({ const good = await this.prisma.good.create({
@@ -1,5 +1,5 @@
import { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common' import { Body, Controller, Get, Param, Patch } from '@nestjs/common'
import { CreateLicenseDto, UpdateLicenseDto } from './dto/license.dto' import { UpdateLicenseDto } from './dto/license.dto'
import { PartnerLicensesService } from './licenses.service' import { PartnerLicensesService } from './licenses.service'
@Controller('admin/licenses') @Controller('admin/licenses')
@@ -16,11 +16,6 @@ export class LicensesController {
return this.licensesService.findOne(id) return this.licensesService.findOne(id)
} }
@Post()
async create(@Body() data: CreateLicenseDto) {
return this.licensesService.create(data)
}
@Patch(':id') @Patch(':id')
async update(@Param('id') id: string, @Body() data: UpdateLicenseDto) { async update(@Param('id') id: string, @Body() data: UpdateLicenseDto) {
return this.licensesService.update(id, data) return this.licensesService.update(id, data)
+3 -24
View File
@@ -2,8 +2,7 @@ import { LicenseInclude } from '@/generated/prisma/models'
import { PrismaService } from '@/prisma/prisma.service' import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common' import { Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper' import { ResponseMapper } from 'common/response/response-mapper'
import { LicenseStatus } from 'generated/prisma/enums' import { UpdateLicenseDto } from './dto/license.dto'
import { CreateLicenseDto, UpdateLicenseDto } from './dto/license.dto'
@Injectable() @Injectable()
export class PartnerLicensesService { export class PartnerLicensesService {
@@ -43,7 +42,6 @@ export class PartnerLicensesService {
this.prisma.license.findMany({ this.prisma.license.findMany({
include: this.licenseInclude, include: this.licenseInclude,
omit: { omit: {
pos_id: true,
partner_id: true, partner_id: true,
}, },
}), }),
@@ -51,7 +49,7 @@ export class PartnerLicensesService {
]) ])
return ResponseMapper.paginate( return ResponseMapper.paginate(
licenses.map(license => { licenses.map(license => {
const { pos, ...rest } = license const { ...rest } = license
// @ts-ignore // @ts-ignore
const { accounts, ...posRest } = pos const { accounts, ...posRest } = pos
return { return {
@@ -71,12 +69,11 @@ export class PartnerLicensesService {
where: { id }, where: { id },
include: this.licenseInclude, include: this.licenseInclude,
omit: { omit: {
pos_id: true,
partner_id: true, partner_id: true,
}, },
}) })
if (license) { if (license) {
const { pos, ...rest } = license const { ...rest } = license
// @ts-ignore // @ts-ignore
const { accounts, ...posRest } = pos const { accounts, ...posRest } = pos
return ResponseMapper.single({ return ResponseMapper.single({
@@ -89,24 +86,6 @@ export class PartnerLicensesService {
return ResponseMapper.single(license) return ResponseMapper.single(license)
} }
async create(data: CreateLicenseDto) {
const date = new Date(data.starts_at || '')
const expiresAt =
data.expires_at || new Date(date.setFullYear(date.getFullYear() + 1))
const license = await this.prisma.license.create({
data: {
partner_id: data.partner_id,
pos_id: data.pos_id,
starts_at: date,
expires_at: expiresAt,
status: LicenseStatus.ACTIVE,
},
})
return ResponseMapper.create(license)
}
async update(id: string, data: UpdateLicenseDto) { async update(id: string, data: UpdateLicenseDto) {
const license = await this.prisma.license.update({ const license = await this.prisma.license.update({
where: { id }, where: { id },
+11 -2
View File
@@ -1,6 +1,15 @@
import { Controller } from '@nestjs/common' import { ConsumerInfoInfo } from '@/common/decorators/consumerInfo.decorator'
import { Controller, Get } from '@nestjs/common'
import { ApiTags } from '@nestjs/swagger' import { ApiTags } from '@nestjs/swagger'
import { ConsumerService } from './consumer.service'
@ApiTags('Consumer') @ApiTags('Consumer')
@Controller('consumer') @Controller('consumer')
export class ConsumerController {} export class ConsumerController {
constructor(private service: ConsumerService) {}
@Get('')
async findOne(@ConsumerInfoInfo('user_id') userId: string) {
return this.service.getInfo(userId)
}
}
-14
View File
@@ -1,14 +0,0 @@
// import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common'
// import { Observable } from 'rxjs'
// @Injectable()
// export class AdminGuard implements CanActivate {
// canActivate(
// _context: ExecutionContext,
// ): boolean | Promise<boolean> | Observable<boolean> {
// // Replace with real auth/permission checks (e.g., check JWT claims)
// const request = _context.switchToHttp().getRequest()
// const isAdminHeader = request.headers['x-admin']
// return isAdminHeader === 'true' || request.isAdminRequest === true
// }
// }
+39 -9
View File
@@ -1,20 +1,50 @@
import { checkAndDecodeJwtToken } from '@/common/utils/jwt-user.util' import { checkAndDecodeJwtToken } from '@/common/utils/jwt-user.util'
import { AccountType } from '@/generated/prisma/enums' import { PrismaService } from '@/prisma/prisma.service'
import { Injectable, NestMiddleware, UnauthorizedException } from '@nestjs/common' import { ForbiddenException, Injectable, NestMiddleware } from '@nestjs/common'
import { JwtService } from '@nestjs/jwt' import { JwtService } from '@nestjs/jwt'
import { NextFunction, Request, Response } from 'express' import { NextFunction, Request, Response } from 'express'
@Injectable() @Injectable()
export class ConsumerMiddleware implements NestMiddleware { export class ConsumerMiddleware implements NestMiddleware {
constructor(private jwtService: JwtService) {} constructor(
use(req: Request, _res: Response, next: NextFunction) { private prisma: PrismaService,
const decodedToken = checkAndDecodeJwtToken(req, this.jwtService) private jwtService: JwtService,
if (decodedToken?.type === AccountType.CONSUMER) { ) {}
req.decodedToken = decodedToken
async use(req: Request, _res: Response, next: NextFunction) {
const doForbidden = () => {
throw new ForbiddenException('شما دسترسی لازم را ندارید')
}
try {
const tokenAccount = checkAndDecodeJwtToken(req, this.jwtService)
if (tokenAccount?.type !== 'CONSUMER') {
return doForbidden()
}
const consumerAccount = await this.prisma.consumerAccount.findUnique({
where: {
id: tokenAccount.account_id,
},
select: {
user_id: true,
account_id: true,
},
})
if (!consumerAccount) {
return doForbidden()
}
req.consumerData = {
account_id: consumerAccount.account_id,
user_id: consumerAccount.user_id,
}
req.decodedToken = tokenAccount
return next() return next()
} catch (error) {
return doForbidden()
} }
throw new UnauthorizedException('شما دسترسی لازم را ندارید.')
} }
} }
+7 -1
View File
@@ -4,11 +4,12 @@ import { ConsumerAccountsModule } from './accounts/accounts.module'
import { ConsumerBusinessActivitiesModule } from './business-activities/business-activities.module' import { ConsumerBusinessActivitiesModule } from './business-activities/business-activities.module'
import { ConsumerController } from './consumer.controller' import { ConsumerController } from './consumer.controller'
import { ConsumerMiddleware } from './consumer.middleware' import { ConsumerMiddleware } from './consumer.middleware'
import { ConsumerService } from './consumer.service'
@Module({ @Module({
controllers: [ConsumerController], controllers: [ConsumerController],
imports: [ConsumerAccountsModule, ConsumerBusinessActivitiesModule], imports: [ConsumerAccountsModule, ConsumerBusinessActivitiesModule],
providers: [JwtService], providers: [JwtService, ConsumerService],
}) })
export class ConsumerModule implements NestModule { export class ConsumerModule implements NestModule {
configure(consumer: MiddlewareConsumer) { configure(consumer: MiddlewareConsumer) {
@@ -17,5 +18,10 @@ export class ConsumerModule implements NestModule {
method: RequestMethod.ALL, method: RequestMethod.ALL,
version: '1', version: '1',
}) })
consumer.apply(ConsumerMiddleware).forRoutes({
path: '/consumer',
method: RequestMethod.ALL,
version: '1',
})
} }
} }
+40
View File
@@ -0,0 +1,40 @@
import { ResponseMapper } from '@/common/response/response-mapper'
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common'
@Injectable()
export class ConsumerService {
constructor(private readonly prisma: PrismaService) {}
async getInfo(consumer_id: string) {
const consumer = await this.prisma.consumer.findUnique({
where: {
id: consumer_id,
},
select: {
id: true,
first_name: true,
last_name: true,
mobile_number: true,
status: true,
license: {
select: {
starts_at: true,
expires_at: true,
status: true,
partner: {
select: {
name: true,
},
},
},
},
},
})
return ResponseMapper.single({
...consumer,
full_name: `${consumer?.first_name} ${consumer?.last_name}`,
})
}
}