diff --git a/prisma/migrations/20260310160733_init/migration.sql b/prisma/migrations/20260310160733_init/migration.sql new file mode 100644 index 0000000..63689b9 --- /dev/null +++ b/prisma/migrations/20260310160733_init/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - Added the required column `pricing_model` to the `goods` table without a default value. This is not possible if the table is not empty. + - Added the required column `unit_type` to the `goods` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE `goods` ADD COLUMN `pricing_model` ENUM('STANDARD', 'GOLD') NOT NULL, + ADD COLUMN `unit_type` ENUM('COUNT', 'GRAM', 'KILOGRAM', 'MILLILITER', 'LITER', 'METER', 'HOUR') NOT NULL; diff --git a/prisma/migrations/20260311090111_init/migration.sql b/prisma/migrations/20260311090111_init/migration.sql new file mode 100644 index 0000000..62189db --- /dev/null +++ b/prisma/migrations/20260311090111_init/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE `accounts` MODIFY `type` ENUM('PARTNER', 'BUSINESS', 'SUPER_ADMIN', 'ADMIN', 'PROVIDER', 'POS') NOT NULL; diff --git a/prisma/schema/shared/enum.prisma b/prisma/schema/shared/enum.prisma index 337d1e7..8da126b 100644 --- a/prisma/schema/shared/enum.prisma +++ b/prisma/schema/shared/enum.prisma @@ -93,6 +93,7 @@ enum UserType { enum AccountType { PARTNER BUSINESS + SUPER_ADMIN ADMIN PROVIDER POS diff --git a/prisma/schema/shared/good.prisma b/prisma/schema/shared/good.prisma index 6036a44..280d050 100644 --- a/prisma/schema/shared/good.prisma +++ b/prisma/schema/shared/good.prisma @@ -1,15 +1,17 @@ model Good { - id String @id @default(uuid()) - name String @db.VarChar(255) - description String? @db.Text - sku String @db.VarChar(100) - local_sku String? @unique() @db.VarChar(100) - barcode String? @unique() @db.VarChar(100) - base_sale_price Decimal? @default(0.00) @db.Decimal(15, 0) - is_default_guild_good Boolean @default(false) - created_at DateTime @default(now()) @db.Timestamp(0) - updated_at DateTime @updatedAt @db.Timestamp(0) - deleted_at DateTime? @db.Timestamp(0) + id String @id @default(uuid()) + name String @db.VarChar(255) + is_default_guild_good Boolean @default(false) + sku String @db.VarChar(100) + unit_type UnitType + pricing_model GoodPricingModel + description String? @db.Text + local_sku String? @unique() @db.VarChar(100) + barcode String? @unique() @db.VarChar(100) + base_sale_price Decimal? @default(0.00) @db.Decimal(15, 0) + created_at DateTime @default(now()) @db.Timestamp(0) + updated_at DateTime @updatedAt @db.Timestamp(0) + deleted_at DateTime? @db.Timestamp(0) complex_id String? category_id String? diff --git a/src/common/guards/jwt-auth.guard.ts b/src/common/guards/jwt-auth.guard.ts index 7c0a0a3..b27c05c 100644 --- a/src/common/guards/jwt-auth.guard.ts +++ b/src/common/guards/jwt-auth.guard.ts @@ -17,8 +17,6 @@ export class JwtAuthGuard implements CanActivate { ) {} async canActivate(context: ExecutionContext): Promise { - console.log('asd') - const isPublic = this.reflector.getAllAndOverride(IS_PUBLIC_KEY, [ context.getHandler(), context.getClass(), diff --git a/src/common/utils/jwt-user.util.ts b/src/common/utils/jwt-user.util.ts index 6ea6d1b..9753d08 100644 --- a/src/common/utils/jwt-user.util.ts +++ b/src/common/utils/jwt-user.util.ts @@ -21,7 +21,6 @@ export function getAccountIdFromJwt(req: Request, jwtService: JwtService): strin // const token = authHeader.replace('Bearer ', '') try { const payload = jwtService.decode(token) as AccessTokenPayload - console.log(payload) return payload?.account_id || null } catch { diff --git a/src/generated/prisma/commonInputTypes.ts b/src/generated/prisma/commonInputTypes.ts index dfffca5..acf1d9e 100644 --- a/src/generated/prisma/commonInputTypes.ts +++ b/src/generated/prisma/commonInputTypes.ts @@ -307,6 +307,20 @@ export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedBoolNullableFilter<$PrismaModel> } +export type EnumUnitTypeFilter<$PrismaModel = never> = { + equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> + in?: $Enums.UnitType[] + notIn?: $Enums.UnitType[] + not?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> | $Enums.UnitType +} + +export type EnumGoodPricingModelFilter<$PrismaModel = never> = { + equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> + in?: $Enums.GoodPricingModel[] + notIn?: $Enums.GoodPricingModel[] + not?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> | $Enums.GoodPricingModel +} + export type DecimalNullableFilter<$PrismaModel = never> = { equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | null @@ -318,6 +332,26 @@ export type DecimalNullableFilter<$PrismaModel = never> = { not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null } +export type EnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> + in?: $Enums.UnitType[] + notIn?: $Enums.UnitType[] + not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> + _max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> +} + +export type EnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> + in?: $Enums.GoodPricingModel[] + notIn?: $Enums.GoodPricingModel[] + not?: Prisma.NestedEnumGoodPricingModelWithAggregatesFilter<$PrismaModel> | $Enums.GoodPricingModel + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> + _max?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> +} + export type DecimalNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | null @@ -412,23 +446,6 @@ export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { _max?: Prisma.NestedJsonNullableFilter<$PrismaModel> } -export type EnumUnitTypeFilter<$PrismaModel = never> = { - equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> - in?: $Enums.UnitType[] - notIn?: $Enums.UnitType[] - not?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> | $Enums.UnitType -} - -export type EnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { - equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> - in?: $Enums.UnitType[] - notIn?: $Enums.UnitType[] - not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType - _count?: Prisma.NestedIntFilter<$PrismaModel> - _min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> - _max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> -} - export type EnumPaymentMethodTypeFilter<$PrismaModel = never> = { equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel> in?: $Enums.PaymentMethodType[] @@ -756,6 +773,20 @@ export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedBoolNullableFilter<$PrismaModel> } +export type NestedEnumUnitTypeFilter<$PrismaModel = never> = { + equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> + in?: $Enums.UnitType[] + notIn?: $Enums.UnitType[] + not?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> | $Enums.UnitType +} + +export type NestedEnumGoodPricingModelFilter<$PrismaModel = never> = { + equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> + in?: $Enums.GoodPricingModel[] + notIn?: $Enums.GoodPricingModel[] + not?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> | $Enums.GoodPricingModel +} + export type NestedDecimalNullableFilter<$PrismaModel = never> = { equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | null @@ -767,6 +798,26 @@ export type NestedDecimalNullableFilter<$PrismaModel = never> = { not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null } +export type NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> + in?: $Enums.UnitType[] + notIn?: $Enums.UnitType[] + not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> + _max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> +} + +export type NestedEnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> + in?: $Enums.GoodPricingModel[] + notIn?: $Enums.GoodPricingModel[] + not?: Prisma.NestedEnumGoodPricingModelWithAggregatesFilter<$PrismaModel> | $Enums.GoodPricingModel + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> + _max?: Prisma.NestedEnumGoodPricingModelFilter<$PrismaModel> +} + export type NestedDecimalNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | null @@ -834,23 +885,6 @@ export type NestedJsonNullableFilterBase<$PrismaModel = never> = { not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter } -export type NestedEnumUnitTypeFilter<$PrismaModel = never> = { - equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> - in?: $Enums.UnitType[] - notIn?: $Enums.UnitType[] - not?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> | $Enums.UnitType -} - -export type NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { - equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> - in?: $Enums.UnitType[] - notIn?: $Enums.UnitType[] - not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType - _count?: Prisma.NestedIntFilter<$PrismaModel> - _min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> - _max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> -} - export type NestedEnumPaymentMethodTypeFilter<$PrismaModel = never> = { equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel> in?: $Enums.PaymentMethodType[] diff --git a/src/generated/prisma/enums.ts b/src/generated/prisma/enums.ts index dcfa01b..e33a46a 100644 --- a/src/generated/prisma/enums.ts +++ b/src/generated/prisma/enums.ts @@ -149,6 +149,7 @@ export type UserType = (typeof UserType)[keyof typeof UserType] export const AccountType = { PARTNER: 'PARTNER', BUSINESS: 'BUSINESS', + SUPER_ADMIN: 'SUPER_ADMIN', ADMIN: 'ADMIN', PROVIDER: 'PROVIDER', POS: 'POS' diff --git a/src/generated/prisma/internal/class.ts b/src/generated/prisma/internal/class.ts index 09e11f6..7405cc5 100644 --- a/src/generated/prisma/internal/class.ts +++ b/src/generated/prisma/internal/class.ts @@ -22,7 +22,7 @@ const config: runtime.GetPrismaClientConfig = { "clientVersion": "7.2.0", "engineVersion": "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3", "activeProvider": "mysql", - "inlineSchema": "model Token {\n id String @id @default(uuid())\n token String @unique\n type TokenType\n created_at DateTime @default(now())\n expires_at DateTime\n\n account_id String\n account Account @relation(fields: [account_id], references: [id])\n\n @@unique([type, account_id])\n @@map(\"tokens\")\n}\n\nmodel VerificationCode {\n id String @id @default(uuid())\n code String\n is_used Boolean @default(false)\n created_at DateTime @default(now())\n expires_at DateTime\n\n account_id String\n account Account @relation(fields: [account_id], references: [id])\n\n @@map(\"verification_codes\")\n}\n\nmodel Guild {\n id String @id @default(uuid())\n name String\n code String?\n\n business_activities BusinessActivity[]\n goods Good[]\n good_categories GoodCategory[]\n\n @@map(\"guilds\")\n}\n\nmodel BusinessActivity {\n id String @id @default(uuid())\n name String\n created_at DateTime @default(now())\n guild_id String\n owner_id String\n\n guild Guild @relation(fields: [guild_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n complexes Complex[]\n accounts Account[]\n\n @@map(\"business_activities\")\n}\n\nmodel Complex {\n id String @id @default(uuid())\n name String\n address String?\n tax_id String?\n\n business_activity_id String\n\n business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])\n\n pos_list Pos[]\n goods Good[]\n good_categories GoodCategory[]\n\n @@map(\"complexes\")\n}\n\nmodel Pos {\n id String @id @default(uuid())\n serial String @unique\n model String?\n status POSStatus @default(ACTIVE)\n pos_type POSType\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n\n complex_id String\n device_id String\n provider_id String?\n\n complex Complex @relation(fields: [complex_id], references: [id])\n device Device @relation(fields: [device_id], references: [id])\n provider Provider? @relation(fields: [provider_id], references: [id])\n\n licenses License[]\n accounts Account[]\n\n @@map(\"poses\")\n}\n\n// model BusinessAccount {\n// id String @id @default(uuid())\n// role BusinessRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// business_activity_id String\n// account_id String @unique\n\n// account Account @relation(fields: [account_id], references: [id])\n// owned_activities BusinessActivity[] @relation(\"business_owner\")\n\n// @@unique([business_activity_id, account_id])\n// @@map(\"business_accounts\")\n// }\n\n// model PosAccount {\n// id String @id @default(uuid())\n// pos_id String\n// account_id String\n// role POSRole\n// created_at DateTime @default(now())\n\n// pos Pos @relation(fields: [pos_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([pos_id, account_id])\n// @@map(\"pos_accounts\")\n// }\n\nmodel DeviceBrand {\n id String @id @default(uuid())\n name String\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n\n devices Device[]\n\n @@map(\"device_brands\")\n}\n\nmodel Device {\n id String @id @default(uuid())\n name String\n os_version String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n brand_id String\n\n brand DeviceBrand @relation(fields: [brand_id], references: [id])\n poses Pos[]\n\n @@map(\"devices\")\n}\n\nmodel License {\n id String @id @default(uuid())\n starts_at DateTime\n expires_at DateTime\n status LicenseStatus\n\n pos_id String\n partner_id String\n\n pos Pos @relation(fields: [pos_id], references: [id])\n partner Partner @relation(fields: [partner_id], references: [id])\n\n @@map(\"licenses\")\n}\n\nmodel Partner {\n id String @id @default(uuid())\n name String\n code String?\n\n licenses License[]\n account Account[]\n\n @@map(\"partners\")\n}\n\n// model PartnerAccount {\n// id String @id @default(uuid())\n// role PartnerRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// partner_id String\n// account_id String @unique\n\n// partner Partner @relation(fields: [partner_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([partner_id, account_id])\n// @@map(\"partner_accounts\")\n// }\n\nmodel User {\n id String @id @default(uuid())\n // user_type UserType\n created_at DateTime @default(now())\n\n // individual_profile IndividualProfile?\n // legal_profile LegalProfile?\n mobile_number String @unique()\n national_code String? @unique()\n first_name String\n last_name String\n // username String\n accounts Account[]\n businessActivities BusinessActivity[]\n\n @@map(\"users\")\n}\n\n// model LegalProfile {\n// user_id String @id\n// company_name String\n// register_no String @unique()\n// representative_name String?\n// representative_national_id String?\n\n// // user User @relation(fields: [user_id], references: [id])\n\n// @@map(\"legal_profiles\")\n// }\n\n// model IndividualProfile {\n// user_id String @id\n// national_code String @unique()\n// first_name String\n// last_name String\n// birth_date DateTime?\n// mobile_number String\n// // user User @relation(fields: [user_id], references: [id])\n\n// @@map(\"individual_profiles\")\n// }\n\nmodel Account {\n id String @id @default(uuid())\n username String @unique()\n // first_name String\n // last_name String\n type AccountType\n status AccountStatus\n password String\n created_at DateTime @default(now())\n\n user_id String\n user User @relation(fields: [user_id], references: [id])\n\n partner_id String?\n partner Partner? @relation(fields: [partner_id], references: [id])\n\n business_id String?\n business BusinessActivity? @relation(fields: [business_id], references: [id])\n\n provider_id String?\n provider Provider? @relation(fields: [provider_id], references: [id])\n\n pos_id String?\n pos Pos? @relation(fields: [pos_id], references: [id])\n\n verification_codes VerificationCode[]\n tokens Token[]\n\n @@map(\"accounts\")\n}\n\nmodel Provider {\n id String @id @default(uuid())\n name String\n code String?\n\n pos_list Pos[]\n accounts Account[]\n\n @@map(\"providers\")\n}\n\n// model ProviderAccount {\n// id String @id @default(uuid())\n// role ProviderRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// provider_id String\n// account_id String @unique\n\n// provider Provider @relation(fields: [provider_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([provider_id, account_id])\n// @@map(\"provider_accounts\")\n// }\n\nmodel TriggerLog {\n id Int @id @default(autoincrement())\n message String @db.Text\n createdAt DateTime @default(now()) @db.Timestamp(0)\n name String @db.Text\n\n @@map(\"trigger_logs\")\n}\n\nmodel UserDevices {\n account_id String? @db.VarChar(255)\n app_version String @db.VarChar(20)\n build_number String @db.VarChar(20)\n\n uuid String @id @unique() @db.VarChar(255)\n platform String @db.VarChar(100)\n brand String @db.VarChar(100)\n model String @db.VarChar(100)\n device String @db.VarChar(100)\n os_version String @db.VarChar(20)\n sdk_version String @db.VarChar(20)\n release_number String @db.VarChar(20)\n browser_name String? @db.VarChar(100)\n fcm_token String? @db.VarChar(100)\n\n @@map(\"user_devices\")\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../../src/generated/prisma\"\n moduleFormat = \"cjs\"\n previewFeatures = [\"views\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n}\n\nmodel Customer {\n id String @id @default(uuid())\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n type CustomerType\n complex_id String\n is_favorite Boolean? @default(false)\n\n sales_invoices SalesInvoice[]\n customerIndividuals CustomerIndividual?\n customerLegals CustomerLegal?\n\n @@map(\"customers\")\n}\n\nmodel CustomerIndividual {\n customer_id String @id\n first_name String @db.VarChar(255)\n last_name String @db.VarChar(255)\n national_id String @db.Char(10)\n postal_code String @db.Char(10)\n economic_code String? @db.Char(10)\n complex_id String\n\n customer Customer @relation(fields: [customer_id], references: [id])\n\n @@unique([complex_id, national_id])\n @@map(\"customer_individuals\")\n}\n\nmodel CustomerLegal {\n customer_id String @id\n company_name String @db.VarChar(255)\n economic_code String @db.Char(10)\n registration_number String @db.Char(20)\n postal_code String @db.Char(10)\n complex_id String\n\n customer Customer @relation(fields: [customer_id], references: [id])\n\n @@unique([complex_id, registration_number])\n @@map(\"customer_legal\")\n}\n\nenum PaymentMethodType {\n TERMINAL\n CASH\n SET_OFF\n CARD\n BANK\n CHECK\n OTHER\n}\n\nenum PurchaseReceiptStatus {\n UNPAID\n PARTIALLY_PAID\n PAID\n}\n\nenum SalesInvoiceType {\n GOOD\n SERVICE\n}\n\nenum UnitType {\n COUNT\n GRAM\n KILOGRAM\n MILLILITER\n LITER\n METER\n HOUR\n}\n\nenum GoodPricingModel {\n STANDARD\n GOLD\n}\n\nenum CustomerType {\n INDIVIDUAL\n LEGAL\n UNKNOWN\n}\n\nenum UserStatus {\n ACTIVE\n INACTIVE\n}\n\nenum AccountRole {\n OWNER\n OPERATOR\n ACCOUNTANT\n}\n\nenum AccountStatus {\n ACTIVE\n SUSPENDED\n}\n\nenum POSStatus {\n ACTIVE\n DISABLED\n}\n\nenum POSRole {\n MANAGER\n OPERATOR\n VIEWER\n}\n\nenum LicenseType {\n BASIC\n PRO\n ENTERPRISE\n}\n\nenum LicenseStatus {\n ACTIVE\n EXPIRED\n SUSPENDED\n}\n\nenum POSType {\n PSP\n MOBILE\n API\n}\n\nenum UserType {\n LEGAL\n INDIVIDUAL\n}\n\nenum AccountType {\n PARTNER\n BUSINESS\n ADMIN\n PROVIDER\n POS\n}\n\nenum PartnerRole {\n ADMIN\n OPERATOR\n}\n\nenum BusinessRole {\n ADMIN\n OPERATOR\n}\n\nenum ProviderRole {\n ADMIN\n OPERATOR\n}\n\nenum TokenType {\n ACCESS\n REFRESH\n}\n\nmodel Good {\n id String @id @default(uuid())\n name String @db.VarChar(255)\n description String? @db.Text\n sku String @db.VarChar(100)\n local_sku String? @unique() @db.VarChar(100)\n barcode String? @unique() @db.VarChar(100)\n base_sale_price Decimal? @default(0.00) @db.Decimal(15, 0)\n is_default_guild_good Boolean @default(false)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n complex_id String?\n category_id String?\n guild_id String?\n\n category GoodCategory? @relation(fields: [category_id], references: [id])\n complex Complex? @relation(fields: [complex_id], references: [id])\n guild Guild? @relation(fields: [guild_id], references: [id])\n sales_invoice_items SalesInvoiceItem[]\n\n @@index([category_id])\n @@map(\"goods\")\n}\n\nmodel GoodCategory {\n id String @id @default(uuid())\n name String @db.VarChar(100)\n description String? @db.Text\n image_url String? @db.VarChar(255)\n complex_id String?\n is_default_guild_good Boolean @default(false)\n guild_id String?\n\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n goods Good[]\n guild Guild? @relation(fields: [guild_id], references: [id])\n complex Complex? @relation(fields: [complex_id], references: [id])\n\n @@map(\"good_categories\")\n}\n\nmodel SalesInvoice {\n id String @id @default(uuid())\n code String @unique @db.VarChar(100)\n total_amount Decimal @db.Decimal(15, 2)\n notes String? @db.Text\n unknown_customer Json? @db.Json\n invoice_date DateTime? @default(now()) @db.Timestamp(0)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n\n customer_id String?\n account_id String\n complex_id String\n\n customer Customer? @relation(fields: [customer_id], references: [id])\n items SalesInvoiceItem[]\n payments SalesInvoicePayment[]\n\n @@map(\"sales_invoices\")\n}\n\nmodel SalesInvoiceItem {\n id String @id @default(uuid())\n quantity Decimal @db.Decimal(10, 0)\n unit_type UnitType\n unit_price Decimal @default(0.00) @db.Decimal(15, 2)\n total_amount Decimal @default(0.00) @db.Decimal(15, 2)\n created_at DateTime @default(now()) @db.Timestamp(0)\n discount Decimal @default(0.00) @db.Decimal(15, 2)\n notes String? @db.Text\n\n invoice_id String\n good_id String?\n service_id String?\n\n payload Json?\n\n invoice SalesInvoice @relation(fields: [invoice_id], references: [id])\n good Good? @relation(fields: [good_id], references: [id])\n service Service? @relation(fields: [service_id], references: [id])\n\n @@index([invoice_id, good_id])\n @@map(\"sales_invoice_items\")\n}\n\nmodel SalesInvoicePayment {\n id String @id @default(uuid())\n invoice_id String\n amount Decimal @db.Decimal(15, 2)\n payment_method PaymentMethodType\n paid_at DateTime\n created_at DateTime @default(now())\n\n invoice SalesInvoice @relation(fields: [invoice_id], references: [id])\n\n @@index([invoice_id])\n @@map(\"sales_invoice_payments\")\n}\n\nmodel Service {\n id String @id @default(uuid())\n name String @db.VarChar(255)\n description String? @db.Text\n sku String @unique() @db.VarChar(100)\n local_sku String? @unique() @db.VarChar(100)\n barcode String? @unique() @db.VarChar(100)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n category_id String?\n base_sale_price Decimal @default(0.00) @db.Decimal(15, 0)\n account_id String\n complex_id String\n\n category ServiceCategory? @relation(fields: [category_id], references: [id])\n sales_invoice_items SalesInvoiceItem[]\n\n @@index([category_id])\n @@map(\"services\")\n}\n\nmodel ServiceCategory {\n id String @id @default(uuid())\n name String @db.VarChar(100)\n description String? @db.Text\n image_url String? @db.VarChar(255)\n account_id String\n complex_id String\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n services Service[]\n\n @@map(\"service_categories\")\n}\n", + "inlineSchema": "model Token {\n id String @id @default(uuid())\n token String @unique\n type TokenType\n created_at DateTime @default(now())\n expires_at DateTime\n\n account_id String\n account Account @relation(fields: [account_id], references: [id])\n\n @@unique([type, account_id])\n @@map(\"tokens\")\n}\n\nmodel VerificationCode {\n id String @id @default(uuid())\n code String\n is_used Boolean @default(false)\n created_at DateTime @default(now())\n expires_at DateTime\n\n account_id String\n account Account @relation(fields: [account_id], references: [id])\n\n @@map(\"verification_codes\")\n}\n\nmodel Guild {\n id String @id @default(uuid())\n name String\n code String?\n\n business_activities BusinessActivity[]\n goods Good[]\n good_categories GoodCategory[]\n\n @@map(\"guilds\")\n}\n\nmodel BusinessActivity {\n id String @id @default(uuid())\n name String\n created_at DateTime @default(now())\n guild_id String\n owner_id String\n\n guild Guild @relation(fields: [guild_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n complexes Complex[]\n accounts Account[]\n\n @@map(\"business_activities\")\n}\n\nmodel Complex {\n id String @id @default(uuid())\n name String\n address String?\n tax_id String?\n\n business_activity_id String\n\n business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])\n\n pos_list Pos[]\n goods Good[]\n good_categories GoodCategory[]\n\n @@map(\"complexes\")\n}\n\nmodel Pos {\n id String @id @default(uuid())\n serial String @unique\n model String?\n status POSStatus @default(ACTIVE)\n pos_type POSType\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n\n complex_id String\n device_id String\n provider_id String?\n\n complex Complex @relation(fields: [complex_id], references: [id])\n device Device @relation(fields: [device_id], references: [id])\n provider Provider? @relation(fields: [provider_id], references: [id])\n\n licenses License[]\n accounts Account[]\n\n @@map(\"poses\")\n}\n\n// model BusinessAccount {\n// id String @id @default(uuid())\n// role BusinessRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// business_activity_id String\n// account_id String @unique\n\n// account Account @relation(fields: [account_id], references: [id])\n// owned_activities BusinessActivity[] @relation(\"business_owner\")\n\n// @@unique([business_activity_id, account_id])\n// @@map(\"business_accounts\")\n// }\n\n// model PosAccount {\n// id String @id @default(uuid())\n// pos_id String\n// account_id String\n// role POSRole\n// created_at DateTime @default(now())\n\n// pos Pos @relation(fields: [pos_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([pos_id, account_id])\n// @@map(\"pos_accounts\")\n// }\n\nmodel DeviceBrand {\n id String @id @default(uuid())\n name String\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n\n devices Device[]\n\n @@map(\"device_brands\")\n}\n\nmodel Device {\n id String @id @default(uuid())\n name String\n os_version String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt()\n brand_id String\n\n brand DeviceBrand @relation(fields: [brand_id], references: [id])\n poses Pos[]\n\n @@map(\"devices\")\n}\n\nmodel License {\n id String @id @default(uuid())\n starts_at DateTime\n expires_at DateTime\n status LicenseStatus\n\n pos_id String\n partner_id String\n\n pos Pos @relation(fields: [pos_id], references: [id])\n partner Partner @relation(fields: [partner_id], references: [id])\n\n @@map(\"licenses\")\n}\n\nmodel Partner {\n id String @id @default(uuid())\n name String\n code String?\n\n licenses License[]\n account Account[]\n\n @@map(\"partners\")\n}\n\n// model PartnerAccount {\n// id String @id @default(uuid())\n// role PartnerRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// partner_id String\n// account_id String @unique\n\n// partner Partner @relation(fields: [partner_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([partner_id, account_id])\n// @@map(\"partner_accounts\")\n// }\n\nmodel User {\n id String @id @default(uuid())\n // user_type UserType\n created_at DateTime @default(now())\n\n // individual_profile IndividualProfile?\n // legal_profile LegalProfile?\n mobile_number String @unique()\n national_code String? @unique()\n first_name String\n last_name String\n // username String\n accounts Account[]\n businessActivities BusinessActivity[]\n\n @@map(\"users\")\n}\n\n// model LegalProfile {\n// user_id String @id\n// company_name String\n// register_no String @unique()\n// representative_name String?\n// representative_national_id String?\n\n// // user User @relation(fields: [user_id], references: [id])\n\n// @@map(\"legal_profiles\")\n// }\n\n// model IndividualProfile {\n// user_id String @id\n// national_code String @unique()\n// first_name String\n// last_name String\n// birth_date DateTime?\n// mobile_number String\n// // user User @relation(fields: [user_id], references: [id])\n\n// @@map(\"individual_profiles\")\n// }\n\nmodel Account {\n id String @id @default(uuid())\n username String @unique()\n // first_name String\n // last_name String\n type AccountType\n status AccountStatus\n password String\n created_at DateTime @default(now())\n\n user_id String\n user User @relation(fields: [user_id], references: [id])\n\n partner_id String?\n partner Partner? @relation(fields: [partner_id], references: [id])\n\n business_id String?\n business BusinessActivity? @relation(fields: [business_id], references: [id])\n\n provider_id String?\n provider Provider? @relation(fields: [provider_id], references: [id])\n\n pos_id String?\n pos Pos? @relation(fields: [pos_id], references: [id])\n\n verification_codes VerificationCode[]\n tokens Token[]\n\n @@map(\"accounts\")\n}\n\nmodel Provider {\n id String @id @default(uuid())\n name String\n code String?\n\n pos_list Pos[]\n accounts Account[]\n\n @@map(\"providers\")\n}\n\n// model ProviderAccount {\n// id String @id @default(uuid())\n// role ProviderRole\n// status AccountStatus @default(ACTIVE)\n// created_at DateTime @default(now())\n// provider_id String\n// account_id String @unique\n\n// provider Provider @relation(fields: [provider_id], references: [id])\n// account Account @relation(fields: [account_id], references: [id])\n\n// @@unique([provider_id, account_id])\n// @@map(\"provider_accounts\")\n// }\n\nmodel TriggerLog {\n id Int @id @default(autoincrement())\n message String @db.Text\n createdAt DateTime @default(now()) @db.Timestamp(0)\n name String @db.Text\n\n @@map(\"trigger_logs\")\n}\n\nmodel UserDevices {\n account_id String? @db.VarChar(255)\n app_version String @db.VarChar(20)\n build_number String @db.VarChar(20)\n\n uuid String @id @unique() @db.VarChar(255)\n platform String @db.VarChar(100)\n brand String @db.VarChar(100)\n model String @db.VarChar(100)\n device String @db.VarChar(100)\n os_version String @db.VarChar(20)\n sdk_version String @db.VarChar(20)\n release_number String @db.VarChar(20)\n browser_name String? @db.VarChar(100)\n fcm_token String? @db.VarChar(100)\n\n @@map(\"user_devices\")\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../../src/generated/prisma\"\n moduleFormat = \"cjs\"\n previewFeatures = [\"views\"]\n}\n\ndatasource db {\n provider = \"mysql\"\n}\n\nmodel Customer {\n id String @id @default(uuid())\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n type CustomerType\n complex_id String\n is_favorite Boolean? @default(false)\n\n sales_invoices SalesInvoice[]\n customerIndividuals CustomerIndividual?\n customerLegals CustomerLegal?\n\n @@map(\"customers\")\n}\n\nmodel CustomerIndividual {\n customer_id String @id\n first_name String @db.VarChar(255)\n last_name String @db.VarChar(255)\n national_id String @db.Char(10)\n postal_code String @db.Char(10)\n economic_code String? @db.Char(10)\n complex_id String\n\n customer Customer @relation(fields: [customer_id], references: [id])\n\n @@unique([complex_id, national_id])\n @@map(\"customer_individuals\")\n}\n\nmodel CustomerLegal {\n customer_id String @id\n company_name String @db.VarChar(255)\n economic_code String @db.Char(10)\n registration_number String @db.Char(20)\n postal_code String @db.Char(10)\n complex_id String\n\n customer Customer @relation(fields: [customer_id], references: [id])\n\n @@unique([complex_id, registration_number])\n @@map(\"customer_legal\")\n}\n\nenum PaymentMethodType {\n TERMINAL\n CASH\n SET_OFF\n CARD\n BANK\n CHECK\n OTHER\n}\n\nenum PurchaseReceiptStatus {\n UNPAID\n PARTIALLY_PAID\n PAID\n}\n\nenum SalesInvoiceType {\n GOOD\n SERVICE\n}\n\nenum UnitType {\n COUNT\n GRAM\n KILOGRAM\n MILLILITER\n LITER\n METER\n HOUR\n}\n\nenum GoodPricingModel {\n STANDARD\n GOLD\n}\n\nenum CustomerType {\n INDIVIDUAL\n LEGAL\n UNKNOWN\n}\n\nenum UserStatus {\n ACTIVE\n INACTIVE\n}\n\nenum AccountRole {\n OWNER\n OPERATOR\n ACCOUNTANT\n}\n\nenum AccountStatus {\n ACTIVE\n SUSPENDED\n}\n\nenum POSStatus {\n ACTIVE\n DISABLED\n}\n\nenum POSRole {\n MANAGER\n OPERATOR\n VIEWER\n}\n\nenum LicenseType {\n BASIC\n PRO\n ENTERPRISE\n}\n\nenum LicenseStatus {\n ACTIVE\n EXPIRED\n SUSPENDED\n}\n\nenum POSType {\n PSP\n MOBILE\n API\n}\n\nenum UserType {\n LEGAL\n INDIVIDUAL\n}\n\nenum AccountType {\n PARTNER\n BUSINESS\n SUPER_ADMIN\n ADMIN\n PROVIDER\n POS\n}\n\nenum PartnerRole {\n ADMIN\n OPERATOR\n}\n\nenum BusinessRole {\n ADMIN\n OPERATOR\n}\n\nenum ProviderRole {\n ADMIN\n OPERATOR\n}\n\nenum TokenType {\n ACCESS\n REFRESH\n}\n\nmodel Good {\n id String @id @default(uuid())\n name String @db.VarChar(255)\n is_default_guild_good Boolean @default(false)\n sku String @db.VarChar(100)\n unit_type UnitType\n pricing_model GoodPricingModel\n description String? @db.Text\n local_sku String? @unique() @db.VarChar(100)\n barcode String? @unique() @db.VarChar(100)\n base_sale_price Decimal? @default(0.00) @db.Decimal(15, 0)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n complex_id String?\n category_id String?\n guild_id String?\n\n category GoodCategory? @relation(fields: [category_id], references: [id])\n complex Complex? @relation(fields: [complex_id], references: [id])\n guild Guild? @relation(fields: [guild_id], references: [id])\n sales_invoice_items SalesInvoiceItem[]\n\n @@index([category_id])\n @@map(\"goods\")\n}\n\nmodel GoodCategory {\n id String @id @default(uuid())\n name String @db.VarChar(100)\n description String? @db.Text\n image_url String? @db.VarChar(255)\n complex_id String?\n is_default_guild_good Boolean @default(false)\n guild_id String?\n\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n goods Good[]\n guild Guild? @relation(fields: [guild_id], references: [id])\n complex Complex? @relation(fields: [complex_id], references: [id])\n\n @@map(\"good_categories\")\n}\n\nmodel SalesInvoice {\n id String @id @default(uuid())\n code String @unique @db.VarChar(100)\n total_amount Decimal @db.Decimal(15, 2)\n notes String? @db.Text\n unknown_customer Json? @db.Json\n invoice_date DateTime? @default(now()) @db.Timestamp(0)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n\n customer_id String?\n account_id String\n complex_id String\n\n customer Customer? @relation(fields: [customer_id], references: [id])\n items SalesInvoiceItem[]\n payments SalesInvoicePayment[]\n\n @@map(\"sales_invoices\")\n}\n\nmodel SalesInvoiceItem {\n id String @id @default(uuid())\n quantity Decimal @db.Decimal(10, 0)\n unit_type UnitType\n unit_price Decimal @default(0.00) @db.Decimal(15, 2)\n total_amount Decimal @default(0.00) @db.Decimal(15, 2)\n created_at DateTime @default(now()) @db.Timestamp(0)\n discount Decimal @default(0.00) @db.Decimal(15, 2)\n notes String? @db.Text\n\n invoice_id String\n good_id String?\n service_id String?\n\n payload Json?\n\n invoice SalesInvoice @relation(fields: [invoice_id], references: [id])\n good Good? @relation(fields: [good_id], references: [id])\n service Service? @relation(fields: [service_id], references: [id])\n\n @@index([invoice_id, good_id])\n @@map(\"sales_invoice_items\")\n}\n\nmodel SalesInvoicePayment {\n id String @id @default(uuid())\n invoice_id String\n amount Decimal @db.Decimal(15, 2)\n payment_method PaymentMethodType\n paid_at DateTime\n created_at DateTime @default(now())\n\n invoice SalesInvoice @relation(fields: [invoice_id], references: [id])\n\n @@index([invoice_id])\n @@map(\"sales_invoice_payments\")\n}\n\nmodel Service {\n id String @id @default(uuid())\n name String @db.VarChar(255)\n description String? @db.Text\n sku String @unique() @db.VarChar(100)\n local_sku String? @unique() @db.VarChar(100)\n barcode String? @unique() @db.VarChar(100)\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n category_id String?\n base_sale_price Decimal @default(0.00) @db.Decimal(15, 0)\n account_id String\n complex_id String\n\n category ServiceCategory? @relation(fields: [category_id], references: [id])\n sales_invoice_items SalesInvoiceItem[]\n\n @@index([category_id])\n @@map(\"services\")\n}\n\nmodel ServiceCategory {\n id String @id @default(uuid())\n name String @db.VarChar(100)\n description String? @db.Text\n image_url String? @db.VarChar(255)\n account_id String\n complex_id String\n created_at DateTime @default(now()) @db.Timestamp(0)\n updated_at DateTime @updatedAt @db.Timestamp(0)\n deleted_at DateTime? @db.Timestamp(0)\n\n services Service[]\n\n @@map(\"service_categories\")\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, @@ -30,7 +30,7 @@ const config: runtime.GetPrismaClientConfig = { } } -config.runtimeDataModel = JSON.parse("{\"models\":{\"Token\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"TokenType\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToToken\"}],\"dbName\":\"tokens\"},\"VerificationCode\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_used\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToVerificationCode\"}],\"dbName\":\"verification_codes\"},\"Guild\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activities\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToGuild\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToGuild\"},{\"name\":\"good_categories\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"GoodCategoryToGuild\"}],\"dbName\":\"guilds\"},\"BusinessActivity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"BusinessActivityToGuild\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BusinessActivityToUser\"},{\"name\":\"complexes\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"BusinessActivityToComplex\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToBusinessActivity\"}],\"dbName\":\"business_activities\"},\"Complex\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activity_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activity\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToComplex\"},{\"name\":\"pos_list\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"ComplexToPos\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"ComplexToGood\"},{\"name\":\"good_categories\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"ComplexToGoodCategory\"}],\"dbName\":\"complexes\"},\"Pos\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"serial\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"POSStatus\"},{\"name\":\"pos_type\",\"kind\":\"enum\",\"type\":\"POSType\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToPos\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToPos\"},{\"name\":\"provider\",\"kind\":\"object\",\"type\":\"Provider\",\"relationName\":\"PosToProvider\"},{\"name\":\"licenses\",\"kind\":\"object\",\"type\":\"License\",\"relationName\":\"LicenseToPos\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToPos\"}],\"dbName\":\"poses\"},\"DeviceBrand\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToDeviceBrand\"}],\"dbName\":\"device_brands\"},\"Device\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"DeviceBrand\",\"relationName\":\"DeviceToDeviceBrand\"},{\"name\":\"poses\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"DeviceToPos\"}],\"dbName\":\"devices\"},\"License\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"starts_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"LicenseStatus\"},{\"name\":\"pos_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"partner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"LicenseToPos\"},{\"name\":\"partner\",\"kind\":\"object\",\"type\":\"Partner\",\"relationName\":\"LicenseToPartner\"}],\"dbName\":\"licenses\"},\"Partner\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"licenses\",\"kind\":\"object\",\"type\":\"License\",\"relationName\":\"LicenseToPartner\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToPartner\"}],\"dbName\":\"partners\"},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mobile_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"national_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"first_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"businessActivities\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToUser\"}],\"dbName\":\"users\"},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"AccountType\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AccountStatus\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"},{\"name\":\"partner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"partner\",\"kind\":\"object\",\"type\":\"Partner\",\"relationName\":\"AccountToPartner\"},{\"name\":\"business_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"AccountToBusinessActivity\"},{\"name\":\"provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"object\",\"type\":\"Provider\",\"relationName\":\"AccountToProvider\"},{\"name\":\"pos_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"AccountToPos\"},{\"name\":\"verification_codes\",\"kind\":\"object\",\"type\":\"VerificationCode\",\"relationName\":\"AccountToVerificationCode\"},{\"name\":\"tokens\",\"kind\":\"object\",\"type\":\"Token\",\"relationName\":\"AccountToToken\"}],\"dbName\":\"accounts\"},\"Provider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos_list\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"PosToProvider\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToProvider\"}],\"dbName\":\"providers\"},\"TriggerLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"trigger_logs\"},\"UserDevices\":{\"fields\":[{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"app_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"build_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"platform\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sdk_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"release_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"browser_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fcm_token\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"user_devices\"},\"Customer\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"CustomerType\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_favorite\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sales_invoices\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"CustomerToSalesInvoice\"},{\"name\":\"customerIndividuals\",\"kind\":\"object\",\"type\":\"CustomerIndividual\",\"relationName\":\"CustomerToCustomerIndividual\"},{\"name\":\"customerLegals\",\"kind\":\"object\",\"type\":\"CustomerLegal\",\"relationName\":\"CustomerToCustomerLegal\"}],\"dbName\":\"customers\"},\"CustomerIndividual\":{\"fields\":[{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"first_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"national_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"economic_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerIndividual\"}],\"dbName\":\"customer_individuals\"},\"CustomerLegal\":{\"fields\":[{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"economic_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"registration_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerLegal\"}],\"dbName\":\"customer_legal\"},\"Good\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"local_sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"barcode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"base_sale_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"is_default_guild_good\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"GoodToGoodCategory\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToGood\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"GoodToGuild\"},{\"name\":\"sales_invoice_items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"GoodToSalesInvoiceItem\"}],\"dbName\":\"goods\"},\"GoodCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_default_guild_good\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToGoodCategory\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"GoodCategoryToGuild\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToGoodCategory\"}],\"dbName\":\"good_categories\"},\"SalesInvoice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"total_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unknown_customer\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invoice_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToSalesInvoice\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"SalesInvoiceToSalesInvoiceItem\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"SalesInvoicePayment\",\"relationName\":\"SalesInvoiceToSalesInvoicePayment\"}],\"dbName\":\"sales_invoices\"},\"SalesInvoiceItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"unit_type\",\"kind\":\"enum\",\"type\":\"UnitType\"},{\"name\":\"unit_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"total_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"discount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"invoice_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"good_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"service_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invoice\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"SalesInvoiceToSalesInvoiceItem\"},{\"name\":\"good\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToSalesInvoiceItem\"},{\"name\":\"service\",\"kind\":\"object\",\"type\":\"Service\",\"relationName\":\"SalesInvoiceItemToService\"}],\"dbName\":\"sales_invoice_items\"},\"SalesInvoicePayment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"invoice_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"payment_method\",\"kind\":\"enum\",\"type\":\"PaymentMethodType\"},{\"name\":\"paid_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invoice\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"SalesInvoiceToSalesInvoicePayment\"}],\"dbName\":\"sales_invoice_payments\"},\"Service\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"local_sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"barcode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"category_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"base_sale_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"ServiceCategory\",\"relationName\":\"ServiceToServiceCategory\"},{\"name\":\"sales_invoice_items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"SalesInvoiceItemToService\"}],\"dbName\":\"services\"},\"ServiceCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"services\",\"kind\":\"object\",\"type\":\"Service\",\"relationName\":\"ServiceToServiceCategory\"}],\"dbName\":\"service_categories\"}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Token\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"TokenType\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToToken\"}],\"dbName\":\"tokens\"},\"VerificationCode\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_used\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToVerificationCode\"}],\"dbName\":\"verification_codes\"},\"Guild\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activities\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToGuild\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToGuild\"},{\"name\":\"good_categories\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"GoodCategoryToGuild\"}],\"dbName\":\"guilds\"},\"BusinessActivity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"BusinessActivityToGuild\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BusinessActivityToUser\"},{\"name\":\"complexes\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"BusinessActivityToComplex\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToBusinessActivity\"}],\"dbName\":\"business_activities\"},\"Complex\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tax_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activity_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business_activity\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToComplex\"},{\"name\":\"pos_list\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"ComplexToPos\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"ComplexToGood\"},{\"name\":\"good_categories\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"ComplexToGoodCategory\"}],\"dbName\":\"complexes\"},\"Pos\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"serial\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"POSStatus\"},{\"name\":\"pos_type\",\"kind\":\"enum\",\"type\":\"POSType\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToPos\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToPos\"},{\"name\":\"provider\",\"kind\":\"object\",\"type\":\"Provider\",\"relationName\":\"PosToProvider\"},{\"name\":\"licenses\",\"kind\":\"object\",\"type\":\"License\",\"relationName\":\"LicenseToPos\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToPos\"}],\"dbName\":\"poses\"},\"DeviceBrand\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToDeviceBrand\"}],\"dbName\":\"device_brands\"},\"Device\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"brand_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"object\",\"type\":\"DeviceBrand\",\"relationName\":\"DeviceToDeviceBrand\"},{\"name\":\"poses\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"DeviceToPos\"}],\"dbName\":\"devices\"},\"License\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"starts_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"LicenseStatus\"},{\"name\":\"pos_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"partner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"LicenseToPos\"},{\"name\":\"partner\",\"kind\":\"object\",\"type\":\"Partner\",\"relationName\":\"LicenseToPartner\"}],\"dbName\":\"licenses\"},\"Partner\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"licenses\",\"kind\":\"object\",\"type\":\"License\",\"relationName\":\"LicenseToPartner\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToPartner\"}],\"dbName\":\"partners\"},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mobile_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"national_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"first_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"businessActivities\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"BusinessActivityToUser\"}],\"dbName\":\"users\"},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"AccountType\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AccountStatus\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"},{\"name\":\"partner_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"partner\",\"kind\":\"object\",\"type\":\"Partner\",\"relationName\":\"AccountToPartner\"},{\"name\":\"business_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"business\",\"kind\":\"object\",\"type\":\"BusinessActivity\",\"relationName\":\"AccountToBusinessActivity\"},{\"name\":\"provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"object\",\"type\":\"Provider\",\"relationName\":\"AccountToProvider\"},{\"name\":\"pos_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"AccountToPos\"},{\"name\":\"verification_codes\",\"kind\":\"object\",\"type\":\"VerificationCode\",\"relationName\":\"AccountToVerificationCode\"},{\"name\":\"tokens\",\"kind\":\"object\",\"type\":\"Token\",\"relationName\":\"AccountToToken\"}],\"dbName\":\"accounts\"},\"Provider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pos_list\",\"kind\":\"object\",\"type\":\"Pos\",\"relationName\":\"PosToProvider\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToProvider\"}],\"dbName\":\"providers\"},\"TriggerLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"trigger_logs\"},\"UserDevices\":{\"fields\":[{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"app_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"build_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"platform\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sdk_version\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"release_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"browser_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fcm_token\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"user_devices\"},\"Customer\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"CustomerType\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_favorite\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sales_invoices\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"CustomerToSalesInvoice\"},{\"name\":\"customerIndividuals\",\"kind\":\"object\",\"type\":\"CustomerIndividual\",\"relationName\":\"CustomerToCustomerIndividual\"},{\"name\":\"customerLegals\",\"kind\":\"object\",\"type\":\"CustomerLegal\",\"relationName\":\"CustomerToCustomerLegal\"}],\"dbName\":\"customers\"},\"CustomerIndividual\":{\"fields\":[{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"first_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"national_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"economic_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerIndividual\"}],\"dbName\":\"customer_individuals\"},\"CustomerLegal\":{\"fields\":[{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"economic_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"registration_number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"postal_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerLegal\"}],\"dbName\":\"customer_legal\"},\"Good\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_default_guild_good\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unit_type\",\"kind\":\"enum\",\"type\":\"UnitType\"},{\"name\":\"pricing_model\",\"kind\":\"enum\",\"type\":\"GoodPricingModel\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"local_sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"barcode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"base_sale_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"GoodCategory\",\"relationName\":\"GoodToGoodCategory\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToGood\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"GoodToGuild\"},{\"name\":\"sales_invoice_items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"GoodToSalesInvoiceItem\"}],\"dbName\":\"goods\"},\"GoodCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_default_guild_good\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"guild_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"goods\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToGoodCategory\"},{\"name\":\"guild\",\"kind\":\"object\",\"type\":\"Guild\",\"relationName\":\"GoodCategoryToGuild\"},{\"name\":\"complex\",\"kind\":\"object\",\"type\":\"Complex\",\"relationName\":\"ComplexToGoodCategory\"}],\"dbName\":\"good_categories\"},\"SalesInvoice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"total_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unknown_customer\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invoice_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"customer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"customer\",\"kind\":\"object\",\"type\":\"Customer\",\"relationName\":\"CustomerToSalesInvoice\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"SalesInvoiceToSalesInvoiceItem\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"SalesInvoicePayment\",\"relationName\":\"SalesInvoiceToSalesInvoicePayment\"}],\"dbName\":\"sales_invoices\"},\"SalesInvoiceItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"unit_type\",\"kind\":\"enum\",\"type\":\"UnitType\"},{\"name\":\"unit_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"total_amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"discount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"invoice_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"good_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"service_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invoice\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"SalesInvoiceToSalesInvoiceItem\"},{\"name\":\"good\",\"kind\":\"object\",\"type\":\"Good\",\"relationName\":\"GoodToSalesInvoiceItem\"},{\"name\":\"service\",\"kind\":\"object\",\"type\":\"Service\",\"relationName\":\"SalesInvoiceItemToService\"}],\"dbName\":\"sales_invoice_items\"},\"SalesInvoicePayment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"invoice_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"payment_method\",\"kind\":\"enum\",\"type\":\"PaymentMethodType\"},{\"name\":\"paid_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invoice\",\"kind\":\"object\",\"type\":\"SalesInvoice\",\"relationName\":\"SalesInvoiceToSalesInvoicePayment\"}],\"dbName\":\"sales_invoice_payments\"},\"Service\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"local_sku\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"barcode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"category_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"base_sale_price\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"ServiceCategory\",\"relationName\":\"ServiceToServiceCategory\"},{\"name\":\"sales_invoice_items\",\"kind\":\"object\",\"type\":\"SalesInvoiceItem\",\"relationName\":\"SalesInvoiceItemToService\"}],\"dbName\":\"services\"},\"ServiceCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"complex_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deleted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"services\",\"kind\":\"object\",\"type\":\"Service\",\"relationName\":\"ServiceToServiceCategory\"}],\"dbName\":\"service_categories\"}},\"enums\":{},\"types\":{}}") async function decodeBase64AsWasm(wasmBase64: string): Promise { const { Buffer } = await import('node:buffer') diff --git a/src/generated/prisma/internal/prismaNamespace.ts b/src/generated/prisma/internal/prismaNamespace.ts index 5fc9b3d..29a267f 100644 --- a/src/generated/prisma/internal/prismaNamespace.ts +++ b/src/generated/prisma/internal/prismaNamespace.ts @@ -2339,12 +2339,14 @@ export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum) export const GoodScalarFieldEnum = { id: 'id', name: 'name', - description: 'description', + is_default_guild_good: 'is_default_guild_good', sku: 'sku', + unit_type: 'unit_type', + pricing_model: 'pricing_model', + description: 'description', local_sku: 'local_sku', barcode: 'barcode', base_sale_price: 'base_sale_price', - is_default_guild_good: 'is_default_guild_good', created_at: 'created_at', updated_at: 'updated_at', deleted_at: 'deleted_at', @@ -2670,8 +2672,8 @@ export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderB export const GoodOrderByRelevanceFieldEnum = { id: 'id', name: 'name', - description: 'description', sku: 'sku', + description: 'description', local_sku: 'local_sku', barcode: 'barcode', complex_id: 'complex_id', @@ -2852,6 +2854,20 @@ export type EnumCustomerTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$Pri +/** + * Reference to a field of type 'UnitType' + */ +export type EnumUnitTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UnitType'> + + + +/** + * Reference to a field of type 'GoodPricingModel' + */ +export type EnumGoodPricingModelFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GoodPricingModel'> + + + /** * Reference to a field of type 'Decimal' */ @@ -2873,13 +2889,6 @@ export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$Prisma -/** - * Reference to a field of type 'UnitType' - */ -export type EnumUnitTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UnitType'> - - - /** * Reference to a field of type 'PaymentMethodType' */ diff --git a/src/generated/prisma/internal/prismaNamespaceBrowser.ts b/src/generated/prisma/internal/prismaNamespaceBrowser.ts index c47aff2..44c87b0 100644 --- a/src/generated/prisma/internal/prismaNamespaceBrowser.ts +++ b/src/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -316,12 +316,14 @@ export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum) export const GoodScalarFieldEnum = { id: 'id', name: 'name', - description: 'description', + is_default_guild_good: 'is_default_guild_good', sku: 'sku', + unit_type: 'unit_type', + pricing_model: 'pricing_model', + description: 'description', local_sku: 'local_sku', barcode: 'barcode', base_sale_price: 'base_sale_price', - is_default_guild_good: 'is_default_guild_good', created_at: 'created_at', updated_at: 'updated_at', deleted_at: 'deleted_at', @@ -647,8 +649,8 @@ export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderB export const GoodOrderByRelevanceFieldEnum = { id: 'id', name: 'name', - description: 'description', sku: 'sku', + description: 'description', local_sku: 'local_sku', barcode: 'barcode', complex_id: 'complex_id', diff --git a/src/generated/prisma/models/Good.ts b/src/generated/prisma/models/Good.ts index 3688ba8..34a3b15 100644 --- a/src/generated/prisma/models/Good.ts +++ b/src/generated/prisma/models/Good.ts @@ -37,12 +37,14 @@ export type GoodSumAggregateOutputType = { export type GoodMinAggregateOutputType = { id: string | null name: string | null - description: string | null + is_default_guild_good: boolean | null sku: string | null + unit_type: $Enums.UnitType | null + pricing_model: $Enums.GoodPricingModel | null + description: string | null local_sku: string | null barcode: string | null base_sale_price: runtime.Decimal | null - is_default_guild_good: boolean | null created_at: Date | null updated_at: Date | null deleted_at: Date | null @@ -54,12 +56,14 @@ export type GoodMinAggregateOutputType = { export type GoodMaxAggregateOutputType = { id: string | null name: string | null - description: string | null + is_default_guild_good: boolean | null sku: string | null + unit_type: $Enums.UnitType | null + pricing_model: $Enums.GoodPricingModel | null + description: string | null local_sku: string | null barcode: string | null base_sale_price: runtime.Decimal | null - is_default_guild_good: boolean | null created_at: Date | null updated_at: Date | null deleted_at: Date | null @@ -71,12 +75,14 @@ export type GoodMaxAggregateOutputType = { export type GoodCountAggregateOutputType = { id: number name: number - description: number + is_default_guild_good: number sku: number + unit_type: number + pricing_model: number + description: number local_sku: number barcode: number base_sale_price: number - is_default_guild_good: number created_at: number updated_at: number deleted_at: number @@ -98,12 +104,14 @@ export type GoodSumAggregateInputType = { export type GoodMinAggregateInputType = { id?: true name?: true - description?: true + is_default_guild_good?: true sku?: true + unit_type?: true + pricing_model?: true + description?: true local_sku?: true barcode?: true base_sale_price?: true - is_default_guild_good?: true created_at?: true updated_at?: true deleted_at?: true @@ -115,12 +123,14 @@ export type GoodMinAggregateInputType = { export type GoodMaxAggregateInputType = { id?: true name?: true - description?: true + is_default_guild_good?: true sku?: true + unit_type?: true + pricing_model?: true + description?: true local_sku?: true barcode?: true base_sale_price?: true - is_default_guild_good?: true created_at?: true updated_at?: true deleted_at?: true @@ -132,12 +142,14 @@ export type GoodMaxAggregateInputType = { export type GoodCountAggregateInputType = { id?: true name?: true - description?: true + is_default_guild_good?: true sku?: true + unit_type?: true + pricing_model?: true + description?: true local_sku?: true barcode?: true base_sale_price?: true - is_default_guild_good?: true created_at?: true updated_at?: true deleted_at?: true @@ -236,12 +248,14 @@ export type GoodGroupByArgs | string name?: Prisma.StringFilter<"Good"> | string - description?: Prisma.StringNullableFilter<"Good"> | string | null + is_default_guild_good?: Prisma.BoolFilter<"Good"> | boolean sku?: Prisma.StringFilter<"Good"> | string + unit_type?: Prisma.EnumUnitTypeFilter<"Good"> | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFilter<"Good"> | $Enums.GoodPricingModel + description?: Prisma.StringNullableFilter<"Good"> | string | null local_sku?: Prisma.StringNullableFilter<"Good"> | string | null barcode?: Prisma.StringNullableFilter<"Good"> | string | null base_sale_price?: Prisma.DecimalNullableFilter<"Good"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFilter<"Good"> | boolean created_at?: Prisma.DateTimeFilter<"Good"> | Date | string updated_at?: Prisma.DateTimeFilter<"Good"> | Date | string deleted_at?: Prisma.DateTimeNullableFilter<"Good"> | Date | string | null @@ -297,12 +313,14 @@ export type GoodWhereInput = { export type GoodOrderByWithRelationInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder - description?: Prisma.SortOrderInput | Prisma.SortOrder + is_default_guild_good?: Prisma.SortOrder sku?: Prisma.SortOrder + unit_type?: Prisma.SortOrder + pricing_model?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder local_sku?: Prisma.SortOrderInput | Prisma.SortOrder barcode?: Prisma.SortOrderInput | Prisma.SortOrder base_sale_price?: Prisma.SortOrderInput | Prisma.SortOrder - is_default_guild_good?: Prisma.SortOrder created_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder deleted_at?: Prisma.SortOrderInput | Prisma.SortOrder @@ -324,10 +342,12 @@ export type GoodWhereUniqueInput = Prisma.AtLeast<{ OR?: Prisma.GoodWhereInput[] NOT?: Prisma.GoodWhereInput | Prisma.GoodWhereInput[] name?: Prisma.StringFilter<"Good"> | string - description?: Prisma.StringNullableFilter<"Good"> | string | null - sku?: Prisma.StringFilter<"Good"> | string - base_sale_price?: Prisma.DecimalNullableFilter<"Good"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null is_default_guild_good?: Prisma.BoolFilter<"Good"> | boolean + sku?: Prisma.StringFilter<"Good"> | string + unit_type?: Prisma.EnumUnitTypeFilter<"Good"> | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFilter<"Good"> | $Enums.GoodPricingModel + description?: Prisma.StringNullableFilter<"Good"> | string | null + base_sale_price?: Prisma.DecimalNullableFilter<"Good"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null created_at?: Prisma.DateTimeFilter<"Good"> | Date | string updated_at?: Prisma.DateTimeFilter<"Good"> | Date | string deleted_at?: Prisma.DateTimeNullableFilter<"Good"> | Date | string | null @@ -343,12 +363,14 @@ export type GoodWhereUniqueInput = Prisma.AtLeast<{ export type GoodOrderByWithAggregationInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder - description?: Prisma.SortOrderInput | Prisma.SortOrder + is_default_guild_good?: Prisma.SortOrder sku?: Prisma.SortOrder + unit_type?: Prisma.SortOrder + pricing_model?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder local_sku?: Prisma.SortOrderInput | Prisma.SortOrder barcode?: Prisma.SortOrderInput | Prisma.SortOrder base_sale_price?: Prisma.SortOrderInput | Prisma.SortOrder - is_default_guild_good?: Prisma.SortOrder created_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder deleted_at?: Prisma.SortOrderInput | Prisma.SortOrder @@ -368,12 +390,14 @@ export type GoodScalarWhereWithAggregatesInput = { NOT?: Prisma.GoodScalarWhereWithAggregatesInput | Prisma.GoodScalarWhereWithAggregatesInput[] id?: Prisma.StringWithAggregatesFilter<"Good"> | string name?: Prisma.StringWithAggregatesFilter<"Good"> | string - description?: Prisma.StringNullableWithAggregatesFilter<"Good"> | string | null + is_default_guild_good?: Prisma.BoolWithAggregatesFilter<"Good"> | boolean sku?: Prisma.StringWithAggregatesFilter<"Good"> | string + unit_type?: Prisma.EnumUnitTypeWithAggregatesFilter<"Good"> | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelWithAggregatesFilter<"Good"> | $Enums.GoodPricingModel + description?: Prisma.StringNullableWithAggregatesFilter<"Good"> | string | null local_sku?: Prisma.StringNullableWithAggregatesFilter<"Good"> | string | null barcode?: Prisma.StringNullableWithAggregatesFilter<"Good"> | string | null base_sale_price?: Prisma.DecimalNullableWithAggregatesFilter<"Good"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolWithAggregatesFilter<"Good"> | boolean created_at?: Prisma.DateTimeWithAggregatesFilter<"Good"> | Date | string updated_at?: Prisma.DateTimeWithAggregatesFilter<"Good"> | Date | string deleted_at?: Prisma.DateTimeNullableWithAggregatesFilter<"Good"> | Date | string | null @@ -385,12 +409,14 @@ export type GoodScalarWhereWithAggregatesInput = { export type GoodCreateInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -403,12 +429,14 @@ export type GoodCreateInput = { export type GoodUncheckedCreateInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -421,12 +449,14 @@ export type GoodUncheckedCreateInput = { export type GoodUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -439,12 +469,14 @@ export type GoodUpdateInput = { export type GoodUncheckedUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -457,12 +489,14 @@ export type GoodUncheckedUpdateInput = { export type GoodCreateManyInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -474,12 +508,14 @@ export type GoodCreateManyInput = { export type GoodUpdateManyMutationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -488,12 +524,14 @@ export type GoodUpdateManyMutationInput = { export type GoodUncheckedUpdateManyInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -521,12 +559,14 @@ export type GoodOrderByRelevanceInput = { export type GoodCountOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder - description?: Prisma.SortOrder + is_default_guild_good?: Prisma.SortOrder sku?: Prisma.SortOrder + unit_type?: Prisma.SortOrder + pricing_model?: Prisma.SortOrder + description?: Prisma.SortOrder local_sku?: Prisma.SortOrder barcode?: Prisma.SortOrder base_sale_price?: Prisma.SortOrder - is_default_guild_good?: Prisma.SortOrder created_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder deleted_at?: Prisma.SortOrder @@ -542,12 +582,14 @@ export type GoodAvgOrderByAggregateInput = { export type GoodMaxOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder - description?: Prisma.SortOrder + is_default_guild_good?: Prisma.SortOrder sku?: Prisma.SortOrder + unit_type?: Prisma.SortOrder + pricing_model?: Prisma.SortOrder + description?: Prisma.SortOrder local_sku?: Prisma.SortOrder barcode?: Prisma.SortOrder base_sale_price?: Prisma.SortOrder - is_default_guild_good?: Prisma.SortOrder created_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder deleted_at?: Prisma.SortOrder @@ -559,12 +601,14 @@ export type GoodMaxOrderByAggregateInput = { export type GoodMinOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder - description?: Prisma.SortOrder + is_default_guild_good?: Prisma.SortOrder sku?: Prisma.SortOrder + unit_type?: Prisma.SortOrder + pricing_model?: Prisma.SortOrder + description?: Prisma.SortOrder local_sku?: Prisma.SortOrder barcode?: Prisma.SortOrder base_sale_price?: Prisma.SortOrder - is_default_guild_good?: Prisma.SortOrder created_at?: Prisma.SortOrder updated_at?: Prisma.SortOrder deleted_at?: Prisma.SortOrder @@ -666,6 +710,14 @@ export type GoodUncheckedUpdateManyWithoutComplexNestedInput = { deleteMany?: Prisma.GoodScalarWhereInput | Prisma.GoodScalarWhereInput[] } +export type EnumUnitTypeFieldUpdateOperationsInput = { + set?: $Enums.UnitType +} + +export type EnumGoodPricingModelFieldUpdateOperationsInput = { + set?: $Enums.GoodPricingModel +} + export type NullableDecimalFieldUpdateOperationsInput = { set?: runtime.Decimal | runtime.DecimalJsLike | number | string | null increment?: runtime.Decimal | runtime.DecimalJsLike | number | string @@ -735,12 +787,14 @@ export type GoodUpdateOneWithoutSales_invoice_itemsNestedInput = { export type GoodCreateWithoutGuildInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -752,12 +806,14 @@ export type GoodCreateWithoutGuildInput = { export type GoodUncheckedCreateWithoutGuildInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -798,12 +854,14 @@ export type GoodScalarWhereInput = { NOT?: Prisma.GoodScalarWhereInput | Prisma.GoodScalarWhereInput[] id?: Prisma.StringFilter<"Good"> | string name?: Prisma.StringFilter<"Good"> | string - description?: Prisma.StringNullableFilter<"Good"> | string | null + is_default_guild_good?: Prisma.BoolFilter<"Good"> | boolean sku?: Prisma.StringFilter<"Good"> | string + unit_type?: Prisma.EnumUnitTypeFilter<"Good"> | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFilter<"Good"> | $Enums.GoodPricingModel + description?: Prisma.StringNullableFilter<"Good"> | string | null local_sku?: Prisma.StringNullableFilter<"Good"> | string | null barcode?: Prisma.StringNullableFilter<"Good"> | string | null base_sale_price?: Prisma.DecimalNullableFilter<"Good"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFilter<"Good"> | boolean created_at?: Prisma.DateTimeFilter<"Good"> | Date | string updated_at?: Prisma.DateTimeFilter<"Good"> | Date | string deleted_at?: Prisma.DateTimeNullableFilter<"Good"> | Date | string | null @@ -815,12 +873,14 @@ export type GoodScalarWhereInput = { export type GoodCreateWithoutComplexInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -832,12 +892,14 @@ export type GoodCreateWithoutComplexInput = { export type GoodUncheckedCreateWithoutComplexInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -875,12 +937,14 @@ export type GoodUpdateManyWithWhereWithoutComplexInput = { export type GoodCreateWithoutCategoryInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -892,12 +956,14 @@ export type GoodCreateWithoutCategoryInput = { export type GoodUncheckedCreateWithoutCategoryInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -935,12 +1001,14 @@ export type GoodUpdateManyWithWhereWithoutCategoryInput = { export type GoodCreateWithoutSales_invoice_itemsInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -952,12 +1020,14 @@ export type GoodCreateWithoutSales_invoice_itemsInput = { export type GoodUncheckedCreateWithoutSales_invoice_itemsInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -985,12 +1055,14 @@ export type GoodUpdateToOneWithWhereWithoutSales_invoice_itemsInput = { export type GoodUpdateWithoutSales_invoice_itemsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1002,12 +1074,14 @@ export type GoodUpdateWithoutSales_invoice_itemsInput = { export type GoodUncheckedUpdateWithoutSales_invoice_itemsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1019,12 +1093,14 @@ export type GoodUncheckedUpdateWithoutSales_invoice_itemsInput = { export type GoodCreateManyGuildInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -1035,12 +1111,14 @@ export type GoodCreateManyGuildInput = { export type GoodUpdateWithoutGuildInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1052,12 +1130,14 @@ export type GoodUpdateWithoutGuildInput = { export type GoodUncheckedUpdateWithoutGuildInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1069,12 +1149,14 @@ export type GoodUncheckedUpdateWithoutGuildInput = { export type GoodUncheckedUpdateManyWithoutGuildInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1085,12 +1167,14 @@ export type GoodUncheckedUpdateManyWithoutGuildInput = { export type GoodCreateManyComplexInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -1101,12 +1185,14 @@ export type GoodCreateManyComplexInput = { export type GoodUpdateWithoutComplexInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1118,12 +1204,14 @@ export type GoodUpdateWithoutComplexInput = { export type GoodUncheckedUpdateWithoutComplexInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1135,12 +1223,14 @@ export type GoodUncheckedUpdateWithoutComplexInput = { export type GoodUncheckedUpdateManyWithoutComplexInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1151,12 +1241,14 @@ export type GoodUncheckedUpdateManyWithoutComplexInput = { export type GoodCreateManyCategoryInput = { id?: string name: string - description?: string | null + is_default_guild_good?: boolean sku: string + unit_type: $Enums.UnitType + pricing_model: $Enums.GoodPricingModel + description?: string | null local_sku?: string | null barcode?: string | null base_sale_price?: runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: boolean created_at?: Date | string updated_at?: Date | string deleted_at?: Date | string | null @@ -1167,12 +1259,14 @@ export type GoodCreateManyCategoryInput = { export type GoodUpdateWithoutCategoryInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1184,12 +1278,14 @@ export type GoodUpdateWithoutCategoryInput = { export type GoodUncheckedUpdateWithoutCategoryInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1201,12 +1297,14 @@ export type GoodUncheckedUpdateWithoutCategoryInput = { export type GoodUncheckedUpdateManyWithoutCategoryInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string - description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean sku?: Prisma.StringFieldUpdateOperationsInput | string + unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType + pricing_model?: Prisma.EnumGoodPricingModelFieldUpdateOperationsInput | $Enums.GoodPricingModel + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null local_sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null barcode?: Prisma.NullableStringFieldUpdateOperationsInput | string | null base_sale_price?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null - is_default_guild_good?: Prisma.BoolFieldUpdateOperationsInput | boolean created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string deleted_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -1248,12 +1346,14 @@ export type GoodCountOutputTypeCountSales_invoice_itemsArgs = runtime.Types.Extensions.GetSelect<{ id?: boolean name?: boolean - description?: boolean + is_default_guild_good?: boolean sku?: boolean + unit_type?: boolean + pricing_model?: boolean + description?: boolean local_sku?: boolean barcode?: boolean base_sale_price?: boolean - is_default_guild_good?: boolean created_at?: boolean updated_at?: boolean deleted_at?: boolean @@ -1272,12 +1372,14 @@ export type GoodSelect = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "sku" | "local_sku" | "barcode" | "base_sale_price" | "is_default_guild_good" | "created_at" | "updated_at" | "deleted_at" | "complex_id" | "category_id" | "guild_id", ExtArgs["result"]["good"]> +export type GoodOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "is_default_guild_good" | "sku" | "unit_type" | "pricing_model" | "description" | "local_sku" | "barcode" | "base_sale_price" | "created_at" | "updated_at" | "deleted_at" | "complex_id" | "category_id" | "guild_id", ExtArgs["result"]["good"]> export type GoodInclude = { category?: boolean | Prisma.Good$categoryArgs complex?: boolean | Prisma.Good$complexArgs @@ -1306,12 +1408,14 @@ export type $GoodPayload readonly name: Prisma.FieldRef<"Good", 'String'> - readonly description: Prisma.FieldRef<"Good", 'String'> + readonly is_default_guild_good: Prisma.FieldRef<"Good", 'Boolean'> readonly sku: Prisma.FieldRef<"Good", 'String'> + readonly unit_type: Prisma.FieldRef<"Good", 'UnitType'> + readonly pricing_model: Prisma.FieldRef<"Good", 'GoodPricingModel'> + readonly description: Prisma.FieldRef<"Good", 'String'> readonly local_sku: Prisma.FieldRef<"Good", 'String'> readonly barcode: Prisma.FieldRef<"Good", 'String'> readonly base_sale_price: Prisma.FieldRef<"Good", 'Decimal'> - readonly is_default_guild_good: Prisma.FieldRef<"Good", 'Boolean'> readonly created_at: Prisma.FieldRef<"Good", 'DateTime'> readonly updated_at: Prisma.FieldRef<"Good", 'DateTime'> readonly deleted_at: Prisma.FieldRef<"Good", 'DateTime'> diff --git a/src/generated/prisma/models/SalesInvoiceItem.ts b/src/generated/prisma/models/SalesInvoiceItem.ts index 01ff019..bbc59e0 100644 --- a/src/generated/prisma/models/SalesInvoiceItem.ts +++ b/src/generated/prisma/models/SalesInvoiceItem.ts @@ -622,10 +622,6 @@ export type SalesInvoiceItemUncheckedUpdateManyWithoutInvoiceNestedInput = { deleteMany?: Prisma.SalesInvoiceItemScalarWhereInput | Prisma.SalesInvoiceItemScalarWhereInput[] } -export type EnumUnitTypeFieldUpdateOperationsInput = { - set?: $Enums.UnitType -} - export type SalesInvoiceItemCreateNestedManyWithoutServiceInput = { create?: Prisma.XOR | Prisma.SalesInvoiceItemCreateWithoutServiceInput[] | Prisma.SalesInvoiceItemUncheckedCreateWithoutServiceInput[] connectOrCreate?: Prisma.SalesInvoiceItemCreateOrConnectWithoutServiceInput | Prisma.SalesInvoiceItemCreateOrConnectWithoutServiceInput[] diff --git a/src/main.ts b/src/main.ts index 5d0cc0c..5b59e63 100644 --- a/src/main.ts +++ b/src/main.ts @@ -53,7 +53,7 @@ async function bootstrap() { // Enable CORS. You can set `CORS_ORIGINS` to a comma-separated list of allowed origins. // Defaults include common localhost origins used by front-end dev servers. - const defaultOrigins = ['*', 'http://localhost:3001'] + const defaultOrigins = ['*', 'http://localhost:5000'] const envOrigins = process.env.CORS_ORIGINS ? process.env.CORS_ORIGINS.split(',') .map(s => s.trim()) diff --git a/src/modules/admin/admin.middleware.ts b/src/modules/admin/admin.middleware.ts index f21c9b0..6d6d9a8 100644 --- a/src/modules/admin/admin.middleware.ts +++ b/src/modules/admin/admin.middleware.ts @@ -4,9 +4,6 @@ import { NextFunction, Request, Response } from 'express' @Injectable() export class AdminMiddleware implements NestMiddleware { use(req: Request, _res: Response, next: NextFunction) { - console.log('first') - // @ts-ignore - console.log(req.dataPayload) // const a = reqTokenPayload() // console.log(a) diff --git a/src/modules/admin/guilds/goods/dto/create-good.dto.ts b/src/modules/admin/guilds/goods/dto/create-good.dto.ts index b462033..355ca7b 100644 --- a/src/modules/admin/guilds/goods/dto/create-good.dto.ts +++ b/src/modules/admin/guilds/goods/dto/create-good.dto.ts @@ -1,7 +1,8 @@ +import { GoodPricingModel, UnitType } from '@/generated/prisma/enums' import { ApiProperty, PartialType } from '@nestjs/swagger' -import { IsNumber, IsOptional, IsString } from 'class-validator' +import { IsEnum, IsOptional, IsString } from 'class-validator' -export class CreateGoodDto { +export class CreateGuildGoodDto { @IsString() @ApiProperty() name: string @@ -10,30 +11,22 @@ export class CreateGoodDto { @ApiProperty() sku: string - @IsOptional() @IsString() @ApiProperty({ required: true }) category_id: string - @IsString() - @IsOptional() - @ApiProperty({ required: false }) - local_sku?: string + @IsEnum(UnitType) + @ApiProperty({ required: true, enum: UnitType }) + unit_type: UnitType - @IsOptional() - @IsString() - @ApiProperty({ required: false }) - barcode?: string + @IsEnum(GoodPricingModel) + @ApiProperty({ required: true, enum: GoodPricingModel }) + pricing_model: GoodPricingModel @IsOptional() @IsString() @ApiProperty({ required: false }) description?: string - - @IsOptional() - @IsNumber() - @ApiProperty({ required: false }) - base_sale_price?: number } -export class UpdateGoodDto extends PartialType(CreateGoodDto) {} +export class UpdateGuildGoodDto extends PartialType(CreateGuildGoodDto) {} diff --git a/src/modules/admin/guilds/goods/goods.controller.ts b/src/modules/admin/guilds/goods/goods.controller.ts index c3abf47..b0ed31e 100644 --- a/src/modules/admin/guilds/goods/goods.controller.ts +++ b/src/modules/admin/guilds/goods/goods.controller.ts @@ -1,5 +1,5 @@ import { Body, Controller, Get, Param, Post } from '@nestjs/common' -import { CreateGoodDto } from './dto/create-good.dto' +import { CreateGuildGoodDto } from './dto/create-good.dto' import { GoodsService } from './goods.service' @Controller('admin/guilds/:guildId/goods') @@ -17,7 +17,7 @@ export class GoodsController { } @Post() - create(@Param('guildId') guildId: string, @Body() data: CreateGoodDto) { + create(@Param('guildId') guildId: string, @Body() data: CreateGuildGoodDto) { return this.goodsService.create(guildId, data) } } diff --git a/src/modules/admin/guilds/goods/goods.service.ts b/src/modules/admin/guilds/goods/goods.service.ts index d4ef1dd..a4ec979 100644 --- a/src/modules/admin/guilds/goods/goods.service.ts +++ b/src/modules/admin/guilds/goods/goods.service.ts @@ -2,7 +2,7 @@ import { GoodOmit } from '@/generated/prisma/models' import { PrismaService } from '@/prisma/prisma.service' import { Injectable } from '@nestjs/common' import { ResponseMapper } from 'common/response/response-mapper' -import { CreateGoodDto } from './dto/create-good.dto' +import { CreateGuildGoodDto } from './dto/create-good.dto' @Injectable() export class GoodsService { @@ -24,6 +24,14 @@ export class GoodsService { guild_id: guildId, is_default_guild_good: true, }, + include: { + category: { + select: { + id: true, + name: true, + }, + }, + }, omit: this.goodOmit, }), this.prisma.good.count(), @@ -41,13 +49,22 @@ export class GoodsService { is_default_guild_good: true, }, + include: { + category: { + select: { + id: true, + name: true, + }, + }, + }, + omit: this.goodOmit, }) return ResponseMapper.single(good) } - async create(guild_id: string, data: CreateGoodDto) { + async create(guild_id: string, data: CreateGuildGoodDto) { const { category_id, ...rest } = data const good = await this.prisma.good.create({ diff --git a/src/modules/admin/guilds/guilds.controller.ts b/src/modules/admin/guilds/guilds.controller.ts index a1d3e9a..7c24a06 100644 --- a/src/modules/admin/guilds/guilds.controller.ts +++ b/src/modules/admin/guilds/guilds.controller.ts @@ -1,4 +1,4 @@ -import { Body, Controller, Get, Param, Post, Put } from '@nestjs/common' +import { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common' import { ApiTags } from '@nestjs/swagger' import { CreateGuildDto } from './dto/create-guild.dto' import { UpdateGuildDto } from './dto/update-guild.dto' @@ -24,7 +24,7 @@ export class GuildsController { return await this.guildsService.create(data) } - @Put(':id') + @Patch(':id') async update(@Param('id') id: string, @Body() data: UpdateGuildDto) { return await this.guildsService.update(id, data) } diff --git a/src/modules/admin/partners/licenses/dto/license.dto.ts b/src/modules/admin/partners/licenses/dto/license.dto.ts index 8476932..d10bbe7 100644 --- a/src/modules/admin/partners/licenses/dto/license.dto.ts +++ b/src/modules/admin/partners/licenses/dto/license.dto.ts @@ -1,7 +1,7 @@ import { IsDateString, IsEnum, IsOptional, IsString } from 'class-validator' import { AccountStatus, LicenseStatus, POSType } from 'generated/prisma/enums' -export class CreateLicenseDto { +export class CreatePartnerLicenseDto { @IsString() first_name: string diff --git a/src/modules/admin/partners/licenses/licenses.controller.ts b/src/modules/admin/partners/licenses/licenses.controller.ts index 8b53893..78b1133 100644 --- a/src/modules/admin/partners/licenses/licenses.controller.ts +++ b/src/modules/admin/partners/licenses/licenses.controller.ts @@ -1,5 +1,5 @@ import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common' -import { CreateLicenseDto, UpdateLicenseDto } from './dto/license.dto' +import { CreatePartnerLicenseDto, UpdateLicenseDto } from './dto/license.dto' import { PartnerLicensesService } from './licenses.service' @Controller('admin/partners/:partnerId/licenses') @@ -17,7 +17,10 @@ export class PartnerLicensesController { } @Post() - async create(@Param('partnerId') partnerId: string, @Body() data: CreateLicenseDto) { + async create( + @Param('partnerId') partnerId: string, + @Body() data: CreatePartnerLicenseDto, + ) { return this.licensesService.create(partnerId, data) } diff --git a/src/modules/admin/partners/licenses/licenses.service.ts b/src/modules/admin/partners/licenses/licenses.service.ts index 338906f..25b3851 100644 --- a/src/modules/admin/partners/licenses/licenses.service.ts +++ b/src/modules/admin/partners/licenses/licenses.service.ts @@ -1,7 +1,7 @@ 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' +import { CreatePartnerLicenseDto, UpdateLicenseDto } from './dto/license.dto' @Injectable() export class PartnerLicensesService { @@ -105,7 +105,7 @@ export class PartnerLicensesService { return ResponseMapper.single(license) } - async create(partnerId: string, data: CreateLicenseDto) { + async create(partnerId: string, data: CreatePartnerLicenseDto) { // const license = await this.prisma.$transaction(async tx => { // const user = await tx.user.upsert({ // where: { diff --git a/src/modules/admin/providers/dto/provider.dto.ts b/src/modules/admin/providers/dto/provider.dto.ts index 337adf9..dc456c3 100644 --- a/src/modules/admin/providers/dto/provider.dto.ts +++ b/src/modules/admin/providers/dto/provider.dto.ts @@ -1,20 +1,15 @@ +import { ApiProperty } from '@nestjs/swagger' import { IsOptional, IsString } from 'class-validator' export class CreateProviderDto { @IsString() + @ApiProperty() name: string @IsOptional() @IsString() + @ApiProperty() code?: string } -export class UpdateProviderDto { - @IsOptional() - @IsString() - name?: string - - @IsOptional() - @IsString() - code?: string -} +export class UpdateProviderDto extends CreateProviderDto {} diff --git a/src/modules/admin/providers/providers.controller.ts b/src/modules/admin/providers/providers.controller.ts index 613a946..7ce5914 100644 --- a/src/modules/admin/providers/providers.controller.ts +++ b/src/modules/admin/providers/providers.controller.ts @@ -3,7 +3,7 @@ import { ApiTags } from '@nestjs/swagger' import { CreateProviderDto, UpdateProviderDto } from './dto/provider.dto' import { ProvidersService } from './providers.service' -@ApiTags('Admin Partners') +@ApiTags('Admin Providers') @Controller('admin/providers') export class ProvidersController { constructor(private readonly providersService: ProvidersService) {} diff --git a/src/modules/admin/translate/translate.service.ts b/src/modules/admin/translate/translate.service.ts index 8720b8f..3ba9e00 100644 --- a/src/modules/admin/translate/translate.service.ts +++ b/src/modules/admin/translate/translate.service.ts @@ -30,6 +30,7 @@ export class TranslateService { licenses: 'لایسنس', business_activity: 'فعالیت‌ اقتصادی', user: 'کاربر', + guild: 'صنف', }, singular: { users: 'کاربر', diff --git a/src/modules/admin/users/users.controller.ts b/src/modules/admin/users/users.controller.ts index 2f11e68..81176be 100644 --- a/src/modules/admin/users/users.controller.ts +++ b/src/modules/admin/users/users.controller.ts @@ -1,4 +1,4 @@ -import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common' +import { Body, Controller, Delete, Get, Param, Patch, Post } from '@nestjs/common' import { CreateUserDto, UpdateUserDto } from './dto/user.dto' import { AdminUsersService } from './users.service' @@ -21,7 +21,7 @@ export class AdminUsersController { return this.usersService.create(data as CreateUserDto) } - @Put(':id') + @Patch(':id') async update(@Param('id') id: string, @Body() data: any) { return this.usersService.update(id, data as UpdateUserDto) } diff --git a/src/modules/admin/users/users.service.ts b/src/modules/admin/users/users.service.ts index fe7d1f7..c425dd6 100644 --- a/src/modules/admin/users/users.service.ts +++ b/src/modules/admin/users/users.service.ts @@ -1,5 +1,5 @@ import { PrismaService } from '@/prisma/prisma.service' -import { Injectable } from '@nestjs/common' +import { Injectable, NotFoundException } from '@nestjs/common' import { ResponseMapper } from 'common/response/response-mapper' import { CreateUserDto, UpdateUserDto } from './dto/user.dto' @@ -22,6 +22,10 @@ export class AdminUsersService { const user = await this.prisma.user.findUnique({ where: { id }, }) + + if (!user) { + throw new NotFoundException('کاربری یافت نشد') + } return ResponseMapper.single({ ...user, fullname: `${user?.first_name} ${user?.last_name}`, @@ -33,7 +37,7 @@ export class AdminUsersService { } async update(id: string, data: UpdateUserDto) { - return this.prisma.user.update({ where: { id }, data: data as UpdateUserDto }) + return this.prisma.user.update({ where: { id }, data }) } async delete(id: string) { diff --git a/src/modules/enums/enums.service.ts b/src/modules/enums/enums.service.ts index aaf1a45..00442ae 100644 --- a/src/modules/enums/enums.service.ts +++ b/src/modules/enums/enums.service.ts @@ -22,8 +22,6 @@ import { ResponseMapper } from 'common/response/response-mapper' @Injectable() export class EnumsService { private prepareData(items: Record) { - console.log(translates.enums[items[0]]) - return Object.values(items).map(item => ({ name: translates.enums[item] || item, value: item, diff --git a/src/modules/pos/goods/dto/create-good.dto.ts b/src/modules/pos/goods/dto/create-good.dto.ts index a4d0c78..d75e9ad 100644 --- a/src/modules/pos/goods/dto/create-good.dto.ts +++ b/src/modules/pos/goods/dto/create-good.dto.ts @@ -1,5 +1,6 @@ +import { GoodPricingModel, UnitType } from '@/generated/prisma/enums' import { ApiProperty, PartialType } from '@nestjs/swagger' -import { IsNumber, IsOptional, IsString } from 'class-validator' +import { IsEnum, IsNumber, IsOptional, IsString } from 'class-validator' export class CreateGoodDto { @IsString() @@ -19,6 +20,14 @@ export class CreateGoodDto { @ApiProperty() local_sku: string + @IsEnum(UnitType) + @ApiProperty({ required: true, enum: UnitType }) + unit_type: UnitType + + @IsEnum(GoodPricingModel) + @ApiProperty({ required: true, enum: GoodPricingModel }) + pricing_model: GoodPricingModel + @IsOptional() @IsString() @ApiProperty({ required: false }) diff --git a/src/modules/pos/pos.middleware.ts b/src/modules/pos/pos.middleware.ts index 7f02b4d..4cfcce8 100644 --- a/src/modules/pos/pos.middleware.ts +++ b/src/modules/pos/pos.middleware.ts @@ -4,9 +4,6 @@ import { NextFunction, Request, Response } from 'express' @Injectable() export class PosMiddleware implements NestMiddleware { use(req: Request, _res: Response, next: NextFunction) { - console.log('first') - // @ts-ignore - console.log(req.dataPayload) // const a = reqTokenPayload() // console.log(a)