feat: add stock keeping unit management with create, update, and retrieval functionalities

- Implemented CreateStockKeepingUnitDto for creating stock keeping units.
- Added StockKeepingUnitsService for handling business logic related to stock keeping units.
- Created StockKeepingUnitsController to manage HTTP requests for stock keeping units.
- Developed UpdateStockKeepingUnitDto for updating existing stock keeping units.
- Introduced StockKeepingUnitsServiceFindAllResponseDto for response structure.
- Established stock keeping units module for encapsulation of related components.

feat: enhance sales invoice fiscal management with new endpoints

- Created SalesInvoicesFilterDto for filtering sales invoices.
- Implemented PosSalesInvoiceFiscalController for managing fiscal operations on sales invoices.
- Developed PosSalesInvoiceFiscalService to handle fiscal logic and interactions.
- Added methods for sending, retrying, and checking the status of fiscal invoices.
- Integrated error handling and response mapping for fiscal operations.
This commit is contained in:
2026-05-01 19:43:59 +03:30
parent a68a7f594d
commit ad470d2166
91 changed files with 8973 additions and 2469 deletions
+63
View File
@@ -0,0 +1,63 @@
# AI Agent Specification
## Identity
- Name: `consumer_api_agent`
- Purpose: Assist with development, refactoring, migration, debugging, and data-safe operations for this repository.
- Scope: Entire project rooted at `consumer_api`.
## Core Responsibilities
- Implement and refactor backend features in NestJS modules.
- Keep Prisma schema/migrations consistent and safe.
- Preserve API behavior unless explicitly asked to change it.
- Prefer minimal, focused changes over broad rewrites.
## Working Rules
- Follow repository instructions in `AGENTS.md`.
- Respect existing project conventions (naming, DTO patterns, response mapping).
- Do not revert unrelated user changes.
- Do not run destructive DB commands unless explicitly requested.
- For risky DB operations, perform backup-first workflow.
## Code Standards
- Keep functions small and cohesive.
- Extract reusable logic to utilities/services when complexity grows.
- Validate DTO inputs at boundaries.
- Use typed response DTO aliases where possible.
- Keep Prisma queries explicit with `select` for response control.
## Database Safety
- Never run `prisma migrate reset` on important environments unless explicitly approved.
- Treat applied migration files as immutable history.
- Prefer forward-only migrations.
- For data updates:
- Use transactions.
- Verify row counts before/after.
- Keep operations idempotent when feasible.
## API Patterns
- List endpoints: paginate + summary payload.
- Detail endpoints: full resource shape.
- Enum presentation: use shared translator utility (`translateEnumValue`).
- Fiscal status fallback rule: if no fiscal record, return `NOT_SEND`.
## Execution Checklist
1. Read target module/controller/service/DTO before edits.
2. Apply minimal patch.
3. Run typecheck (`pnpm -s tsc --noEmit`).
4. If data logic changed, verify behavior with targeted checks.
5. Summarize changed files and behavior impact.
## Useful Commands
- Type check:
- `pnpm -s tsc --noEmit`
- Prisma migration status:
- `pnpm prisma migrate status`
- Create migration:
- `pnpm prisma migrate dev --name <name>`
- Apply production migrations:
- `pnpm prisma migrate deploy`
## Communication Style
- Be concise, direct, and implementation-focused.
- Call out assumptions and risky steps before execution.
- Provide concrete next actions after each completed task.
+1533
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -82,6 +82,7 @@
"dump-triggers": "tsx scripts/dump-triggers.ts", "dump-triggers": "tsx scripts/dump-triggers.ts",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"generate:permissions": "tsx scripts/generate-permissions.ts", "generate:permissions": "tsx scripts/generate-permissions.ts",
"seed:sku": "tsx scripts/seedStockKeepingUnits.ts",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"start": "nest start", "start": "nest start",
"start:debug": "nest start --debug --watch", "start:debug": "nest start --debug --watch",
@@ -1,50 +0,0 @@
-- DropForeignKey
ALTER TABLE `permission_business_activities` DROP FOREIGN KEY `permission_business_activities_business_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_business_activities` DROP FOREIGN KEY `permission_business_activities_permission_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_complexes` DROP FOREIGN KEY `permission_complexes_complex_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_complexes` DROP FOREIGN KEY `permission_complexes_permission_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_consumers` DROP FOREIGN KEY `permission_consumers_consumer_account_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_poses` DROP FOREIGN KEY `permission_poses_permission_id_fkey`;
-- DropForeignKey
ALTER TABLE `permission_poses` DROP FOREIGN KEY `permission_poses_pos_id_fkey`;
-- DropIndex
DROP INDEX `permission_business_activities_business_id_fkey` ON `permission_business_activities`;
-- DropIndex
DROP INDEX `permission_complexes_complex_id_fkey` ON `permission_complexes`;
-- DropIndex
DROP INDEX `permission_poses_pos_id_fkey` ON `permission_poses`;
-- AddForeignKey
ALTER TABLE `permission_consumers` ADD CONSTRAINT `permission_consumers_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_business_id_fkey` FOREIGN KEY (`business_id`) REFERENCES `business_activities`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE `goods` ADD COLUMN `image_url` VARCHAR(255) NULL;
@@ -1,78 +0,0 @@
/*
Warnings:
- You are about to drop the column `consumer_id` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the column `expires_at` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the column `starts_at` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the column `status` on the `licenses` table. All the data in the column will be lost.
- A unique constraint covering the columns `[activated_license_id]` on the table `consumers` will be added. If there are existing duplicate values, this will fail.
- Added the required column `activation_expires_at` to the `licenses` table without a default value. This is not possible if the table is not empty.
- Added the required column `charged_license_transaction_id` to the `licenses` table without a default value. This is not possible if the table is not empty.
- Made the column `partner_id` on table `licenses` required. This step will fail if there are existing NULL values in that column.
*/
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_consumer_id_fkey`;
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_partner_id_fkey`;
-- DropIndex
DROP INDEX `licenses_consumer_id_key` ON `licenses`;
-- DropIndex
DROP INDEX `licenses_partner_id_fkey` ON `licenses`;
-- AlterTable
ALTER TABLE `consumers` ADD COLUMN `activated_license_id` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `licenses` DROP COLUMN `consumer_id`,
DROP COLUMN `expires_at`,
DROP COLUMN `starts_at`,
DROP COLUMN `status`,
ADD COLUMN `activation_expires_at` DATETIME(3) NOT NULL,
ADD COLUMN `charged_license_transaction_id` VARCHAR(191) NOT NULL,
MODIFY `partner_id` VARCHAR(191) NOT NULL;
-- CreateTable
CREATE TABLE `activated_licenses` (
`id` VARCHAR(191) NOT NULL,
`starts_at` DATETIME(3) NOT NULL,
`expires_at` DATETIME(3) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`license_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `activated_licenses_id_key`(`id`),
UNIQUE INDEX `activated_licenses_license_id_key`(`license_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `charged_license_transactions` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateIndex
CREATE UNIQUE INDEX `consumers_activated_license_id_key` ON `consumers`(`activated_license_id`);
-- AddForeignKey
ALTER TABLE `consumers` ADD CONSTRAINT `consumers_activated_license_id_fkey` FOREIGN KEY (`activated_license_id`) REFERENCES `activated_licenses`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_charged_license_transaction_id_fkey` FOREIGN KEY (`charged_license_transaction_id`) REFERENCES `charged_license_transactions`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `activated_licenses` ADD CONSTRAINT `activated_licenses_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `charged_license_transactions` ADD CONSTRAINT `charged_license_transactions_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -1,41 +0,0 @@
/*
Warnings:
- You are about to drop the column `activated_license_id` on the `consumers` table. All the data in the column will be lost.
- You are about to drop the column `activation_expires_at` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the column `partner_id` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the column `license_quota` on the `partners` table. All the data in the column will be lost.
- Added the required column `consumer_id` to the `activated_licenses` table without a default value. This is not possible if the table is not empty.
- Added the required column `activation_expires_at` to the `charged_license_transactions` table without a default value. This is not possible if the table is not empty.
*/
-- DropForeignKey
ALTER TABLE `consumers` DROP FOREIGN KEY `consumers_activated_license_id_fkey`;
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_partner_id_fkey`;
-- DropIndex
DROP INDEX `consumers_activated_license_id_key` ON `consumers`;
-- DropIndex
DROP INDEX `licenses_partner_id_fkey` ON `licenses`;
-- AlterTable
ALTER TABLE `activated_licenses` ADD COLUMN `consumer_id` VARCHAR(191) NOT NULL;
-- AlterTable
ALTER TABLE `charged_license_transactions` ADD COLUMN `activation_expires_at` DATETIME(3) NOT NULL;
-- AlterTable
ALTER TABLE `consumers` DROP COLUMN `activated_license_id`;
-- AlterTable
ALTER TABLE `licenses` DROP COLUMN `activation_expires_at`,
DROP COLUMN `partner_id`;
-- AlterTable
ALTER TABLE `partners` DROP COLUMN `license_quota`;
-- AddForeignKey
ALTER TABLE `activated_licenses` ADD CONSTRAINT `activated_licenses_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -1,70 +0,0 @@
/*
Warnings:
- You are about to drop the `user_devices` table. If the table is not empty, all the data it contains will be lost.
- A unique constraint covering the columns `[tracking_code]` on the table `charged_license_transactions` will be added. If there are existing duplicate values, this will fail.
- Added the required column `tracking_code` to the `charged_license_transactions` table without a default value. This is not possible if the table is not empty.
*/
-- DropTable
DROP TABLE `user_devices`;
-- CreateTable
CREATE TABLE `consumer_devices` (
`uuid` VARCHAR(255) NOT NULL,
`app_version` VARCHAR(20) NOT NULL,
`build_number` VARCHAR(20) NOT NULL,
`platform` VARCHAR(100) NOT NULL,
`brand` VARCHAR(100) NOT NULL,
`model` VARCHAR(100) NOT NULL,
`device` VARCHAR(100) NOT NULL,
`os_version` VARCHAR(20) NOT NULL,
`sdk_version` VARCHAR(20) NOT NULL,
`release_number` VARCHAR(20) NOT NULL,
`browser_name` VARCHAR(100) NULL,
`fcm_token` VARCHAR(100) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `consumer_devices_uuid_key` (`uuid`),
PRIMARY KEY (`uuid`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `application_released_info` (
`id` VARCHAR(191) NOT NULL,
`version` VARCHAR(191) NOT NULL,
`build_number` VARCHAR(191) NOT NULL,
`is_stable` BOOLEAN NOT NULL DEFAULT TRUE,
`is_minimum_supported` BOOLEAN NOT NULL DEFAULT FALSE,
`type` ENUM('ANDROID', 'IOS') NOT NULL,
`notes` JSON NULL,
`release_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `consumer_devices`
ADD CONSTRAINT `consumer_devices_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE `charged_license_transactions`
ADD COLUMN `tracking_code` VARCHAR(191) NULL;
UPDATE `charged_license_transactions`
SET
`tracking_code` = CONCAT(
'TRX-',
UPPER(
REPLACE (`id`, '-', '')
)
)
WHERE
`tracking_code` IS NULL
OR `tracking_code` = '';
ALTER TABLE `charged_license_transactions`
MODIFY `tracking_code` VARCHAR(191) NOT NULL;
CREATE UNIQUE INDEX `charged_license_transactions_tracking_code_key` ON `charged_license_transactions` (`tracking_code`);
@@ -1,19 +0,0 @@
/*
Warnings:
- You are about to drop the column `is_stable` on the `application_released_info` table. All the data in the column will be lost.
- You are about to drop the column `type` on the `application_released_info` table. All the data in the column will be lost.
- Added the required column `platform` to the `application_released_info` table without a default value. This is not possible if the table is not empty.
- Added the required column `release_type` to the `application_released_info` table without a default value. This is not possible if the table is not empty.
- Added the required column `publisher` to the `consumer_devices` table without a default value. This is not possible if the table is not empty.
*/
-- AlterTable
ALTER TABLE `application_released_info` DROP COLUMN `is_stable`,
DROP COLUMN `type`,
ADD COLUMN `platform` ENUM('ANDROID', 'IOS') NOT NULL,
ADD COLUMN `release_type` ENUM('STABLE', 'BETA', 'ALPHA') NOT NULL;
-- AlterTable
ALTER TABLE `consumer_devices` ADD COLUMN `publisher` ENUM('DIRECT', 'CAFE_BAZAR', 'MAYKET') NOT NULL,
ADD COLUMN `user_agent` VARCHAR(100) NULL;
@@ -1,35 +0,0 @@
/*
Warnings:
- You are about to drop the column `tax_id` on the `complexes` table. All the data in the column will be lost.
- A unique constraint covering the columns `[economic_code]` on the table `business_activities` will be added. If there are existing duplicate values, this will fail.
- A unique constraint covering the columns `[mobile_number,national_code,partner_id]` on the table `consumers` will be added. If there are existing duplicate values, this will fail.
- Added the required column `economic_code` to the `business_activities` table without a default value. This is not possible if the table is not empty.
- Added the required column `national_code` to the `consumers` table without a default value. This is not possible if the table is not empty.
- Added the required column `partner_id` to the `consumers` table without a default value. This is not possible if the table is not empty.
*/
-- DropIndex
DROP INDEX `consumers_mobile_number_key` ON `consumers`;
-- AlterTable
ALTER TABLE `business_activities` ADD COLUMN `economic_code` VARCHAR(191) NOT NULL;
-- AlterTable
ALTER TABLE `complexes` DROP COLUMN `tax_id`;
-- AlterTable
ALTER TABLE `consumers` ADD COLUMN `national_code` VARCHAR(191) NOT NULL,
ADD COLUMN `partner_id` VARCHAR(191) NOT NULL;
-- AlterTable
ALTER TABLE `licenses` ADD COLUMN `accounts_limit` INTEGER NOT NULL DEFAULT 3;
-- CreateIndex
CREATE UNIQUE INDEX `business_activities_economic_code_key` ON `business_activities`(`economic_code`);
-- CreateIndex
CREATE UNIQUE INDEX `consumers_mobile_number_national_code_partner_id_key` ON `consumers`(`mobile_number`, `national_code`, `partner_id`);
-- AddForeignKey
ALTER TABLE `consumers` ADD CONSTRAINT `consumers_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -1,8 +0,0 @@
/*
Warnings:
- Added the required column `branch_code` to the `complexes` table without a default value. This is not possible if the table is not empty.
*/
-- AlterTable
ALTER TABLE `complexes` ADD COLUMN `branch_code` VARCHAR(191) NOT NULL;
@@ -1,151 +0,0 @@
/*
Warnings:
- You are about to drop the column `charged_license_transaction_id` on the `licenses` table. All the data in the column will be lost.
- You are about to drop the `activated_licenses` table. If the table is not empty, all the data it contains will be lost.
- You are about to drop the `charged_license_transactions` table. If the table is not empty, all the data it contains will be lost.
- A unique constraint covering the columns `[mobile_number,partner_id]` on the table `consumers` will be added. If there are existing duplicate values, this will fail.
- A unique constraint covering the columns `[national_code,partner_id]` on the table `consumers` will be added. If there are existing duplicate values, this will fail.
- Added the required column `charge_transaction_id` to the `licenses` table without a default value. This is not possible if the table is not empty.
*/
-- DropForeignKey
ALTER TABLE `activated_licenses` DROP FOREIGN KEY `activated_licenses_consumer_id_fkey`;
-- DropForeignKey
ALTER TABLE `activated_licenses` DROP FOREIGN KEY `activated_licenses_license_id_fkey`;
-- DropForeignKey
ALTER TABLE `charged_license_transactions` DROP FOREIGN KEY `charged_license_transactions_partner_id_fkey`;
-- DropForeignKey
ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_charged_license_transaction_id_fkey`;
-- DropIndex
DROP INDEX `consumers_mobile_number_national_code_partner_id_key` ON `consumers`;
-- DropIndex
DROP INDEX `licenses_charged_license_transaction_id_fkey` ON `licenses`;
-- AlterTable
ALTER TABLE `licenses` DROP COLUMN `charged_license_transaction_id`,
ADD COLUMN `charge_transaction_id` VARCHAR(191) NOT NULL;
-- DropTable
DROP TABLE `activated_licenses`;
-- DropTable
DROP TABLE `charged_license_transactions`;
-- CreateTable
CREATE TABLE `licenses_activated` (
`id` VARCHAR(191) NOT NULL,
`starts_at` DATETIME(3) NOT NULL,
`expires_at` DATETIME(3) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`license_id` VARCHAR(191) NOT NULL,
`business_activity_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `licenses_activated_id_key`(`id`),
UNIQUE INDEX `licenses_activated_license_id_key`(`license_id`),
UNIQUE INDEX `licenses_activated_business_activity_id_key`(`business_activity_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_charged_transactions` (
`id` VARCHAR(191) NOT NULL,
`activation_expires_at` DATETIME(3) NOT NULL,
`tracking_code` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `license_charged_transactions_tracking_code_key`(`tracking_code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_renew` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NOT NULL,
`activation_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_renew_charge_transaction` (
`id` VARCHAR(191) NOT NULL,
`activation_expires_at` DATETIME(3) NOT NULL,
`tracking_code` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `license_renew_charge_transaction_tracking_code_key`(`tracking_code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `partner_account_quota_charge_transaction` (
`id` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `partner_account_quota_allocation` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NOT NULL,
`license_id` VARCHAR(191) NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateIndex
CREATE UNIQUE INDEX `consumers_mobile_number_partner_id_key` ON `consumers`(`mobile_number`, `partner_id`);
-- CreateIndex
CREATE UNIQUE INDEX `consumers_national_code_partner_id_key` ON `consumers`(`national_code`, `partner_id`);
-- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_charged_transactions`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_charged_transactions` ADD CONSTRAINT `license_charged_transactions_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_renew_charge_transaction`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_activation_id_fkey` FOREIGN KEY (`activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew_charge_transaction` ADD CONSTRAINT `license_renew_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_charge_transaction` ADD CONSTRAINT `partner_account_quota_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_allocation` ADD CONSTRAINT `partner_account_quota_allocation_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `partner_account_quota_charge_transaction`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_allocation` ADD CONSTRAINT `partner_account_quota_allocation_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -1,18 +0,0 @@
/*
Warnings:
- A unique constraint covering the columns `[tracking_code]` on the table `partner_account_quota_charge_transaction` will be added. If there are existing duplicate values, this will fail.
- Added the required column `expires_at` to the `license_renew` table without a default value. This is not possible if the table is not empty.
- Added the required column `activation_expires_at` to the `partner_account_quota_charge_transaction` table without a default value. This is not possible if the table is not empty.
- Added the required column `tracking_code` to the `partner_account_quota_charge_transaction` table without a default value. This is not possible if the table is not empty.
*/
-- AlterTable
ALTER TABLE `license_renew` ADD COLUMN `expires_at` DATETIME(3) NOT NULL;
-- AlterTable
ALTER TABLE `partner_account_quota_charge_transaction` ADD COLUMN `activation_expires_at` DATETIME(3) NOT NULL,
ADD COLUMN `tracking_code` VARCHAR(191) NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX `partner_account_quota_charge_transaction_tracking_code_key` ON `partner_account_quota_charge_transaction`(`tracking_code`);
@@ -1,16 +0,0 @@
/*
Warnings:
- You are about to drop the column `serial` on the `poses` table. All the data in the column will be lost.
- A unique constraint covering the columns `[serial_number]` on the table `poses` will be added. If there are existing duplicate values, this will fail.
*/
-- DropIndex
DROP INDEX `poses_serial_key` ON `poses`;
-- AlterTable
ALTER TABLE `poses` DROP COLUMN `serial`,
ADD COLUMN `serial_number` VARCHAR(191) NULL;
-- CreateIndex
CREATE UNIQUE INDEX `poses_serial_number_key` ON `poses`(`serial_number`);
@@ -1,20 +0,0 @@
/*
Warnings:
- A unique constraint covering the columns `[account_id]` on the table `poses` will be added. If there are existing duplicate values, this will fail.
*/
-- AlterTable
ALTER TABLE `licenses` MODIFY `accounts_limit` INTEGER NOT NULL DEFAULT 2;
-- AlterTable
ALTER TABLE `partners` ADD COLUMN `logo_url` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `poses` ADD COLUMN `account_id` VARCHAR(191) NULL;
-- CreateIndex
CREATE UNIQUE INDEX `poses_account_id_key` ON `poses`(`account_id`);
-- AddForeignKey
ALTER TABLE `poses` ADD CONSTRAINT `poses_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -1,50 +0,0 @@
/*
Warnings:
- You are about to drop the `partner_account_quota_allocation` table. If the table is not empty, all the data it contains will be lost.
*/
-- DropForeignKey
ALTER TABLE `partner_account_quota_allocation` DROP FOREIGN KEY `partner_account_quota_allocation_charge_transaction_id_fkey`;
-- DropForeignKey
ALTER TABLE `partner_account_quota_allocation` DROP FOREIGN KEY `partner_account_quota_allocation_license_id_fkey`;
-- DropTable
DROP TABLE `partner_account_quota_allocation`;
-- CreateTable
CREATE TABLE `partner_account_quota_credit` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NOT NULL,
`allocation_id` VARCHAR(191) NULL,
UNIQUE INDEX `partner_account_quota_credit_allocation_id_key`(`allocation_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_account_allocation` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`license_activation_id` VARCHAR(191) NOT NULL,
`account_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `license_account_allocation_account_id_key`(`account_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `partner_account_quota_credit` ADD CONSTRAINT `partner_account_quota_credit_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `partner_account_quota_charge_transaction`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_credit` ADD CONSTRAINT `partner_account_quota_credit_allocation_id_fkey` FOREIGN KEY (`allocation_id`) REFERENCES `license_account_allocation`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_license_activation_id_fkey` FOREIGN KEY (`license_activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -1,30 +0,0 @@
-- DropForeignKey
ALTER TABLE `license_account_allocation` DROP FOREIGN KEY `license_account_allocation_account_id_fkey`;
-- DropForeignKey
ALTER TABLE `license_account_allocation` DROP FOREIGN KEY `license_account_allocation_license_activation_id_fkey`;
-- DropForeignKey
ALTER TABLE `partner_account_quota_credit` DROP FOREIGN KEY `partner_account_quota_credit_charge_transaction_id_fkey`;
-- DropIndex
DROP INDEX `license_account_allocation_license_activation_id_fkey` ON `license_account_allocation`;
-- DropIndex
DROP INDEX `partner_account_quota_credit_charge_transaction_id_fkey` ON `partner_account_quota_credit`;
-- AlterTable
ALTER TABLE `license_account_allocation` MODIFY `license_activation_id` VARCHAR(191) NULL,
MODIFY `account_id` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `partner_account_quota_credit` MODIFY `charge_transaction_id` VARCHAR(191) NULL;
-- AddForeignKey
ALTER TABLE `partner_account_quota_credit` ADD CONSTRAINT `partner_account_quota_credit_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `partner_account_quota_charge_transaction`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_license_activation_id_fkey` FOREIGN KEY (`license_activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -1,53 +0,0 @@
/*
Warnings:
- You are about to drop the column `allocation_id` on the `partner_account_quota_credit` table. All the data in the column will be lost.
- A unique constraint covering the columns `[economic_code,consumer_id]` on the table `business_activities` will be added. If there are existing duplicate values, this will fail.
- A unique constraint covering the columns `[credit_id]` on the table `license_account_allocation` will be added. If there are existing duplicate values, this will fail.
- Made the column `account_id` on table `poses` required. This step will fail if there are existing NULL values in that column.
*/
-- DropForeignKey
ALTER TABLE `license_renew` DROP FOREIGN KEY `license_renew_activation_id_fkey`;
-- DropForeignKey
ALTER TABLE `partner_account_quota_credit` DROP FOREIGN KEY `partner_account_quota_credit_allocation_id_fkey`;
-- DropForeignKey
ALTER TABLE `poses` DROP FOREIGN KEY `poses_account_id_fkey`;
-- DropIndex
DROP INDEX `business_activities_economic_code_key` ON `business_activities`;
-- DropIndex
DROP INDEX `license_renew_activation_id_fkey` ON `license_renew`;
-- DropIndex
DROP INDEX `partner_account_quota_credit_allocation_id_key` ON `partner_account_quota_credit`;
-- AlterTable
ALTER TABLE `license_account_allocation` ADD COLUMN `credit_id` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `license_renew` MODIFY `activation_id` VARCHAR(191) NULL;
-- AlterTable
ALTER TABLE `partner_account_quota_credit` DROP COLUMN `allocation_id`;
-- AlterTable
ALTER TABLE `poses` MODIFY `account_id` VARCHAR(191) NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX `business_activities_economic_code_consumer_id_key` ON `business_activities`(`economic_code`, `consumer_id`);
-- CreateIndex
CREATE UNIQUE INDEX `license_account_allocation_credit_id_key` ON `license_account_allocation`(`credit_id`);
-- AddForeignKey
ALTER TABLE `poses` ADD CONSTRAINT `poses_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_activation_id_fkey` FOREIGN KEY (`activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_credit_id_fkey` FOREIGN KEY (`credit_id`) REFERENCES `partner_account_quota_credit`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -1,75 +0,0 @@
/*
Warnings:
- You are about to drop the column `complex_id` on the `customer_individuals` table. All the data in the column will be lost.
- You are about to drop the column `complex_id` on the `customer_legal` table. All the data in the column will be lost.
- You are about to drop the column `unknown_customer` on the `customers` table. All the data in the column will be lost.
- You are about to drop the column `complex_id` on the `goods` table. All the data in the column will be lost.
- A unique constraint covering the columns `[business_activity_id,national_id]` on the table `customer_individuals` will be added. If there are existing duplicate values, this will fail.
- A unique constraint covering the columns `[business_activity_id,economic_code]` on the table `customer_legal` will be added. If there are existing duplicate values, this will fail.
- Added the required column `business_activity_id` to the `customer_individuals` table without a default value. This is not possible if the table is not empty.
- Added the required column `mobile_number` to the `customer_individuals` table without a default value. This is not possible if the table is not empty.
- Added the required column `business_activity_id` to the `customer_legal` table without a default value. This is not possible if the table is not empty.
*/
-- DropForeignKey
ALTER TABLE `customer_individuals` DROP FOREIGN KEY `customer_individuals_complex_id_fkey`;
-- DropForeignKey
ALTER TABLE `customer_legal` DROP FOREIGN KEY `customer_legal_complex_id_fkey`;
-- DropForeignKey
ALTER TABLE `goods` DROP FOREIGN KEY `goods_complex_id_fkey`;
-- DropIndex
DROP INDEX `customer_individuals_complex_id_idx` ON `customer_individuals`;
-- DropIndex
DROP INDEX `customer_individuals_complex_id_national_id_key` ON `customer_individuals`;
-- DropIndex
DROP INDEX `customer_legal_complex_id_idx` ON `customer_legal`;
-- DropIndex
DROP INDEX `customer_legal_complex_id_registration_number_key` ON `customer_legal`;
-- DropIndex
DROP INDEX `goods_complex_id_fkey` ON `goods`;
-- AlterTable
ALTER TABLE `customer_individuals` DROP COLUMN `complex_id`,
ADD COLUMN `business_activity_id` VARCHAR(191) NOT NULL,
ADD COLUMN `mobile_number` CHAR(15) NOT NULL;
-- AlterTable
ALTER TABLE `customer_legal` DROP COLUMN `complex_id`,
ADD COLUMN `business_activity_id` VARCHAR(191) NOT NULL,
MODIFY `registration_number` CHAR(20) NULL;
-- AlterTable
ALTER TABLE `customers` DROP COLUMN `unknown_customer`;
-- AlterTable
ALTER TABLE `goods` DROP COLUMN `complex_id`,
ADD COLUMN `business_activity_id` VARCHAR(191) NULL;
-- CreateIndex
CREATE INDEX `customer_individuals_business_activity_id_idx` ON `customer_individuals`(`business_activity_id`);
-- CreateIndex
CREATE UNIQUE INDEX `customer_individuals_business_activity_id_national_id_key` ON `customer_individuals`(`business_activity_id`, `national_id`);
-- CreateIndex
CREATE INDEX `customer_legal_business_activity_id_idx` ON `customer_legal`(`business_activity_id`);
-- CreateIndex
CREATE UNIQUE INDEX `customer_legal_business_activity_id_economic_code_key` ON `customer_legal`(`business_activity_id`, `economic_code`);
-- AddForeignKey
ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `goods` ADD CONSTRAINT `goods_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -1,102 +0,0 @@
/*
Consumer profile split migration.
Existing profile data is copied into `individual_consumers` before the source
columns are removed from `consumers`.
*/
-- AlterTable
ALTER TABLE `consumers`
ADD COLUMN `type` ENUM('INDIVIDUAL', 'LEGAL') NOT NULL DEFAULT 'INDIVIDUAL';
UPDATE `consumers` SET `type` = 'INDIVIDUAL';
-- DropForeignKey
ALTER TABLE `consumers` DROP FOREIGN KEY `consumers_partner_id_fkey`;
-- DropIndex
DROP INDEX `consumers_mobile_number_partner_id_key` ON `consumers`;
-- DropIndex
DROP INDEX `consumers_national_code_partner_id_key` ON `consumers`;
-- DropIndex
DROP INDEX `consumers_partner_id_fkey` ON `consumers`;
-- CreateTable
CREATE TABLE `individual_consumers` (
`first_name` VARCHAR(191) NOT NULL,
`last_name` VARCHAR(191) NOT NULL,
`mobile_number` VARCHAR(191) NOT NULL,
`national_code` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `individual_consumers_mobile_number_consumer_id_key` (
`mobile_number`,
`consumer_id`
),
UNIQUE INDEX `individual_consumers_partner_id_national_code_key` (`partner_id`, `national_code`),
PRIMARY KEY (`consumer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `legal_consumers` (
`name` VARCHAR(191) NOT NULL,
`registration_code` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `legal_consumers_partner_id_registration_code_key` (
`partner_id`,
`registration_code`
),
PRIMARY KEY (`consumer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
INSERT INTO
`individual_consumers` (
`first_name`,
`last_name`,
`mobile_number`,
`national_code`,
`created_at`,
`updated_at`,
`partner_id`,
`consumer_id`
)
SELECT
`first_name`,
`last_name`,
`mobile_number`,
`national_code`,
`created_at`,
`updated_at`,
`partner_id`,
`id`
FROM `consumers`;
ALTER TABLE `consumers`
DROP COLUMN `first_name`,
DROP COLUMN `last_name`,
DROP COLUMN `mobile_number`,
DROP COLUMN `national_code`,
DROP COLUMN `partner_id`,
MODIFY `type` ENUM('INDIVIDUAL', 'LEGAL') NOT NULL;
-- AddForeignKey
ALTER TABLE `individual_consumers`
ADD CONSTRAINT `individual_consumers_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `individual_consumers`
ADD CONSTRAINT `individual_consumers_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `legal_consumers`
ADD CONSTRAINT `legal_consumers_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `legal_consumers`
ADD CONSTRAINT `legal_consumers_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -1,22 +0,0 @@
ALTER TABLE `individual_consumers` RENAME TO `consumers_individual`;
ALTER TABLE `legal_consumers` RENAME TO `consumers_legal`;
ALTER TABLE `consumers_individual`
RENAME INDEX `individual_consumers_mobile_number_consumer_id_key` TO `consumers_individual_mobile_number_consumer_id_key`;
ALTER TABLE `consumers_individual`
RENAME INDEX `individual_consumers_partner_id_national_code_key` TO `consumers_individual_partner_id_national_code_key`;
ALTER TABLE `consumers_legal`
RENAME INDEX `legal_consumers_partner_id_registration_code_key` TO `consumers_legal_partner_id_registration_code_key`;
ALTER TABLE `consumers_individual` DROP FOREIGN KEY `individual_consumers_partner_id_fkey`;
ALTER TABLE `consumers_individual` DROP FOREIGN KEY `individual_consumers_consumer_id_fkey`;
ALTER TABLE `consumers_legal` DROP FOREIGN KEY `legal_consumers_partner_id_fkey`;
ALTER TABLE `consumers_legal` DROP FOREIGN KEY `legal_consumers_consumer_id_fkey`;
ALTER TABLE `consumers_individual`
ADD CONSTRAINT `consumers_individual_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
ADD CONSTRAINT `consumers_individual_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `consumers_legal`
ADD CONSTRAINT `consumers_legal_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE,
ADD CONSTRAINT `consumers_legal_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -1,80 +0,0 @@
/*
Warnings:
- You are about to drop the column `account_id` on the `sales_invoices` table. All the data in the column will be lost.
- A unique constraint covering the columns `[invoice_number,pos_id]` on the table `sales_invoices` will be added. If there are existing duplicate values, this will fail.
- Added the required column `fiscal_id` to the `business_activities` table without a default value. This is not possible if the table is not empty.
- Added the required column `partner_token` to the `business_activities` table without a default value. This is not possible if the table is not empty.
- Added the required column `consumer_account_id` to the `sales_invoices` table without a default value. This is not possible if the table is not empty.
- Added the required column `invoice_number` to the `sales_invoices` table without a default value. This is not possible if the table is not empty.
- Made the column `invoice_date` on table `sales_invoices` required. This step will fail if there are existing NULL values in that column.
*/
-- DropForeignKey
ALTER TABLE `sales_invoices` DROP FOREIGN KEY `sales_invoices_account_id_fkey`;
-- DropIndex
DROP INDEX `sales_invoices_account_id_fkey` ON `sales_invoices`;
-- AlterTable
ALTER TABLE `business_activities` ADD COLUMN `fiscal_id` VARCHAR(191) NOT NULL DEFAULT '',
ADD COLUMN `partner_token` VARCHAR(191) NOT NULL DEFAULT '';
-- AlterTable
ALTER TABLE `sales_invoice_items` ADD COLUMN `good_snapshot` JSON NULL;
-- AlterTable
ALTER TABLE `sales_invoice_payments` MODIFY `paid_at` TIMESTAMP(0) NOT NULL,
MODIFY `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0);
-- AlterTable
ALTER TABLE `sales_invoices` DROP COLUMN `account_id`,
ADD COLUMN `consumer_account_id` VARCHAR(191) NOT NULL,
ADD COLUMN `invoice_number` INTEGER NOT NULL,
MODIFY `invoice_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0);
-- CreateTable
CREATE TABLE `sale_invoice_fiscals` (
`id` VARCHAR(191) NOT NULL,
`retry_count` INTEGER NOT NULL DEFAULT 0,
`last_attempt_at` TIMESTAMP(0) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`invoice_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sale_invoice_fiscals_invoice_id_key`(`invoice_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `sale_invoice_fiscal_attempts` (
`id` VARCHAR(191) NOT NULL,
`attempt_no` INTEGER NOT NULL,
`status` VARCHAR(50) NOT NULL,
`tax_id` VARCHAR(191) NULL,
`request_payload` JSON NULL,
`response_payload` JSON NULL,
`error_message` TEXT NULL,
`sent_at` TIMESTAMP(0) NULL,
`received_at` TIMESTAMP(0) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`fiscal_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sale_invoice_fiscal_attempts_tax_id_key`(`tax_id`),
INDEX `sale_invoice_fiscal_attempts_status_idx`(`status`),
INDEX `sale_invoice_fiscal_attempts_tax_id_idx`(`tax_id`),
UNIQUE INDEX `sale_invoice_fiscal_attempts_fiscal_id_attempt_no_key`(`fiscal_id`, `attempt_no`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateIndex
CREATE UNIQUE INDEX `sales_invoices_invoice_number_pos_id_key` ON `sales_invoices`(`invoice_number`, `pos_id`);
-- AddForeignKey
ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `sale_invoice_fiscals` ADD CONSTRAINT `sale_invoice_fiscals_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `sale_invoice_fiscal_attempts` ADD CONSTRAINT `sale_invoice_fiscal_attempts_fiscal_id_fkey` FOREIGN KEY (`fiscal_id`) REFERENCES `sale_invoice_fiscals`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -1,3 +0,0 @@
-- AlterTable
ALTER TABLE `business_activities` ALTER COLUMN `fiscal_id` DROP DEFAULT,
ALTER COLUMN `partner_token` DROP DEFAULT;
@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE `partners` ADD COLUMN `fiscal_switch_type` ENUM('NAMA', 'SUN') NOT NULL DEFAULT 'NAMA';
@@ -37,76 +37,6 @@ CREATE TABLE `accounts` (
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `consumer_accounts` (
`id` VARCHAR(191) NOT NULL,
`role` ENUM('OWNER', 'MANAGER', 'OPERATOR') NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
`account_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `consumer_accounts_account_id_key`(`account_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `consumers` (
`id` VARCHAR(191) NOT NULL,
`mobile_number` VARCHAR(191) NOT NULL,
`first_name` VARCHAR(191) NOT NULL,
`last_name` VARCHAR(191) NOT NULL,
`status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE',
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
UNIQUE INDEX `consumers_mobile_number_key`(`mobile_number`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `business_activities` (
`id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`guild_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `complexes` (
`id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`address` VARCHAR(191) NULL,
`tax_id` VARCHAR(191) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`business_activity_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `poses` (
`id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`serial` VARCHAR(191) NOT NULL,
`model` VARCHAR(191) NULL,
`status` ENUM('ACTIVE', 'DISABLED') NOT NULL DEFAULT 'ACTIVE',
`pos_type` ENUM('PSP', 'MOBILE', 'WEB', 'API') NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`complex_id` VARCHAR(191) NOT NULL,
`device_id` VARCHAR(191) NULL,
`provider_id` VARCHAR(191) NULL,
UNIQUE INDEX `poses_serial_key`(`serial`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `device_brands` ( CREATE TABLE `device_brands` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
@@ -129,18 +59,108 @@ CREATE TABLE `devices` (
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_charged_transactions` (
`id` VARCHAR(191) NOT NULL,
`activation_expires_at` DATETIME(3) NOT NULL,
`tracking_code` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `license_charged_transactions_tracking_code_key`(`tracking_code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `licenses` ( CREATE TABLE `licenses` (
`id` VARCHAR(191) NOT NULL,
`accounts_limit` INTEGER NOT NULL DEFAULT 2,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `licenses_activated` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`starts_at` DATETIME(3) NOT NULL, `starts_at` DATETIME(3) NOT NULL,
`expires_at` DATETIME(3) NOT NULL, `expires_at` DATETIME(3) NOT NULL,
`status` ENUM('ACTIVE', 'EXPIRED', 'SUSPENDED') NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NULL, `license_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL, `business_activity_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `licenses_consumer_id_key`(`consumer_id`), UNIQUE INDEX `licenses_activated_id_key`(`id`),
UNIQUE INDEX `licenses_activated_license_id_key`(`license_id`),
UNIQUE INDEX `licenses_activated_business_activity_id_key`(`business_activity_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_renew_charge_transaction` (
`id` VARCHAR(191) NOT NULL,
`activation_expires_at` DATETIME(3) NOT NULL,
`tracking_code` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `license_renew_charge_transaction_tracking_code_key`(`tracking_code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_renew` (
`id` VARCHAR(191) NOT NULL,
`expires_at` DATETIME(3) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NOT NULL,
`activation_id` VARCHAR(191) NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `partner_account_quota_charge_transaction` (
`id` VARCHAR(191) NOT NULL,
`activation_expires_at` DATETIME(3) NOT NULL,
`tracking_code` VARCHAR(191) NOT NULL,
`purchased_count` INTEGER NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `partner_account_quota_charge_transaction_tracking_code_key`(`tracking_code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `partner_account_quota_credit` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`charge_transaction_id` VARCHAR(191) NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `license_account_allocation` (
`id` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`license_activation_id` VARCHAR(191) NULL,
`account_id` VARCHAR(191) NULL,
`credit_id` VARCHAR(191) NULL,
UNIQUE INDEX `license_account_allocation_account_id_key`(`account_id`),
UNIQUE INDEX `license_account_allocation_credit_id_key`(`credit_id`),
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
@@ -162,8 +182,9 @@ CREATE TABLE `partners` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL,
`code` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NOT NULL,
`license_quota` INTEGER NULL DEFAULT 0,
`status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE', `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE',
`fiscal_switch_type` ENUM('NAMA', 'SUN') NOT NULL,
`logo_url` VARCHAR(191) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
@@ -240,75 +261,145 @@ CREATE TABLE `providers` (
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `trigger_logs` ( CREATE TABLE `consumer_devices` (
`id` INTEGER NOT NULL AUTO_INCREMENT, `uuid` VARCHAR(255) NOT NULL,
`message` TEXT NOT NULL,
`createdAt` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`name` TEXT NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `user_devices` (
`account_id` VARCHAR(255) NULL,
`app_version` VARCHAR(20) NOT NULL, `app_version` VARCHAR(20) NOT NULL,
`build_number` VARCHAR(20) NOT NULL, `build_number` VARCHAR(20) NOT NULL,
`uuid` VARCHAR(255) NOT NULL,
`platform` VARCHAR(100) NOT NULL, `platform` VARCHAR(100) NOT NULL,
`brand` VARCHAR(100) NOT NULL, `brand` VARCHAR(100) NOT NULL,
`model` VARCHAR(100) NOT NULL, `model` VARCHAR(100) NOT NULL,
`device` VARCHAR(100) NOT NULL, `device` VARCHAR(100) NOT NULL,
`publisher` ENUM('DIRECT', 'CAFE_BAZAR', 'MAYKET') NOT NULL,
`os_version` VARCHAR(20) NOT NULL, `os_version` VARCHAR(20) NOT NULL,
`sdk_version` VARCHAR(20) NOT NULL, `sdk_version` VARCHAR(20) NOT NULL,
`release_number` VARCHAR(20) NOT NULL, `release_number` VARCHAR(20) NOT NULL,
`user_agent` VARCHAR(100) NULL,
`browser_name` VARCHAR(100) NULL, `browser_name` VARCHAR(100) NULL,
`fcm_token` VARCHAR(100) NULL, `fcm_token` VARCHAR(100) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `user_devices_uuid_key`(`uuid`), UNIQUE INDEX `consumer_devices_uuid_key`(`uuid`),
PRIMARY KEY (`uuid`) PRIMARY KEY (`uuid`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `customers` ( CREATE TABLE `application_released_info` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`is_favorite` BOOLEAN NULL DEFAULT false, `version` VARCHAR(191) NOT NULL,
`build_number` VARCHAR(191) NOT NULL,
`is_minimum_supported` BOOLEAN NOT NULL DEFAULT false,
`release_type` ENUM('STABLE', 'BETA', 'ALPHA') NOT NULL,
`platform` ENUM('ANDROID', 'IOS') NOT NULL,
`notes` JSON NULL,
`release_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`deleted_at` TIMESTAMP(0) NULL,
`type` ENUM('INDIVIDUAL', 'LEGAL', 'UNKNOWN') NOT NULL,
`unknown_customer` JSON NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `customer_individuals` ( CREATE TABLE `consumer_accounts` (
`first_name` VARCHAR(255) NOT NULL, `id` VARCHAR(191) NOT NULL,
`last_name` VARCHAR(255) NOT NULL, `role` ENUM('OWNER', 'MANAGER', 'OPERATOR') NOT NULL,
`national_id` CHAR(10) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`postal_code` CHAR(10) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`economic_code` CHAR(10) NULL, `consumer_id` VARCHAR(191) NOT NULL,
`customer_id` VARCHAR(191) NOT NULL, `account_id` VARCHAR(191) NOT NULL,
`complex_id` VARCHAR(191) NOT NULL,
INDEX `customer_individuals_complex_id_idx`(`complex_id`), UNIQUE INDEX `consumer_accounts_account_id_key`(`account_id`),
UNIQUE INDEX `customer_individuals_complex_id_national_id_key`(`complex_id`, `national_id`), PRIMARY KEY (`id`)
PRIMARY KEY (`customer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `customer_legal` ( CREATE TABLE `consumers` (
`company_name` VARCHAR(255) NOT NULL, `id` VARCHAR(191) NOT NULL,
`economic_code` CHAR(10) NOT NULL, `type` ENUM('INDIVIDUAL', 'LEGAL') NOT NULL,
`registration_number` CHAR(20) NOT NULL, `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE',
`postal_code` CHAR(10) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`customer_id` VARCHAR(191) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`complex_id` VARCHAR(191) NOT NULL,
INDEX `customer_legal_complex_id_idx`(`complex_id`), PRIMARY KEY (`id`)
UNIQUE INDEX `customer_legal_complex_id_registration_number_key`(`complex_id`, `registration_number`), ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
PRIMARY KEY (`customer_id`)
-- CreateTable
CREATE TABLE `consumers_individual` (
`first_name` VARCHAR(191) NOT NULL,
`last_name` VARCHAR(191) NOT NULL,
`mobile_number` VARCHAR(191) NOT NULL,
`national_code` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `consumers_individual_mobile_number_consumer_id_key`(`mobile_number`, `consumer_id`),
UNIQUE INDEX `consumers_individual_partner_id_national_code_key`(`partner_id`, `national_code`),
PRIMARY KEY (`consumer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `consumers_legal` (
`name` VARCHAR(191) NOT NULL,
`registration_code` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`partner_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `consumers_legal_partner_id_registration_code_key`(`partner_id`, `registration_code`),
PRIMARY KEY (`consumer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `business_activities` (
`id` VARCHAR(191) NOT NULL,
`economic_code` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`fiscal_id` VARCHAR(191) NOT NULL,
`partner_token` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`guild_id` VARCHAR(191) NOT NULL,
`consumer_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `business_activities_economic_code_consumer_id_key`(`economic_code`, `consumer_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `complexes` (
`id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`branch_code` VARCHAR(191) NOT NULL,
`address` VARCHAR(191) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`business_activity_id` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `poses` (
`id` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`model` VARCHAR(191) NULL,
`serial_number` VARCHAR(191) NULL,
`status` ENUM('ACTIVE', 'DISABLED') NOT NULL DEFAULT 'ACTIVE',
`pos_type` ENUM('PSP', 'MOBILE', 'WEB', 'API') NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`complex_id` VARCHAR(191) NOT NULL,
`device_id` VARCHAR(191) NULL,
`provider_id` VARCHAR(191) NULL,
`account_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `poses_serial_number_key`(`serial_number`),
UNIQUE INDEX `poses_account_id_key`(`account_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
@@ -316,18 +407,19 @@ CREATE TABLE `goods` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`name` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL,
`is_default_guild_good` BOOLEAN NOT NULL DEFAULT false, `is_default_guild_good` BOOLEAN NOT NULL DEFAULT false,
`sku` VARCHAR(100) NOT NULL,
`unit_type` ENUM('COUNT', 'GRAM', 'KILOGRAM', 'MILLILITER', 'LITER', 'METER', 'HOUR') NOT NULL,
`pricing_model` ENUM('STANDARD', 'GOLD') NOT NULL, `pricing_model` ENUM('STANDARD', 'GOLD') NOT NULL,
`description` TEXT NULL, `description` TEXT NULL,
`local_sku` VARCHAR(100) NULL, `local_sku` VARCHAR(100) NULL,
`barcode` VARCHAR(100) NULL, `barcode` VARCHAR(100) NULL,
`base_sale_price` DECIMAL(15, 0) NULL DEFAULT 0.00, `base_sale_price` DECIMAL(15, 0) NULL DEFAULT 0.00,
`image_url` VARCHAR(255) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`deleted_at` TIMESTAMP(0) NULL, `deleted_at` TIMESTAMP(0) NULL,
`complex_id` VARCHAR(191) NULL, `sku_id` VARCHAR(191) NOT NULL,
`measure_unit_id` VARCHAR(191) NOT NULL,
`category_id` VARCHAR(191) NULL, `category_id` VARCHAR(191) NULL,
`business_activity_id` VARCHAR(191) NULL,
UNIQUE INDEX `goods_local_sku_key`(`local_sku`), UNIQUE INDEX `goods_local_sku_key`(`local_sku`),
UNIQUE INDEX `goods_barcode_key`(`barcode`), UNIQUE INDEX `goods_barcode_key`(`barcode`),
@@ -351,6 +443,87 @@ CREATE TABLE `good_categories` (
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `measure_units` (
`id` VARCHAR(191) NOT NULL,
`code` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
UNIQUE INDEX `measure_units_code_key`(`code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `stock_keeping_units` (
`id` VARCHAR(191) NOT NULL,
`code` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`VAT` DECIMAL(5, 2) NOT NULL,
`type` ENUM('GOLD') NOT NULL DEFAULT 'GOLD',
`is_public` BOOLEAN NOT NULL DEFAULT true,
`is_domestic` BOOLEAN NOT NULL DEFAULT false,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
UNIQUE INDEX `stock_keeping_units_code_key`(`code`),
INDEX `stock_keeping_units_code_idx`(`code`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `trigger_logs` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`message` TEXT NOT NULL,
`createdAt` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`name` TEXT NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `customers` (
`id` VARCHAR(191) NOT NULL,
`is_favorite` BOOLEAN NULL DEFAULT false,
`type` ENUM('INDIVIDUAL', 'LEGAL', 'UNKNOWN') NOT NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`deleted_at` TIMESTAMP(0) NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `customer_individuals` (
`first_name` VARCHAR(255) NOT NULL,
`last_name` VARCHAR(255) NOT NULL,
`national_id` CHAR(10) NOT NULL,
`mobile_number` CHAR(15) NOT NULL,
`postal_code` CHAR(10) NOT NULL,
`economic_code` CHAR(10) NULL,
`customer_id` VARCHAR(191) NOT NULL,
`business_activity_id` VARCHAR(191) NOT NULL,
INDEX `customer_individuals_business_activity_id_idx`(`business_activity_id`),
UNIQUE INDEX `customer_individuals_business_activity_id_national_id_key`(`business_activity_id`, `national_id`),
PRIMARY KEY (`customer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `customer_legal` (
`name` VARCHAR(255) NOT NULL,
`economic_code` CHAR(10) NOT NULL,
`registration_number` CHAR(20) NULL,
`postal_code` CHAR(10) NOT NULL,
`customer_id` VARCHAR(191) NOT NULL,
`business_activity_id` VARCHAR(191) NOT NULL,
INDEX `customer_legal_business_activity_id_idx`(`business_activity_id`),
UNIQUE INDEX `customer_legal_business_activity_id_economic_code_key`(`business_activity_id`, `economic_code`),
PRIMARY KEY (`customer_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `guilds` ( CREATE TABLE `guilds` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
@@ -367,16 +540,18 @@ CREATE TABLE `sales_invoices` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`code` VARCHAR(100) NOT NULL, `code` VARCHAR(100) NOT NULL,
`total_amount` DECIMAL(15, 2) NOT NULL, `total_amount` DECIMAL(15, 2) NOT NULL,
`invoice_number` INTEGER NOT NULL,
`invoice_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`notes` TEXT NULL, `notes` TEXT NULL,
`unknown_customer` JSON NULL, `unknown_customer` JSON NULL,
`invoice_date` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL, `updated_at` TIMESTAMP(0) NOT NULL,
`customer_id` VARCHAR(191) NULL, `customer_id` VARCHAR(191) NULL,
`account_id` VARCHAR(191) NOT NULL, `consumer_account_id` VARCHAR(191) NOT NULL,
`pos_id` VARCHAR(191) NOT NULL, `pos_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sales_invoices_code_key`(`code`), UNIQUE INDEX `sales_invoices_code_key`(`code`),
UNIQUE INDEX `sales_invoices_invoice_number_pos_id_key`(`invoice_number`, `pos_id`),
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
@@ -384,34 +559,90 @@ CREATE TABLE `sales_invoices` (
CREATE TABLE `sales_invoice_items` ( CREATE TABLE `sales_invoice_items` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`quantity` DECIMAL(10, 0) NOT NULL, `quantity` DECIMAL(10, 0) NOT NULL,
`unit_type` ENUM('COUNT', 'GRAM', 'KILOGRAM', 'MILLILITER', 'LITER', 'METER', 'HOUR') NOT NULL, `measure_unit_text` VARCHAR(50) NOT NULL,
`measure_unit_code` VARCHAR(50) NOT NULL,
`sku_code` VARCHAR(50) NOT NULL,
`sku_vat` DECIMAL(15, 2) NOT NULL DEFAULT 0.00,
`unit_price` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `unit_price` DECIMAL(15, 2) NOT NULL DEFAULT 0.00,
`total_amount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `total_amount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`discount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `discount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00,
`notes` TEXT NULL, `notes` TEXT NULL,
`payload` JSON NULL,
`good_snapshot` JSON NULL,
`invoice_id` VARCHAR(191) NOT NULL, `invoice_id` VARCHAR(191) NOT NULL,
`good_id` VARCHAR(191) NULL, `good_id` VARCHAR(191) NULL,
`service_id` VARCHAR(191) NULL, `service_id` VARCHAR(191) NULL,
`payload` JSON NULL,
INDEX `sales_invoice_items_invoice_id_good_id_idx`(`invoice_id`, `good_id`), INDEX `sales_invoice_items_invoice_id_good_id_idx`(`invoice_id`, `good_id`),
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `sale_invoice_fiscals` (
`id` VARCHAR(191) NOT NULL,
`retry_count` INTEGER NOT NULL DEFAULT 0,
`last_attempt_at` TIMESTAMP(0) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`updated_at` TIMESTAMP(0) NOT NULL,
`invoice_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sale_invoice_fiscals_invoice_id_key`(`invoice_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `sale_invoice_fiscal_attempts` (
`id` VARCHAR(191) NOT NULL,
`attempt_no` INTEGER NOT NULL,
`status` ENUM('SUCCESS', 'FAILURE', 'NOT_SEND', 'QUEUED') NOT NULL,
`tax_id` VARCHAR(191) NULL,
`type` ENUM('MAIN', 'UPDATE', 'REVOKE', 'REMOVE') NOT NULL,
`request_payload` JSON NULL,
`response_payload` JSON NULL,
`error_message` TEXT NULL,
`sent_at` TIMESTAMP(0) NULL,
`received_at` TIMESTAMP(0) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`fiscal_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sale_invoice_fiscal_attempts_tax_id_key`(`tax_id`),
INDEX `sale_invoice_fiscal_attempts_status_idx`(`status`),
INDEX `sale_invoice_fiscal_attempts_tax_id_idx`(`tax_id`),
UNIQUE INDEX `sale_invoice_fiscal_attempts_fiscal_id_attempt_no_key`(`fiscal_id`, `attempt_no`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `sales_invoice_payments` ( CREATE TABLE `sales_invoice_payments` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
`invoice_id` VARCHAR(191) NOT NULL,
`amount` DECIMAL(15, 2) NOT NULL, `amount` DECIMAL(15, 2) NOT NULL,
`payment_method` ENUM('TERMINAL', 'CASH', 'SET_OFF', 'CARD', 'BANK', 'CHECK', 'OTHER') NOT NULL, `payment_method` ENUM('TERMINAL', 'CASH', 'SET_OFF', 'CARD', 'BANK', 'CHECK', 'OTHER') NOT NULL,
`paid_at` DATETIME(3) NOT NULL, `paid_at` TIMESTAMP(0) NOT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`invoice_id` VARCHAR(191) NOT NULL,
INDEX `sales_invoice_payments_invoice_id_idx`(`invoice_id`), INDEX `sales_invoice_payments_invoice_id_idx`(`invoice_id`),
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `sales_invoice_payment_terminal_info` (
`id` VARCHAR(191) NOT NULL,
`terminal_id` VARCHAR(191) NOT NULL,
`stan` VARCHAR(191) NOT NULL,
`rrn` VARCHAR(191) NOT NULL,
`transaction_date_time` DATETIME(3) NOT NULL,
`customer_card_no` VARCHAR(191) NULL,
`description` VARCHAR(191) NULL,
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`payment_id` VARCHAR(191) NOT NULL,
UNIQUE INDEX `sales_invoice_payment_terminal_info_payment_id_key`(`payment_id`),
UNIQUE INDEX `sales_invoice_payment_terminal_info_terminal_id_stan_rrn_pay_key`(`terminal_id`, `stan`, `rrn`, `payment_id`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable -- CreateTable
CREATE TABLE `services` ( CREATE TABLE `services` (
`id` VARCHAR(191) NOT NULL, `id` VARCHAR(191) NOT NULL,
@@ -456,12 +687,99 @@ ALTER TABLE `admin_accounts` ADD CONSTRAINT `admin_accounts_admin_id_fkey` FOREI
-- AddForeignKey -- AddForeignKey
ALTER TABLE `admin_accounts` ADD CONSTRAINT `admin_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `admin_accounts` ADD CONSTRAINT `admin_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `devices` ADD CONSTRAINT `devices_brand_id_fkey` FOREIGN KEY (`brand_id`) REFERENCES `device_brands`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_charged_transactions` ADD CONSTRAINT `license_charged_transactions_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_charged_transactions`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew_charge_transaction` ADD CONSTRAINT `license_renew_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_renew_charge_transaction`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_activation_id_fkey` FOREIGN KEY (`activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_charge_transaction` ADD CONSTRAINT `partner_account_quota_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_account_quota_credit` ADD CONSTRAINT `partner_account_quota_credit_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `partner_account_quota_charge_transaction`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_license_activation_id_fkey` FOREIGN KEY (`license_activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_credit_id_fkey` FOREIGN KEY (`credit_id`) REFERENCES `partner_account_quota_credit`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_consumers` ADD CONSTRAINT `permission_consumers_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_business_id_fkey` FOREIGN KEY (`business_id`) REFERENCES `business_activities`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `consumer_devices` ADD CONSTRAINT `consumer_devices_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `consumers_individual` ADD CONSTRAINT `consumers_individual_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `consumers_individual` ADD CONSTRAINT `consumers_individual_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `consumers_legal` ADD CONSTRAINT `consumers_legal_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `consumers_legal` ADD CONSTRAINT `consumers_legal_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `business_activities` ADD CONSTRAINT `business_activities_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `business_activities` ADD CONSTRAINT `business_activities_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -481,64 +799,19 @@ ALTER TABLE `poses` ADD CONSTRAINT `poses_device_id_fkey` FOREIGN KEY (`device_i
ALTER TABLE `poses` ADD CONSTRAINT `poses_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `poses` ADD CONSTRAINT `poses_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `devices` ADD CONSTRAINT `devices_brand_id_fkey` FOREIGN KEY (`brand_id`) REFERENCES `device_brands`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `poses` ADD CONSTRAINT `poses_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `goods` ADD CONSTRAINT `goods_sku_id_fkey` FOREIGN KEY (`sku_id`) REFERENCES `stock_keeping_units`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `licenses` ADD CONSTRAINT `licenses_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `goods` ADD CONSTRAINT `goods_measure_unit_id_fkey` FOREIGN KEY (`measure_unit_id`) REFERENCES `measure_units`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_consumers` ADD CONSTRAINT `permission_consumers_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_business_id_fkey` FOREIGN KEY (`business_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `goods` ADD CONSTRAINT `goods_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `good_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `goods` ADD CONSTRAINT `goods_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `good_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `goods` ADD CONSTRAINT `goods_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `goods` ADD CONSTRAINT `goods_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
@@ -546,14 +819,26 @@ ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_guild_id_fkey` FOR
-- AddForeignKey -- AddForeignKey
ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -564,8 +849,17 @@ ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_good_id_fk
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_service_id_fkey` FOREIGN KEY (`service_id`) REFERENCES `services`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_service_id_fkey` FOREIGN KEY (`service_id`) REFERENCES `services`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `sale_invoice_fiscals` ADD CONSTRAINT `sale_invoice_fiscals_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `sale_invoice_fiscal_attempts` ADD CONSTRAINT `sale_invoice_fiscal_attempts_fiscal_id_fkey` FOREIGN KEY (`fiscal_id`) REFERENCES `sale_invoice_fiscals`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `sales_invoice_payments` ADD CONSTRAINT `sales_invoice_payments_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE `sales_invoice_payments` ADD CONSTRAINT `sales_invoice_payments_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `sales_invoice_payment_terminal_info` ADD CONSTRAINT `sales_invoice_payment_terminal_info_payment_id_fkey` FOREIGN KEY (`payment_id`) REFERENCES `sales_invoice_payments`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
ALTER TABLE `services` ADD CONSTRAINT `services_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `service_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE `services` ADD CONSTRAINT `services_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `service_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
+1 -1
View File
@@ -8,7 +8,7 @@ model AdminAccount {
admin Admin @relation(fields: [admin_id], references: [id]) admin Admin @relation(fields: [admin_id], references: [id])
account_id String @unique account_id String @unique
account Account @relation(fields: [account_id], references: [id]) account Account @relation(fields: [account_id], references: [id], onDelete: Cascade)
@@map("admin_accounts") @@map("admin_accounts")
} }
+12
View File
@@ -10,6 +10,18 @@ model Account {
partner_account PartnerAccount? partner_account PartnerAccount?
consumer_account ConsumerAccount? consumer_account ConsumerAccount?
// admin_account_id String? @unique
// admin_account AdminAccount? @relation(fields: [admin_account_id], references: [id], onDelete: Cascade)
// provider_account_id String? @unique
// provider_account ProviderAccount? @relation(fields: [provider_account_id], references: [id], onDelete: Cascade)
// partner_account_id String? @unique
// partner_account PartnerAccount? @relation(fields: [partner_account_id], references: [id], onDelete: Cascade)
// consumer_account_id String? @unique
// consumer_account ConsumerAccount? @relation(fields: [consumer_account_id], references: [id], onDelete: Cascade)
// tokens Token[] // tokens Token[]
// refresh_tokens RefreshToken[] // refresh_tokens RefreshToken[]
+1 -1
View File
@@ -9,7 +9,7 @@ model PartnerAccount {
partner Partner @relation(fields: [partner_id], references: [id]) partner Partner @relation(fields: [partner_id], references: [id])
account_id String @unique account_id String @unique
account Account @relation(fields: [account_id], references: [id]) account Account @relation(fields: [account_id], references: [id], onDelete: Cascade)
@@map("partner_accounts") @@map("partner_accounts")
} }
+1 -1
View File
@@ -9,7 +9,7 @@ model ProviderAccount {
provider Provider @relation(fields: [provider_id], references: [id]) provider Provider @relation(fields: [provider_id], references: [id])
account_id String @unique account_id String @unique
account Account @relation(fields: [account_id], references: [id]) account Account @relation(fields: [account_id], references: [id], onDelete: Cascade)
@@map("provider_accounts") @@map("provider_accounts")
} }
@@ -2,8 +2,6 @@ model Good {
id String @id @default(ulid()) id String @id @default(ulid())
name String @db.VarChar(255) name String @db.VarChar(255)
is_default_guild_good Boolean @default(false) is_default_guild_good Boolean @default(false)
sku String @db.VarChar(100)
unit_type UnitType
pricing_model GoodPricingModel pricing_model GoodPricingModel
description String? @db.Text description String? @db.Text
local_sku String? @unique() @db.VarChar(100) local_sku String? @unique() @db.VarChar(100)
@@ -15,6 +13,12 @@ model Good {
updated_at DateTime @updatedAt @db.Timestamp(0) updated_at DateTime @updatedAt @db.Timestamp(0)
deleted_at DateTime? @db.Timestamp(0) deleted_at DateTime? @db.Timestamp(0)
sku_id String
sku StockKeepingUnits @relation(fields: [sku_id], references: [id])
measure_unit_id String
measure_unit MeasureUnits @relation(fields: [measure_unit_id], references: [id])
category_id String? category_id String?
category GoodCategory? @relation(fields: [category_id], references: [id]) category GoodCategory? @relation(fields: [category_id], references: [id])
@@ -0,0 +1,12 @@
model MeasureUnits {
id String @id @default(ulid())
code String @unique
name String
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @default(now()) @updatedAt @db.Timestamp(0)
goods Good[]
@@map("measure_units")
}
+17
View File
@@ -0,0 +1,17 @@
model StockKeepingUnits {
id String @id @default(ulid())
code String @unique
name String
VAT Decimal @db.Decimal(5, 2)
type SKUGuildType @default(GOLD)
is_public Boolean @default(true)
is_domestic Boolean @default(false)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
goods Good[]
@@index([code])
@@map("stock_keeping_units")
}
+1 -1
View File
@@ -36,7 +36,7 @@ model CustomerIndividual {
} }
model CustomerLegal { model CustomerLegal {
company_name String @db.VarChar(255) name String @db.VarChar(255)
economic_code String @db.Char(10) economic_code String @db.Char(10)
registration_number String? @db.Char(20) registration_number String? @db.Char(20)
postal_code String @db.Char(10) postal_code String @db.Char(10)
+17
View File
@@ -165,4 +165,21 @@ enum FiscalResponseStatus {
SUCCESS SUCCESS
FAILURE FAILURE
NOT_SEND NOT_SEND
QUEUED
}
enum FiscalRequestType {
MAIN
UPDATE
REVOKE
REMOVE
}
enum FiscalInvoiceCustomerType {
Unknown
Known
}
enum SKUGuildType {
GOLD
} }
+14 -10
View File
@@ -30,14 +30,17 @@ model SalesInvoice {
} }
model SalesInvoiceItem { model SalesInvoiceItem {
id String @id @default(ulid()) id String @id @default(ulid())
quantity Decimal @db.Decimal(10, 0) quantity Decimal @db.Decimal(10, 0)
unit_type UnitType measure_unit_text String @db.VarChar(50)
unit_price Decimal @default(0.00) @db.Decimal(15, 2) measure_unit_code String @db.VarChar(50)
total_amount Decimal @default(0.00) @db.Decimal(15, 2) sku_code String @db.VarChar(50)
created_at DateTime @default(now()) @db.Timestamp(0) sku_vat Decimal @default(0.00) @db.Decimal(15, 2)
discount Decimal @default(0.00) @db.Decimal(15, 2) unit_price Decimal @default(0.00) @db.Decimal(15, 2)
notes String? @db.Text total_amount Decimal @default(0.00) @db.Decimal(15, 2)
created_at DateTime @default(now()) @db.Timestamp(0)
discount Decimal @default(0.00) @db.Decimal(15, 2)
notes String? @db.Text
payload Json? payload Json?
good_snapshot Json? good_snapshot Json?
@@ -76,8 +79,9 @@ model SaleInvoiceFiscalAttempts {
id String @id @default(ulid()) id String @id @default(ulid())
attempt_no Int attempt_no Int
status String @db.VarChar(50) status FiscalResponseStatus
tax_id String? @unique @db.VarChar(191) tax_id String? @unique @db.VarChar(191)
type FiscalRequestType
request_payload Json? request_payload Json?
response_payload Json? response_payload Json?
+557 -406
View File
File diff suppressed because it is too large Load Diff
+147
View File
@@ -0,0 +1,147 @@
import fs from 'node:fs'
import path from 'node:path'
import { prisma } from '../src/lib/prisma'
type CsvRow = {
ID?: string
DescriptionOfID?: string
Vat?: string
Type?: string
}
function parseCsvLine(line: string): string[] {
const result: string[] = []
let current = ''
let inQuotes = false
for (let index = 0; index < line.length; index++) {
const char = line[index]
if (char === '"') {
if (inQuotes && line[index + 1] === '"') {
current += '"'
index++
} else {
inQuotes = !inQuotes
}
continue
}
if (char === ',' && !inQuotes) {
result.push(current)
current = ''
continue
}
current += char
}
result.push(current)
return result.map(value => value.trim())
}
function parseCsv(content: string): CsvRow[] {
const lines = content
.split(/\r?\n/)
.map(line => line.trim())
.filter(Boolean)
if (!lines.length) return []
const headers = parseCsvLine(lines[0])
return lines.slice(1).map(line => {
const cols = parseCsvLine(line)
const row: Record<string, string> = {}
for (let index = 0; index < headers.length; index++) {
row[headers[index]] = cols[index] || ''
}
return row
})
}
function toBooleanFlags(typeValue: string) {
const normalized = typeValue || ''
const isPublic = normalized.includes('شناسه عمومی')
const isImported = normalized.includes('وارداتی')
const isDomestic = !isImported
return { isPublic, isDomestic }
}
function parseVat(vatValue: string) {
const parsed = Number(vatValue || '0')
if (!Number.isFinite(parsed)) return 0
return parsed
}
async function main() {
const defaultPath =
'/Users/ahasani/Desktop/product_good_2026-05-01T11-35-57_part_1_28812448-0dd9-411c-99e1-334c28d781fe.csv'
const csvPath = process.argv[2] || defaultPath
const absolutePath = path.resolve(csvPath)
if (!fs.existsSync(absolutePath)) {
throw new Error(`CSV file not found: ${absolutePath}`)
}
const raw = fs.readFileSync(absolutePath, 'utf8').replace(/^\uFEFF/, '')
const rows = parseCsv(raw)
let upserted = 0
let skipped = 0
for (const row of rows) {
const code = (row.ID || '').trim()
const name = (row.DescriptionOfID || '').trim()
const vat = parseVat((row.Vat || '').trim())
const type = (row.Type || '').trim()
const { isPublic, isDomestic } = toBooleanFlags(type)
if (!code || !name) {
skipped++
continue
}
await prisma.stockKeepingUnits.upsert({
where: { code },
create: {
code,
name,
VAT: vat,
type: 'GOLD',
is_public: isPublic,
is_domestic: isDomestic,
},
update: {
name,
VAT: vat,
type: 'GOLD',
is_public: isPublic,
is_domestic: isDomestic,
},
})
upserted++
}
console.log(
JSON.stringify(
{
csvPath: absolutePath,
totalRows: rows.length,
upserted,
skipped,
},
null,
2,
),
)
}
main()
.catch(error => {
console.error(error)
process.exit(1)
})
.finally(async () => {
await prisma.$disconnect()
})
+20 -1
View File
@@ -1,3 +1,5 @@
import { FiscalResponseStatus } from '@/generated/prisma/enums'
export default { export default {
PaymentMethodType: { PaymentMethodType: {
TERMINAL: 'ترمینال', TERMINAL: 'ترمینال',
@@ -12,7 +14,6 @@ export default {
COUNT: 'تعداد', COUNT: 'تعداد',
GRAM: 'گرم', GRAM: 'گرم',
KILOGRAM: 'کیلوگرم', KILOGRAM: 'کیلوگرم',
KILO_GRAM: 'کیلوگرم',
LITER: 'لیتر', LITER: 'لیتر',
MILLILITER: 'میلی‌لیتر', MILLILITER: 'میلی‌لیتر',
METER: 'متر', METER: 'متر',
@@ -96,6 +97,10 @@ export default {
MANAGER: 'مدیریت', MANAGER: 'مدیریت',
OPERATOR: 'اپراتور', OPERATOR: 'اپراتور',
}, },
ComplexRole: {
MANAGER: 'مدیریت',
OPERATOR: 'اپراتور',
},
ConsumerRole: { ConsumerRole: {
OWNER: 'مدیر اصلی', OWNER: 'مدیر اصلی',
MANAGER: 'مدیریت', MANAGER: 'مدیریت',
@@ -135,6 +140,20 @@ export default {
SUCCESS: 'موفق', SUCCESS: 'موفق',
FAILURE: 'ناموفق', FAILURE: 'ناموفق',
NOT_SEND: 'ارسال نشده', NOT_SEND: 'ارسال نشده',
[FiscalResponseStatus.QUEUED]: 'در صف ارسال',
},
FiscalRequestType: {
MAIN: 'اصلی',
UPDATE: 'اصلاح',
REVOKE: 'ابطال',
REMOVE: 'حذف',
},
FiscalInvoiceCustomerType: {
Unknown: 'ناشناس',
Known: 'شناسایی شده',
},
SKUGuildType: {
GOLD: 'طلا',
}, },
GoldKarat: { GoldKarat: {
KARAT_18: '۱۸ عیار', KARAT_18: '۱۸ عیار',
+16 -13
View File
@@ -1,22 +1,25 @@
export enum TokenType {
ACCESS = 'ACCESS',
REFRESH = 'REFRESH',
}
export enum AccountType {
PARTNER = 'PARTNER',
BUSINESS = 'BUSINESS',
ADMIN = 'ADMIN',
PROVIDER = 'PROVIDER',
POS = 'POS',
}
export enum GoldKarat { export enum GoldKarat {
KARAT_18 = '18', KARAT_18 = '18',
KARAT_21 = '21', KARAT_21 = '21',
KARAT_24 = '24', KARAT_24 = '24',
} }
export enum FiscalRequestType {
MAIN = 'MAIN',
UPDATE = 'UPDATE',
REVOKE = 'REVOKE',
REMOVE = 'REMOVE',
}
export enum FiscalInvoiceCustomerType {
Unknown = 'Unknown',
Known = 'Known',
}
export enum SKUGuildType {
GOLD = 'GOLD',
}
export const UploadedFileTypes = { export const UploadedFileTypes = {
GOOD: 'good', GOOD: 'good',
SERVICE: 'service', SERVICE: 'service',
+20 -10
View File
@@ -167,6 +167,26 @@ export type Complex = Prisma.ComplexModel
* *
*/ */
export type Pos = Prisma.PosModel export type Pos = Prisma.PosModel
/**
* Model Good
*
*/
export type Good = Prisma.GoodModel
/**
* Model GoodCategory
*
*/
export type GoodCategory = Prisma.GoodCategoryModel
/**
* Model MeasureUnits
*
*/
export type MeasureUnits = Prisma.MeasureUnitsModel
/**
* Model StockKeepingUnits
*
*/
export type StockKeepingUnits = Prisma.StockKeepingUnitsModel
/** /**
* Model TriggerLog * Model TriggerLog
* *
@@ -187,16 +207,6 @@ export type CustomerIndividual = Prisma.CustomerIndividualModel
* *
*/ */
export type CustomerLegal = Prisma.CustomerLegalModel export type CustomerLegal = Prisma.CustomerLegalModel
/**
* Model Good
*
*/
export type Good = Prisma.GoodModel
/**
* Model GoodCategory
*
*/
export type GoodCategory = Prisma.GoodCategoryModel
/** /**
* Model Guild * Model Guild
* *
+20 -10
View File
@@ -189,6 +189,26 @@ export type Complex = Prisma.ComplexModel
* *
*/ */
export type Pos = Prisma.PosModel export type Pos = Prisma.PosModel
/**
* Model Good
*
*/
export type Good = Prisma.GoodModel
/**
* Model GoodCategory
*
*/
export type GoodCategory = Prisma.GoodCategoryModel
/**
* Model MeasureUnits
*
*/
export type MeasureUnits = Prisma.MeasureUnitsModel
/**
* Model StockKeepingUnits
*
*/
export type StockKeepingUnits = Prisma.StockKeepingUnitsModel
/** /**
* Model TriggerLog * Model TriggerLog
* *
@@ -209,16 +229,6 @@ export type CustomerIndividual = Prisma.CustomerIndividualModel
* *
*/ */
export type CustomerLegal = Prisma.CustomerLegalModel export type CustomerLegal = Prisma.CustomerLegalModel
/**
* Model Good
*
*/
export type Good = Prisma.GoodModel
/**
* Model GoodCategory
*
*/
export type GoodCategory = Prisma.GoodCategoryModel
/** /**
* Model Guild * Model Guild
* *
+208 -140
View File
@@ -490,68 +490,6 @@ export type EnumPOSTypeWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedEnumPOSTypeFilter<$PrismaModel> _max?: Prisma.NestedEnumPOSTypeFilter<$PrismaModel>
} }
export type BoolNullableFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null
}
export type EnumCustomerTypeFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel> | $Enums.CustomerType
}
export type DateTimeNullableFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
}
export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedBoolNullableFilter<$PrismaModel>
_max?: Prisma.NestedBoolNullableFilter<$PrismaModel>
}
export type EnumCustomerTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel> | $Enums.CustomerType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
}
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
_max?: Prisma.NestedDateTimeNullableFilter<$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> = { export type EnumGoodPricingModelFilter<$PrismaModel = never> = {
equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel>
in?: $Enums.GoodPricingModel[] in?: $Enums.GoodPricingModel[]
@@ -570,14 +508,15 @@ export type DecimalNullableFilter<$PrismaModel = never> = {
not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null
} }
export type EnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { export type DateTimeNullableFilter<$PrismaModel = never> = {
equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: $Enums.UnitType[] in?: Date[] | string[] | null
notIn?: $Enums.UnitType[] notIn?: Date[] | string[] | null
not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_count?: Prisma.NestedIntFilter<$PrismaModel> lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
} }
export type EnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = { export type EnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = {
@@ -606,6 +545,20 @@ export type DecimalNullableWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedDecimalNullableFilter<$PrismaModel> _max?: Prisma.NestedDecimalNullableFilter<$PrismaModel>
} }
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
}
export type DecimalFilter<$PrismaModel = never> = { export type DecimalFilter<$PrismaModel = never> = {
equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel>
in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[]
@@ -617,6 +570,13 @@ export type DecimalFilter<$PrismaModel = never> = {
not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string
} }
export type EnumSKUGuildTypeFilter<$PrismaModel = never> = {
equals?: $Enums.SKUGuildType | Prisma.EnumSKUGuildTypeFieldRefInput<$PrismaModel>
in?: $Enums.SKUGuildType[]
notIn?: $Enums.SKUGuildType[]
not?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel> | $Enums.SKUGuildType
}
export type DecimalWithAggregatesFilter<$PrismaModel = never> = { export type DecimalWithAggregatesFilter<$PrismaModel = never> = {
equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel>
in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[]
@@ -633,6 +593,80 @@ export type DecimalWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedDecimalFilter<$PrismaModel> _max?: Prisma.NestedDecimalFilter<$PrismaModel>
} }
export type EnumSKUGuildTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.SKUGuildType | Prisma.EnumSKUGuildTypeFieldRefInput<$PrismaModel>
in?: $Enums.SKUGuildType[]
notIn?: $Enums.SKUGuildType[]
not?: Prisma.NestedEnumSKUGuildTypeWithAggregatesFilter<$PrismaModel> | $Enums.SKUGuildType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel>
}
export type BoolNullableFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null
}
export type EnumCustomerTypeFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel> | $Enums.CustomerType
}
export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedBoolNullableFilter<$PrismaModel>
_max?: Prisma.NestedBoolNullableFilter<$PrismaModel>
}
export type EnumCustomerTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel> | $Enums.CustomerType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
}
export type EnumFiscalResponseStatusFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalResponseStatus | Prisma.EnumFiscalResponseStatusFieldRefInput<$PrismaModel>
in?: $Enums.FiscalResponseStatus[]
notIn?: $Enums.FiscalResponseStatus[]
not?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel> | $Enums.FiscalResponseStatus
}
export type EnumFiscalRequestTypeFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalRequestType | Prisma.EnumFiscalRequestTypeFieldRefInput<$PrismaModel>
in?: $Enums.FiscalRequestType[]
notIn?: $Enums.FiscalRequestType[]
not?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel> | $Enums.FiscalRequestType
}
export type EnumFiscalResponseStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalResponseStatus | Prisma.EnumFiscalResponseStatusFieldRefInput<$PrismaModel>
in?: $Enums.FiscalResponseStatus[]
notIn?: $Enums.FiscalResponseStatus[]
not?: Prisma.NestedEnumFiscalResponseStatusWithAggregatesFilter<$PrismaModel> | $Enums.FiscalResponseStatus
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel>
_max?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel>
}
export type EnumFiscalRequestTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalRequestType | Prisma.EnumFiscalRequestTypeFieldRefInput<$PrismaModel>
in?: $Enums.FiscalRequestType[]
notIn?: $Enums.FiscalRequestType[]
not?: Prisma.NestedEnumFiscalRequestTypeWithAggregatesFilter<$PrismaModel> | $Enums.FiscalRequestType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel>
}
export type EnumPaymentMethodTypeFilter<$PrismaModel = never> = { export type EnumPaymentMethodTypeFilter<$PrismaModel = never> = {
equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel> equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel>
in?: $Enums.PaymentMethodType[] in?: $Enums.PaymentMethodType[]
@@ -1116,68 +1150,6 @@ export type NestedEnumPOSTypeWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedEnumPOSTypeFilter<$PrismaModel> _max?: Prisma.NestedEnumPOSTypeFilter<$PrismaModel>
} }
export type NestedBoolNullableFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null
}
export type NestedEnumCustomerTypeFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel> | $Enums.CustomerType
}
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
}
export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedBoolNullableFilter<$PrismaModel>
_max?: Prisma.NestedBoolNullableFilter<$PrismaModel>
}
export type NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel> | $Enums.CustomerType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
}
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
_max?: Prisma.NestedDateTimeNullableFilter<$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> = { export type NestedEnumGoodPricingModelFilter<$PrismaModel = never> = {
equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel> equals?: $Enums.GoodPricingModel | Prisma.EnumGoodPricingModelFieldRefInput<$PrismaModel>
in?: $Enums.GoodPricingModel[] in?: $Enums.GoodPricingModel[]
@@ -1196,14 +1168,15 @@ export type NestedDecimalNullableFilter<$PrismaModel = never> = {
not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null
} }
export type NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel = never> = { export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
equals?: $Enums.UnitType | Prisma.EnumUnitTypeFieldRefInput<$PrismaModel> equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: $Enums.UnitType[] in?: Date[] | string[] | null
notIn?: $Enums.UnitType[] notIn?: Date[] | string[] | null
not?: Prisma.NestedEnumUnitTypeWithAggregatesFilter<$PrismaModel> | $Enums.UnitType lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_count?: Prisma.NestedIntFilter<$PrismaModel> lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_min?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
_max?: Prisma.NestedEnumUnitTypeFilter<$PrismaModel> gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
} }
export type NestedEnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = { export type NestedEnumGoodPricingModelWithAggregatesFilter<$PrismaModel = never> = {
@@ -1232,6 +1205,20 @@ export type NestedDecimalNullableWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedDecimalNullableFilter<$PrismaModel> _max?: Prisma.NestedDecimalNullableFilter<$PrismaModel>
} }
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | null
notIn?: Date[] | string[] | null
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
}
export type NestedDecimalFilter<$PrismaModel = never> = { export type NestedDecimalFilter<$PrismaModel = never> = {
equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel>
in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[]
@@ -1243,6 +1230,13 @@ export type NestedDecimalFilter<$PrismaModel = never> = {
not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string
} }
export type NestedEnumSKUGuildTypeFilter<$PrismaModel = never> = {
equals?: $Enums.SKUGuildType | Prisma.EnumSKUGuildTypeFieldRefInput<$PrismaModel>
in?: $Enums.SKUGuildType[]
notIn?: $Enums.SKUGuildType[]
not?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel> | $Enums.SKUGuildType
}
export type NestedDecimalWithAggregatesFilter<$PrismaModel = never> = { export type NestedDecimalWithAggregatesFilter<$PrismaModel = never> = {
equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel>
in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[]
@@ -1259,6 +1253,80 @@ export type NestedDecimalWithAggregatesFilter<$PrismaModel = never> = {
_max?: Prisma.NestedDecimalFilter<$PrismaModel> _max?: Prisma.NestedDecimalFilter<$PrismaModel>
} }
export type NestedEnumSKUGuildTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.SKUGuildType | Prisma.EnumSKUGuildTypeFieldRefInput<$PrismaModel>
in?: $Enums.SKUGuildType[]
notIn?: $Enums.SKUGuildType[]
not?: Prisma.NestedEnumSKUGuildTypeWithAggregatesFilter<$PrismaModel> | $Enums.SKUGuildType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumSKUGuildTypeFilter<$PrismaModel>
}
export type NestedBoolNullableFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null
}
export type NestedEnumCustomerTypeFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel> | $Enums.CustomerType
}
export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null
not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
_min?: Prisma.NestedBoolNullableFilter<$PrismaModel>
_max?: Prisma.NestedBoolNullableFilter<$PrismaModel>
}
export type NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.CustomerType | Prisma.EnumCustomerTypeFieldRefInput<$PrismaModel>
in?: $Enums.CustomerType[]
notIn?: $Enums.CustomerType[]
not?: Prisma.NestedEnumCustomerTypeWithAggregatesFilter<$PrismaModel> | $Enums.CustomerType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumCustomerTypeFilter<$PrismaModel>
}
export type NestedEnumFiscalResponseStatusFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalResponseStatus | Prisma.EnumFiscalResponseStatusFieldRefInput<$PrismaModel>
in?: $Enums.FiscalResponseStatus[]
notIn?: $Enums.FiscalResponseStatus[]
not?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel> | $Enums.FiscalResponseStatus
}
export type NestedEnumFiscalRequestTypeFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalRequestType | Prisma.EnumFiscalRequestTypeFieldRefInput<$PrismaModel>
in?: $Enums.FiscalRequestType[]
notIn?: $Enums.FiscalRequestType[]
not?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel> | $Enums.FiscalRequestType
}
export type NestedEnumFiscalResponseStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalResponseStatus | Prisma.EnumFiscalResponseStatusFieldRefInput<$PrismaModel>
in?: $Enums.FiscalResponseStatus[]
notIn?: $Enums.FiscalResponseStatus[]
not?: Prisma.NestedEnumFiscalResponseStatusWithAggregatesFilter<$PrismaModel> | $Enums.FiscalResponseStatus
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel>
_max?: Prisma.NestedEnumFiscalResponseStatusFilter<$PrismaModel>
}
export type NestedEnumFiscalRequestTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.FiscalRequestType | Prisma.EnumFiscalRequestTypeFieldRefInput<$PrismaModel>
in?: $Enums.FiscalRequestType[]
notIn?: $Enums.FiscalRequestType[]
not?: Prisma.NestedEnumFiscalRequestTypeWithAggregatesFilter<$PrismaModel> | $Enums.FiscalRequestType
_count?: Prisma.NestedIntFilter<$PrismaModel>
_min?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel>
_max?: Prisma.NestedEnumFiscalRequestTypeFilter<$PrismaModel>
}
export type NestedEnumPaymentMethodTypeFilter<$PrismaModel = never> = { export type NestedEnumPaymentMethodTypeFilter<$PrismaModel = never> = {
equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel> equals?: $Enums.PaymentMethodType | Prisma.EnumPaymentMethodTypeFieldRefInput<$PrismaModel>
in?: $Enums.PaymentMethodType[] in?: $Enums.PaymentMethodType[]
+27 -1
View File
@@ -259,7 +259,33 @@ export type PartnerFiscalSwitchType = (typeof PartnerFiscalSwitchType)[keyof typ
export const FiscalResponseStatus = { export const FiscalResponseStatus = {
SUCCESS: 'SUCCESS', SUCCESS: 'SUCCESS',
FAILURE: 'FAILURE', FAILURE: 'FAILURE',
NOT_SEND: 'NOT_SEND' NOT_SEND: 'NOT_SEND',
QUEUED: 'QUEUED'
} as const } as const
export type FiscalResponseStatus = (typeof FiscalResponseStatus)[keyof typeof FiscalResponseStatus] export type FiscalResponseStatus = (typeof FiscalResponseStatus)[keyof typeof FiscalResponseStatus]
export const FiscalRequestType = {
MAIN: 'MAIN',
UPDATE: 'UPDATE',
REVOKE: 'REVOKE',
REMOVE: 'REMOVE'
} as const
export type FiscalRequestType = (typeof FiscalRequestType)[keyof typeof FiscalRequestType]
export const FiscalInvoiceCustomerType = {
Unknown: 'Unknown',
Known: 'Known'
} as const
export type FiscalInvoiceCustomerType = (typeof FiscalInvoiceCustomerType)[keyof typeof FiscalInvoiceCustomerType]
export const SKUGuildType = {
GOLD: 'GOLD'
} as const
export type SKUGuildType = (typeof SKUGuildType)[keyof typeof SKUGuildType]
File diff suppressed because one or more lines are too long
+421 -220
View File
@@ -414,12 +414,14 @@ export const ModelName = {
BusinessActivity: 'BusinessActivity', BusinessActivity: 'BusinessActivity',
Complex: 'Complex', Complex: 'Complex',
Pos: 'Pos', Pos: 'Pos',
Good: 'Good',
GoodCategory: 'GoodCategory',
MeasureUnits: 'MeasureUnits',
StockKeepingUnits: 'StockKeepingUnits',
TriggerLog: 'TriggerLog', TriggerLog: 'TriggerLog',
Customer: 'Customer', Customer: 'Customer',
CustomerIndividual: 'CustomerIndividual', CustomerIndividual: 'CustomerIndividual',
CustomerLegal: 'CustomerLegal', CustomerLegal: 'CustomerLegal',
Good: 'Good',
GoodCategory: 'GoodCategory',
Guild: 'Guild', Guild: 'Guild',
SalesInvoice: 'SalesInvoice', SalesInvoice: 'SalesInvoice',
SalesInvoiceItem: 'SalesInvoiceItem', SalesInvoiceItem: 'SalesInvoiceItem',
@@ -444,7 +446,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
omit: GlobalOmitOptions omit: GlobalOmitOptions
} }
meta: { meta: {
modelProps: "adminAccount" | "admin" | "account" | "deviceBrand" | "device" | "licenseChargeTransaction" | "license" | "licenseActivation" | "licenseRenewChargeTransaction" | "licenseRenew" | "partnerAccountQuotaChargeTransaction" | "partnerAccountQuotaCredit" | "licenseAccountAllocation" | "partnerAccount" | "partner" | "permissionConsumer" | "permissionPos" | "permissionComplex" | "permissionBusiness" | "providerAccount" | "provider" | "consumerDevices" | "applicationReleasedInfo" | "consumerAccount" | "consumer" | "consumerIndividual" | "consumerLegal" | "businessActivity" | "complex" | "pos" | "triggerLog" | "customer" | "customerIndividual" | "customerLegal" | "good" | "goodCategory" | "guild" | "salesInvoice" | "salesInvoiceItem" | "saleInvoiceFiscals" | "saleInvoiceFiscalAttempts" | "salesInvoicePayment" | "salesInvoicePaymentTerminalInfo" | "service" | "serviceCategory" modelProps: "adminAccount" | "admin" | "account" | "deviceBrand" | "device" | "licenseChargeTransaction" | "license" | "licenseActivation" | "licenseRenewChargeTransaction" | "licenseRenew" | "partnerAccountQuotaChargeTransaction" | "partnerAccountQuotaCredit" | "licenseAccountAllocation" | "partnerAccount" | "partner" | "permissionConsumer" | "permissionPos" | "permissionComplex" | "permissionBusiness" | "providerAccount" | "provider" | "consumerDevices" | "applicationReleasedInfo" | "consumerAccount" | "consumer" | "consumerIndividual" | "consumerLegal" | "businessActivity" | "complex" | "pos" | "good" | "goodCategory" | "measureUnits" | "stockKeepingUnits" | "triggerLog" | "customer" | "customerIndividual" | "customerLegal" | "guild" | "salesInvoice" | "salesInvoiceItem" | "saleInvoiceFiscals" | "saleInvoiceFiscalAttempts" | "salesInvoicePayment" | "salesInvoicePaymentTerminalInfo" | "service" | "serviceCategory"
txIsolationLevel: TransactionIsolationLevel txIsolationLevel: TransactionIsolationLevel
} }
model: { model: {
@@ -2428,6 +2430,270 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
} }
} }
} }
Good: {
payload: Prisma.$GoodPayload<ExtArgs>
fields: Prisma.GoodFieldRefs
operations: {
findUnique: {
args: Prisma.GoodFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload> | null
}
findUniqueOrThrow: {
args: Prisma.GoodFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
findFirst: {
args: Prisma.GoodFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload> | null
}
findFirstOrThrow: {
args: Prisma.GoodFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
findMany: {
args: Prisma.GoodFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>[]
}
create: {
args: Prisma.GoodCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
createMany: {
args: Prisma.GoodCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.GoodDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
update: {
args: Prisma.GoodUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
deleteMany: {
args: Prisma.GoodDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.GoodUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.GoodUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
aggregate: {
args: Prisma.GoodAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateGood>
}
groupBy: {
args: Prisma.GoodGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodGroupByOutputType>[]
}
count: {
args: Prisma.GoodCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCountAggregateOutputType> | number
}
}
}
GoodCategory: {
payload: Prisma.$GoodCategoryPayload<ExtArgs>
fields: Prisma.GoodCategoryFieldRefs
operations: {
findUnique: {
args: Prisma.GoodCategoryFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload> | null
}
findUniqueOrThrow: {
args: Prisma.GoodCategoryFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
findFirst: {
args: Prisma.GoodCategoryFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload> | null
}
findFirstOrThrow: {
args: Prisma.GoodCategoryFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
findMany: {
args: Prisma.GoodCategoryFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>[]
}
create: {
args: Prisma.GoodCategoryCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
createMany: {
args: Prisma.GoodCategoryCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.GoodCategoryDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
update: {
args: Prisma.GoodCategoryUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
deleteMany: {
args: Prisma.GoodCategoryDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.GoodCategoryUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.GoodCategoryUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
aggregate: {
args: Prisma.GoodCategoryAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateGoodCategory>
}
groupBy: {
args: Prisma.GoodCategoryGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCategoryGroupByOutputType>[]
}
count: {
args: Prisma.GoodCategoryCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCategoryCountAggregateOutputType> | number
}
}
}
MeasureUnits: {
payload: Prisma.$MeasureUnitsPayload<ExtArgs>
fields: Prisma.MeasureUnitsFieldRefs
operations: {
findUnique: {
args: Prisma.MeasureUnitsFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.MeasureUnitsFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
findFirst: {
args: Prisma.MeasureUnitsFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload> | null
}
findFirstOrThrow: {
args: Prisma.MeasureUnitsFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
findMany: {
args: Prisma.MeasureUnitsFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>[]
}
create: {
args: Prisma.MeasureUnitsCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
createMany: {
args: Prisma.MeasureUnitsCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.MeasureUnitsDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
update: {
args: Prisma.MeasureUnitsUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
deleteMany: {
args: Prisma.MeasureUnitsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.MeasureUnitsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.MeasureUnitsUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MeasureUnitsPayload>
}
aggregate: {
args: Prisma.MeasureUnitsAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateMeasureUnits>
}
groupBy: {
args: Prisma.MeasureUnitsGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.MeasureUnitsGroupByOutputType>[]
}
count: {
args: Prisma.MeasureUnitsCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.MeasureUnitsCountAggregateOutputType> | number
}
}
}
StockKeepingUnits: {
payload: Prisma.$StockKeepingUnitsPayload<ExtArgs>
fields: Prisma.StockKeepingUnitsFieldRefs
operations: {
findUnique: {
args: Prisma.StockKeepingUnitsFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.StockKeepingUnitsFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
findFirst: {
args: Prisma.StockKeepingUnitsFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload> | null
}
findFirstOrThrow: {
args: Prisma.StockKeepingUnitsFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
findMany: {
args: Prisma.StockKeepingUnitsFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>[]
}
create: {
args: Prisma.StockKeepingUnitsCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
createMany: {
args: Prisma.StockKeepingUnitsCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.StockKeepingUnitsDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
update: {
args: Prisma.StockKeepingUnitsUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
deleteMany: {
args: Prisma.StockKeepingUnitsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.StockKeepingUnitsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.StockKeepingUnitsUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$StockKeepingUnitsPayload>
}
aggregate: {
args: Prisma.StockKeepingUnitsAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateStockKeepingUnits>
}
groupBy: {
args: Prisma.StockKeepingUnitsGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.StockKeepingUnitsGroupByOutputType>[]
}
count: {
args: Prisma.StockKeepingUnitsCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.StockKeepingUnitsCountAggregateOutputType> | number
}
}
}
TriggerLog: { TriggerLog: {
payload: Prisma.$TriggerLogPayload<ExtArgs> payload: Prisma.$TriggerLogPayload<ExtArgs>
fields: Prisma.TriggerLogFieldRefs fields: Prisma.TriggerLogFieldRefs
@@ -2692,138 +2958,6 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
} }
} }
} }
Good: {
payload: Prisma.$GoodPayload<ExtArgs>
fields: Prisma.GoodFieldRefs
operations: {
findUnique: {
args: Prisma.GoodFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload> | null
}
findUniqueOrThrow: {
args: Prisma.GoodFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
findFirst: {
args: Prisma.GoodFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload> | null
}
findFirstOrThrow: {
args: Prisma.GoodFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
findMany: {
args: Prisma.GoodFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>[]
}
create: {
args: Prisma.GoodCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
createMany: {
args: Prisma.GoodCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.GoodDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
update: {
args: Prisma.GoodUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
deleteMany: {
args: Prisma.GoodDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.GoodUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.GoodUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodPayload>
}
aggregate: {
args: Prisma.GoodAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateGood>
}
groupBy: {
args: Prisma.GoodGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodGroupByOutputType>[]
}
count: {
args: Prisma.GoodCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCountAggregateOutputType> | number
}
}
}
GoodCategory: {
payload: Prisma.$GoodCategoryPayload<ExtArgs>
fields: Prisma.GoodCategoryFieldRefs
operations: {
findUnique: {
args: Prisma.GoodCategoryFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload> | null
}
findUniqueOrThrow: {
args: Prisma.GoodCategoryFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
findFirst: {
args: Prisma.GoodCategoryFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload> | null
}
findFirstOrThrow: {
args: Prisma.GoodCategoryFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
findMany: {
args: Prisma.GoodCategoryFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>[]
}
create: {
args: Prisma.GoodCategoryCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
createMany: {
args: Prisma.GoodCategoryCreateManyArgs<ExtArgs>
result: BatchPayload
}
delete: {
args: Prisma.GoodCategoryDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
update: {
args: Prisma.GoodCategoryUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
deleteMany: {
args: Prisma.GoodCategoryDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.GoodCategoryUpdateManyArgs<ExtArgs>
result: BatchPayload
}
upsert: {
args: Prisma.GoodCategoryUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$GoodCategoryPayload>
}
aggregate: {
args: Prisma.GoodCategoryAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateGoodCategory>
}
groupBy: {
args: Prisma.GoodCategoryGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCategoryGroupByOutputType>[]
}
count: {
args: Prisma.GoodCategoryCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.GoodCategoryCountAggregateOutputType> | number
}
}
}
Guild: { Guild: {
payload: Prisma.$GuildPayload<ExtArgs> payload: Prisma.$GuildPayload<ExtArgs>
fields: Prisma.GuildFieldRefs fields: Prisma.GuildFieldRefs
@@ -3833,6 +3967,70 @@ export const PosScalarFieldEnum = {
export type PosScalarFieldEnum = (typeof PosScalarFieldEnum)[keyof typeof PosScalarFieldEnum] export type PosScalarFieldEnum = (typeof PosScalarFieldEnum)[keyof typeof PosScalarFieldEnum]
export const GoodScalarFieldEnum = {
id: 'id',
name: 'name',
is_default_guild_good: 'is_default_guild_good',
pricing_model: 'pricing_model',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
base_sale_price: 'base_sale_price',
image_url: 'image_url',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at',
sku_id: 'sku_id',
measure_unit_id: 'measure_unit_id',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodScalarFieldEnum = (typeof GoodScalarFieldEnum)[keyof typeof GoodScalarFieldEnum]
export const GoodCategoryScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
is_default_guild_good: 'is_default_guild_good',
guild_id: 'guild_id',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at'
} as const
export type GoodCategoryScalarFieldEnum = (typeof GoodCategoryScalarFieldEnum)[keyof typeof GoodCategoryScalarFieldEnum]
export const MeasureUnitsScalarFieldEnum = {
id: 'id',
code: 'code',
name: 'name',
created_at: 'created_at',
updated_at: 'updated_at'
} as const
export type MeasureUnitsScalarFieldEnum = (typeof MeasureUnitsScalarFieldEnum)[keyof typeof MeasureUnitsScalarFieldEnum]
export const StockKeepingUnitsScalarFieldEnum = {
id: 'id',
code: 'code',
name: 'name',
VAT: 'VAT',
type: 'type',
is_public: 'is_public',
is_domestic: 'is_domestic',
created_at: 'created_at',
updated_at: 'updated_at'
} as const
export type StockKeepingUnitsScalarFieldEnum = (typeof StockKeepingUnitsScalarFieldEnum)[keyof typeof StockKeepingUnitsScalarFieldEnum]
export const TriggerLogScalarFieldEnum = { export const TriggerLogScalarFieldEnum = {
id: 'id', id: 'id',
message: 'message', message: 'message',
@@ -3870,7 +4068,7 @@ export type CustomerIndividualScalarFieldEnum = (typeof CustomerIndividualScalar
export const CustomerLegalScalarFieldEnum = { export const CustomerLegalScalarFieldEnum = {
company_name: 'company_name', name: 'name',
economic_code: 'economic_code', economic_code: 'economic_code',
registration_number: 'registration_number', registration_number: 'registration_number',
postal_code: 'postal_code', postal_code: 'postal_code',
@@ -3881,44 +4079,6 @@ export const CustomerLegalScalarFieldEnum = {
export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum)[keyof typeof CustomerLegalScalarFieldEnum] export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum)[keyof typeof CustomerLegalScalarFieldEnum]
export const GoodScalarFieldEnum = {
id: 'id',
name: 'name',
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',
image_url: 'image_url',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodScalarFieldEnum = (typeof GoodScalarFieldEnum)[keyof typeof GoodScalarFieldEnum]
export const GoodCategoryScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
is_default_guild_good: 'is_default_guild_good',
guild_id: 'guild_id',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at'
} as const
export type GoodCategoryScalarFieldEnum = (typeof GoodCategoryScalarFieldEnum)[keyof typeof GoodCategoryScalarFieldEnum]
export const GuildScalarFieldEnum = { export const GuildScalarFieldEnum = {
id: 'id', id: 'id',
name: 'name', name: 'name',
@@ -3951,7 +4111,10 @@ export type SalesInvoiceScalarFieldEnum = (typeof SalesInvoiceScalarFieldEnum)[k
export const SalesInvoiceItemScalarFieldEnum = { export const SalesInvoiceItemScalarFieldEnum = {
id: 'id', id: 'id',
quantity: 'quantity', quantity: 'quantity',
unit_type: 'unit_type', measure_unit_text: 'measure_unit_text',
measure_unit_code: 'measure_unit_code',
sku_code: 'sku_code',
sku_vat: 'sku_vat',
unit_price: 'unit_price', unit_price: 'unit_price',
total_amount: 'total_amount', total_amount: 'total_amount',
created_at: 'created_at', created_at: 'created_at',
@@ -3984,6 +4147,7 @@ export const SaleInvoiceFiscalAttemptsScalarFieldEnum = {
attempt_no: 'attempt_no', attempt_no: 'attempt_no',
status: 'status', status: 'status',
tax_id: 'tax_id', tax_id: 'tax_id',
type: 'type',
request_payload: 'request_payload', request_payload: 'request_payload',
response_payload: 'response_payload', response_payload: 'response_payload',
error_message: 'error_message', error_message: 'error_message',
@@ -4393,6 +4557,52 @@ export const PosOrderByRelevanceFieldEnum = {
export type PosOrderByRelevanceFieldEnum = (typeof PosOrderByRelevanceFieldEnum)[keyof typeof PosOrderByRelevanceFieldEnum] export type PosOrderByRelevanceFieldEnum = (typeof PosOrderByRelevanceFieldEnum)[keyof typeof PosOrderByRelevanceFieldEnum]
export const GoodOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
image_url: 'image_url',
sku_id: 'sku_id',
measure_unit_id: 'measure_unit_id',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodOrderByRelevanceFieldEnum = (typeof GoodOrderByRelevanceFieldEnum)[keyof typeof GoodOrderByRelevanceFieldEnum]
export const GoodCategoryOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
guild_id: 'guild_id'
} as const
export type GoodCategoryOrderByRelevanceFieldEnum = (typeof GoodCategoryOrderByRelevanceFieldEnum)[keyof typeof GoodCategoryOrderByRelevanceFieldEnum]
export const MeasureUnitsOrderByRelevanceFieldEnum = {
id: 'id',
code: 'code',
name: 'name'
} as const
export type MeasureUnitsOrderByRelevanceFieldEnum = (typeof MeasureUnitsOrderByRelevanceFieldEnum)[keyof typeof MeasureUnitsOrderByRelevanceFieldEnum]
export const StockKeepingUnitsOrderByRelevanceFieldEnum = {
id: 'id',
code: 'code',
name: 'name'
} as const
export type StockKeepingUnitsOrderByRelevanceFieldEnum = (typeof StockKeepingUnitsOrderByRelevanceFieldEnum)[keyof typeof StockKeepingUnitsOrderByRelevanceFieldEnum]
export const TriggerLogOrderByRelevanceFieldEnum = { export const TriggerLogOrderByRelevanceFieldEnum = {
message: 'message', message: 'message',
name: 'name' name: 'name'
@@ -4423,7 +4633,7 @@ export type CustomerIndividualOrderByRelevanceFieldEnum = (typeof CustomerIndivi
export const CustomerLegalOrderByRelevanceFieldEnum = { export const CustomerLegalOrderByRelevanceFieldEnum = {
company_name: 'company_name', name: 'name',
economic_code: 'economic_code', economic_code: 'economic_code',
registration_number: 'registration_number', registration_number: 'registration_number',
postal_code: 'postal_code', postal_code: 'postal_code',
@@ -4434,33 +4644,6 @@ export const CustomerLegalOrderByRelevanceFieldEnum = {
export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderByRelevanceFieldEnum)[keyof typeof CustomerLegalOrderByRelevanceFieldEnum] export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderByRelevanceFieldEnum)[keyof typeof CustomerLegalOrderByRelevanceFieldEnum]
export const GoodOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
sku: 'sku',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
image_url: 'image_url',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodOrderByRelevanceFieldEnum = (typeof GoodOrderByRelevanceFieldEnum)[keyof typeof GoodOrderByRelevanceFieldEnum]
export const GoodCategoryOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
guild_id: 'guild_id'
} as const
export type GoodCategoryOrderByRelevanceFieldEnum = (typeof GoodCategoryOrderByRelevanceFieldEnum)[keyof typeof GoodCategoryOrderByRelevanceFieldEnum]
export const GuildOrderByRelevanceFieldEnum = { export const GuildOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
name: 'name', name: 'name',
@@ -4484,6 +4667,9 @@ export type SalesInvoiceOrderByRelevanceFieldEnum = (typeof SalesInvoiceOrderByR
export const SalesInvoiceItemOrderByRelevanceFieldEnum = { export const SalesInvoiceItemOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
measure_unit_text: 'measure_unit_text',
measure_unit_code: 'measure_unit_code',
sku_code: 'sku_code',
notes: 'notes', notes: 'notes',
invoice_id: 'invoice_id', invoice_id: 'invoice_id',
good_id: 'good_id', good_id: 'good_id',
@@ -4503,7 +4689,6 @@ export type SaleInvoiceFiscalsOrderByRelevanceFieldEnum = (typeof SaleInvoiceFis
export const SaleInvoiceFiscalAttemptsOrderByRelevanceFieldEnum = { export const SaleInvoiceFiscalAttemptsOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
status: 'status',
tax_id: 'tax_id', tax_id: 'tax_id',
error_message: 'error_message', error_message: 'error_message',
fiscal_id: 'fiscal_id' fiscal_id: 'fiscal_id'
@@ -4727,20 +4912,6 @@ export type EnumPOSTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaMo
/**
* Reference to a field of type 'CustomerType'
*/
export type EnumCustomerTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CustomerType'>
/**
* Reference to a field of type 'UnitType'
*/
export type EnumUnitTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UnitType'>
/** /**
* Reference to a field of type 'GoodPricingModel' * Reference to a field of type 'GoodPricingModel'
*/ */
@@ -4755,6 +4926,34 @@ export type DecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel,
/**
* Reference to a field of type 'SKUGuildType'
*/
export type EnumSKUGuildTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SKUGuildType'>
/**
* Reference to a field of type 'CustomerType'
*/
export type EnumCustomerTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CustomerType'>
/**
* Reference to a field of type 'FiscalResponseStatus'
*/
export type EnumFiscalResponseStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FiscalResponseStatus'>
/**
* Reference to a field of type 'FiscalRequestType'
*/
export type EnumFiscalRequestTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FiscalRequestType'>
/** /**
* Reference to a field of type 'PaymentMethodType' * Reference to a field of type 'PaymentMethodType'
*/ */
@@ -4893,12 +5092,14 @@ export type GlobalOmitConfig = {
businessActivity?: Prisma.BusinessActivityOmit businessActivity?: Prisma.BusinessActivityOmit
complex?: Prisma.ComplexOmit complex?: Prisma.ComplexOmit
pos?: Prisma.PosOmit pos?: Prisma.PosOmit
good?: Prisma.GoodOmit
goodCategory?: Prisma.GoodCategoryOmit
measureUnits?: Prisma.MeasureUnitsOmit
stockKeepingUnits?: Prisma.StockKeepingUnitsOmit
triggerLog?: Prisma.TriggerLogOmit triggerLog?: Prisma.TriggerLogOmit
customer?: Prisma.CustomerOmit customer?: Prisma.CustomerOmit
customerIndividual?: Prisma.CustomerIndividualOmit customerIndividual?: Prisma.CustomerIndividualOmit
customerLegal?: Prisma.CustomerLegalOmit customerLegal?: Prisma.CustomerLegalOmit
good?: Prisma.GoodOmit
goodCategory?: Prisma.GoodCategoryOmit
guild?: Prisma.GuildOmit guild?: Prisma.GuildOmit
salesInvoice?: Prisma.SalesInvoiceOmit salesInvoice?: Prisma.SalesInvoiceOmit
salesInvoiceItem?: Prisma.SalesInvoiceItemOmit salesInvoiceItem?: Prisma.SalesInvoiceItemOmit
@@ -81,12 +81,14 @@ export const ModelName = {
BusinessActivity: 'BusinessActivity', BusinessActivity: 'BusinessActivity',
Complex: 'Complex', Complex: 'Complex',
Pos: 'Pos', Pos: 'Pos',
Good: 'Good',
GoodCategory: 'GoodCategory',
MeasureUnits: 'MeasureUnits',
StockKeepingUnits: 'StockKeepingUnits',
TriggerLog: 'TriggerLog', TriggerLog: 'TriggerLog',
Customer: 'Customer', Customer: 'Customer',
CustomerIndividual: 'CustomerIndividual', CustomerIndividual: 'CustomerIndividual',
CustomerLegal: 'CustomerLegal', CustomerLegal: 'CustomerLegal',
Good: 'Good',
GoodCategory: 'GoodCategory',
Guild: 'Guild', Guild: 'Guild',
SalesInvoice: 'SalesInvoice', SalesInvoice: 'SalesInvoice',
SalesInvoiceItem: 'SalesInvoiceItem', SalesInvoiceItem: 'SalesInvoiceItem',
@@ -490,6 +492,70 @@ export const PosScalarFieldEnum = {
export type PosScalarFieldEnum = (typeof PosScalarFieldEnum)[keyof typeof PosScalarFieldEnum] export type PosScalarFieldEnum = (typeof PosScalarFieldEnum)[keyof typeof PosScalarFieldEnum]
export const GoodScalarFieldEnum = {
id: 'id',
name: 'name',
is_default_guild_good: 'is_default_guild_good',
pricing_model: 'pricing_model',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
base_sale_price: 'base_sale_price',
image_url: 'image_url',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at',
sku_id: 'sku_id',
measure_unit_id: 'measure_unit_id',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodScalarFieldEnum = (typeof GoodScalarFieldEnum)[keyof typeof GoodScalarFieldEnum]
export const GoodCategoryScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
is_default_guild_good: 'is_default_guild_good',
guild_id: 'guild_id',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at'
} as const
export type GoodCategoryScalarFieldEnum = (typeof GoodCategoryScalarFieldEnum)[keyof typeof GoodCategoryScalarFieldEnum]
export const MeasureUnitsScalarFieldEnum = {
id: 'id',
code: 'code',
name: 'name',
created_at: 'created_at',
updated_at: 'updated_at'
} as const
export type MeasureUnitsScalarFieldEnum = (typeof MeasureUnitsScalarFieldEnum)[keyof typeof MeasureUnitsScalarFieldEnum]
export const StockKeepingUnitsScalarFieldEnum = {
id: 'id',
code: 'code',
name: 'name',
VAT: 'VAT',
type: 'type',
is_public: 'is_public',
is_domestic: 'is_domestic',
created_at: 'created_at',
updated_at: 'updated_at'
} as const
export type StockKeepingUnitsScalarFieldEnum = (typeof StockKeepingUnitsScalarFieldEnum)[keyof typeof StockKeepingUnitsScalarFieldEnum]
export const TriggerLogScalarFieldEnum = { export const TriggerLogScalarFieldEnum = {
id: 'id', id: 'id',
message: 'message', message: 'message',
@@ -527,7 +593,7 @@ export type CustomerIndividualScalarFieldEnum = (typeof CustomerIndividualScalar
export const CustomerLegalScalarFieldEnum = { export const CustomerLegalScalarFieldEnum = {
company_name: 'company_name', name: 'name',
economic_code: 'economic_code', economic_code: 'economic_code',
registration_number: 'registration_number', registration_number: 'registration_number',
postal_code: 'postal_code', postal_code: 'postal_code',
@@ -538,44 +604,6 @@ export const CustomerLegalScalarFieldEnum = {
export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum)[keyof typeof CustomerLegalScalarFieldEnum] export type CustomerLegalScalarFieldEnum = (typeof CustomerLegalScalarFieldEnum)[keyof typeof CustomerLegalScalarFieldEnum]
export const GoodScalarFieldEnum = {
id: 'id',
name: 'name',
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',
image_url: 'image_url',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodScalarFieldEnum = (typeof GoodScalarFieldEnum)[keyof typeof GoodScalarFieldEnum]
export const GoodCategoryScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
is_default_guild_good: 'is_default_guild_good',
guild_id: 'guild_id',
created_at: 'created_at',
updated_at: 'updated_at',
deleted_at: 'deleted_at'
} as const
export type GoodCategoryScalarFieldEnum = (typeof GoodCategoryScalarFieldEnum)[keyof typeof GoodCategoryScalarFieldEnum]
export const GuildScalarFieldEnum = { export const GuildScalarFieldEnum = {
id: 'id', id: 'id',
name: 'name', name: 'name',
@@ -608,7 +636,10 @@ export type SalesInvoiceScalarFieldEnum = (typeof SalesInvoiceScalarFieldEnum)[k
export const SalesInvoiceItemScalarFieldEnum = { export const SalesInvoiceItemScalarFieldEnum = {
id: 'id', id: 'id',
quantity: 'quantity', quantity: 'quantity',
unit_type: 'unit_type', measure_unit_text: 'measure_unit_text',
measure_unit_code: 'measure_unit_code',
sku_code: 'sku_code',
sku_vat: 'sku_vat',
unit_price: 'unit_price', unit_price: 'unit_price',
total_amount: 'total_amount', total_amount: 'total_amount',
created_at: 'created_at', created_at: 'created_at',
@@ -641,6 +672,7 @@ export const SaleInvoiceFiscalAttemptsScalarFieldEnum = {
attempt_no: 'attempt_no', attempt_no: 'attempt_no',
status: 'status', status: 'status',
tax_id: 'tax_id', tax_id: 'tax_id',
type: 'type',
request_payload: 'request_payload', request_payload: 'request_payload',
response_payload: 'response_payload', response_payload: 'response_payload',
error_message: 'error_message', error_message: 'error_message',
@@ -1050,6 +1082,52 @@ export const PosOrderByRelevanceFieldEnum = {
export type PosOrderByRelevanceFieldEnum = (typeof PosOrderByRelevanceFieldEnum)[keyof typeof PosOrderByRelevanceFieldEnum] export type PosOrderByRelevanceFieldEnum = (typeof PosOrderByRelevanceFieldEnum)[keyof typeof PosOrderByRelevanceFieldEnum]
export const GoodOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
image_url: 'image_url',
sku_id: 'sku_id',
measure_unit_id: 'measure_unit_id',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodOrderByRelevanceFieldEnum = (typeof GoodOrderByRelevanceFieldEnum)[keyof typeof GoodOrderByRelevanceFieldEnum]
export const GoodCategoryOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
guild_id: 'guild_id'
} as const
export type GoodCategoryOrderByRelevanceFieldEnum = (typeof GoodCategoryOrderByRelevanceFieldEnum)[keyof typeof GoodCategoryOrderByRelevanceFieldEnum]
export const MeasureUnitsOrderByRelevanceFieldEnum = {
id: 'id',
code: 'code',
name: 'name'
} as const
export type MeasureUnitsOrderByRelevanceFieldEnum = (typeof MeasureUnitsOrderByRelevanceFieldEnum)[keyof typeof MeasureUnitsOrderByRelevanceFieldEnum]
export const StockKeepingUnitsOrderByRelevanceFieldEnum = {
id: 'id',
code: 'code',
name: 'name'
} as const
export type StockKeepingUnitsOrderByRelevanceFieldEnum = (typeof StockKeepingUnitsOrderByRelevanceFieldEnum)[keyof typeof StockKeepingUnitsOrderByRelevanceFieldEnum]
export const TriggerLogOrderByRelevanceFieldEnum = { export const TriggerLogOrderByRelevanceFieldEnum = {
message: 'message', message: 'message',
name: 'name' name: 'name'
@@ -1080,7 +1158,7 @@ export type CustomerIndividualOrderByRelevanceFieldEnum = (typeof CustomerIndivi
export const CustomerLegalOrderByRelevanceFieldEnum = { export const CustomerLegalOrderByRelevanceFieldEnum = {
company_name: 'company_name', name: 'name',
economic_code: 'economic_code', economic_code: 'economic_code',
registration_number: 'registration_number', registration_number: 'registration_number',
postal_code: 'postal_code', postal_code: 'postal_code',
@@ -1091,33 +1169,6 @@ export const CustomerLegalOrderByRelevanceFieldEnum = {
export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderByRelevanceFieldEnum)[keyof typeof CustomerLegalOrderByRelevanceFieldEnum] export type CustomerLegalOrderByRelevanceFieldEnum = (typeof CustomerLegalOrderByRelevanceFieldEnum)[keyof typeof CustomerLegalOrderByRelevanceFieldEnum]
export const GoodOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
sku: 'sku',
description: 'description',
local_sku: 'local_sku',
barcode: 'barcode',
image_url: 'image_url',
category_id: 'category_id',
business_activity_id: 'business_activity_id'
} as const
export type GoodOrderByRelevanceFieldEnum = (typeof GoodOrderByRelevanceFieldEnum)[keyof typeof GoodOrderByRelevanceFieldEnum]
export const GoodCategoryOrderByRelevanceFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
image_url: 'image_url',
complex_id: 'complex_id',
guild_id: 'guild_id'
} as const
export type GoodCategoryOrderByRelevanceFieldEnum = (typeof GoodCategoryOrderByRelevanceFieldEnum)[keyof typeof GoodCategoryOrderByRelevanceFieldEnum]
export const GuildOrderByRelevanceFieldEnum = { export const GuildOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
name: 'name', name: 'name',
@@ -1141,6 +1192,9 @@ export type SalesInvoiceOrderByRelevanceFieldEnum = (typeof SalesInvoiceOrderByR
export const SalesInvoiceItemOrderByRelevanceFieldEnum = { export const SalesInvoiceItemOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
measure_unit_text: 'measure_unit_text',
measure_unit_code: 'measure_unit_code',
sku_code: 'sku_code',
notes: 'notes', notes: 'notes',
invoice_id: 'invoice_id', invoice_id: 'invoice_id',
good_id: 'good_id', good_id: 'good_id',
@@ -1160,7 +1214,6 @@ export type SaleInvoiceFiscalsOrderByRelevanceFieldEnum = (typeof SaleInvoiceFis
export const SaleInvoiceFiscalAttemptsOrderByRelevanceFieldEnum = { export const SaleInvoiceFiscalAttemptsOrderByRelevanceFieldEnum = {
id: 'id', id: 'id',
status: 'status',
tax_id: 'tax_id', tax_id: 'tax_id',
error_message: 'error_message', error_message: 'error_message',
fiscal_id: 'fiscal_id' fiscal_id: 'fiscal_id'
+4 -2
View File
@@ -38,12 +38,14 @@ export type * from './models/ConsumerLegal.js'
export type * from './models/BusinessActivity.js' export type * from './models/BusinessActivity.js'
export type * from './models/Complex.js' export type * from './models/Complex.js'
export type * from './models/Pos.js' export type * from './models/Pos.js'
export type * from './models/Good.js'
export type * from './models/GoodCategory.js'
export type * from './models/MeasureUnits.js'
export type * from './models/StockKeepingUnits.js'
export type * from './models/TriggerLog.js' export type * from './models/TriggerLog.js'
export type * from './models/Customer.js' export type * from './models/Customer.js'
export type * from './models/CustomerIndividual.js' export type * from './models/CustomerIndividual.js'
export type * from './models/CustomerLegal.js' export type * from './models/CustomerLegal.js'
export type * from './models/Good.js'
export type * from './models/GoodCategory.js'
export type * from './models/Guild.js' export type * from './models/Guild.js'
export type * from './models/SalesInvoice.js' export type * from './models/SalesInvoice.js'
export type * from './models/SalesInvoiceItem.js' export type * from './models/SalesInvoiceItem.js'
+100 -100
View File
@@ -556,6 +556,22 @@ export type BusinessActivityUpdateOneRequiredWithoutComplexesNestedInput = {
update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutComplexesInput, Prisma.BusinessActivityUpdateWithoutComplexesInput>, Prisma.BusinessActivityUncheckedUpdateWithoutComplexesInput> update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutComplexesInput, Prisma.BusinessActivityUpdateWithoutComplexesInput>, Prisma.BusinessActivityUncheckedUpdateWithoutComplexesInput>
} }
export type BusinessActivityCreateNestedOneWithoutGoodsInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGoodsInput
connect?: Prisma.BusinessActivityWhereUniqueInput
}
export type BusinessActivityUpdateOneWithoutGoodsNestedInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGoodsInput
upsert?: Prisma.BusinessActivityUpsertWithoutGoodsInput
disconnect?: Prisma.BusinessActivityWhereInput | boolean
delete?: Prisma.BusinessActivityWhereInput | boolean
connect?: Prisma.BusinessActivityWhereUniqueInput
update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutGoodsInput, Prisma.BusinessActivityUpdateWithoutGoodsInput>, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
}
export type BusinessActivityCreateNestedOneWithoutCustomer_individualsInput = { export type BusinessActivityCreateNestedOneWithoutCustomer_individualsInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutCustomer_individualsInput, Prisma.BusinessActivityUncheckedCreateWithoutCustomer_individualsInput> create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutCustomer_individualsInput, Prisma.BusinessActivityUncheckedCreateWithoutCustomer_individualsInput>
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutCustomer_individualsInput connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutCustomer_individualsInput
@@ -584,22 +600,6 @@ export type BusinessActivityUpdateOneRequiredWithoutCustomer_legalsNestedInput =
update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutCustomer_legalsInput, Prisma.BusinessActivityUpdateWithoutCustomer_legalsInput>, Prisma.BusinessActivityUncheckedUpdateWithoutCustomer_legalsInput> update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutCustomer_legalsInput, Prisma.BusinessActivityUpdateWithoutCustomer_legalsInput>, Prisma.BusinessActivityUncheckedUpdateWithoutCustomer_legalsInput>
} }
export type BusinessActivityCreateNestedOneWithoutGoodsInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGoodsInput
connect?: Prisma.BusinessActivityWhereUniqueInput
}
export type BusinessActivityUpdateOneWithoutGoodsNestedInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGoodsInput
upsert?: Prisma.BusinessActivityUpsertWithoutGoodsInput
disconnect?: Prisma.BusinessActivityWhereInput | boolean
delete?: Prisma.BusinessActivityWhereInput | boolean
connect?: Prisma.BusinessActivityWhereUniqueInput
update?: Prisma.XOR<Prisma.XOR<Prisma.BusinessActivityUpdateToOneWithWhereWithoutGoodsInput, Prisma.BusinessActivityUpdateWithoutGoodsInput>, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
}
export type BusinessActivityCreateNestedManyWithoutGuildInput = { export type BusinessActivityCreateNestedManyWithoutGuildInput = {
create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGuildInput, Prisma.BusinessActivityUncheckedCreateWithoutGuildInput> | Prisma.BusinessActivityCreateWithoutGuildInput[] | Prisma.BusinessActivityUncheckedCreateWithoutGuildInput[] create?: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGuildInput, Prisma.BusinessActivityUncheckedCreateWithoutGuildInput> | Prisma.BusinessActivityCreateWithoutGuildInput[] | Prisma.BusinessActivityUncheckedCreateWithoutGuildInput[]
connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGuildInput | Prisma.BusinessActivityCreateOrConnectWithoutGuildInput[] connectOrCreate?: Prisma.BusinessActivityCreateOrConnectWithoutGuildInput | Prisma.BusinessActivityCreateOrConnectWithoutGuildInput[]
@@ -969,6 +969,90 @@ export type BusinessActivityUncheckedUpdateWithoutComplexesInput = {
customer_legals?: Prisma.CustomerLegalUncheckedUpdateManyWithoutBusiness_activityNestedInput customer_legals?: Prisma.CustomerLegalUncheckedUpdateManyWithoutBusiness_activityNestedInput
} }
export type BusinessActivityCreateWithoutGoodsInput = {
id?: string
economic_code: string
name: string
fiscal_id: string
partner_token: string
created_at?: Date | string
updated_at?: Date | string
guild: Prisma.GuildCreateNestedOneWithoutBusiness_activitiesInput
consumer: Prisma.ConsumerCreateNestedOneWithoutBusiness_activitiesInput
license_activation?: Prisma.LicenseActivationCreateNestedOneWithoutBusiness_activityInput
complexes?: Prisma.ComplexCreateNestedManyWithoutBusiness_activityInput
permission_businesses?: Prisma.PermissionBusinessCreateNestedManyWithoutBusinessInput
customer_individuals?: Prisma.CustomerIndividualCreateNestedManyWithoutBusiness_activityInput
customer_legals?: Prisma.CustomerLegalCreateNestedManyWithoutBusiness_activityInput
}
export type BusinessActivityUncheckedCreateWithoutGoodsInput = {
id?: string
economic_code: string
name: string
fiscal_id: string
partner_token: string
created_at?: Date | string
updated_at?: Date | string
guild_id: string
consumer_id: string
license_activation?: Prisma.LicenseActivationUncheckedCreateNestedOneWithoutBusiness_activityInput
complexes?: Prisma.ComplexUncheckedCreateNestedManyWithoutBusiness_activityInput
permission_businesses?: Prisma.PermissionBusinessUncheckedCreateNestedManyWithoutBusinessInput
customer_individuals?: Prisma.CustomerIndividualUncheckedCreateNestedManyWithoutBusiness_activityInput
customer_legals?: Prisma.CustomerLegalUncheckedCreateNestedManyWithoutBusiness_activityInput
}
export type BusinessActivityCreateOrConnectWithoutGoodsInput = {
where: Prisma.BusinessActivityWhereUniqueInput
create: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
}
export type BusinessActivityUpsertWithoutGoodsInput = {
update: Prisma.XOR<Prisma.BusinessActivityUpdateWithoutGoodsInput, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
create: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
where?: Prisma.BusinessActivityWhereInput
}
export type BusinessActivityUpdateToOneWithWhereWithoutGoodsInput = {
where?: Prisma.BusinessActivityWhereInput
data: Prisma.XOR<Prisma.BusinessActivityUpdateWithoutGoodsInput, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
}
export type BusinessActivityUpdateWithoutGoodsInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
fiscal_id?: Prisma.StringFieldUpdateOperationsInput | string
partner_token?: Prisma.StringFieldUpdateOperationsInput | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
guild?: Prisma.GuildUpdateOneRequiredWithoutBusiness_activitiesNestedInput
consumer?: Prisma.ConsumerUpdateOneRequiredWithoutBusiness_activitiesNestedInput
license_activation?: Prisma.LicenseActivationUpdateOneWithoutBusiness_activityNestedInput
complexes?: Prisma.ComplexUpdateManyWithoutBusiness_activityNestedInput
permission_businesses?: Prisma.PermissionBusinessUpdateManyWithoutBusinessNestedInput
customer_individuals?: Prisma.CustomerIndividualUpdateManyWithoutBusiness_activityNestedInput
customer_legals?: Prisma.CustomerLegalUpdateManyWithoutBusiness_activityNestedInput
}
export type BusinessActivityUncheckedUpdateWithoutGoodsInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
fiscal_id?: Prisma.StringFieldUpdateOperationsInput | string
partner_token?: Prisma.StringFieldUpdateOperationsInput | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
guild_id?: Prisma.StringFieldUpdateOperationsInput | string
consumer_id?: Prisma.StringFieldUpdateOperationsInput | string
license_activation?: Prisma.LicenseActivationUncheckedUpdateOneWithoutBusiness_activityNestedInput
complexes?: Prisma.ComplexUncheckedUpdateManyWithoutBusiness_activityNestedInput
permission_businesses?: Prisma.PermissionBusinessUncheckedUpdateManyWithoutBusinessNestedInput
customer_individuals?: Prisma.CustomerIndividualUncheckedUpdateManyWithoutBusiness_activityNestedInput
customer_legals?: Prisma.CustomerLegalUncheckedUpdateManyWithoutBusiness_activityNestedInput
}
export type BusinessActivityCreateWithoutCustomer_individualsInput = { export type BusinessActivityCreateWithoutCustomer_individualsInput = {
id?: string id?: string
economic_code: string economic_code: string
@@ -1137,90 +1221,6 @@ export type BusinessActivityUncheckedUpdateWithoutCustomer_legalsInput = {
customer_individuals?: Prisma.CustomerIndividualUncheckedUpdateManyWithoutBusiness_activityNestedInput customer_individuals?: Prisma.CustomerIndividualUncheckedUpdateManyWithoutBusiness_activityNestedInput
} }
export type BusinessActivityCreateWithoutGoodsInput = {
id?: string
economic_code: string
name: string
fiscal_id: string
partner_token: string
created_at?: Date | string
updated_at?: Date | string
guild: Prisma.GuildCreateNestedOneWithoutBusiness_activitiesInput
consumer: Prisma.ConsumerCreateNestedOneWithoutBusiness_activitiesInput
license_activation?: Prisma.LicenseActivationCreateNestedOneWithoutBusiness_activityInput
complexes?: Prisma.ComplexCreateNestedManyWithoutBusiness_activityInput
permission_businesses?: Prisma.PermissionBusinessCreateNestedManyWithoutBusinessInput
customer_individuals?: Prisma.CustomerIndividualCreateNestedManyWithoutBusiness_activityInput
customer_legals?: Prisma.CustomerLegalCreateNestedManyWithoutBusiness_activityInput
}
export type BusinessActivityUncheckedCreateWithoutGoodsInput = {
id?: string
economic_code: string
name: string
fiscal_id: string
partner_token: string
created_at?: Date | string
updated_at?: Date | string
guild_id: string
consumer_id: string
license_activation?: Prisma.LicenseActivationUncheckedCreateNestedOneWithoutBusiness_activityInput
complexes?: Prisma.ComplexUncheckedCreateNestedManyWithoutBusiness_activityInput
permission_businesses?: Prisma.PermissionBusinessUncheckedCreateNestedManyWithoutBusinessInput
customer_individuals?: Prisma.CustomerIndividualUncheckedCreateNestedManyWithoutBusiness_activityInput
customer_legals?: Prisma.CustomerLegalUncheckedCreateNestedManyWithoutBusiness_activityInput
}
export type BusinessActivityCreateOrConnectWithoutGoodsInput = {
where: Prisma.BusinessActivityWhereUniqueInput
create: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
}
export type BusinessActivityUpsertWithoutGoodsInput = {
update: Prisma.XOR<Prisma.BusinessActivityUpdateWithoutGoodsInput, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
create: Prisma.XOR<Prisma.BusinessActivityCreateWithoutGoodsInput, Prisma.BusinessActivityUncheckedCreateWithoutGoodsInput>
where?: Prisma.BusinessActivityWhereInput
}
export type BusinessActivityUpdateToOneWithWhereWithoutGoodsInput = {
where?: Prisma.BusinessActivityWhereInput
data: Prisma.XOR<Prisma.BusinessActivityUpdateWithoutGoodsInput, Prisma.BusinessActivityUncheckedUpdateWithoutGoodsInput>
}
export type BusinessActivityUpdateWithoutGoodsInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
fiscal_id?: Prisma.StringFieldUpdateOperationsInput | string
partner_token?: Prisma.StringFieldUpdateOperationsInput | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
guild?: Prisma.GuildUpdateOneRequiredWithoutBusiness_activitiesNestedInput
consumer?: Prisma.ConsumerUpdateOneRequiredWithoutBusiness_activitiesNestedInput
license_activation?: Prisma.LicenseActivationUpdateOneWithoutBusiness_activityNestedInput
complexes?: Prisma.ComplexUpdateManyWithoutBusiness_activityNestedInput
permission_businesses?: Prisma.PermissionBusinessUpdateManyWithoutBusinessNestedInput
customer_individuals?: Prisma.CustomerIndividualUpdateManyWithoutBusiness_activityNestedInput
customer_legals?: Prisma.CustomerLegalUpdateManyWithoutBusiness_activityNestedInput
}
export type BusinessActivityUncheckedUpdateWithoutGoodsInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string
name?: Prisma.StringFieldUpdateOperationsInput | string
fiscal_id?: Prisma.StringFieldUpdateOperationsInput | string
partner_token?: Prisma.StringFieldUpdateOperationsInput | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
guild_id?: Prisma.StringFieldUpdateOperationsInput | string
consumer_id?: Prisma.StringFieldUpdateOperationsInput | string
license_activation?: Prisma.LicenseActivationUncheckedUpdateOneWithoutBusiness_activityNestedInput
complexes?: Prisma.ComplexUncheckedUpdateManyWithoutBusiness_activityNestedInput
permission_businesses?: Prisma.PermissionBusinessUncheckedUpdateManyWithoutBusinessNestedInput
customer_individuals?: Prisma.CustomerIndividualUncheckedUpdateManyWithoutBusiness_activityNestedInput
customer_legals?: Prisma.CustomerLegalUncheckedUpdateManyWithoutBusiness_activityNestedInput
}
export type BusinessActivityCreateWithoutGuildInput = { export type BusinessActivityCreateWithoutGuildInput = {
id?: string id?: string
economic_code: string economic_code: string
-4
View File
@@ -373,10 +373,6 @@ export type EnumCustomerTypeFieldUpdateOperationsInput = {
set?: $Enums.CustomerType set?: $Enums.CustomerType
} }
export type NullableDateTimeFieldUpdateOperationsInput = {
set?: Date | string | null
}
export type CustomerCreateNestedOneWithoutIndividualInput = { export type CustomerCreateNestedOneWithoutIndividualInput = {
create?: Prisma.XOR<Prisma.CustomerCreateWithoutIndividualInput, Prisma.CustomerUncheckedCreateWithoutIndividualInput> create?: Prisma.XOR<Prisma.CustomerCreateWithoutIndividualInput, Prisma.CustomerUncheckedCreateWithoutIndividualInput>
connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutIndividualInput connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutIndividualInput
+40 -40
View File
@@ -25,7 +25,7 @@ export type AggregateCustomerLegal = {
} }
export type CustomerLegalMinAggregateOutputType = { export type CustomerLegalMinAggregateOutputType = {
company_name: string | null name: string | null
economic_code: string | null economic_code: string | null
registration_number: string | null registration_number: string | null
postal_code: string | null postal_code: string | null
@@ -34,7 +34,7 @@ export type CustomerLegalMinAggregateOutputType = {
} }
export type CustomerLegalMaxAggregateOutputType = { export type CustomerLegalMaxAggregateOutputType = {
company_name: string | null name: string | null
economic_code: string | null economic_code: string | null
registration_number: string | null registration_number: string | null
postal_code: string | null postal_code: string | null
@@ -43,7 +43,7 @@ export type CustomerLegalMaxAggregateOutputType = {
} }
export type CustomerLegalCountAggregateOutputType = { export type CustomerLegalCountAggregateOutputType = {
company_name: number name: number
economic_code: number economic_code: number
registration_number: number registration_number: number
postal_code: number postal_code: number
@@ -54,7 +54,7 @@ export type CustomerLegalCountAggregateOutputType = {
export type CustomerLegalMinAggregateInputType = { export type CustomerLegalMinAggregateInputType = {
company_name?: true name?: true
economic_code?: true economic_code?: true
registration_number?: true registration_number?: true
postal_code?: true postal_code?: true
@@ -63,7 +63,7 @@ export type CustomerLegalMinAggregateInputType = {
} }
export type CustomerLegalMaxAggregateInputType = { export type CustomerLegalMaxAggregateInputType = {
company_name?: true name?: true
economic_code?: true economic_code?: true
registration_number?: true registration_number?: true
postal_code?: true postal_code?: true
@@ -72,7 +72,7 @@ export type CustomerLegalMaxAggregateInputType = {
} }
export type CustomerLegalCountAggregateInputType = { export type CustomerLegalCountAggregateInputType = {
company_name?: true name?: true
economic_code?: true economic_code?: true
registration_number?: true registration_number?: true
postal_code?: true postal_code?: true
@@ -154,7 +154,7 @@ export type CustomerLegalGroupByArgs<ExtArgs extends runtime.Types.Extensions.In
} }
export type CustomerLegalGroupByOutputType = { export type CustomerLegalGroupByOutputType = {
company_name: string name: string
economic_code: string economic_code: string
registration_number: string | null registration_number: string | null
postal_code: string postal_code: string
@@ -184,7 +184,7 @@ export type CustomerLegalWhereInput = {
AND?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[] AND?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[]
OR?: Prisma.CustomerLegalWhereInput[] OR?: Prisma.CustomerLegalWhereInput[]
NOT?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[] NOT?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[]
company_name?: Prisma.StringFilter<"CustomerLegal"> | string name?: Prisma.StringFilter<"CustomerLegal"> | string
economic_code?: Prisma.StringFilter<"CustomerLegal"> | string economic_code?: Prisma.StringFilter<"CustomerLegal"> | string
registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null
postal_code?: Prisma.StringFilter<"CustomerLegal"> | string postal_code?: Prisma.StringFilter<"CustomerLegal"> | string
@@ -195,7 +195,7 @@ export type CustomerLegalWhereInput = {
} }
export type CustomerLegalOrderByWithRelationInput = { export type CustomerLegalOrderByWithRelationInput = {
company_name?: Prisma.SortOrder name?: Prisma.SortOrder
economic_code?: Prisma.SortOrder economic_code?: Prisma.SortOrder
registration_number?: Prisma.SortOrderInput | Prisma.SortOrder registration_number?: Prisma.SortOrderInput | Prisma.SortOrder
postal_code?: Prisma.SortOrder postal_code?: Prisma.SortOrder
@@ -212,7 +212,7 @@ export type CustomerLegalWhereUniqueInput = Prisma.AtLeast<{
AND?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[] AND?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[]
OR?: Prisma.CustomerLegalWhereInput[] OR?: Prisma.CustomerLegalWhereInput[]
NOT?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[] NOT?: Prisma.CustomerLegalWhereInput | Prisma.CustomerLegalWhereInput[]
company_name?: Prisma.StringFilter<"CustomerLegal"> | string name?: Prisma.StringFilter<"CustomerLegal"> | string
economic_code?: Prisma.StringFilter<"CustomerLegal"> | string economic_code?: Prisma.StringFilter<"CustomerLegal"> | string
registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null
postal_code?: Prisma.StringFilter<"CustomerLegal"> | string postal_code?: Prisma.StringFilter<"CustomerLegal"> | string
@@ -222,7 +222,7 @@ export type CustomerLegalWhereUniqueInput = Prisma.AtLeast<{
}, "customer_id" | "business_activity_id_economic_code"> }, "customer_id" | "business_activity_id_economic_code">
export type CustomerLegalOrderByWithAggregationInput = { export type CustomerLegalOrderByWithAggregationInput = {
company_name?: Prisma.SortOrder name?: Prisma.SortOrder
economic_code?: Prisma.SortOrder economic_code?: Prisma.SortOrder
registration_number?: Prisma.SortOrderInput | Prisma.SortOrder registration_number?: Prisma.SortOrderInput | Prisma.SortOrder
postal_code?: Prisma.SortOrder postal_code?: Prisma.SortOrder
@@ -237,7 +237,7 @@ export type CustomerLegalScalarWhereWithAggregatesInput = {
AND?: Prisma.CustomerLegalScalarWhereWithAggregatesInput | Prisma.CustomerLegalScalarWhereWithAggregatesInput[] AND?: Prisma.CustomerLegalScalarWhereWithAggregatesInput | Prisma.CustomerLegalScalarWhereWithAggregatesInput[]
OR?: Prisma.CustomerLegalScalarWhereWithAggregatesInput[] OR?: Prisma.CustomerLegalScalarWhereWithAggregatesInput[]
NOT?: Prisma.CustomerLegalScalarWhereWithAggregatesInput | Prisma.CustomerLegalScalarWhereWithAggregatesInput[] NOT?: Prisma.CustomerLegalScalarWhereWithAggregatesInput | Prisma.CustomerLegalScalarWhereWithAggregatesInput[]
company_name?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string name?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string
economic_code?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string economic_code?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string
registration_number?: Prisma.StringNullableWithAggregatesFilter<"CustomerLegal"> | string | null registration_number?: Prisma.StringNullableWithAggregatesFilter<"CustomerLegal"> | string | null
postal_code?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string postal_code?: Prisma.StringWithAggregatesFilter<"CustomerLegal"> | string
@@ -246,7 +246,7 @@ export type CustomerLegalScalarWhereWithAggregatesInput = {
} }
export type CustomerLegalCreateInput = { export type CustomerLegalCreateInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -255,7 +255,7 @@ export type CustomerLegalCreateInput = {
} }
export type CustomerLegalUncheckedCreateInput = { export type CustomerLegalUncheckedCreateInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -264,7 +264,7 @@ export type CustomerLegalUncheckedCreateInput = {
} }
export type CustomerLegalUpdateInput = { export type CustomerLegalUpdateInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -273,7 +273,7 @@ export type CustomerLegalUpdateInput = {
} }
export type CustomerLegalUncheckedUpdateInput = { export type CustomerLegalUncheckedUpdateInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -282,7 +282,7 @@ export type CustomerLegalUncheckedUpdateInput = {
} }
export type CustomerLegalCreateManyInput = { export type CustomerLegalCreateManyInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -291,14 +291,14 @@ export type CustomerLegalCreateManyInput = {
} }
export type CustomerLegalUpdateManyMutationInput = { export type CustomerLegalUpdateManyMutationInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
} }
export type CustomerLegalUncheckedUpdateManyInput = { export type CustomerLegalUncheckedUpdateManyInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -333,7 +333,7 @@ export type CustomerLegalBusiness_activity_idEconomic_codeCompoundUniqueInput =
} }
export type CustomerLegalCountOrderByAggregateInput = { export type CustomerLegalCountOrderByAggregateInput = {
company_name?: Prisma.SortOrder name?: Prisma.SortOrder
economic_code?: Prisma.SortOrder economic_code?: Prisma.SortOrder
registration_number?: Prisma.SortOrder registration_number?: Prisma.SortOrder
postal_code?: Prisma.SortOrder postal_code?: Prisma.SortOrder
@@ -342,7 +342,7 @@ export type CustomerLegalCountOrderByAggregateInput = {
} }
export type CustomerLegalMaxOrderByAggregateInput = { export type CustomerLegalMaxOrderByAggregateInput = {
company_name?: Prisma.SortOrder name?: Prisma.SortOrder
economic_code?: Prisma.SortOrder economic_code?: Prisma.SortOrder
registration_number?: Prisma.SortOrder registration_number?: Prisma.SortOrder
postal_code?: Prisma.SortOrder postal_code?: Prisma.SortOrder
@@ -351,7 +351,7 @@ export type CustomerLegalMaxOrderByAggregateInput = {
} }
export type CustomerLegalMinOrderByAggregateInput = { export type CustomerLegalMinOrderByAggregateInput = {
company_name?: Prisma.SortOrder name?: Prisma.SortOrder
economic_code?: Prisma.SortOrder economic_code?: Prisma.SortOrder
registration_number?: Prisma.SortOrder registration_number?: Prisma.SortOrder
postal_code?: Prisma.SortOrder postal_code?: Prisma.SortOrder
@@ -434,7 +434,7 @@ export type CustomerLegalUncheckedUpdateOneWithoutCustomerNestedInput = {
} }
export type CustomerLegalCreateWithoutBusiness_activityInput = { export type CustomerLegalCreateWithoutBusiness_activityInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -442,7 +442,7 @@ export type CustomerLegalCreateWithoutBusiness_activityInput = {
} }
export type CustomerLegalUncheckedCreateWithoutBusiness_activityInput = { export type CustomerLegalUncheckedCreateWithoutBusiness_activityInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -479,7 +479,7 @@ export type CustomerLegalScalarWhereInput = {
AND?: Prisma.CustomerLegalScalarWhereInput | Prisma.CustomerLegalScalarWhereInput[] AND?: Prisma.CustomerLegalScalarWhereInput | Prisma.CustomerLegalScalarWhereInput[]
OR?: Prisma.CustomerLegalScalarWhereInput[] OR?: Prisma.CustomerLegalScalarWhereInput[]
NOT?: Prisma.CustomerLegalScalarWhereInput | Prisma.CustomerLegalScalarWhereInput[] NOT?: Prisma.CustomerLegalScalarWhereInput | Prisma.CustomerLegalScalarWhereInput[]
company_name?: Prisma.StringFilter<"CustomerLegal"> | string name?: Prisma.StringFilter<"CustomerLegal"> | string
economic_code?: Prisma.StringFilter<"CustomerLegal"> | string economic_code?: Prisma.StringFilter<"CustomerLegal"> | string
registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null registration_number?: Prisma.StringNullableFilter<"CustomerLegal"> | string | null
postal_code?: Prisma.StringFilter<"CustomerLegal"> | string postal_code?: Prisma.StringFilter<"CustomerLegal"> | string
@@ -488,7 +488,7 @@ export type CustomerLegalScalarWhereInput = {
} }
export type CustomerLegalCreateWithoutCustomerInput = { export type CustomerLegalCreateWithoutCustomerInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -496,7 +496,7 @@ export type CustomerLegalCreateWithoutCustomerInput = {
} }
export type CustomerLegalUncheckedCreateWithoutCustomerInput = { export type CustomerLegalUncheckedCreateWithoutCustomerInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -520,7 +520,7 @@ export type CustomerLegalUpdateToOneWithWhereWithoutCustomerInput = {
} }
export type CustomerLegalUpdateWithoutCustomerInput = { export type CustomerLegalUpdateWithoutCustomerInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -528,7 +528,7 @@ export type CustomerLegalUpdateWithoutCustomerInput = {
} }
export type CustomerLegalUncheckedUpdateWithoutCustomerInput = { export type CustomerLegalUncheckedUpdateWithoutCustomerInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -536,7 +536,7 @@ export type CustomerLegalUncheckedUpdateWithoutCustomerInput = {
} }
export type CustomerLegalCreateManyBusiness_activityInput = { export type CustomerLegalCreateManyBusiness_activityInput = {
company_name: string name: string
economic_code: string economic_code: string
registration_number?: string | null registration_number?: string | null
postal_code: string postal_code: string
@@ -544,7 +544,7 @@ export type CustomerLegalCreateManyBusiness_activityInput = {
} }
export type CustomerLegalUpdateWithoutBusiness_activityInput = { export type CustomerLegalUpdateWithoutBusiness_activityInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -552,7 +552,7 @@ export type CustomerLegalUpdateWithoutBusiness_activityInput = {
} }
export type CustomerLegalUncheckedUpdateWithoutBusiness_activityInput = { export type CustomerLegalUncheckedUpdateWithoutBusiness_activityInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -560,7 +560,7 @@ export type CustomerLegalUncheckedUpdateWithoutBusiness_activityInput = {
} }
export type CustomerLegalUncheckedUpdateManyWithoutBusiness_activityInput = { export type CustomerLegalUncheckedUpdateManyWithoutBusiness_activityInput = {
company_name?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string
economic_code?: Prisma.StringFieldUpdateOperationsInput | string economic_code?: Prisma.StringFieldUpdateOperationsInput | string
registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null registration_number?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
postal_code?: Prisma.StringFieldUpdateOperationsInput | string postal_code?: Prisma.StringFieldUpdateOperationsInput | string
@@ -570,7 +570,7 @@ export type CustomerLegalUncheckedUpdateManyWithoutBusiness_activityInput = {
export type CustomerLegalSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{ export type CustomerLegalSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
company_name?: boolean name?: boolean
economic_code?: boolean economic_code?: boolean
registration_number?: boolean registration_number?: boolean
postal_code?: boolean postal_code?: boolean
@@ -583,7 +583,7 @@ export type CustomerLegalSelect<ExtArgs extends runtime.Types.Extensions.Interna
export type CustomerLegalSelectScalar = { export type CustomerLegalSelectScalar = {
company_name?: boolean name?: boolean
economic_code?: boolean economic_code?: boolean
registration_number?: boolean registration_number?: boolean
postal_code?: boolean postal_code?: boolean
@@ -591,7 +591,7 @@ export type CustomerLegalSelectScalar = {
business_activity_id?: boolean business_activity_id?: boolean
} }
export type CustomerLegalOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"company_name" | "economic_code" | "registration_number" | "postal_code" | "customer_id" | "business_activity_id", ExtArgs["result"]["customerLegal"]> export type CustomerLegalOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"name" | "economic_code" | "registration_number" | "postal_code" | "customer_id" | "business_activity_id", ExtArgs["result"]["customerLegal"]>
export type CustomerLegalInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type CustomerLegalInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
customer?: boolean | Prisma.CustomerDefaultArgs<ExtArgs> customer?: boolean | Prisma.CustomerDefaultArgs<ExtArgs>
business_activity?: boolean | Prisma.BusinessActivityDefaultArgs<ExtArgs> business_activity?: boolean | Prisma.BusinessActivityDefaultArgs<ExtArgs>
@@ -604,7 +604,7 @@ export type $CustomerLegalPayload<ExtArgs extends runtime.Types.Extensions.Inter
business_activity: Prisma.$BusinessActivityPayload<ExtArgs> business_activity: Prisma.$BusinessActivityPayload<ExtArgs>
} }
scalars: runtime.Types.Extensions.GetPayloadResult<{ scalars: runtime.Types.Extensions.GetPayloadResult<{
company_name: string name: string
economic_code: string economic_code: string
registration_number: string | null registration_number: string | null
postal_code: string postal_code: string
@@ -693,8 +693,8 @@ export interface CustomerLegalDelegate<ExtArgs extends runtime.Types.Extensions.
* // Get first 10 CustomerLegals * // Get first 10 CustomerLegals
* const customerLegals = await prisma.customerLegal.findMany({ take: 10 }) * const customerLegals = await prisma.customerLegal.findMany({ take: 10 })
* *
* // Only select the `company_name` * // Only select the `name`
* const customerLegalWithCompany_nameOnly = await prisma.customerLegal.findMany({ select: { company_name: true } }) * const customerLegalWithNameOnly = await prisma.customerLegal.findMany({ select: { name: true } })
* *
*/ */
findMany<T extends CustomerLegalFindManyArgs>(args?: Prisma.SelectSubset<T, CustomerLegalFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CustomerLegalPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>> findMany<T extends CustomerLegalFindManyArgs>(args?: Prisma.SelectSubset<T, CustomerLegalFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CustomerLegalPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
@@ -981,7 +981,7 @@ export interface Prisma__CustomerLegalClient<T, Null = never, ExtArgs extends ru
* Fields of the CustomerLegal model * Fields of the CustomerLegal model
*/ */
export interface CustomerLegalFieldRefs { export interface CustomerLegalFieldRefs {
readonly company_name: Prisma.FieldRef<"CustomerLegal", 'String'> readonly name: Prisma.FieldRef<"CustomerLegal", 'String'>
readonly economic_code: Prisma.FieldRef<"CustomerLegal", 'String'> readonly economic_code: Prisma.FieldRef<"CustomerLegal", 'String'>
readonly registration_number: Prisma.FieldRef<"CustomerLegal", 'String'> readonly registration_number: Prisma.FieldRef<"CustomerLegal", 'String'>
readonly postal_code: Prisma.FieldRef<"CustomerLegal", 'String'> readonly postal_code: Prisma.FieldRef<"CustomerLegal", 'String'>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -37,8 +37,9 @@ export type SaleInvoiceFiscalAttemptsSumAggregateOutputType = {
export type SaleInvoiceFiscalAttemptsMinAggregateOutputType = { export type SaleInvoiceFiscalAttemptsMinAggregateOutputType = {
id: string | null id: string | null
attempt_no: number | null attempt_no: number | null
status: string | null status: $Enums.FiscalResponseStatus | null
tax_id: string | null tax_id: string | null
type: $Enums.FiscalRequestType | null
error_message: string | null error_message: string | null
sent_at: Date | null sent_at: Date | null
received_at: Date | null received_at: Date | null
@@ -49,8 +50,9 @@ export type SaleInvoiceFiscalAttemptsMinAggregateOutputType = {
export type SaleInvoiceFiscalAttemptsMaxAggregateOutputType = { export type SaleInvoiceFiscalAttemptsMaxAggregateOutputType = {
id: string | null id: string | null
attempt_no: number | null attempt_no: number | null
status: string | null status: $Enums.FiscalResponseStatus | null
tax_id: string | null tax_id: string | null
type: $Enums.FiscalRequestType | null
error_message: string | null error_message: string | null
sent_at: Date | null sent_at: Date | null
received_at: Date | null received_at: Date | null
@@ -63,6 +65,7 @@ export type SaleInvoiceFiscalAttemptsCountAggregateOutputType = {
attempt_no: number attempt_no: number
status: number status: number
tax_id: number tax_id: number
type: number
request_payload: number request_payload: number
response_payload: number response_payload: number
error_message: number error_message: number
@@ -87,6 +90,7 @@ export type SaleInvoiceFiscalAttemptsMinAggregateInputType = {
attempt_no?: true attempt_no?: true
status?: true status?: true
tax_id?: true tax_id?: true
type?: true
error_message?: true error_message?: true
sent_at?: true sent_at?: true
received_at?: true received_at?: true
@@ -99,6 +103,7 @@ export type SaleInvoiceFiscalAttemptsMaxAggregateInputType = {
attempt_no?: true attempt_no?: true
status?: true status?: true
tax_id?: true tax_id?: true
type?: true
error_message?: true error_message?: true
sent_at?: true sent_at?: true
received_at?: true received_at?: true
@@ -111,6 +116,7 @@ export type SaleInvoiceFiscalAttemptsCountAggregateInputType = {
attempt_no?: true attempt_no?: true
status?: true status?: true
tax_id?: true tax_id?: true
type?: true
request_payload?: true request_payload?: true
response_payload?: true response_payload?: true
error_message?: true error_message?: true
@@ -210,8 +216,9 @@ export type SaleInvoiceFiscalAttemptsGroupByArgs<ExtArgs extends runtime.Types.E
export type SaleInvoiceFiscalAttemptsGroupByOutputType = { export type SaleInvoiceFiscalAttemptsGroupByOutputType = {
id: string id: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id: string | null tax_id: string | null
type: $Enums.FiscalRequestType
request_payload: runtime.JsonValue | null request_payload: runtime.JsonValue | null
response_payload: runtime.JsonValue | null response_payload: runtime.JsonValue | null
error_message: string | null error_message: string | null
@@ -247,8 +254,9 @@ export type SaleInvoiceFiscalAttemptsWhereInput = {
NOT?: Prisma.SaleInvoiceFiscalAttemptsWhereInput | Prisma.SaleInvoiceFiscalAttemptsWhereInput[] NOT?: Prisma.SaleInvoiceFiscalAttemptsWhereInput | Prisma.SaleInvoiceFiscalAttemptsWhereInput[]
id?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string id?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string
attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number
status?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string status?: Prisma.EnumFiscalResponseStatusFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalResponseStatus
tax_id?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null tax_id?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null
type?: Prisma.EnumFiscalRequestTypeFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalRequestType
request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null
@@ -264,6 +272,7 @@ export type SaleInvoiceFiscalAttemptsOrderByWithRelationInput = {
attempt_no?: Prisma.SortOrder attempt_no?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
tax_id?: Prisma.SortOrderInput | Prisma.SortOrder tax_id?: Prisma.SortOrderInput | Prisma.SortOrder
type?: Prisma.SortOrder
request_payload?: Prisma.SortOrderInput | Prisma.SortOrder request_payload?: Prisma.SortOrderInput | Prisma.SortOrder
response_payload?: Prisma.SortOrderInput | Prisma.SortOrder response_payload?: Prisma.SortOrderInput | Prisma.SortOrder
error_message?: Prisma.SortOrderInput | Prisma.SortOrder error_message?: Prisma.SortOrderInput | Prisma.SortOrder
@@ -283,7 +292,8 @@ export type SaleInvoiceFiscalAttemptsWhereUniqueInput = Prisma.AtLeast<{
OR?: Prisma.SaleInvoiceFiscalAttemptsWhereInput[] OR?: Prisma.SaleInvoiceFiscalAttemptsWhereInput[]
NOT?: Prisma.SaleInvoiceFiscalAttemptsWhereInput | Prisma.SaleInvoiceFiscalAttemptsWhereInput[] NOT?: Prisma.SaleInvoiceFiscalAttemptsWhereInput | Prisma.SaleInvoiceFiscalAttemptsWhereInput[]
attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number
status?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string status?: Prisma.EnumFiscalResponseStatusFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalResponseStatus
type?: Prisma.EnumFiscalRequestTypeFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalRequestType
request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null
@@ -299,6 +309,7 @@ export type SaleInvoiceFiscalAttemptsOrderByWithAggregationInput = {
attempt_no?: Prisma.SortOrder attempt_no?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
tax_id?: Prisma.SortOrderInput | Prisma.SortOrder tax_id?: Prisma.SortOrderInput | Prisma.SortOrder
type?: Prisma.SortOrder
request_payload?: Prisma.SortOrderInput | Prisma.SortOrder request_payload?: Prisma.SortOrderInput | Prisma.SortOrder
response_payload?: Prisma.SortOrderInput | Prisma.SortOrder response_payload?: Prisma.SortOrderInput | Prisma.SortOrder
error_message?: Prisma.SortOrderInput | Prisma.SortOrder error_message?: Prisma.SortOrderInput | Prisma.SortOrder
@@ -319,8 +330,9 @@ export type SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput = {
NOT?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput[] NOT?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput[]
id?: Prisma.StringWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string id?: Prisma.StringWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string
attempt_no?: Prisma.IntWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | number attempt_no?: Prisma.IntWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | number
status?: Prisma.StringWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string status?: Prisma.EnumFiscalResponseStatusWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalResponseStatus
tax_id?: Prisma.StringNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string | null tax_id?: Prisma.StringNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string | null
type?: Prisma.EnumFiscalRequestTypeWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalRequestType
request_payload?: Prisma.JsonNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> request_payload?: Prisma.JsonNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts">
response_payload?: Prisma.JsonNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> response_payload?: Prisma.JsonNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts">
error_message?: Prisma.StringNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string | null error_message?: Prisma.StringNullableWithAggregatesFilter<"SaleInvoiceFiscalAttempts"> | string | null
@@ -333,8 +345,9 @@ export type SaleInvoiceFiscalAttemptsScalarWhereWithAggregatesInput = {
export type SaleInvoiceFiscalAttemptsCreateInput = { export type SaleInvoiceFiscalAttemptsCreateInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -347,8 +360,9 @@ export type SaleInvoiceFiscalAttemptsCreateInput = {
export type SaleInvoiceFiscalAttemptsUncheckedCreateInput = { export type SaleInvoiceFiscalAttemptsUncheckedCreateInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -361,8 +375,9 @@ export type SaleInvoiceFiscalAttemptsUncheckedCreateInput = {
export type SaleInvoiceFiscalAttemptsUpdateInput = { export type SaleInvoiceFiscalAttemptsUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -375,8 +390,9 @@ export type SaleInvoiceFiscalAttemptsUpdateInput = {
export type SaleInvoiceFiscalAttemptsUncheckedUpdateInput = { export type SaleInvoiceFiscalAttemptsUncheckedUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -389,8 +405,9 @@ export type SaleInvoiceFiscalAttemptsUncheckedUpdateInput = {
export type SaleInvoiceFiscalAttemptsCreateManyInput = { export type SaleInvoiceFiscalAttemptsCreateManyInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -403,8 +420,9 @@ export type SaleInvoiceFiscalAttemptsCreateManyInput = {
export type SaleInvoiceFiscalAttemptsUpdateManyMutationInput = { export type SaleInvoiceFiscalAttemptsUpdateManyMutationInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -416,8 +434,9 @@ export type SaleInvoiceFiscalAttemptsUpdateManyMutationInput = {
export type SaleInvoiceFiscalAttemptsUncheckedUpdateManyInput = { export type SaleInvoiceFiscalAttemptsUncheckedUpdateManyInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -453,6 +472,7 @@ export type SaleInvoiceFiscalAttemptsCountOrderByAggregateInput = {
attempt_no?: Prisma.SortOrder attempt_no?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
tax_id?: Prisma.SortOrder tax_id?: Prisma.SortOrder
type?: Prisma.SortOrder
request_payload?: Prisma.SortOrder request_payload?: Prisma.SortOrder
response_payload?: Prisma.SortOrder response_payload?: Prisma.SortOrder
error_message?: Prisma.SortOrder error_message?: Prisma.SortOrder
@@ -471,6 +491,7 @@ export type SaleInvoiceFiscalAttemptsMaxOrderByAggregateInput = {
attempt_no?: Prisma.SortOrder attempt_no?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
tax_id?: Prisma.SortOrder tax_id?: Prisma.SortOrder
type?: Prisma.SortOrder
error_message?: Prisma.SortOrder error_message?: Prisma.SortOrder
sent_at?: Prisma.SortOrder sent_at?: Prisma.SortOrder
received_at?: Prisma.SortOrder received_at?: Prisma.SortOrder
@@ -483,6 +504,7 @@ export type SaleInvoiceFiscalAttemptsMinOrderByAggregateInput = {
attempt_no?: Prisma.SortOrder attempt_no?: Prisma.SortOrder
status?: Prisma.SortOrder status?: Prisma.SortOrder
tax_id?: Prisma.SortOrder tax_id?: Prisma.SortOrder
type?: Prisma.SortOrder
error_message?: Prisma.SortOrder error_message?: Prisma.SortOrder
sent_at?: Prisma.SortOrder sent_at?: Prisma.SortOrder
received_at?: Prisma.SortOrder received_at?: Prisma.SortOrder
@@ -536,11 +558,20 @@ export type SaleInvoiceFiscalAttemptsUncheckedUpdateManyWithoutFiscalNestedInput
deleteMany?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput[] deleteMany?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput[]
} }
export type EnumFiscalResponseStatusFieldUpdateOperationsInput = {
set?: $Enums.FiscalResponseStatus
}
export type EnumFiscalRequestTypeFieldUpdateOperationsInput = {
set?: $Enums.FiscalRequestType
}
export type SaleInvoiceFiscalAttemptsCreateWithoutFiscalInput = { export type SaleInvoiceFiscalAttemptsCreateWithoutFiscalInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -552,8 +583,9 @@ export type SaleInvoiceFiscalAttemptsCreateWithoutFiscalInput = {
export type SaleInvoiceFiscalAttemptsUncheckedCreateWithoutFiscalInput = { export type SaleInvoiceFiscalAttemptsUncheckedCreateWithoutFiscalInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -594,8 +626,9 @@ export type SaleInvoiceFiscalAttemptsScalarWhereInput = {
NOT?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput[] NOT?: Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput | Prisma.SaleInvoiceFiscalAttemptsScalarWhereInput[]
id?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string id?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string
attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number attempt_no?: Prisma.IntFilter<"SaleInvoiceFiscalAttempts"> | number
status?: Prisma.StringFilter<"SaleInvoiceFiscalAttempts"> | string status?: Prisma.EnumFiscalResponseStatusFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalResponseStatus
tax_id?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null tax_id?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null
type?: Prisma.EnumFiscalRequestTypeFilter<"SaleInvoiceFiscalAttempts"> | $Enums.FiscalRequestType
request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> request_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts"> response_payload?: Prisma.JsonNullableFilter<"SaleInvoiceFiscalAttempts">
error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null error_message?: Prisma.StringNullableFilter<"SaleInvoiceFiscalAttempts"> | string | null
@@ -608,8 +641,9 @@ export type SaleInvoiceFiscalAttemptsScalarWhereInput = {
export type SaleInvoiceFiscalAttemptsCreateManyFiscalInput = { export type SaleInvoiceFiscalAttemptsCreateManyFiscalInput = {
id?: string id?: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id?: string | null tax_id?: string | null
type: $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: string | null error_message?: string | null
@@ -621,8 +655,9 @@ export type SaleInvoiceFiscalAttemptsCreateManyFiscalInput = {
export type SaleInvoiceFiscalAttemptsUpdateWithoutFiscalInput = { export type SaleInvoiceFiscalAttemptsUpdateWithoutFiscalInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -634,8 +669,9 @@ export type SaleInvoiceFiscalAttemptsUpdateWithoutFiscalInput = {
export type SaleInvoiceFiscalAttemptsUncheckedUpdateWithoutFiscalInput = { export type SaleInvoiceFiscalAttemptsUncheckedUpdateWithoutFiscalInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -647,8 +683,9 @@ export type SaleInvoiceFiscalAttemptsUncheckedUpdateWithoutFiscalInput = {
export type SaleInvoiceFiscalAttemptsUncheckedUpdateManyWithoutFiscalInput = { export type SaleInvoiceFiscalAttemptsUncheckedUpdateManyWithoutFiscalInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
attempt_no?: Prisma.IntFieldUpdateOperationsInput | number attempt_no?: Prisma.IntFieldUpdateOperationsInput | number
status?: Prisma.StringFieldUpdateOperationsInput | string status?: Prisma.EnumFiscalResponseStatusFieldUpdateOperationsInput | $Enums.FiscalResponseStatus
tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null tax_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
type?: Prisma.EnumFiscalRequestTypeFieldUpdateOperationsInput | $Enums.FiscalRequestType
request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue request_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue response_payload?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue
error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null error_message?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
@@ -664,6 +701,7 @@ export type SaleInvoiceFiscalAttemptsSelect<ExtArgs extends runtime.Types.Extens
attempt_no?: boolean attempt_no?: boolean
status?: boolean status?: boolean
tax_id?: boolean tax_id?: boolean
type?: boolean
request_payload?: boolean request_payload?: boolean
response_payload?: boolean response_payload?: boolean
error_message?: boolean error_message?: boolean
@@ -681,6 +719,7 @@ export type SaleInvoiceFiscalAttemptsSelectScalar = {
attempt_no?: boolean attempt_no?: boolean
status?: boolean status?: boolean
tax_id?: boolean tax_id?: boolean
type?: boolean
request_payload?: boolean request_payload?: boolean
response_payload?: boolean response_payload?: boolean
error_message?: boolean error_message?: boolean
@@ -690,7 +729,7 @@ export type SaleInvoiceFiscalAttemptsSelectScalar = {
fiscal_id?: boolean fiscal_id?: boolean
} }
export type SaleInvoiceFiscalAttemptsOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "attempt_no" | "status" | "tax_id" | "request_payload" | "response_payload" | "error_message" | "sent_at" | "received_at" | "created_at" | "fiscal_id", ExtArgs["result"]["saleInvoiceFiscalAttempts"]> export type SaleInvoiceFiscalAttemptsOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "attempt_no" | "status" | "tax_id" | "type" | "request_payload" | "response_payload" | "error_message" | "sent_at" | "received_at" | "created_at" | "fiscal_id", ExtArgs["result"]["saleInvoiceFiscalAttempts"]>
export type SaleInvoiceFiscalAttemptsInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type SaleInvoiceFiscalAttemptsInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
fiscal?: boolean | Prisma.SaleInvoiceFiscalsDefaultArgs<ExtArgs> fiscal?: boolean | Prisma.SaleInvoiceFiscalsDefaultArgs<ExtArgs>
} }
@@ -703,8 +742,9 @@ export type $SaleInvoiceFiscalAttemptsPayload<ExtArgs extends runtime.Types.Exte
scalars: runtime.Types.Extensions.GetPayloadResult<{ scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string id: string
attempt_no: number attempt_no: number
status: string status: $Enums.FiscalResponseStatus
tax_id: string | null tax_id: string | null
type: $Enums.FiscalRequestType
request_payload: runtime.JsonValue | null request_payload: runtime.JsonValue | null
response_payload: runtime.JsonValue | null response_payload: runtime.JsonValue | null
error_message: string | null error_message: string | null
@@ -1084,8 +1124,9 @@ export interface Prisma__SaleInvoiceFiscalAttemptsClient<T, Null = never, ExtArg
export interface SaleInvoiceFiscalAttemptsFieldRefs { export interface SaleInvoiceFiscalAttemptsFieldRefs {
readonly id: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'> readonly id: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'>
readonly attempt_no: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Int'> readonly attempt_no: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Int'>
readonly status: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'> readonly status: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'FiscalResponseStatus'>
readonly tax_id: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'> readonly tax_id: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'>
readonly type: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'FiscalRequestType'>
readonly request_payload: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Json'> readonly request_payload: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Json'>
readonly response_payload: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Json'> readonly response_payload: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'Json'>
readonly error_message: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'> readonly error_message: Prisma.FieldRef<"SaleInvoiceFiscalAttempts", 'String'>
@@ -684,14 +684,6 @@ export type SalesInvoiceUncheckedUpdateManyWithoutCustomerNestedInput = {
deleteMany?: Prisma.SalesInvoiceScalarWhereInput | Prisma.SalesInvoiceScalarWhereInput[] deleteMany?: Prisma.SalesInvoiceScalarWhereInput | Prisma.SalesInvoiceScalarWhereInput[]
} }
export type DecimalFieldUpdateOperationsInput = {
set?: runtime.Decimal | runtime.DecimalJsLike | number | string
increment?: runtime.Decimal | runtime.DecimalJsLike | number | string
decrement?: runtime.Decimal | runtime.DecimalJsLike | number | string
multiply?: runtime.Decimal | runtime.DecimalJsLike | number | string
divide?: runtime.Decimal | runtime.DecimalJsLike | number | string
}
export type SalesInvoiceCreateNestedOneWithoutItemsInput = { export type SalesInvoiceCreateNestedOneWithoutItemsInput = {
create?: Prisma.XOR<Prisma.SalesInvoiceCreateWithoutItemsInput, Prisma.SalesInvoiceUncheckedCreateWithoutItemsInput> create?: Prisma.XOR<Prisma.SalesInvoiceCreateWithoutItemsInput, Prisma.SalesInvoiceUncheckedCreateWithoutItemsInput>
connectOrCreate?: Prisma.SalesInvoiceCreateOrConnectWithoutItemsInput connectOrCreate?: Prisma.SalesInvoiceCreateOrConnectWithoutItemsInput
+187 -46
View File
@@ -28,6 +28,7 @@ export type AggregateSalesInvoiceItem = {
export type SalesInvoiceItemAvgAggregateOutputType = { export type SalesInvoiceItemAvgAggregateOutputType = {
quantity: runtime.Decimal | null quantity: runtime.Decimal | null
sku_vat: runtime.Decimal | null
unit_price: runtime.Decimal | null unit_price: runtime.Decimal | null
total_amount: runtime.Decimal | null total_amount: runtime.Decimal | null
discount: runtime.Decimal | null discount: runtime.Decimal | null
@@ -35,6 +36,7 @@ export type SalesInvoiceItemAvgAggregateOutputType = {
export type SalesInvoiceItemSumAggregateOutputType = { export type SalesInvoiceItemSumAggregateOutputType = {
quantity: runtime.Decimal | null quantity: runtime.Decimal | null
sku_vat: runtime.Decimal | null
unit_price: runtime.Decimal | null unit_price: runtime.Decimal | null
total_amount: runtime.Decimal | null total_amount: runtime.Decimal | null
discount: runtime.Decimal | null discount: runtime.Decimal | null
@@ -43,7 +45,10 @@ export type SalesInvoiceItemSumAggregateOutputType = {
export type SalesInvoiceItemMinAggregateOutputType = { export type SalesInvoiceItemMinAggregateOutputType = {
id: string | null id: string | null
quantity: runtime.Decimal | null quantity: runtime.Decimal | null
unit_type: $Enums.UnitType | null measure_unit_text: string | null
measure_unit_code: string | null
sku_code: string | null
sku_vat: runtime.Decimal | null
unit_price: runtime.Decimal | null unit_price: runtime.Decimal | null
total_amount: runtime.Decimal | null total_amount: runtime.Decimal | null
created_at: Date | null created_at: Date | null
@@ -57,7 +62,10 @@ export type SalesInvoiceItemMinAggregateOutputType = {
export type SalesInvoiceItemMaxAggregateOutputType = { export type SalesInvoiceItemMaxAggregateOutputType = {
id: string | null id: string | null
quantity: runtime.Decimal | null quantity: runtime.Decimal | null
unit_type: $Enums.UnitType | null measure_unit_text: string | null
measure_unit_code: string | null
sku_code: string | null
sku_vat: runtime.Decimal | null
unit_price: runtime.Decimal | null unit_price: runtime.Decimal | null
total_amount: runtime.Decimal | null total_amount: runtime.Decimal | null
created_at: Date | null created_at: Date | null
@@ -71,7 +79,10 @@ export type SalesInvoiceItemMaxAggregateOutputType = {
export type SalesInvoiceItemCountAggregateOutputType = { export type SalesInvoiceItemCountAggregateOutputType = {
id: number id: number
quantity: number quantity: number
unit_type: number measure_unit_text: number
measure_unit_code: number
sku_code: number
sku_vat: number
unit_price: number unit_price: number
total_amount: number total_amount: number
created_at: number created_at: number
@@ -88,6 +99,7 @@ export type SalesInvoiceItemCountAggregateOutputType = {
export type SalesInvoiceItemAvgAggregateInputType = { export type SalesInvoiceItemAvgAggregateInputType = {
quantity?: true quantity?: true
sku_vat?: true
unit_price?: true unit_price?: true
total_amount?: true total_amount?: true
discount?: true discount?: true
@@ -95,6 +107,7 @@ export type SalesInvoiceItemAvgAggregateInputType = {
export type SalesInvoiceItemSumAggregateInputType = { export type SalesInvoiceItemSumAggregateInputType = {
quantity?: true quantity?: true
sku_vat?: true
unit_price?: true unit_price?: true
total_amount?: true total_amount?: true
discount?: true discount?: true
@@ -103,7 +116,10 @@ export type SalesInvoiceItemSumAggregateInputType = {
export type SalesInvoiceItemMinAggregateInputType = { export type SalesInvoiceItemMinAggregateInputType = {
id?: true id?: true
quantity?: true quantity?: true
unit_type?: true measure_unit_text?: true
measure_unit_code?: true
sku_code?: true
sku_vat?: true
unit_price?: true unit_price?: true
total_amount?: true total_amount?: true
created_at?: true created_at?: true
@@ -117,7 +133,10 @@ export type SalesInvoiceItemMinAggregateInputType = {
export type SalesInvoiceItemMaxAggregateInputType = { export type SalesInvoiceItemMaxAggregateInputType = {
id?: true id?: true
quantity?: true quantity?: true
unit_type?: true measure_unit_text?: true
measure_unit_code?: true
sku_code?: true
sku_vat?: true
unit_price?: true unit_price?: true
total_amount?: true total_amount?: true
created_at?: true created_at?: true
@@ -131,7 +150,10 @@ export type SalesInvoiceItemMaxAggregateInputType = {
export type SalesInvoiceItemCountAggregateInputType = { export type SalesInvoiceItemCountAggregateInputType = {
id?: true id?: true
quantity?: true quantity?: true
unit_type?: true measure_unit_text?: true
measure_unit_code?: true
sku_code?: true
sku_vat?: true
unit_price?: true unit_price?: true
total_amount?: true total_amount?: true
created_at?: true created_at?: true
@@ -234,7 +256,10 @@ export type SalesInvoiceItemGroupByArgs<ExtArgs extends runtime.Types.Extensions
export type SalesInvoiceItemGroupByOutputType = { export type SalesInvoiceItemGroupByOutputType = {
id: string id: string
quantity: runtime.Decimal quantity: runtime.Decimal
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat: runtime.Decimal
unit_price: runtime.Decimal unit_price: runtime.Decimal
total_amount: runtime.Decimal total_amount: runtime.Decimal
created_at: Date created_at: Date
@@ -273,7 +298,10 @@ export type SalesInvoiceItemWhereInput = {
NOT?: Prisma.SalesInvoiceItemWhereInput | Prisma.SalesInvoiceItemWhereInput[] NOT?: Prisma.SalesInvoiceItemWhereInput | Prisma.SalesInvoiceItemWhereInput[]
id?: Prisma.StringFilter<"SalesInvoiceItem"> | string id?: Prisma.StringFilter<"SalesInvoiceItem"> | string
quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFilter<"SalesInvoiceItem"> | $Enums.UnitType measure_unit_text?: Prisma.StringFilter<"SalesInvoiceItem"> | string
measure_unit_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_vat?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string
@@ -292,7 +320,10 @@ export type SalesInvoiceItemWhereInput = {
export type SalesInvoiceItemOrderByWithRelationInput = { export type SalesInvoiceItemOrderByWithRelationInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
unit_type?: Prisma.SortOrder measure_unit_text?: Prisma.SortOrder
measure_unit_code?: Prisma.SortOrder
sku_code?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
@@ -315,7 +346,10 @@ export type SalesInvoiceItemWhereUniqueInput = Prisma.AtLeast<{
OR?: Prisma.SalesInvoiceItemWhereInput[] OR?: Prisma.SalesInvoiceItemWhereInput[]
NOT?: Prisma.SalesInvoiceItemWhereInput | Prisma.SalesInvoiceItemWhereInput[] NOT?: Prisma.SalesInvoiceItemWhereInput | Prisma.SalesInvoiceItemWhereInput[]
quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFilter<"SalesInvoiceItem"> | $Enums.UnitType measure_unit_text?: Prisma.StringFilter<"SalesInvoiceItem"> | string
measure_unit_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_vat?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string
@@ -334,7 +368,10 @@ export type SalesInvoiceItemWhereUniqueInput = Prisma.AtLeast<{
export type SalesInvoiceItemOrderByWithAggregationInput = { export type SalesInvoiceItemOrderByWithAggregationInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
unit_type?: Prisma.SortOrder measure_unit_text?: Prisma.SortOrder
measure_unit_code?: Prisma.SortOrder
sku_code?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
@@ -358,7 +395,10 @@ export type SalesInvoiceItemScalarWhereWithAggregatesInput = {
NOT?: Prisma.SalesInvoiceItemScalarWhereWithAggregatesInput | Prisma.SalesInvoiceItemScalarWhereWithAggregatesInput[] NOT?: Prisma.SalesInvoiceItemScalarWhereWithAggregatesInput | Prisma.SalesInvoiceItemScalarWhereWithAggregatesInput[]
id?: Prisma.StringWithAggregatesFilter<"SalesInvoiceItem"> | string id?: Prisma.StringWithAggregatesFilter<"SalesInvoiceItem"> | string
quantity?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeWithAggregatesFilter<"SalesInvoiceItem"> | $Enums.UnitType measure_unit_text?: Prisma.StringWithAggregatesFilter<"SalesInvoiceItem"> | string
measure_unit_code?: Prisma.StringWithAggregatesFilter<"SalesInvoiceItem"> | string
sku_code?: Prisma.StringWithAggregatesFilter<"SalesInvoiceItem"> | string
sku_vat?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalWithAggregatesFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeWithAggregatesFilter<"SalesInvoiceItem"> | Date | string created_at?: Prisma.DateTimeWithAggregatesFilter<"SalesInvoiceItem"> | Date | string
@@ -374,7 +414,10 @@ export type SalesInvoiceItemScalarWhereWithAggregatesInput = {
export type SalesInvoiceItemCreateInput = { export type SalesInvoiceItemCreateInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -390,7 +433,10 @@ export type SalesInvoiceItemCreateInput = {
export type SalesInvoiceItemUncheckedCreateInput = { export type SalesInvoiceItemUncheckedCreateInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -406,7 +452,10 @@ export type SalesInvoiceItemUncheckedCreateInput = {
export type SalesInvoiceItemUpdateInput = { export type SalesInvoiceItemUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -422,7 +471,10 @@ export type SalesInvoiceItemUpdateInput = {
export type SalesInvoiceItemUncheckedUpdateInput = { export type SalesInvoiceItemUncheckedUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -438,7 +490,10 @@ export type SalesInvoiceItemUncheckedUpdateInput = {
export type SalesInvoiceItemCreateManyInput = { export type SalesInvoiceItemCreateManyInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -454,7 +509,10 @@ export type SalesInvoiceItemCreateManyInput = {
export type SalesInvoiceItemUpdateManyMutationInput = { export type SalesInvoiceItemUpdateManyMutationInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -467,7 +525,10 @@ export type SalesInvoiceItemUpdateManyMutationInput = {
export type SalesInvoiceItemUncheckedUpdateManyInput = { export type SalesInvoiceItemUncheckedUpdateManyInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -499,7 +560,10 @@ export type SalesInvoiceItemOrderByRelevanceInput = {
export type SalesInvoiceItemCountOrderByAggregateInput = { export type SalesInvoiceItemCountOrderByAggregateInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
unit_type?: Prisma.SortOrder measure_unit_text?: Prisma.SortOrder
measure_unit_code?: Prisma.SortOrder
sku_code?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
@@ -514,6 +578,7 @@ export type SalesInvoiceItemCountOrderByAggregateInput = {
export type SalesInvoiceItemAvgOrderByAggregateInput = { export type SalesInvoiceItemAvgOrderByAggregateInput = {
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
discount?: Prisma.SortOrder discount?: Prisma.SortOrder
@@ -522,7 +587,10 @@ export type SalesInvoiceItemAvgOrderByAggregateInput = {
export type SalesInvoiceItemMaxOrderByAggregateInput = { export type SalesInvoiceItemMaxOrderByAggregateInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
unit_type?: Prisma.SortOrder measure_unit_text?: Prisma.SortOrder
measure_unit_code?: Prisma.SortOrder
sku_code?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
@@ -536,7 +604,10 @@ export type SalesInvoiceItemMaxOrderByAggregateInput = {
export type SalesInvoiceItemMinOrderByAggregateInput = { export type SalesInvoiceItemMinOrderByAggregateInput = {
id?: Prisma.SortOrder id?: Prisma.SortOrder
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
unit_type?: Prisma.SortOrder measure_unit_text?: Prisma.SortOrder
measure_unit_code?: Prisma.SortOrder
sku_code?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
created_at?: Prisma.SortOrder created_at?: Prisma.SortOrder
@@ -549,6 +620,7 @@ export type SalesInvoiceItemMinOrderByAggregateInput = {
export type SalesInvoiceItemSumOrderByAggregateInput = { export type SalesInvoiceItemSumOrderByAggregateInput = {
quantity?: Prisma.SortOrder quantity?: Prisma.SortOrder
sku_vat?: Prisma.SortOrder
unit_price?: Prisma.SortOrder unit_price?: Prisma.SortOrder
total_amount?: Prisma.SortOrder total_amount?: Prisma.SortOrder
discount?: Prisma.SortOrder discount?: Prisma.SortOrder
@@ -683,7 +755,10 @@ export type SalesInvoiceItemUncheckedUpdateManyWithoutServiceNestedInput = {
export type SalesInvoiceItemCreateWithoutGoodInput = { export type SalesInvoiceItemCreateWithoutGoodInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -698,7 +773,10 @@ export type SalesInvoiceItemCreateWithoutGoodInput = {
export type SalesInvoiceItemUncheckedCreateWithoutGoodInput = { export type SalesInvoiceItemUncheckedCreateWithoutGoodInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -742,7 +820,10 @@ export type SalesInvoiceItemScalarWhereInput = {
NOT?: Prisma.SalesInvoiceItemScalarWhereInput | Prisma.SalesInvoiceItemScalarWhereInput[] NOT?: Prisma.SalesInvoiceItemScalarWhereInput | Prisma.SalesInvoiceItemScalarWhereInput[]
id?: Prisma.StringFilter<"SalesInvoiceItem"> | string id?: Prisma.StringFilter<"SalesInvoiceItem"> | string
quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFilter<"SalesInvoiceItem"> | $Enums.UnitType measure_unit_text?: Prisma.StringFilter<"SalesInvoiceItem"> | string
measure_unit_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_code?: Prisma.StringFilter<"SalesInvoiceItem"> | string
sku_vat?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFilter<"SalesInvoiceItem"> | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string created_at?: Prisma.DateTimeFilter<"SalesInvoiceItem"> | Date | string
@@ -758,7 +839,10 @@ export type SalesInvoiceItemScalarWhereInput = {
export type SalesInvoiceItemCreateWithoutInvoiceInput = { export type SalesInvoiceItemCreateWithoutInvoiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -773,7 +857,10 @@ export type SalesInvoiceItemCreateWithoutInvoiceInput = {
export type SalesInvoiceItemUncheckedCreateWithoutInvoiceInput = { export type SalesInvoiceItemUncheckedCreateWithoutInvoiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -814,7 +901,10 @@ export type SalesInvoiceItemUpdateManyWithWhereWithoutInvoiceInput = {
export type SalesInvoiceItemCreateWithoutServiceInput = { export type SalesInvoiceItemCreateWithoutServiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -829,7 +919,10 @@ export type SalesInvoiceItemCreateWithoutServiceInput = {
export type SalesInvoiceItemUncheckedCreateWithoutServiceInput = { export type SalesInvoiceItemUncheckedCreateWithoutServiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -870,7 +963,10 @@ export type SalesInvoiceItemUpdateManyWithWhereWithoutServiceInput = {
export type SalesInvoiceItemCreateManyGoodInput = { export type SalesInvoiceItemCreateManyGoodInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -885,7 +981,10 @@ export type SalesInvoiceItemCreateManyGoodInput = {
export type SalesInvoiceItemUpdateWithoutGoodInput = { export type SalesInvoiceItemUpdateWithoutGoodInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -900,7 +999,10 @@ export type SalesInvoiceItemUpdateWithoutGoodInput = {
export type SalesInvoiceItemUncheckedUpdateWithoutGoodInput = { export type SalesInvoiceItemUncheckedUpdateWithoutGoodInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -915,7 +1017,10 @@ export type SalesInvoiceItemUncheckedUpdateWithoutGoodInput = {
export type SalesInvoiceItemUncheckedUpdateManyWithoutGoodInput = { export type SalesInvoiceItemUncheckedUpdateManyWithoutGoodInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -930,7 +1035,10 @@ export type SalesInvoiceItemUncheckedUpdateManyWithoutGoodInput = {
export type SalesInvoiceItemCreateManyInvoiceInput = { export type SalesInvoiceItemCreateManyInvoiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -945,7 +1053,10 @@ export type SalesInvoiceItemCreateManyInvoiceInput = {
export type SalesInvoiceItemUpdateWithoutInvoiceInput = { export type SalesInvoiceItemUpdateWithoutInvoiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -960,7 +1071,10 @@ export type SalesInvoiceItemUpdateWithoutInvoiceInput = {
export type SalesInvoiceItemUncheckedUpdateWithoutInvoiceInput = { export type SalesInvoiceItemUncheckedUpdateWithoutInvoiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -975,7 +1089,10 @@ export type SalesInvoiceItemUncheckedUpdateWithoutInvoiceInput = {
export type SalesInvoiceItemUncheckedUpdateManyWithoutInvoiceInput = { export type SalesInvoiceItemUncheckedUpdateManyWithoutInvoiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -990,7 +1107,10 @@ export type SalesInvoiceItemUncheckedUpdateManyWithoutInvoiceInput = {
export type SalesInvoiceItemCreateManyServiceInput = { export type SalesInvoiceItemCreateManyServiceInput = {
id?: string id?: string
quantity: runtime.Decimal | runtime.DecimalJsLike | number | string quantity: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat?: runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Date | string created_at?: Date | string
@@ -1005,7 +1125,10 @@ export type SalesInvoiceItemCreateManyServiceInput = {
export type SalesInvoiceItemUpdateWithoutServiceInput = { export type SalesInvoiceItemUpdateWithoutServiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -1020,7 +1143,10 @@ export type SalesInvoiceItemUpdateWithoutServiceInput = {
export type SalesInvoiceItemUncheckedUpdateWithoutServiceInput = { export type SalesInvoiceItemUncheckedUpdateWithoutServiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -1035,7 +1161,10 @@ export type SalesInvoiceItemUncheckedUpdateWithoutServiceInput = {
export type SalesInvoiceItemUncheckedUpdateManyWithoutServiceInput = { export type SalesInvoiceItemUncheckedUpdateManyWithoutServiceInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string id?: Prisma.StringFieldUpdateOperationsInput | string
quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string quantity?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_type?: Prisma.EnumUnitTypeFieldUpdateOperationsInput | $Enums.UnitType measure_unit_text?: Prisma.StringFieldUpdateOperationsInput | string
measure_unit_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_code?: Prisma.StringFieldUpdateOperationsInput | string
sku_vat?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string unit_price?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string total_amount?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string
created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -1052,7 +1181,10 @@ export type SalesInvoiceItemUncheckedUpdateManyWithoutServiceInput = {
export type SalesInvoiceItemSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{ export type SalesInvoiceItemSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean id?: boolean
quantity?: boolean quantity?: boolean
unit_type?: boolean measure_unit_text?: boolean
measure_unit_code?: boolean
sku_code?: boolean
sku_vat?: boolean
unit_price?: boolean unit_price?: boolean
total_amount?: boolean total_amount?: boolean
created_at?: boolean created_at?: boolean
@@ -1073,7 +1205,10 @@ export type SalesInvoiceItemSelect<ExtArgs extends runtime.Types.Extensions.Inte
export type SalesInvoiceItemSelectScalar = { export type SalesInvoiceItemSelectScalar = {
id?: boolean id?: boolean
quantity?: boolean quantity?: boolean
unit_type?: boolean measure_unit_text?: boolean
measure_unit_code?: boolean
sku_code?: boolean
sku_vat?: boolean
unit_price?: boolean unit_price?: boolean
total_amount?: boolean total_amount?: boolean
created_at?: boolean created_at?: boolean
@@ -1086,7 +1221,7 @@ export type SalesInvoiceItemSelectScalar = {
service_id?: boolean service_id?: boolean
} }
export type SalesInvoiceItemOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "quantity" | "unit_type" | "unit_price" | "total_amount" | "created_at" | "discount" | "notes" | "payload" | "good_snapshot" | "invoice_id" | "good_id" | "service_id", ExtArgs["result"]["salesInvoiceItem"]> export type SalesInvoiceItemOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "quantity" | "measure_unit_text" | "measure_unit_code" | "sku_code" | "sku_vat" | "unit_price" | "total_amount" | "created_at" | "discount" | "notes" | "payload" | "good_snapshot" | "invoice_id" | "good_id" | "service_id", ExtArgs["result"]["salesInvoiceItem"]>
export type SalesInvoiceItemInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = { export type SalesInvoiceItemInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
invoice?: boolean | Prisma.SalesInvoiceDefaultArgs<ExtArgs> invoice?: boolean | Prisma.SalesInvoiceDefaultArgs<ExtArgs>
good?: boolean | Prisma.SalesInvoiceItem$goodArgs<ExtArgs> good?: boolean | Prisma.SalesInvoiceItem$goodArgs<ExtArgs>
@@ -1103,7 +1238,10 @@ export type $SalesInvoiceItemPayload<ExtArgs extends runtime.Types.Extensions.In
scalars: runtime.Types.Extensions.GetPayloadResult<{ scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string id: string
quantity: runtime.Decimal quantity: runtime.Decimal
unit_type: $Enums.UnitType measure_unit_text: string
measure_unit_code: string
sku_code: string
sku_vat: runtime.Decimal
unit_price: runtime.Decimal unit_price: runtime.Decimal
total_amount: runtime.Decimal total_amount: runtime.Decimal
created_at: Date created_at: Date
@@ -1488,7 +1626,10 @@ export interface Prisma__SalesInvoiceItemClient<T, Null = never, ExtArgs extends
export interface SalesInvoiceItemFieldRefs { export interface SalesInvoiceItemFieldRefs {
readonly id: Prisma.FieldRef<"SalesInvoiceItem", 'String'> readonly id: Prisma.FieldRef<"SalesInvoiceItem", 'String'>
readonly quantity: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'> readonly quantity: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'>
readonly unit_type: Prisma.FieldRef<"SalesInvoiceItem", 'UnitType'> readonly measure_unit_text: Prisma.FieldRef<"SalesInvoiceItem", 'String'>
readonly measure_unit_code: Prisma.FieldRef<"SalesInvoiceItem", 'String'>
readonly sku_code: Prisma.FieldRef<"SalesInvoiceItem", 'String'>
readonly sku_vat: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'>
readonly unit_price: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'> readonly unit_price: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'>
readonly total_amount: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'> readonly total_amount: Prisma.FieldRef<"SalesInvoiceItem", 'Decimal'>
readonly created_at: Prisma.FieldRef<"SalesInvoiceItem", 'DateTime'> readonly created_at: Prisma.FieldRef<"SalesInvoiceItem", 'DateTime'>
File diff suppressed because it is too large Load Diff
+2
View File
@@ -9,6 +9,7 @@ import { AdminGuildsModule } from './guilds/guilds.module'
import { AdminLicensesModule } from './licenses/licenses.module' import { AdminLicensesModule } from './licenses/licenses.module'
import { AdminPartnersModule } from './partners/partners.module' import { AdminPartnersModule } from './partners/partners.module'
import { AdminProvidersModule } from './providers/providers.module' import { AdminProvidersModule } from './providers/providers.module'
import { AdminStockKeepingUnitsModule } from './stock-keeping-units/stock-keeping-units.module'
import { AdminTranslateModule } from './translate/translate.module' import { AdminTranslateModule } from './translate/translate.module'
import { AdminUserAccountsModule } from './users/accounts/accounts.module' import { AdminUserAccountsModule } from './users/accounts/accounts.module'
import { AdminUsersModule } from './users/users.module' import { AdminUsersModule } from './users/users.module'
@@ -25,6 +26,7 @@ import { AdminUsersModule } from './users/users.module'
AdminGuildsModule, AdminGuildsModule,
AdminDeviceBrandsModule, AdminDeviceBrandsModule,
AdminDevicesModule, AdminDevicesModule,
AdminStockKeepingUnitsModule,
AdminLicensesModule, AdminLicensesModule,
AdminConsumersModule, AdminConsumersModule,
], ],
@@ -1,23 +1,23 @@
import { GoodPricingModel, UnitType } from '@/generated/prisma/enums' import { GoodPricingModel } from '@/generated/prisma/enums'
import { ApiProperty, PartialType } from '@nestjs/swagger' import { ApiProperty, PartialType } from '@nestjs/swagger'
import { IsEnum, IsOptional, IsString } from 'class-validator' import { IsEnum, IsOptional, IsString } from 'class-validator'
export class CreateGuildGoodDto { export class CreateGuildGoodDto {
@ApiProperty({ required: true })
@IsString() @IsString()
@ApiProperty()
name: string name: string
@IsString()
@ApiProperty()
sku: string
@IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
@IsString()
sku_id: string
@ApiProperty({ required: true })
@IsString()
category_id: string category_id: string
@IsEnum(UnitType) @ApiProperty({ required: true })
@ApiProperty({ required: true, enum: UnitType }) @IsString()
unit_type: UnitType measure_unit_id: string
@IsEnum(GoodPricingModel) @IsEnum(GoodPricingModel)
@ApiProperty({ required: true, enum: GoodPricingModel }) @ApiProperty({ required: true, enum: GoodPricingModel })
@@ -17,10 +17,20 @@ export class GoodsService {
id: true, id: true,
name: true, name: true,
pricing_model: true, pricing_model: true,
unit_type: true,
image_url: true, image_url: true,
sku: true,
description: true, description: true,
sku: {
select: {
id: true,
name: true,
},
},
measure_unit: {
select: {
id: true,
name: true,
},
},
category: { category: {
select: { select: {
id: true, id: true,
@@ -62,7 +72,7 @@ export class GoodsService {
} }
async create(data: CreateGuildGoodDto, file: Express.Multer.File) { async create(data: CreateGuildGoodDto, file: Express.Multer.File) {
const { category_id, ...rest } = data const { category_id, measure_unit_id, sku_id, ...rest } = data
const good = await this.prisma.$transaction(async tx => { const good = await this.prisma.$transaction(async tx => {
let image_url = '' let image_url = ''
@@ -79,6 +89,16 @@ export class GoodsService {
...rest, ...rest,
is_default_guild_good: true, is_default_guild_good: true,
image_url, image_url,
sku: {
connect: {
id: sku_id,
},
},
measure_unit: {
connect: {
id: measure_unit_id,
},
},
category: { category: {
connect: { connect: {
id: category_id, id: category_id,
@@ -93,7 +113,7 @@ export class GoodsService {
} }
async update(id: string, data: UpdateGuildGoodDto, file: Express.Multer.File) { async update(id: string, data: UpdateGuildGoodDto, file: Express.Multer.File) {
const { category_id, ...rest } = data const { category_id, measure_unit_id, sku_id, ...rest } = data
const good = await this.prisma.$transaction(async tx => { const good = await this.prisma.$transaction(async tx => {
let image_url = '' let image_url = ''
@@ -120,6 +140,16 @@ export class GoodsService {
...rest, ...rest,
is_default_guild_good: true, is_default_guild_good: true,
image_url, image_url,
sku: {
connect: {
id: sku_id,
},
},
measure_unit: {
connect: {
id: measure_unit_id,
},
},
category: { category: {
connect: { connect: {
id: category_id, id: category_id,
@@ -0,0 +1,32 @@
import { SKUGuildType } from '@/generated/prisma/enums'
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'
import { Type } from 'class-transformer'
import { IsBoolean, IsEnum, IsNumber, IsString, Min } from 'class-validator'
export class CreateStockKeepingUnitDto {
@ApiProperty()
@IsString()
code: string
@ApiProperty()
@IsString()
name: string
@ApiProperty()
@Type(() => Number)
@IsNumber()
@Min(0)
VAT: number
@ApiPropertyOptional({ enum: SKUGuildType, default: SKUGuildType.GOLD })
@IsEnum(SKUGuildType)
type: SKUGuildType = SKUGuildType.GOLD
@ApiPropertyOptional({ default: true })
@IsBoolean()
is_public: boolean = true
@ApiPropertyOptional({ default: true })
@IsBoolean()
is_domestic: boolean = true
}
@@ -0,0 +1,11 @@
import type { StockKeepingUnitsService } from '../stock-keeping-units.service'
export type StockKeepingUnitsServiceCreateResponseDto = Awaited<
ReturnType<StockKeepingUnitsService['create']>
>
export type StockKeepingUnitsServiceFindAllResponseDto = Awaited<
ReturnType<StockKeepingUnitsService['findAll']>
>
export type StockKeepingUnitsServiceUpdateResponseDto = Awaited<
ReturnType<StockKeepingUnitsService['update']>
>
@@ -0,0 +1,4 @@
import { PartialType } from '@nestjs/swagger'
import { CreateStockKeepingUnitDto } from './create-stock-keeping-unit.dto'
export class UpdateStockKeepingUnitDto extends PartialType(CreateStockKeepingUnitDto) {}
@@ -0,0 +1,36 @@
import { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common'
import { ApiTags } from '@nestjs/swagger'
import type {
StockKeepingUnitsServiceCreateResponseDto,
StockKeepingUnitsServiceFindAllResponseDto,
StockKeepingUnitsServiceUpdateResponseDto,
} from './dto/stock-keeping-units-response.dto'
import { CreateStockKeepingUnitDto } from './dto/create-stock-keeping-unit.dto'
import { UpdateStockKeepingUnitDto } from './dto/update-stock-keeping-unit.dto'
import { StockKeepingUnitsService } from './stock-keeping-units.service'
@ApiTags('AdminStockKeepingUnits')
@Controller('admin/stock-keeping-units')
export class StockKeepingUnitsController {
constructor(private readonly service: StockKeepingUnitsService) {}
@Get()
async findAll(): Promise<StockKeepingUnitsServiceFindAllResponseDto> {
return this.service.findAll()
}
@Post()
async create(
@Body() data: CreateStockKeepingUnitDto,
): Promise<StockKeepingUnitsServiceCreateResponseDto> {
return this.service.create(data)
}
@Patch(':id')
async update(
@Param('id') id: string,
@Body() data: UpdateStockKeepingUnitDto,
): Promise<StockKeepingUnitsServiceUpdateResponseDto> {
return this.service.update(id, data)
}
}
@@ -0,0 +1,11 @@
import { PrismaModule } from '@/prisma/prisma.module'
import { Module } from '@nestjs/common'
import { StockKeepingUnitsController } from './stock-keeping-units.controller'
import { StockKeepingUnitsService } from './stock-keeping-units.service'
@Module({
imports: [PrismaModule],
controllers: [StockKeepingUnitsController],
providers: [StockKeepingUnitsService],
})
export class AdminStockKeepingUnitsModule {}
@@ -0,0 +1,30 @@
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper'
import { CreateStockKeepingUnitDto } from './dto/create-stock-keeping-unit.dto'
import { UpdateStockKeepingUnitDto } from './dto/update-stock-keeping-unit.dto'
@Injectable()
export class StockKeepingUnitsService {
constructor(private readonly prisma: PrismaService) {}
async findAll() {
const items = await this.prisma.stockKeepingUnits.findMany({
orderBy: { created_at: 'desc' },
})
return ResponseMapper.list(items)
}
async create(data: CreateStockKeepingUnitDto) {
const item = await this.prisma.stockKeepingUnits.create({ data })
return ResponseMapper.create(item)
}
async update(id: string, data: UpdateStockKeepingUnitDto) {
const item = await this.prisma.stockKeepingUnits.update({
where: { id },
data,
})
return ResponseMapper.update(item)
}
}
+28 -2
View File
@@ -2,7 +2,15 @@ import { PublicWithToken } from '@/common/decorators/withToken.decorator'
import { Controller, Get, Param } from '@nestjs/common' import { Controller, Get, Param } from '@nestjs/common'
import { ApiTags } from '@nestjs/swagger' import { ApiTags } from '@nestjs/swagger'
import { CatalogsService } from './catalog.service' import { CatalogsService } from './catalog.service'
import type { CatalogsServiceGetDeviceBrandsResponseDto, CatalogsServiceGetDevicesResponseDto, CatalogsServiceGetGuildGoodCategoriesResponseDto, CatalogsServiceGetGuildsResponseDto, CatalogsServiceGetProvidersResponseDto } from './dto/catalog-response.dto' import type {
CatalogsServiceGetDeviceBrandsResponseDto,
CatalogsServiceGetDevicesResponseDto,
CatalogsServiceGetGuildGoodCategoriesResponseDto,
CatalogsServiceGetGuildsResponseDto,
CatalogsServiceGetMeasurementsResponseDto,
CatalogsServiceGetProvidersResponseDto,
CatalogsServiceGetSKUResponseDto,
} from './dto/catalog-response.dto'
@ApiTags('Catalog') @ApiTags('Catalog')
@Controller('catalog') @Controller('catalog')
@@ -33,9 +41,27 @@ export class CatalogsController {
return this.catalogService.getDeviceBrands() return this.catalogService.getDeviceBrands()
} }
@Get('sku')
@PublicWithToken()
async getSKU(
@Param('search') search: string,
): Promise<CatalogsServiceGetSKUResponseDto> {
return this.catalogService.getSKU(search)
}
@Get('measure_units')
@PublicWithToken()
async getMeasurements(
@Param('search') search: string,
): Promise<CatalogsServiceGetMeasurementsResponseDto> {
return this.catalogService.getMeasurements()
}
@Get('guilds/:guildId/good_categories') @Get('guilds/:guildId/good_categories')
@PublicWithToken() @PublicWithToken()
async getGuildGoodCategories(@Param('guildId') guild_id: string): Promise<CatalogsServiceGetGuildGoodCategoriesResponseDto> { async getGuildGoodCategories(
@Param('guildId') guild_id: string,
): Promise<CatalogsServiceGetGuildGoodCategoriesResponseDto> {
return this.catalogService.getGuildGoodCategories(guild_id) return this.catalogService.getGuildGoodCategories(guild_id)
} }
} }
+29
View File
@@ -39,6 +39,35 @@ export class CatalogsService {
return ResponseMapper.list(items) return ResponseMapper.list(items)
} }
async getMeasurements() {
const items = await this.prisma.measureUnits.findMany({
select: {
id: true,
name: true,
code: true,
},
})
return ResponseMapper.list(items)
}
async getSKU(search: string) {
const items = await this.prisma.stockKeepingUnits.findMany({
// where: {
// OR: [{ code: { contains: search } }, { name: { contains: search } }],
// },
select: {
id: true,
code: true,
name: true,
is_domestic: true,
is_public: true,
VAT: true,
},
take: 100,
})
return ResponseMapper.list(items)
}
async getGuildGoodCategories(guild_id: string) { async getGuildGoodCategories(guild_id: string) {
const items = await this.prisma.goodCategory.findMany({ const items = await this.prisma.goodCategory.findMany({
where: { where: {
@@ -1,7 +1,23 @@
import type { CatalogsService } from '../catalog.service' import type { CatalogsService } from '../catalog.service'
export type CatalogsServiceGetDeviceBrandsResponseDto = Awaited<ReturnType<CatalogsService['getDeviceBrands']>> export type CatalogsServiceGetDeviceBrandsResponseDto = Awaited<
export type CatalogsServiceGetDevicesResponseDto = Awaited<ReturnType<CatalogsService['getDevices']>> ReturnType<CatalogsService['getDeviceBrands']>
export type CatalogsServiceGetGuildGoodCategoriesResponseDto = Awaited<ReturnType<CatalogsService['getGuildGoodCategories']>> >
export type CatalogsServiceGetGuildsResponseDto = Awaited<ReturnType<CatalogsService['getGuilds']>> export type CatalogsServiceGetDevicesResponseDto = Awaited<
export type CatalogsServiceGetProvidersResponseDto = Awaited<ReturnType<CatalogsService['getProviders']>> ReturnType<CatalogsService['getDevices']>
>
export type CatalogsServiceGetGuildGoodCategoriesResponseDto = Awaited<
ReturnType<CatalogsService['getGuildGoodCategories']>
>
export type CatalogsServiceGetGuildsResponseDto = Awaited<
ReturnType<CatalogsService['getGuilds']>
>
export type CatalogsServiceGetProvidersResponseDto = Awaited<
ReturnType<CatalogsService['getProviders']>
>
export type CatalogsServiceGetSKUResponseDto = Awaited<
ReturnType<CatalogsService['getSKU']>
>
export type CatalogsServiceGetMeasurementsResponseDto = Awaited<
ReturnType<CatalogsService['getMeasurements']>
>
@@ -35,7 +35,9 @@ export class SalesInvoicesService {
items: { items: {
select: { select: {
unit_type: true, measure_unit_code: true,
measure_unit_text: true,
sku_code: true,
discount: true, discount: true,
notes: true, notes: true,
quantity: true, quantity: true,
@@ -46,11 +48,21 @@ export class SalesInvoicesService {
select: { select: {
id: true, id: true,
name: true, name: true,
sku: true, sku: {
select: {
id: true,
name: true,
},
},
barcode: true, barcode: true,
local_sku: true, local_sku: true,
pricing_model: true, pricing_model: true,
unit_type: true, measure_unit: {
select: {
id: true,
name: true,
},
},
category: { category: {
select: { select: {
id: true, id: true,
@@ -1,4 +1,4 @@
import { GoodPricingModel, UnitType } from '@/generated/prisma/enums' import { GoodPricingModel } from '@/generated/prisma/enums'
import { ApiProperty, PartialType } from '@nestjs/swagger' import { ApiProperty, PartialType } from '@nestjs/swagger'
import { IsEnum, IsOptional, IsString } from 'class-validator' import { IsEnum, IsOptional, IsString } from 'class-validator'
@@ -9,15 +9,15 @@ export class CreateGoodDto {
@IsString() @IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
sku: string sku_id: string
@IsString() @IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
category_id: string category_id: string
@IsEnum(UnitType) @ApiProperty({ required: true })
@ApiProperty({ required: true, enum: UnitType }) @IsString()
unit_type: UnitType measure_unit_id: string
@IsEnum(GoodPricingModel) @IsEnum(GoodPricingModel)
@ApiProperty({ required: true, enum: GoodPricingModel }) @ApiProperty({ required: true, enum: GoodPricingModel })
@@ -12,11 +12,21 @@ export class ConsumerBusinessActivityGoodsService {
id: true, id: true,
name: true, name: true,
barcode: true, barcode: true,
sku: true,
local_sku: true, local_sku: true,
pricing_model: true, pricing_model: true,
unit_type: true,
image_url: true, image_url: true,
sku: {
select: {
id: true,
name: true,
},
},
measure_unit: {
select: {
id: true,
name: true,
},
},
category: { category: {
select: { select: {
id: true, id: true,
@@ -55,7 +65,7 @@ export class ConsumerBusinessActivityGoodsService {
} }
async create(business_activity_id: string, data: CreateGoodDto) { async create(business_activity_id: string, data: CreateGoodDto) {
const { category_id, ...rest } = data const { category_id, sku_id, measure_unit_id, ...rest } = data
const good = await this.prisma.good.create({ const good = await this.prisma.good.create({
data: { data: {
@@ -70,6 +80,16 @@ export class ConsumerBusinessActivityGoodsService {
id: category_id, id: category_id,
}, },
}, },
sku: {
connect: {
id: sku_id,
},
},
measure_unit: {
connect: {
id: measure_unit_id,
},
},
}, },
}) })
return ResponseMapper.create(good) return ResponseMapper.create(good)
@@ -81,7 +101,7 @@ export class ConsumerBusinessActivityGoodsService {
id: string, id: string,
data: UpdateGoodDto, data: UpdateGoodDto,
) { ) {
const { category_id, ...rest } = data const { category_id, sku_id, measure_unit_id, ...rest } = data
const good = await this.prisma.good.update({ const good = await this.prisma.good.update({
where: { where: {
business_activity: { business_activity: {
@@ -101,6 +121,16 @@ export class ConsumerBusinessActivityGoodsService {
id: category_id, id: category_id,
}, },
}, },
sku: {
connect: {
id: sku_id,
},
},
measure_unit: {
connect: {
id: measure_unit_id,
},
},
...rest, ...rest,
}, },
}) })
@@ -27,7 +27,7 @@ export class consumerCustomersService {
}, },
legal: { legal: {
select: { select: {
company_name: true, name: true,
registration_number: true, registration_number: true,
postal_code: true, postal_code: true,
economic_code: true, economic_code: true,
@@ -132,7 +132,12 @@ export class CustomerSaleInvoicesService {
id: true, id: true,
name: true, name: true,
pricing_model: true, pricing_model: true,
unit_type: true, measure_unit: {
select: {
id: true,
name: true,
},
},
category: { category: {
select: { select: {
id: true, id: true,
@@ -1,3 +1,9 @@
import {
CustomerType,
FiscalInvoiceCustomerType,
FiscalRequestType,
PartnerFiscalSwitchType,
} from '@/generated/prisma/enums'
import { ApiProperty } from '@nestjs/swagger' import { ApiProperty } from '@nestjs/swagger'
import { Type } from 'class-transformer' import { Type } from 'class-transformer'
import { import {
@@ -17,7 +23,67 @@ export enum TaxSendStatus {
PENDING = 'PENDING', PENDING = 'PENDING',
} }
export class CustomerLegalInfoDto {
@ApiProperty({ required: true })
@IsString()
name: string
@ApiProperty({ required: true })
@IsString()
economic_code: string
}
export class CustomerIndividualInfoDto {
@ApiProperty({ required: true })
@IsString()
first_name: string
@ApiProperty({ required: true })
@IsString()
last_name: string
@ApiProperty({ required: true })
@IsString()
national_id: string
@ApiProperty({ required: true })
@IsString()
mobile_number: string
}
export class CustomerInfoDto {
@ApiProperty({ required: true, enum: CustomerType })
@IsEnum(CustomerType)
type: CustomerType
@ApiProperty({})
@Type(() => CustomerLegalInfoDto)
@ValidateNested({ each: true })
legal_info?: CustomerLegalInfoDto
@ApiProperty({})
@Type(() => CustomerIndividualInfoDto)
@ValidateNested({ each: true })
individual_info?: CustomerIndividualInfoDto
}
export class TaxSwitchSendItemPayloadDto { export class TaxSwitchSendItemPayloadDto {
@ApiProperty({ required: true })
@IsString()
sku: string
@ApiProperty({ required: true })
@IsString()
sku_vat: string
@ApiProperty()
@IsOptional()
@IsString()
discount: string
@ApiProperty({ required: true })
@IsNumber()
unit_price: number
@ApiProperty() @ApiProperty()
@IsString() @IsString()
invoice_item_id: string invoice_item_id: string
@@ -26,17 +92,13 @@ export class TaxSwitchSendItemPayloadDto {
@IsNumber() @IsNumber()
quantity: number quantity: number
@ApiProperty()
@IsNumber()
unit_price: number
@ApiProperty() @ApiProperty()
@IsNumber() @IsNumber()
total_amount: number total_amount: number
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
unit_type: string measure_unit: string
@ApiProperty({ required: false, nullable: true }) @ApiProperty({ required: false, nullable: true })
@IsOptional() @IsOptional()
@@ -52,41 +114,48 @@ export class TaxSwitchSendItemPayloadDto {
@IsOptional() @IsOptional()
@IsObject() @IsObject()
payload?: unknown payload?: unknown
@ApiProperty({ required: false, nullable: true, type: Object })
@IsOptional()
@IsObject()
good_snapshot?: unknown
} }
export class TaxSwitchSendPayloadDto { export class TaxSwitchSendPayloadDto {
@ApiProperty() @ApiProperty({ required: true, enum: FiscalRequestType })
@IsString() @IsEnum(FiscalRequestType)
invoice_id: string type: FiscalRequestType
@ApiProperty() @ApiProperty({ required: true, enum: FiscalInvoiceCustomerType })
@IsString() @IsEnum(FiscalInvoiceCustomerType)
invoice_code: string customer_type: FiscalInvoiceCustomerType
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsDateString()
invoice_date: string | null
@ApiProperty()
@IsNumber()
total_amount: number
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
provider_code?: string | null
@ApiProperty({ type: [TaxSwitchSendItemPayloadDto] }) @ApiProperty({ type: [TaxSwitchSendItemPayloadDto] })
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => TaxSwitchSendItemPayloadDto) @Type(() => TaxSwitchSendItemPayloadDto)
items: TaxSwitchSendItemPayloadDto[] items: TaxSwitchSendItemPayloadDto[]
@ApiProperty({ required: false })
@Type(() => CustomerInfoDto)
@ValidateNested({ each: true })
customer?: CustomerInfoDto
@ApiProperty({ required: true, nullable: true })
@IsString()
invoice_code: string
@ApiProperty({ required: true, nullable: true })
@IsOptional()
@IsDateString()
invoice_date: Date
@ApiProperty({ required: true, nullable: true })
@IsString()
invoice_id: string
@ApiProperty()
@IsNumber()
total_amount: number
@ApiProperty({ required: true, enum: PartnerFiscalSwitchType })
@IsEnum(PartnerFiscalSwitchType)
provider_code: PartnerFiscalSwitchType
} }
export class TaxSwitchSendItemResultDto { export class TaxSwitchSendItemResultDto {
@@ -1,6 +1,10 @@
import { PrismaService } from '@/prisma/prisma.service' import { PrismaService } from '@/prisma/prisma.service'
import { Injectable, NotFoundException } from '@nestjs/common' import { Injectable, NotFoundException } from '@nestjs/common'
import { Prisma } from 'generated/prisma/client' import {
FiscalInvoiceCustomerType,
FiscalRequestType,
Prisma,
} from 'generated/prisma/client'
import { import {
TaxSendStatus, TaxSendStatus,
TaxSwitchGetResultDto, TaxSwitchGetResultDto,
@@ -137,7 +141,7 @@ export class SalesInvoiceFiscalService {
invoiceId: string, invoiceId: string,
posId: string, posId: string,
): Promise<TaxSwitchSendPayloadDto> { ): Promise<TaxSwitchSendPayloadDto> {
const invoice = await this.prisma.salesInvoice.findFirst({ const invoice = await this.prisma.salesInvoice.findUnique({
where: { where: {
id: invoiceId, id: invoiceId,
pos_id: posId, pos_id: posId,
@@ -153,7 +157,10 @@ export class SalesInvoiceFiscalService {
quantity: true, quantity: true,
unit_price: true, unit_price: true,
total_amount: true, total_amount: true,
unit_type: true, measure_unit_code: true,
measure_unit_text: true,
sku_code: true,
sku_vat: true,
good_id: true, good_id: true,
service_id: true, service_id: true,
payload: true, payload: true,
@@ -162,9 +169,55 @@ export class SalesInvoiceFiscalService {
}, },
pos: { pos: {
select: { select: {
provider: { complex: {
select: { select: {
code: true, business_activity: {
select: {
fiscal_id: true,
economic_code: true,
consumer: {
select: {
legal: {
select: {
partner: {
select: {
fiscal_switch_type: true,
},
},
},
},
individual: {
select: {
partner: {
select: {
fiscal_switch_type: true,
},
},
},
},
},
},
},
},
},
},
},
},
customer: {
select: {
type: true,
individual: {
select: {
first_name: true,
last_name: true,
national_id: true,
mobile_number: true,
},
},
legal: {
select: {
name: true,
economic_code: true,
}, },
}, },
}, },
@@ -176,18 +229,36 @@ export class SalesInvoiceFiscalService {
throw new NotFoundException('فاکتور مورد نظر یافت نشد.') throw new NotFoundException('فاکتور مورد نظر یافت نشد.')
} }
const { partner } = (invoice.pos.complex.business_activity.consumer.legal ||
invoice.pos.complex.business_activity.consumer.individual)!
return { return {
invoice_id: invoice.id, invoice_id: invoice.id,
invoice_code: invoice.code, invoice_code: invoice.code,
invoice_date: invoice.invoice_date ? invoice.invoice_date.toISOString() : null, invoice_date: invoice.invoice_date,
total_amount: Number(invoice.total_amount), total_amount: Number(invoice.total_amount),
provider_code: invoice.pos.provider?.code || null, // provider_code: invoice.pos.provider?.code || null,
type: FiscalRequestType.MAIN,
provider_code: partner.fiscal_switch_type!,
customer_type: invoice.customer?.type
? FiscalInvoiceCustomerType.Known
: FiscalInvoiceCustomerType.Unknown,
customer: invoice.customer?.type
? {
type: invoice.customer.type,
legal_info: invoice.customer.legal ?? undefined,
individual_info: invoice.customer.individual ?? undefined,
}
: undefined,
items: invoice.items.map(item => ({ items: invoice.items.map(item => ({
invoice_item_id: item.id, invoice_item_id: item.id,
quantity: Number(item.quantity), quantity: Number(item.quantity),
unit_price: Number(item.unit_price), unit_price: Number(item.unit_price),
total_amount: Number(item.total_amount), total_amount: Number(item.total_amount),
unit_type: item.unit_type, measure_unit: item.measure_unit_code,
sku: item.sku_code,
sku_vat: String(item.sku_vat),
discount: String((item.payload as Record<string, any>)?.discount || '0'),
good_id: item.good_id, good_id: item.good_id,
service_id: item.service_id, service_id: item.service_id,
payload: item.payload, payload: item.payload,
@@ -1,3 +1,8 @@
import {
CustomerType,
FiscalInvoiceCustomerType,
FiscalRequestType,
} from '@/generated/prisma/enums'
import { Injectable } from '@nestjs/common' import { Injectable } from '@nestjs/common'
import { import {
ITaxSwitchAdapter, ITaxSwitchAdapter,
@@ -7,36 +12,74 @@ import {
TaxSwitchSendItemResultDto, TaxSwitchSendItemResultDto,
TaxSwitchSendPayloadDto, TaxSwitchSendPayloadDto,
} from '../../dto/tax-switch.dto' } from '../../dto/tax-switch.dto'
import {
NamaTaxGetResponseDto,
NamaTaxRequestDto,
NamaTaxSendItemResponseDto,
} from './nama-fiscal-switch.dto'
@Injectable() @Injectable()
export class NamaTaxSwitchAdapter implements ITaxSwitchAdapter { export class NamaTaxSwitchAdapter implements ITaxSwitchAdapter {
readonly code = 'NAMA' readonly code = 'NAMA'
private readonly sandboxBaseUrl =
process.env.NAMA_FISCAL_SANDBOX_URL || 'https://sandbox-api.nama.ir'
private readonly productionBaseUrl =
process.env.NAMA_FISCAL_PRODUCTION_URL || 'https://api.nama.ir'
private readonly sendPath = '/api/v1/fiscal/invoices/single-send'
private readonly sendBulkPath = '/api/v1/invoices'
private readonly checkStatus = '/api/v1/invoices/check-by-uuids'
private readonly checkBulkStatus = '/api/v1/invoices/check-by-uuids'
private readonly getPath = '/api/v1/fiscal/invoices/'
private get baseUrl() {
return process.env.NODE_ENV === 'production'
? this.productionBaseUrl
: this.sandboxBaseUrl
}
private buildSendUrl() {
return `${this.baseUrl}${this.sendPath}`
}
private buildGetUrl(taxId: string) {
return `${this.baseUrl}${this.getPath}/${taxId}`
}
async send(payload: TaxSwitchSendPayloadDto): Promise<TaxSwitchSendItemResultDto[]> { async send(payload: TaxSwitchSendPayloadDto): Promise<TaxSwitchSendItemResultDto[]> {
const mappedRequest = this.mapToNamaRequestDto(payload)
return payload.items.map((item, index) => { return payload.items.map((item, index) => {
const sentAt = new Date() const sentAt = new Date()
const receivedAt = new Date(sentAt.getTime() + 50) const receivedAt = new Date(sentAt.getTime() + 50)
const externalRequest = {
invoiceCode: payload.invoice_code,
itemId: item.invoice_item_id,
quantity: item.quantity,
unitPrice: item.unit_price,
totalAmount: item.total_amount,
}
const externalResponse = { const providerResponse: NamaTaxSendItemResponseDto = {
status: 'ACCEPTED', invoice_item_id: item.invoice_item_id,
trackingCode: `TAX-${payload.invoice_code}-${index + 1}`, status: TaxSendStatus.SENT,
tax_id: `TAX-${payload.invoice_code}-${index + 1}`,
request_payload: {
url: this.buildSendUrl(),
body: mappedRequest,
},
response_payload: {
provider: this.code,
env: process.env.NODE_ENV || 'development',
endpoint: this.buildSendUrl(),
status: 'ACCEPTED',
},
sent_at: sentAt.toISOString(),
received_at: receivedAt.toISOString(),
} }
return { return {
invoice_item_id: item.invoice_item_id, invoice_item_id: providerResponse.invoice_item_id,
status: TaxSendStatus.SENT, status: providerResponse.status,
tax_id: externalResponse.trackingCode, tax_id: providerResponse.tax_id,
request_payload: externalRequest, request_payload: providerResponse.request_payload,
response_payload: externalResponse, response_payload: providerResponse.response_payload,
sent_at: sentAt.toISOString(), error_message: providerResponse.error_message,
received_at: receivedAt.toISOString(), sent_at: providerResponse.sent_at,
received_at: providerResponse.received_at,
} }
}) })
} }
@@ -56,14 +99,100 @@ export class NamaTaxSwitchAdapter implements ITaxSwitchAdapter {
} }
async get(taxId: string): Promise<TaxSwitchGetResultDto> { async get(taxId: string): Promise<TaxSwitchGetResultDto> {
return { const providerResponse: NamaTaxGetResponseDto = {
tax_id: taxId, tax_id: taxId,
status: TaxSendStatus.SENT, status: TaxSendStatus.SENT,
response_payload: { response_payload: {
provider: this.code,
env: process.env.NODE_ENV || 'development',
endpoint: this.buildGetUrl(taxId),
status: 'CONFIRMED', status: 'CONFIRMED',
trackingCode: taxId, tracking_code: taxId,
}, },
received_at: new Date().toISOString(), received_at: new Date().toISOString(),
} }
return {
tax_id: providerResponse.tax_id,
status: providerResponse.status,
response_payload: providerResponse.response_payload,
received_at: providerResponse.received_at,
}
}
private mapToNamaRequestDto(payload: TaxSwitchSendPayloadDto): NamaTaxRequestDto {
return {
uuid: payload.invoice_id,
economic_code: '',
fiscal_id: '',
payment: [],
header: {
ins: this.mapFiscalRequestType(payload.type),
inp: '2',
inty: this.mapFiscalInvoiceCustomerType(payload.customer_type),
// unique_tax_code: payload.invoice_code,
inno: payload.invoice_code,
tins: '',
indatim: payload.invoice_date.getTime() + '',
name:
`${payload.customer?.individual_info?.first_name} ${payload.customer?.individual_info?.last_name}` ||
payload.customer?.legal_info?.name ||
'',
tob: this.mapCustomerType(payload.customer?.type),
address: '',
mobile: payload.customer?.individual_info?.mobile_number || '',
bid:
payload.customer?.individual_info?.national_id ||
payload.customer?.legal_info?.economic_code ||
'',
},
body: payload.items.map(item => ({
sstid: item.sku,
vra: item.sku_vat,
// sstt: item.unit_type,
fee: String(item.unit_price),
dis: String(item.discount),
mu: item.measure_unit,
am: String(item.quantity),
consfee: '0',
bros: '0',
spro: '0',
})),
}
}
private mapFiscalRequestType(type: FiscalRequestType) {
switch (type) {
case FiscalRequestType.MAIN:
return '1'
case FiscalRequestType.UPDATE:
return '2'
case FiscalRequestType.REVOKE:
return '3'
case FiscalRequestType.REMOVE:
return '4'
}
}
private mapFiscalInvoiceCustomerType(type?: FiscalInvoiceCustomerType) {
switch (type) {
case FiscalInvoiceCustomerType.Unknown:
return '1'
case FiscalInvoiceCustomerType.Known:
return '2'
default:
return '3'
}
}
private mapCustomerType(type?: CustomerType) {
switch (type) {
case CustomerType.INDIVIDUAL:
return '1'
case CustomerType.LEGAL:
return '2'
default:
return ''
}
} }
} }
@@ -1,6 +1,14 @@
import { ApiProperty } from '@nestjs/swagger' import { ApiProperty } from '@nestjs/swagger'
import { Type } from 'class-transformer' import { Type } from 'class-transformer'
import { IsArray, IsString, ValidateNested } from 'class-validator' import {
IsArray,
IsEnum,
IsObject,
IsOptional,
IsString,
ValidateNested,
} from 'class-validator'
import { TaxSendStatus } from '../../dto/tax-switch.dto'
export class NamaTaxBodyItemDto { export class NamaTaxBodyItemDto {
@ApiProperty() @ApiProperty()
@@ -11,9 +19,9 @@ export class NamaTaxBodyItemDto {
@IsString() @IsString()
vra: string vra: string
@ApiProperty() // @ApiProperty()
@IsString() // @IsString()
sstt: string // sstt: string
@ApiProperty() @ApiProperty()
@IsString() @IsString()
@@ -45,7 +53,7 @@ export class NamaTaxBodyItemDto {
} }
export class NamaTaxHeaderDto { export class NamaTaxHeaderDto {
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
ins: string ins: string
@@ -53,41 +61,43 @@ export class NamaTaxHeaderDto {
@IsString() @IsString()
inp: string inp: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
inty: string inty: string
@ApiProperty() // @ApiProperty({required: true})
@IsString() // @IsString()
unique_tax_code: string // unique_tax_code: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
inno: string inno: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
tins: string tins: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
indatim: string indatim: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
name: string name: string
@ApiProperty() @ApiProperty({ required: true })
@IsString() @IsString()
tob: string tob: string
@ApiProperty() @ApiProperty()
@IsOptional()
@IsString() @IsString()
address: string address?: string
@ApiProperty() @ApiProperty()
@IsOptional()
@IsString() @IsString()
mobile: string mobile?: string
@ApiProperty() @ApiProperty()
@IsString() @IsString()
@@ -122,3 +132,63 @@ export class NamaTaxRequestDto {
@IsString() @IsString()
fiscal_id: string fiscal_id: string
} }
export class NamaTaxSendItemResponseDto {
@ApiProperty()
@IsString()
invoice_item_id: string
@ApiProperty({ enum: TaxSendStatus })
@IsEnum(TaxSendStatus)
status: TaxSendStatus
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
tax_id?: string | null
@ApiProperty({ required: false, nullable: true, type: Object })
@IsOptional()
@IsObject()
request_payload?: unknown
@ApiProperty({ required: false, nullable: true, type: Object })
@IsOptional()
@IsObject()
response_payload?: unknown
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
error_message?: string | null
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
sent_at?: string | null
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
received_at?: string | null
}
export class NamaTaxGetResponseDto {
@ApiProperty()
@IsString()
tax_id: string
@ApiProperty({ enum: TaxSendStatus })
@IsEnum(TaxSendStatus)
status: TaxSendStatus
@ApiProperty({ required: false, nullable: true, type: Object })
@IsOptional()
@IsObject()
response_payload?: unknown
@ApiProperty({ required: false, nullable: true })
@IsOptional()
@IsString()
received_at?: string | null
}
@@ -117,7 +117,12 @@ export class SaleInvoicesService {
id: true, id: true,
name: true, name: true,
pricing_model: true, pricing_model: true,
unit_type: true, measure_unit: {
select: {
id: true,
name: true,
},
},
category: { category: {
select: { select: {
@@ -136,7 +141,7 @@ export class SaleInvoicesService {
type: true, type: true,
legal: { legal: {
select: { select: {
company_name: true, name: true,
economic_code: true, economic_code: true,
registration_number: true, registration_number: true,
postal_code: true, postal_code: true,
+7 -7
View File
@@ -1,7 +1,7 @@
import { PublicWithToken } from '@/common/decorators/withToken.decorator' import { PublicWithToken } from '@/common/decorators/withToken.decorator'
import { Controller, Get } from '@nestjs/common' import { Controller, Get } from '@nestjs/common'
import { EnumsService } from './enums.service'
import type { EnumsServiceGetEnumValuesResponseDto } from './dto/enums-response.dto' import type { EnumsServiceGetEnumValuesResponseDto } from './dto/enums-response.dto'
import { EnumsService } from './enums.service'
@Controller('enums') @Controller('enums')
export class EnumsController { export class EnumsController {
@@ -97,12 +97,6 @@ export class EnumsController {
return this.enumsService.getEnumValues('TokenType') return this.enumsService.getEnumValues('TokenType')
} }
@Get('unit_type')
@PublicWithToken()
async getUnitType(): Promise<EnumsServiceGetEnumValuesResponseDto> {
return this.enumsService.getEnumValues('UnitType')
}
@Get('good_pricing_model') @Get('good_pricing_model')
@PublicWithToken() @PublicWithToken()
async getGoodPricingModel(): Promise<EnumsServiceGetEnumValuesResponseDto> { async getGoodPricingModel(): Promise<EnumsServiceGetEnumValuesResponseDto> {
@@ -114,4 +108,10 @@ export class EnumsController {
async getConsumerRoleModel(): Promise<EnumsServiceGetEnumValuesResponseDto> { async getConsumerRoleModel(): Promise<EnumsServiceGetEnumValuesResponseDto> {
return this.enumsService.getEnumValues('ConsumerRole') return this.enumsService.getEnumValues('ConsumerRole')
} }
@Get('fiscal_response_status')
@PublicWithToken()
async getFiscalResponseStatus(): Promise<EnumsServiceGetEnumValuesResponseDto> {
return this.enumsService.getEnumValues('FiscalResponseStatus')
}
} }
+14 -1
View File
@@ -3,14 +3,18 @@ import { translateEnumValue } from '@/common/utils/enum-translator.util'
import { import {
AccountRole, AccountRole,
AccountStatus, AccountStatus,
AccountType,
ApplicationPlatform, ApplicationPlatform,
ApplicationPublisher, ApplicationPublisher,
ApplicationReleaseType, ApplicationReleaseType,
BusinessRole, BusinessRole,
ComplexRole,
ConsumerRole, ConsumerRole,
ConsumerStatus, ConsumerStatus,
ConsumerType, ConsumerType,
CustomerType, CustomerType,
FiscalInvoiceCustomerType,
FiscalRequestType,
FiscalResponseStatus, FiscalResponseStatus,
GoodPricingModel, GoodPricingModel,
LicenseStatus, LicenseStatus,
@@ -24,12 +28,14 @@ import {
POSType, POSType,
ProviderRole, ProviderRole,
ProviderStatus, ProviderStatus,
SKUGuildType,
TokenType,
UnitType, UnitType,
UserStatus, UserStatus,
UserType, UserType,
} from '@/generated/prisma/enums' } from '@/generated/prisma/enums'
import { Injectable } from '@nestjs/common' import { Injectable } from '@nestjs/common'
import { AccountType, GoldKarat, TokenType } from 'common/enums/enums' import { GoldKarat } from 'common/enums/enums'
import { ResponseMapper } from 'common/response/response-mapper' import { ResponseMapper } from 'common/response/response-mapper'
@Injectable() @Injectable()
@@ -63,6 +69,7 @@ export class EnumsService {
AccountType: this.prepareData(AccountType, 'AccountType'), AccountType: this.prepareData(AccountType, 'AccountType'),
PartnerRole: this.prepareData(PartnerRole, 'PartnerRole'), PartnerRole: this.prepareData(PartnerRole, 'PartnerRole'),
BusinessRole: this.prepareData(BusinessRole, 'BusinessRole'), BusinessRole: this.prepareData(BusinessRole, 'BusinessRole'),
ComplexRole: this.prepareData(ComplexRole, 'ComplexRole'),
ProviderRole: this.prepareData(ProviderRole, 'ProviderRole'), ProviderRole: this.prepareData(ProviderRole, 'ProviderRole'),
ProviderStatus: this.prepareData(ProviderStatus, 'ProviderStatus'), ProviderStatus: this.prepareData(ProviderStatus, 'ProviderStatus'),
TokenType: this.prepareData(TokenType, 'TokenType'), TokenType: this.prepareData(TokenType, 'TokenType'),
@@ -90,6 +97,12 @@ export class EnumsService {
FiscalResponseStatus, FiscalResponseStatus,
'FiscalResponseStatus', 'FiscalResponseStatus',
), ),
FiscalRequestType: this.prepareData(FiscalRequestType, 'FiscalRequestType'),
FiscalInvoiceCustomerType: this.prepareData(
FiscalInvoiceCustomerType,
'FiscalInvoiceCustomerType',
),
SKUGuildType: this.prepareData(SKUGuildType, 'SKUGuildType'),
} }
} }
@@ -114,6 +114,7 @@ export class BusinessActivitiesService {
const createdBusinessActivity = await tx.businessActivity.create({ const createdBusinessActivity = await tx.businessActivity.create({
data: { data: {
...rest, ...rest,
economic_code: String(data.economic_code),
guild: { guild: {
connect: { connect: {
id: guild_id, id: guild_id,
@@ -4,7 +4,7 @@ import { IsNumber, IsString, MaxLength, MinLength } from 'class-validator'
export class CreateCustomerLegalDto { export class CreateCustomerLegalDto {
@IsString() @IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
company_name: string name: string
@IsString() @IsString()
@ApiProperty({ required: true }) @ApiProperty({ required: true })
+6 -2
View File
@@ -13,8 +13,8 @@ export class CreateGoodDto {
description?: string description?: string
@IsString() @IsString()
@ApiProperty() @ApiProperty({ required: true })
sku: string sku_id: string
@IsString() @IsString()
@ApiProperty() @ApiProperty()
@@ -42,6 +42,10 @@ export class CreateGoodDto {
@IsNumber() @IsNumber()
@ApiProperty({ required: false }) @ApiProperty({ required: false })
base_sale_price?: number base_sale_price?: number
@IsString()
@ApiProperty({ required: true })
measure_unit_id: string
} }
export class UpdateGoodDto extends PartialType(CreateGoodDto) {} export class UpdateGoodDto extends PartialType(CreateGoodDto) {}
+23 -3
View File
@@ -14,11 +14,21 @@ export class GoodsService {
barcode: true, barcode: true,
created_at: true, created_at: true,
description: true, description: true,
sku: true, sku: {
select: {
id: true,
name: true,
},
},
local_sku: true, local_sku: true,
is_default_guild_good: true, is_default_guild_good: true,
pricing_model: true, pricing_model: true,
unit_type: true, measure_unit: {
select: {
id: true,
name: true,
},
},
image_url: true, image_url: true,
category: { category: {
select: { select: {
@@ -66,7 +76,7 @@ export class GoodsService {
} }
async create(data: CreateGoodDto, business_activity_id: string) { async create(data: CreateGoodDto, business_activity_id: string) {
const { category_id, ...rest } = data const { category_id, sku_id, measure_unit_id, ...rest } = data
const dataToCreate = { const dataToCreate = {
...rest, ...rest,
@@ -81,6 +91,16 @@ export class GoodsService {
const good = await this.prisma.good.create({ const good = await this.prisma.good.create({
data: { data: {
...rest, ...rest,
measure_unit: {
connect: {
id: measure_unit_id,
},
},
sku: {
connect: {
id: sku_id,
},
},
category: { category: {
connect: { connect: {
id: category_id, id: category_id,
@@ -0,0 +1,95 @@
import { ApiPropertyOptional } from '@nestjs/swagger'
import { Type } from 'class-transformer'
import {
IsDateString,
IsEnum,
IsNumber,
IsOptional,
IsString,
Min,
} from 'class-validator'
import { FiscalResponseStatus } from 'generated/prisma/enums'
export class SalesInvoicesFilterDto {
@ApiPropertyOptional({ default: 1 })
@IsOptional()
@Type(() => Number)
@IsNumber()
@Min(1)
page?: number
@ApiPropertyOptional({ default: 10 })
@IsOptional()
@Type(() => Number)
@IsNumber()
@Min(1)
perPage?: number
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
invoice_date_from?: string
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
invoice_date_to?: string
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
created_at_from?: string
@ApiPropertyOptional()
@IsOptional()
@IsDateString()
created_at_to?: string
@ApiPropertyOptional()
@IsOptional()
@IsString()
code?: string
@ApiPropertyOptional()
@IsOptional()
@IsString()
customer_name?: string
@ApiPropertyOptional()
@IsOptional()
@IsString()
customer_mobile?: string
@ApiPropertyOptional()
@IsOptional()
@IsString()
customer_national_id?: string
@ApiPropertyOptional()
@IsOptional()
@IsString()
customer_economic_code?: string
@ApiPropertyOptional({ enum: FiscalResponseStatus })
@IsOptional()
@IsEnum(FiscalResponseStatus)
status?: FiscalResponseStatus
@ApiPropertyOptional()
@IsOptional()
@Type(() => Number)
@IsNumber()
total_amount?: number
@ApiPropertyOptional()
@IsOptional()
@Type(() => Number)
@IsNumber()
total_amount_from?: number
@ApiPropertyOptional()
@IsOptional()
@Type(() => Number)
@IsNumber()
total_amount_to?: number
}
@@ -0,0 +1,43 @@
import { PosInfo } from '@/common/decorators/posInfo.decorator'
import type { IPosPayload } from '@/common/models/posPayload.model'
import { Controller, Get, Param, Post } from '@nestjs/common'
import { PosSalesInvoiceFiscalService } from './sales-invoice-fiscal.service'
@Controller('pos/sales_invoices/:invoiceId/fiscal')
export class PosSalesInvoiceFiscalController {
constructor(private readonly service: PosSalesInvoiceFiscalService) {}
@Post('send')
async send(@PosInfo() posInfo: IPosPayload, @Param('invoiceId') invoiceId: string) {
return this.service.send(invoiceId, posInfo)
}
@Post('retry')
async retry(@PosInfo() posInfo: IPosPayload, @Param('invoiceId') invoiceId: string) {
return this.service.retry(invoiceId, posInfo)
}
@Get('status')
async getStatus(
@PosInfo() posInfo: IPosPayload,
@Param('invoiceId') invoiceId: string,
) {
return this.service.getStatus(invoiceId, posInfo)
}
@Post('status/refresh')
async refreshStatus(
@PosInfo() posInfo: IPosPayload,
@Param('invoiceId') invoiceId: string,
) {
return this.service.refreshStatus(invoiceId, posInfo)
}
@Get('attempts')
async getAttempts(
@PosInfo() posInfo: IPosPayload,
@Param('invoiceId') invoiceId: string,
) {
return this.service.getAttempts(invoiceId, posInfo)
}
}
@@ -0,0 +1,12 @@
import { Module } from '@nestjs/common'
import { SalesInvoiceFiscalSwitchService } from '../../../consumer/saleInvoices/fiscal/sales-invoice-fiscal-switch.service'
import { NamaTaxSwitchAdapter } from '../../../consumer/saleInvoices/fiscal/switch/nama/nama-fiscal-switch.adapter'
import { PosSalesInvoiceFiscalController } from './sales-invoice-fiscal.controller'
import { PosSalesInvoiceFiscalService } from './sales-invoice-fiscal.service'
@Module({
controllers: [PosSalesInvoiceFiscalController],
providers: [PosSalesInvoiceFiscalService, SalesInvoiceFiscalSwitchService, NamaTaxSwitchAdapter],
exports: [PosSalesInvoiceFiscalService],
})
export class PosSalesInvoiceFiscalModule {}
@@ -0,0 +1,411 @@
import { IPosPayload } from '@/common/models/posPayload.model'
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable, NotFoundException } from '@nestjs/common'
import {
FiscalInvoiceCustomerType,
FiscalRequestType,
FiscalResponseStatus,
} from 'generated/prisma/enums'
import {
TaxSendStatus,
TaxSwitchGetResultDto,
TaxSwitchSendItemResultDto,
TaxSwitchSendPayloadDto,
} from '../../../consumer/saleInvoices/fiscal/dto/tax-switch.dto'
import { SalesInvoiceFiscalSwitchService } from '../../../consumer/saleInvoices/fiscal/sales-invoice-fiscal-switch.service'
@Injectable()
export class PosSalesInvoiceFiscalService {
constructor(
private readonly prisma: PrismaService,
private readonly fiscalSwitchService: SalesInvoiceFiscalSwitchService,
) {}
async send(invoiceId: string, posInfo: IPosPayload) {
const payload = await this.buildPayload(invoiceId, posInfo)
const itemResults = await this.safeSend(payload)
const attempt = await this.persistAttempt(invoiceId, itemResults)
return {
invoice_id: invoiceId,
fiscal_id: attempt.fiscal_id,
status: attempt.status,
attempt_no: attempt.attempt_no,
}
}
async retry(invoiceId: string, posInfo: IPosPayload) {
return this.send(invoiceId, posInfo)
}
async getStatus(invoiceId: string, posInfo: IPosPayload) {
const invoice = await this.getInvoiceForBusiness(invoiceId, posInfo.business_id)
if (!invoice.fiscal) {
return {
invoice_id: invoiceId,
status: FiscalResponseStatus.NOT_SEND,
fiscal: null,
}
}
const latestAttempt = invoice.fiscal.attempts[0] || null
return {
invoice_id: invoiceId,
status: latestAttempt?.status || FiscalResponseStatus.NOT_SEND,
fiscal: {
id: invoice.fiscal.id,
retry_count: invoice.fiscal.retry_count,
last_attempt_at: invoice.fiscal.last_attempt_at,
},
latest_attempt: latestAttempt,
}
}
async refreshStatus(invoiceId: string, posInfo: IPosPayload) {
const invoice = await this.getInvoiceForBusiness(invoiceId, posInfo.business_id)
const latestAttempt = invoice.fiscal?.attempts?.[0]
if (!invoice.fiscal || !latestAttempt?.tax_id) {
return this.getStatus(invoiceId, posInfo)
}
const providerCode = invoice.pos.provider?.code
const switchResult = await this.fiscalSwitchService.get(
providerCode,
latestAttempt.tax_id,
)
const mappedStatus = this.mapSwitchGetStatus(switchResult.status)
const refreshedAttempt = await this.prisma.$transaction(async tx => {
const nextNo = (latestAttempt.attempt_no || 0) + 1
const createdAttempt = await tx.saleInvoiceFiscalAttempts.create({
data: {
fiscal_id: invoice.fiscal!.id,
attempt_no: nextNo,
status: mappedStatus,
tax_id: switchResult.tax_id,
response_payload: switchResult.response_payload
? JSON.parse(JSON.stringify(switchResult.response_payload))
: undefined,
received_at: switchResult.received_at
? new Date(switchResult.received_at)
: null,
type: FiscalRequestType.MAIN,
},
})
await tx.saleInvoiceFiscals.update({
where: { id: invoice.fiscal!.id },
data: {
retry_count: nextNo,
last_attempt_at: createdAttempt.created_at,
},
})
return createdAttempt
})
return {
invoice_id: invoiceId,
status: refreshedAttempt.status,
latest_attempt: refreshedAttempt,
}
}
async getAttempts(invoiceId: string, posInfo: IPosPayload) {
const invoice = await this.getInvoiceForBusiness(invoiceId, posInfo.business_id)
if (!invoice.fiscal) {
return {
invoice_id: invoiceId,
fiscal_id: null,
attempts: [],
}
}
const attempts = await this.prisma.saleInvoiceFiscalAttempts.findMany({
where: {
fiscal_id: invoice.fiscal.id,
},
orderBy: {
attempt_no: 'desc',
},
})
return {
invoice_id: invoiceId,
fiscal_id: invoice.fiscal.id,
attempts,
}
}
private async buildPayload(invoiceId: string, posInfo: IPosPayload) {
const invoice = await this.prisma.salesInvoice.findUnique({
where: {
id: invoiceId,
pos: {
id: posInfo.pos_id,
complex: {
business_activity_id: posInfo.business_id,
},
},
},
select: {
id: true,
code: true,
invoice_date: true,
total_amount: true,
items: {
select: {
id: true,
quantity: true,
unit_price: true,
total_amount: true,
measure_unit_text: true,
sku_code: true,
sku_vat: true,
measure_unit_code: true,
good_id: true,
service_id: true,
payload: true,
good_snapshot: true,
},
},
customer: {
select: {
type: true,
individual: true,
legal: true,
},
},
pos: {
select: {
complex: {
select: {
business_activity: {
select: {
fiscal_id: true,
economic_code: true,
consumer: {
select: {
legal: {
select: {
partner: {
select: {
fiscal_switch_type: true,
},
},
},
},
individual: {
select: {
partner: {
select: {
fiscal_switch_type: true,
},
},
},
},
},
},
},
},
},
},
},
},
},
})
if (!invoice) {
throw new NotFoundException('فاکتور مورد نظر یافت نشد.')
}
const { partner } = (invoice.pos.complex.business_activity.consumer.legal ||
invoice.pos.complex.business_activity.consumer.individual)!
return {
invoice_id: invoice.id,
invoice_code: invoice.code,
invoice_date: invoice.invoice_date,
total_amount: Number(invoice.total_amount),
customer_type: invoice.customer
? FiscalInvoiceCustomerType.Known
: FiscalInvoiceCustomerType.Unknown,
type: FiscalRequestType.MAIN,
provider_code: partner.fiscal_switch_type,
items: invoice.items.map(item => ({
invoice_item_id: item.id,
quantity: Number(item.quantity),
unit_price: Number(item.unit_price),
total_amount: Number(item.total_amount),
good_id: item.good_id,
service_id: item.service_id,
payload: item.payload,
good_snapshot: item.good_snapshot,
discount: String((item.payload as Record<string, any>)?.discount || '0'),
sku: item.sku_code,
sku_vat: String(item.sku_vat),
measure_unit: item.measure_unit_code,
// sku: item.
})),
} satisfies TaxSwitchSendPayloadDto
}
private async safeSend(payload: TaxSwitchSendPayloadDto) {
try {
return await this.fiscalSwitchService.send(payload)
} catch (error: any) {
const now = new Date().toISOString()
return payload.items.map(item => ({
invoice_item_id: item.invoice_item_id,
status: TaxSendStatus.FAILED,
error_message: error?.message || 'Unexpected fiscal switch error.',
sent_at: now,
received_at: now,
}))
}
}
private async persistAttempt(
invoiceId: string,
itemResults: TaxSwitchSendItemResultDto[],
) {
return this.prisma.$transaction(async tx => {
const fiscal = await tx.saleInvoiceFiscals.upsert({
where: { invoice_id: invoiceId },
update: {},
create: {
invoice_id: invoiceId,
},
})
const latest = await tx.saleInvoiceFiscalAttempts.findFirst({
where: { fiscal_id: fiscal.id },
orderBy: { attempt_no: 'desc' },
select: { attempt_no: true },
})
const nextAttemptNo = (latest?.attempt_no || 0) + 1
const finalStatus = this.mapItemResultsStatus(itemResults)
const firstTaxId = itemResults.find(item => item.tax_id)?.tax_id || null
const sentAt = itemResults.map(item => item.sent_at).find(Boolean)
const receivedAt = itemResults.map(item => item.received_at).find(Boolean)
const errors = itemResults.map(item => item.error_message).filter(Boolean)
const errorMessage = errors.length ? Array.from(new Set(errors)).join(' | ') : null
const attempt = await tx.saleInvoiceFiscalAttempts.create({
data: {
fiscal_id: fiscal.id,
attempt_no: nextAttemptNo,
status: finalStatus,
tax_id: firstTaxId,
type: FiscalRequestType.MAIN,
request_payload: JSON.parse(
JSON.stringify(itemResults.map(item => item.request_payload)),
),
response_payload: JSON.parse(
JSON.stringify(itemResults.map(item => item.response_payload)),
),
error_message: errorMessage,
sent_at: sentAt ? new Date(sentAt) : null,
received_at: receivedAt ? new Date(receivedAt) : null,
},
})
await tx.saleInvoiceFiscals.update({
where: { id: fiscal.id },
data: {
retry_count: nextAttemptNo,
last_attempt_at: attempt.sent_at || attempt.created_at,
},
})
return {
fiscal_id: fiscal.id,
status: attempt.status,
attempt_no: attempt.attempt_no,
}
})
}
private mapItemResultsStatus(itemResults: TaxSwitchSendItemResultDto[]) {
if (!itemResults.length) {
return FiscalResponseStatus.NOT_SEND
}
const hasFailure = itemResults.some(item => item.status === TaxSendStatus.FAILED)
if (hasFailure) {
return FiscalResponseStatus.FAILURE
}
const hasSent = itemResults.some(item => item.status === TaxSendStatus.SENT)
if (hasSent) {
return FiscalResponseStatus.SUCCESS
}
return FiscalResponseStatus.NOT_SEND
}
private mapSwitchGetStatus(status: TaxSwitchGetResultDto['status']) {
switch (status) {
case TaxSendStatus.SENT:
return FiscalResponseStatus.SUCCESS
case TaxSendStatus.FAILED:
return FiscalResponseStatus.FAILURE
default:
return FiscalResponseStatus.NOT_SEND
}
}
private async getInvoiceForBusiness(invoiceId: string, businessId: string) {
const invoice = await this.prisma.salesInvoice.findFirst({
where: {
id: invoiceId,
pos: {
complex: {
business_activity_id: businessId,
},
},
},
select: {
id: true,
pos: {
select: {
provider: {
select: {
code: true,
},
},
},
},
fiscal: {
select: {
id: true,
retry_count: true,
last_attempt_at: true,
attempts: {
orderBy: {
attempt_no: 'desc',
},
take: 1,
select: {
id: true,
attempt_no: true,
status: true,
tax_id: true,
sent_at: true,
received_at: true,
error_message: true,
created_at: true,
},
},
},
},
},
})
if (!invoice) {
throw new NotFoundException('فاکتور مورد نظر یافت نشد.')
}
return invoice
}
}
@@ -1,8 +1,9 @@
import { Body, Controller, Get, Param, Post } from '@nestjs/common' import { Body, Controller, Get, Param, Post, Query } from '@nestjs/common'
import { PosInfo } from '@/common/decorators/posInfo.decorator' import { PosInfo } from '@/common/decorators/posInfo.decorator'
import type { IPosPayload } from '@/common/models/posPayload.model' import type { IPosPayload } from '@/common/models/posPayload.model'
import { CreateSalesInvoiceDto } from './dto/create-sales-invoice.dto' import { CreateSalesInvoiceDto } from './dto/create-sales-invoice.dto'
import { SalesInvoicesFilterDto } from './dto/sales-invoices-filter.dto'
import { SalesInvoicesService } from './sales-invoices.service' import { SalesInvoicesService } from './sales-invoices.service'
@Controller('pos/sales_invoices') @Controller('pos/sales_invoices')
@@ -10,13 +11,13 @@ export class SalesInvoicesController {
constructor(private readonly salesInvoicesService: SalesInvoicesService) {} constructor(private readonly salesInvoicesService: SalesInvoicesService) {}
@Get() @Get()
findAll() { findAll(@PosInfo() posInfo: IPosPayload, @Query() query: SalesInvoicesFilterDto) {
return this.salesInvoicesService.findAll() return this.salesInvoicesService.findAll(posInfo, query)
} }
@Get(':id') @Get(':id')
findOne(@Param('id') id: string) { findOne(@PosInfo() posInfo: IPosPayload, @Param('id') id: string) {
return this.salesInvoicesService.findOne(+id) return this.salesInvoicesService.findOne(posInfo, id)
} }
@Post() @Post()
@@ -2,10 +2,12 @@ import { Module } from '@nestjs/common'
import { SalesInvoiceFiscalSwitchService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal-switch.service' import { SalesInvoiceFiscalSwitchService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal-switch.service'
import { SalesInvoiceFiscalService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal.service' import { SalesInvoiceFiscalService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal.service'
import { NamaTaxSwitchAdapter } from '../../consumer/saleInvoices/fiscal/switch/nama/nama-fiscal-switch.adapter' import { NamaTaxSwitchAdapter } from '../../consumer/saleInvoices/fiscal/switch/nama/nama-fiscal-switch.adapter'
import { PosSalesInvoiceFiscalModule } from './fiscal/sales-invoice-fiscal.module'
import { SalesInvoicesController } from './sales-invoices.controller' import { SalesInvoicesController } from './sales-invoices.controller'
import { SalesInvoicesService } from './sales-invoices.service' import { SalesInvoicesService } from './sales-invoices.service'
@Module({ @Module({
imports: [PosSalesInvoiceFiscalModule],
controllers: [SalesInvoicesController], controllers: [SalesInvoicesController],
providers: [ providers: [
SalesInvoicesService, SalesInvoicesService,
@@ -1,12 +1,18 @@
import { IPosPayload } from '@/common/models/posPayload.model' import { IPosPayload } from '@/common/models/posPayload.model'
import { translateEnumValue } from '@/common/utils'
import { PrismaService } from '@/prisma/prisma.service' import { PrismaService } from '@/prisma/prisma.service'
import { BadRequestException, Injectable } from '@nestjs/common' import { BadRequestException, Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper' import { ResponseMapper } from 'common/response/response-mapper'
import type { CustomerIndividual, CustomerLegal } from 'generated/prisma/client' import type { CustomerIndividual, CustomerLegal } from 'generated/prisma/client'
import { Prisma } from 'generated/prisma/client' import { Prisma } from 'generated/prisma/client'
import { CustomerType, PaymentMethodType } from 'generated/prisma/enums' import {
CustomerType,
FiscalResponseStatus,
PaymentMethodType,
} from 'generated/prisma/enums'
import { SalesInvoiceFiscalService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal.service' import { SalesInvoiceFiscalService } from '../../consumer/saleInvoices/fiscal/sales-invoice-fiscal.service'
import { CreateSalesInvoiceDto } from './dto/create-sales-invoice.dto' import { CreateSalesInvoiceDto } from './dto/create-sales-invoice.dto'
import { SalesInvoicesFilterDto } from './dto/sales-invoices-filter.dto'
// Define type guard for CustomerIndividual // Define type guard for CustomerIndividual
function isCustomerIndividual(customer: any): customer is CustomerIndividual { function isCustomerIndividual(customer: any): customer is CustomerIndividual {
@@ -50,14 +56,213 @@ export class SalesInvoicesService {
private salesInvoiceTaxService: SalesInvoiceFiscalService, private salesInvoiceTaxService: SalesInvoiceFiscalService,
) {} ) {}
findAll() { async findAll(posInfo: IPosPayload, query: SalesInvoicesFilterDto = {}) {
// TODO: Implement fetching all sales invoices const page = query.page || 1
return [] const perPage = Math.min(query.perPage || 10, 100)
const where = this.buildFindAllWhere(posInfo, query)
const [items, total] = await this.prisma.$transaction(async tx => [
await tx.salesInvoice.findMany({
where,
orderBy: {
created_at: 'desc',
},
skip: (page - 1) * perPage,
take: perPage,
select: {
id: true,
code: true,
invoice_number: true,
invoice_date: true,
created_at: true,
total_amount: true,
customer: {
select: {
type: true,
individual: {
select: {
first_name: true,
last_name: true,
mobile_number: true,
national_id: true,
},
},
legal: {
select: {
name: true,
economic_code: true,
registration_number: true,
},
},
},
},
fiscal: {
select: {
attempts: {
orderBy: {
created_at: 'desc',
},
take: 1,
select: {
status: true,
},
},
},
},
},
}),
await tx.salesInvoice.count({ where }),
])
const summaryItems = items.map(invoice => ({
...invoice,
status: translateEnumValue(
'FiscalResponseStatus',
invoice.fiscal?.attempts?.[0]?.status || FiscalResponseStatus.NOT_SEND,
),
}))
return ResponseMapper.paginate(summaryItems, { total, page, perPage })
} }
findOne(id: number) { async findOne(posInfo: IPosPayload, id: string) {
// TODO: Implement fetching a single sales invoice const invoice = await this.prisma.salesInvoice.findFirstOrThrow({
return {} where: {
id,
pos: {
complex: {
business_activity_id: posInfo.business_id,
},
},
},
select: {
id: true,
code: true,
invoice_number: true,
invoice_date: true,
created_at: true,
updated_at: true,
notes: true,
total_amount: true,
unknown_customer: true,
customer: {
select: {
id: true,
type: true,
individual: {
select: {
first_name: true,
last_name: true,
mobile_number: true,
national_id: true,
postal_code: true,
economic_code: true,
},
},
legal: {
select: {
name: true,
economic_code: true,
registration_number: true,
postal_code: true,
},
},
},
},
pos: {
select: {
id: true,
name: true,
complex: {
select: {
id: true,
name: true,
business_activity: {
select: {
id: true,
name: true,
},
},
},
},
},
},
consumer_account: {
select: {
id: true,
role: true,
account: {
select: {
username: true,
},
},
},
},
items: {
select: {
id: true,
good_id: true,
service_id: true,
quantity: true,
measure_unit_code: true,
measure_unit_text: true,
sku_code: true,
unit_price: true,
discount: true,
total_amount: true,
notes: true,
payload: true,
good_snapshot: true,
},
},
payments: {
select: {
id: true,
amount: true,
payment_method: true,
paid_at: true,
created_at: true,
terminal_info: {
select: {
terminal_id: true,
stan: true,
rrn: true,
transaction_date_time: true,
customer_card_no: true,
description: true,
},
},
},
},
fiscal: {
select: {
id: true,
retry_count: true,
last_attempt_at: true,
attempts: {
orderBy: {
created_at: 'desc',
},
select: {
id: true,
attempt_no: true,
status: true,
tax_id: true,
error_message: true,
sent_at: true,
received_at: true,
created_at: true,
},
},
},
},
},
})
return ResponseMapper.single({
...invoice,
status: invoice.fiscal?.attempts?.[0]?.status || FiscalResponseStatus.NOT_SEND,
})
} }
// async send(invoiceId: string, posInfo: IPosPayload) { // async send(invoiceId: string, posInfo: IPosPayload) {
@@ -83,7 +288,7 @@ export class SalesInvoicesService {
// } // }
async create(data: CreateSalesInvoiceDto, posInfo: IPosPayload) { async create(data: CreateSalesInvoiceDto, posInfo: IPosPayload) {
const { business_id, pos_id, consumer_account_id } = posInfo const { business_id, pos_id, consumer_account_id, complex_id } = posInfo
const normalizedInvoiceDate = this.normalizeInvoiceDate(data.invoice_date) const normalizedInvoiceDate = this.normalizeInvoiceDate(data.invoice_date)
const { payments, terminalInfo } = this.buildPaymentsData( const { payments, terminalInfo } = this.buildPaymentsData(
data.payments, data.payments,
@@ -101,6 +306,8 @@ export class SalesInvoicesService {
normalizedInvoiceDate, normalizedInvoiceDate,
invoiceNumber, invoiceNumber,
consumer_account_id, consumer_account_id,
businessId: business_id,
complexId: complex_id,
pos_id, pos_id,
goodsById, goodsById,
customerId: newCustomerId, customerId: newCustomerId,
@@ -156,6 +363,161 @@ export class SalesInvoicesService {
) )
} }
private buildFindAllWhere(posInfo: IPosPayload, query: SalesInvoicesFilterDto) {
const where: Prisma.SalesInvoiceWhereInput = {
pos: {
complex: {
business_activity_id: posInfo.business_id,
},
},
}
if (query.code?.trim()) {
where.code = {
contains: query.code.trim(),
}
}
if (query.invoice_date_from || query.invoice_date_to) {
where.invoice_date = {
...(query.invoice_date_from ? { gte: new Date(query.invoice_date_from) } : {}),
...(query.invoice_date_to ? { lte: new Date(query.invoice_date_to) } : {}),
}
}
if (query.created_at_from || query.created_at_to) {
where.created_at = {
...(query.created_at_from ? { gte: new Date(query.created_at_from) } : {}),
...(query.created_at_to ? { lte: new Date(query.created_at_to) } : {}),
}
}
if (
query.total_amount !== undefined ||
query.total_amount_from !== undefined ||
query.total_amount_to !== undefined
) {
where.total_amount = {
...(query.total_amount !== undefined ? { equals: query.total_amount } : {}),
...(query.total_amount_from !== undefined
? { gte: query.total_amount_from }
: {}),
...(query.total_amount_to !== undefined ? { lte: query.total_amount_to } : {}),
}
}
if (
query.customer_name?.trim() ||
query.customer_mobile?.trim() ||
query.customer_national_id?.trim() ||
query.customer_economic_code?.trim()
) {
where.customer = {
is: {
OR: [
...(query.customer_name?.trim()
? [
{
individual: {
is: {
OR: [
{
first_name: {
contains: query.customer_name.trim(),
},
},
{
last_name: {
contains: query.customer_name.trim(),
},
},
],
},
},
},
{
legal: {
is: {
name: {
contains: query.customer_name.trim(),
},
},
},
},
]
: []),
...(query.customer_mobile?.trim()
? [
{
individual: {
is: {
mobile_number: {
contains: query.customer_mobile.trim(),
},
},
},
},
]
: []),
...(query.customer_national_id?.trim()
? [
{
individual: {
is: {
national_id: {
contains: query.customer_national_id.trim(),
},
},
},
},
]
: []),
...(query.customer_economic_code?.trim()
? [
{
legal: {
is: {
OR: [
{
economic_code: {
contains: query.customer_economic_code.trim(),
},
},
{
registration_number: {
contains: query.customer_economic_code.trim(),
},
},
],
},
},
},
]
: []),
],
},
}
}
if (query.status) {
if (query.status === FiscalResponseStatus.NOT_SEND) {
where.fiscal = null
} else {
where.fiscal = {
is: {
attempts: {
some: {
status: query.status,
},
},
},
}
}
}
return where
}
private normalizeInvoiceDate(invoiceDate: Date | string) { private normalizeInvoiceDate(invoiceDate: Date | string) {
return new Date(invoiceDate).toISOString() as any return new Date(invoiceDate).toISOString() as any
} }
@@ -339,11 +701,21 @@ export class SalesInvoicesService {
select: { select: {
id: true, id: true,
name: true, name: true,
sku: true, sku: {
select: {
id: true,
name: true,
},
},
local_sku: true, local_sku: true,
barcode: true, barcode: true,
pricing_model: true, pricing_model: true,
unit_type: true, measure_unit: {
select: {
id: true,
name: true,
},
},
base_sale_price: true, base_sale_price: true,
image_url: true, image_url: true,
category: { category: {
@@ -364,6 +736,8 @@ export class SalesInvoicesService {
normalizedInvoiceDate: Date normalizedInvoiceDate: Date
invoiceNumber: number invoiceNumber: number
consumer_account_id: string consumer_account_id: string
businessId: string
complexId: string
pos_id: string pos_id: string
goodsById: Map<string, any> goodsById: Map<string, any>
customerId: string | null customerId: string | null
@@ -376,6 +750,8 @@ export class SalesInvoicesService {
pos_id, pos_id,
goodsById, goodsById,
customerId, customerId,
businessId,
complexId,
} = params } = params
const { customer_id, customer_type, customer, payments, ...invoiceData } = data const { customer_id, customer_type, customer, payments, ...invoiceData } = data
@@ -384,7 +760,7 @@ export class SalesInvoicesService {
invoice_date: normalizedInvoiceDate, invoice_date: normalizedInvoiceDate,
invoice_number: invoiceNumber, invoice_number: invoiceNumber,
total_amount: data.total_amount, total_amount: data.total_amount,
code: 'INV-' + Date.now(), code: this.generateInvoiceCode(businessId, complexId, pos_id, invoiceNumber),
items: { items: {
createMany: { createMany: {
data: data.items.map(item => ({ data: data.items.map(item => ({
@@ -392,6 +768,7 @@ export class SalesInvoicesService {
quantity: item.quantity, quantity: item.quantity,
unit_price: item.unit_price, unit_price: item.unit_price,
total_amount: item.total_amount, total_amount: item.total_amount,
measure_unit_text: item.unit_type,
payload: item.payload ? JSON.parse(JSON.stringify(item.payload)) : undefined, payload: item.payload ? JSON.parse(JSON.stringify(item.payload)) : undefined,
good_snapshot: item.good_id good_snapshot: item.good_id
? JSON.parse( ? JSON.parse(
@@ -483,4 +860,13 @@ export class SalesInvoicesService {
} }
} }
} }
private generateInvoiceCode(
business_id: string,
complex_id: string,
pos_id: string,
invoice_number: number,
) {
return `${business_id.substring(0, 2)}-${complex_id.substring(0, 2)}-${pos_id.substring(0, 2)}-${invoice_number.toString()}`
}
} }