From bba31e98ba445316de26e71e7993c3bbee0c6005 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sun, 22 Feb 2026 12:22:40 +0330 Subject: [PATCH] up --- database/migrations/.snapshot-negareh.json | 2920 ----------------- .../migrations/Migration20260221105450.ts | 17 - .../migrations/Migration20260221130421.ts | 20 - .../migrations/Migration20260222084735.ts | 43 + 4 files changed, 43 insertions(+), 2957 deletions(-) delete mode 100644 database/migrations/.snapshot-negareh.json delete mode 100644 database/migrations/Migration20260221105450.ts delete mode 100644 database/migrations/Migration20260221130421.ts create mode 100644 database/migrations/Migration20260222084735.ts diff --git a/database/migrations/.snapshot-negareh.json b/database/migrations/.snapshot-negareh.json deleted file mode 100644 index 60fc459..0000000 --- a/database/migrations/.snapshot-negareh.json +++ /dev/null @@ -1,2920 +0,0 @@ -{ - "namespaces": [ - "public" - ], - "name": "public", - "tables": [ - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "parent_id": { - "name": "parent_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "is_active": { - "name": "is_active", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "true", - "mappedType": "boolean" - }, - "avatar_url": { - "name": "avatar_url", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "order": { - "name": "order", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - } - }, - "name": "categories", - "schema": "public", - "indexes": [ - { - "keyName": "categories_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "categories_parent_id_foreign": { - "constraintName": "categories_parent_id_foreign", - "columnNames": [ - "parent_id" - ], - "localTableName": "public.categories", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.categories", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "entity_type": { - "name": "entity_type", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "product", - "print" - ], - "mappedType": "enum" - }, - "entity_id": { - "name": "entity_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "name": { - "name": "name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "type": { - "name": "type", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "text", - "textarea", - "number", - "select", - "radio", - "checkbox", - "date" - ], - "mappedType": "enum" - }, - "is_required": { - "name": "is_required", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "false", - "mappedType": "boolean" - }, - "multiple": { - "name": "multiple", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "false", - "mappedType": "boolean" - }, - "order": { - "name": "order", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - } - }, - "name": "field", - "schema": "public", - "indexes": [ - { - "keyName": "field_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "value": { - "name": "value", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "field_id": { - "name": "field_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "order": { - "name": "order", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - } - }, - "name": "field_option", - "schema": "public", - "indexes": [ - { - "keyName": "field_option_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "field_option_field_id_foreign": { - "constraintName": "field_option_field_id_foreign", - "columnNames": [ - "field_id" - ], - "localTableName": "public.field_option", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.field", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "phone": { - "name": "phone", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "code": { - "name": "code", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "expires_at": { - "name": "expires_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "otp", - "schema": "public", - "indexes": [ - { - "keyName": "otp_phone_index", - "columnNames": [ - "phone" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "otp_pkey", - "columnNames": [ - "phone" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "name": { - "name": "name", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "manage_products", - "manage_categories", - "view_requests", - "delete_request", - "update_request", - "view_invoices", - "create_invoice", - "update_invoice", - "delete_invoice", - "view_all_invoiced_orders", - "view_my_assigned_invoiced_requests", - "view_orders", - "view_assigned_orders", - "create_order", - "update_order", - "assign_designer", - "delete_order", - "manage_admins", - "manage_roles", - "manage_users", - "manage_payments", - "manage_settings", - "manage_form_builder", - "manage_print" - ], - "mappedType": "enum" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - } - }, - "name": "permissions", - "schema": "public", - "indexes": [ - { - "keyName": "permissions_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "order": { - "name": "order", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - } - }, - "name": "print", - "schema": "public", - "indexes": [ - { - "keyName": "print_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "category_id": { - "name": "category_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "desc": { - "name": "desc", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "quantities": { - "name": "quantities", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "json" - }, - "link_url": { - "name": "link_url", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "text" - }, - "is_active": { - "name": "is_active", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "true", - "mappedType": "boolean" - }, - "images": { - "name": "images", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - }, - "order": { - "name": "order", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "integer" - } - }, - "name": "products", - "schema": "public", - "indexes": [ - { - "keyName": "products_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "products_category_id_foreign": { - "constraintName": "products_category_id_foreign", - "columnNames": [ - "category_id" - ], - "localTableName": "public.products", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.categories", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "hashed_token": { - "name": "hashed_token", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "owner_id": { - "name": "owner_id", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "type": { - "name": "type", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "user", - "admin" - ], - "mappedType": "enum" - }, - "expires_at": { - "name": "expires_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "refreshtokens", - "schema": "public", - "indexes": [ - { - "keyName": "refreshtokens_hashed_token_index", - "columnNames": [ - "hashed_token" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "refreshtokens_pkey", - "columnNames": [ - "hashed_token" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "name": { - "name": "name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "is_system": { - "name": "is_system", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "false", - "mappedType": "boolean" - } - }, - "name": "roles", - "schema": "public", - "indexes": [ - { - "columnNames": [ - "name" - ], - "composite": false, - "keyName": "roles_name_unique", - "constraint": true, - "primary": false, - "unique": true - }, - { - "keyName": "roles_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "first_name": { - "name": "first_name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "last_name": { - "name": "last_name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "phone": { - "name": "phone", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "role_id": { - "name": "role_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - } - }, - "name": "admins", - "schema": "public", - "indexes": [ - { - "columnNames": [ - "phone" - ], - "composite": false, - "keyName": "admins_phone_unique", - "constraint": true, - "primary": false, - "unique": true - }, - { - "keyName": "admins_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "admins_role_id_foreign": { - "constraintName": "admins_role_id_foreign", - "columnNames": [ - "role_id" - ], - "localTableName": "public.admins", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.roles", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "admin_id": { - "name": "admin_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "events": { - "name": "events", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - } - }, - "name": "notification_preferences", - "schema": "public", - "indexes": [ - { - "columnNames": [ - "admin_id" - ], - "composite": false, - "keyName": "notification_preferences_admin_id_unique", - "constraint": true, - "primary": false, - "unique": true - }, - { - "keyName": "notification_preferences_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "notification_preferences_admin_id_foreign": { - "constraintName": "notification_preferences_admin_id_foreign", - "columnNames": [ - "admin_id" - ], - "localTableName": "public.notification_preferences", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "cascade", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "role_id": { - "name": "role_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "permission_id": { - "name": "permission_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - } - }, - "name": "role_permissions", - "schema": "public", - "indexes": [ - { - "keyName": "role_permissions_pkey", - "columnNames": [ - "role_id", - "permission_id" - ], - "composite": true, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "role_permissions_role_id_foreign": { - "constraintName": "role_permissions_role_id_foreign", - "columnNames": [ - "role_id" - ], - "localTableName": "public.role_permissions", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.roles", - "updateRule": "cascade" - }, - "role_permissions_permission_id_foreign": { - "constraintName": "role_permissions_permission_id_foreign", - "columnNames": [ - "permission_id" - ], - "localTableName": "public.role_permissions", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.permissions", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "serial", - "unsigned": false, - "autoincrement": true, - "primary": true, - "nullable": false, - "mappedType": "integer" - }, - "phone": { - "name": "phone", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "sms_logs", - "schema": "public", - "indexes": [ - { - "keyName": "sms_logs_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "first_name": { - "name": "first_name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "last_name": { - "name": "last_name", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "phone": { - "name": "phone", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "is_active": { - "name": "is_active", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "true", - "mappedType": "boolean" - }, - "gender": { - "name": "gender", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "default": "true", - "mappedType": "boolean" - }, - "max_credit": { - "name": "max_credit", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "0", - "mappedType": "integer" - }, - "addresse": { - "name": "addresse", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - } - }, - "name": "users", - "schema": "public", - "indexes": [ - { - "columnNames": [ - "phone" - ], - "composite": false, - "keyName": "users_phone_unique", - "constraint": true, - "primary": false, - "unique": true - }, - { - "keyName": "users_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": {}, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "content": { - "name": "content", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "text" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "admin_id": { - "name": "admin_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "attachments": { - "name": "attachments", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - }, - "ref_id": { - "name": "ref_id", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "parent_id": { - "name": "parent_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "read_at": { - "name": "read_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "ticket", - "schema": "public", - "indexes": [ - { - "keyName": "ticket_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "ticket_user_id_foreign": { - "constraintName": "ticket_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.ticket", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "ticket_admin_id_foreign": { - "constraintName": "ticket_admin_id_foreign", - "columnNames": [ - "admin_id" - ], - "localTableName": "public.ticket", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "ticket_parent_id_foreign": { - "constraintName": "ticket_parent_id_foreign", - "columnNames": [ - "parent_id" - ], - "localTableName": "public.ticket", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.ticket", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "request_number": { - "name": "request_number", - "type": "serial", - "unsigned": true, - "autoincrement": true, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "status": { - "name": "status", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "'pending'", - "enumItems": [ - "pending", - "invoiced" - ], - "mappedType": "enum" - } - }, - "name": "requests", - "schema": "public", - "indexes": [ - { - "keyName": "requests_user_id_index", - "columnNames": [ - "user_id" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "requests_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "requests_user_id_foreign": { - "constraintName": "requests_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.requests", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "product_id": { - "name": "product_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "attributes": { - "name": "attributes", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - }, - "request_id": { - "name": "request_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "quantity": { - "name": "quantity", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "description": { - "name": "description", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "text" - }, - "attachments": { - "name": "attachments", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - } - }, - "name": "request_items", - "schema": "public", - "indexes": [ - { - "keyName": "request_items_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "request_items_product_id_foreign": { - "constraintName": "request_items_product_id_foreign", - "columnNames": [ - "product_id" - ], - "localTableName": "public.request_items", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.products", - "updateRule": "cascade" - }, - "request_items_request_id_foreign": { - "constraintName": "request_items_request_id_foreign", - "columnNames": [ - "request_id" - ], - "localTableName": "public.request_items", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.requests", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "admin_id": { - "name": "admin_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "title": { - "name": "title", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "newRequest", - "invoiced", - "newOrder", - "designerAssign", - "paymentSuccess" - ], - "mappedType": "enum" - }, - "content": { - "name": "content", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "seen_at": { - "name": "seen_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "notifications", - "schema": "public", - "indexes": [ - { - "keyName": "notifications_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "notifications_user_id_foreign": { - "constraintName": "notifications_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.notifications", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "notifications_admin_id_foreign": { - "constraintName": "notifications_admin_id_foreign", - "columnNames": [ - "admin_id" - ], - "localTableName": "public.notifications", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "request_id": { - "name": "request_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "invoice_number": { - "name": "invoice_number", - "type": "serial", - "unsigned": true, - "autoincrement": true, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "discount": { - "name": "discount", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "sub_total": { - "name": "sub_total", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "tax_amount": { - "name": "tax_amount", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "total": { - "name": "total", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "paid_amount": { - "name": "paid_amount", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "0", - "mappedType": "integer" - }, - "balance": { - "name": "balance", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "0", - "mappedType": "integer" - }, - "enable_tax": { - "name": "enable_tax", - "type": "boolean", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "false", - "mappedType": "boolean" - }, - "approval_deadline": { - "name": "approval_deadline", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "attachments": { - "name": "attachments", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "json" - }, - "payment_method": { - "name": "payment_method", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "description": { - "name": "description", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "text" - } - }, - "name": "invoices", - "schema": "public", - "indexes": [ - { - "keyName": "invoices_user_id_index", - "columnNames": [ - "user_id" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "invoices_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "invoices_user_id_foreign": { - "constraintName": "invoices_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.invoices", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "updateRule": "cascade" - }, - "invoices_request_id_foreign": { - "constraintName": "invoices_request_id_foreign", - "columnNames": [ - "request_id" - ], - "localTableName": "public.invoices", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.requests", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "invoice_id": { - "name": "invoice_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "creator_id": { - "name": "creator_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "amount": { - "name": "amount", - "type": "numeric(10,0)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "precision": 10, - "scale": 0, - "mappedType": "decimal" - }, - "token": { - "name": "token", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "method": { - "name": "method", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "Online", - "Cash", - "Credit" - ], - "mappedType": "enum" - }, - "gateway": { - "name": "gateway", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "enumItems": [ - "zarinpal" - ], - "mappedType": "enum" - }, - "transaction_id": { - "name": "transaction_id", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "status": { - "name": "status", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [ - "pending", - "paid", - "failed", - "refunded" - ], - "mappedType": "enum" - }, - "verify_response": { - "name": "verify_response", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - }, - "paid_at": { - "name": "paid_at", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "failed_at": { - "name": "failed_at", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "attachments": { - "name": "attachments", - "type": "text[]", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "array" - }, - "description": { - "name": "description", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - } - }, - "name": "payments", - "schema": "public", - "indexes": [ - { - "columnNames": [ - "invoice_id" - ], - "composite": false, - "keyName": "payments_invoice_id_index", - "constraint": false, - "primary": false, - "unique": false - }, - { - "columnNames": [ - "token" - ], - "composite": false, - "keyName": "payments_token_unique", - "constraint": true, - "primary": false, - "unique": true - }, - { - "keyName": "payments_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "payments_invoice_id_foreign": { - "constraintName": "payments_invoice_id_foreign", - "columnNames": [ - "invoice_id" - ], - "localTableName": "public.payments", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.invoices", - "updateRule": "cascade" - }, - "payments_creator_id_foreign": { - "constraintName": "payments_creator_id_foreign", - "columnNames": [ - "creator_id" - ], - "localTableName": "public.payments", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "invoice_id": { - "name": "invoice_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "product_id": { - "name": "product_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "quantity": { - "name": "quantity", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "unit_price": { - "name": "unit_price", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "sub_total": { - "name": "sub_total", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "discount": { - "name": "discount", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "total": { - "name": "total", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "description": { - "name": "description", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "text" - }, - "confirmed_at": { - "name": "confirmed_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - } - }, - "name": "invoice_items", - "schema": "public", - "indexes": [ - { - "keyName": "invoice_items_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "invoice_items_invoice_id_foreign": { - "constraintName": "invoice_items_invoice_id_foreign", - "columnNames": [ - "invoice_id" - ], - "localTableName": "public.invoice_items", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.invoices", - "updateRule": "cascade" - }, - "invoice_items_product_id_foreign": { - "constraintName": "invoice_items_product_id_foreign", - "columnNames": [ - "product_id" - ], - "localTableName": "public.invoice_items", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.products", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "invoice_item_id": { - "name": "invoice_item_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "product_id": { - "name": "product_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "title": { - "name": "title", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "type_id": { - "name": "type_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "designer_id": { - "name": "designer_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "creator_id": { - "name": "creator_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 26, - "mappedType": "character" - }, - "order_number": { - "name": "order_number", - "type": "serial", - "unsigned": true, - "autoincrement": true, - "primary": false, - "nullable": false, - "mappedType": "integer" - }, - "attributes": { - "name": "attributes", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "json" - }, - "status": { - "name": "status", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "default": "'created'", - "enumItems": [ - "created", - "invoiced", - "waiting_to_confirm_invoice", - "design_initiated", - "design_finished", - "design_revision", - "ready_to_printing", - "in_printing", - "ready_for_delivery", - "delivered", - "after_print_cover", - "after_print_boxing", - "after_print_cartoning", - "finished", - "canceled" - ], - "mappedType": "enum" - }, - "estimated_days": { - "name": "estimated_days", - "type": "int", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "mappedType": "integer" - }, - "attachments": { - "name": "attachments", - "type": "jsonb", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "mappedType": "json" - }, - "printery": { - "name": "printery", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - }, - "lithography": { - "name": "lithography", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 255, - "mappedType": "string" - } - }, - "name": "orders", - "schema": "public", - "indexes": [ - { - "keyName": "orders_user_id_index", - "columnNames": [ - "user_id" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "orders_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "orders_invoice_item_id_foreign": { - "constraintName": "orders_invoice_item_id_foreign", - "columnNames": [ - "invoice_item_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.invoice_items", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "orders_product_id_foreign": { - "constraintName": "orders_product_id_foreign", - "columnNames": [ - "product_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.products", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "orders_type_id_foreign": { - "constraintName": "orders_type_id_foreign", - "columnNames": [ - "type_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.categories", - "updateRule": "cascade" - }, - "orders_user_id_foreign": { - "constraintName": "orders_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "updateRule": "cascade" - }, - "orders_designer_id_foreign": { - "constraintName": "orders_designer_id_foreign", - "columnNames": [ - "designer_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "set null", - "updateRule": "cascade" - }, - "orders_creator_id_foreign": { - "constraintName": "orders_creator_id_foreign", - "columnNames": [ - "creator_id" - ], - "localTableName": "public.orders", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.admins", - "deleteRule": "set null", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - }, - { - "columns": { - "id": { - "name": "id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "created_at": { - "name": "created_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 6, - "default": "now()", - "mappedType": "datetime" - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamptz", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": true, - "length": 6, - "mappedType": "datetime" - }, - "user_id": { - "name": "user_id", - "type": "char(26)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 26, - "mappedType": "character" - }, - "order_id": { - "name": "order_id", - "type": "varchar(255)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "length": 255, - "mappedType": "string" - }, - "amount": { - "name": "amount", - "type": "numeric(10,0)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "precision": 10, - "scale": 0, - "mappedType": "decimal" - }, - "balance": { - "name": "balance", - "type": "numeric(10,0)", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "precision": 10, - "scale": 0, - "mappedType": "decimal" - }, - "type": { - "name": "type", - "type": "text", - "unsigned": false, - "autoincrement": false, - "primary": false, - "nullable": false, - "enumItems": [], - "mappedType": "enum" - } - }, - "name": "credit_transactions", - "schema": "public", - "indexes": [ - { - "keyName": "credit_transactions_user_id_index", - "columnNames": [ - "user_id" - ], - "composite": false, - "constraint": false, - "primary": false, - "unique": false - }, - { - "keyName": "credit_transactions_pkey", - "columnNames": [ - "id" - ], - "composite": false, - "constraint": true, - "primary": true, - "unique": true - } - ], - "checks": [], - "foreignKeys": { - "credit_transactions_user_id_foreign": { - "constraintName": "credit_transactions_user_id_foreign", - "columnNames": [ - "user_id" - ], - "localTableName": "public.credit_transactions", - "referencedColumnNames": [ - "id" - ], - "referencedTableName": "public.users", - "updateRule": "cascade" - } - }, - "nativeEnums": {} - } - ], - "nativeEnums": {} -} diff --git a/database/migrations/Migration20260221105450.ts b/database/migrations/Migration20260221105450.ts deleted file mode 100644 index f3cb964..0000000 --- a/database/migrations/Migration20260221105450.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Migration } from '@mikro-orm/migrations'; - -export class Migration20260221105450 extends Migration { - - override async up(): Promise { - this.addSql(`alter table "credit_transactions" drop constraint if exists "credit_transactions_type_check";`); - - this.addSql(`alter table "credit_transactions" add constraint "credit_transactions_type_check" check("type" in (''));`); - } - - override async down(): Promise { - this.addSql(`alter table "credit_transactions" drop constraint if exists "credit_transactions_type_check";`); - - this.addSql(`alter table "credit_transactions" add constraint "credit_transactions_type_check" check("type" in (''));`); - } - -} diff --git a/database/migrations/Migration20260221130421.ts b/database/migrations/Migration20260221130421.ts deleted file mode 100644 index 309eb75..0000000 --- a/database/migrations/Migration20260221130421.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Migration } from '@mikro-orm/migrations'; - -export class Migration20260221130421 extends Migration { - - override async up(): Promise { - this.addSql(`alter table "orders" drop constraint "orders_type_id_foreign";`); - - this.addSql(`alter table "orders" add column "printery" varchar(255) null, add column "lithography" varchar(255) null;`); - this.addSql(`alter table "orders" add constraint "orders_type_id_foreign" foreign key ("type_id") references "categories" ("id") on update cascade;`); - } - - override async down(): Promise { - this.addSql(`create table "order_types" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "title" varchar(255) not null, constraint "order_types_pkey" primary key ("id"));`); - - this.addSql(`alter table "orders" drop constraint "orders_type_id_foreign";`); - - this.addSql(`alter table "orders" add constraint "orders_type_id_foreign" foreign key ("type_id") references "order_types" ("id") on update cascade;`); - } - -} diff --git a/database/migrations/Migration20260222084735.ts b/database/migrations/Migration20260222084735.ts new file mode 100644 index 0000000..4833658 --- /dev/null +++ b/database/migrations/Migration20260222084735.ts @@ -0,0 +1,43 @@ +import { Migration } from '@mikro-orm/migrations'; + +export class Migration20260222084735 extends Migration { + + override async up(): Promise { + this.addSql(`create table "learning_categories" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "name" varchar(100) not null, constraint "learning_categories_pkey" primary key ("id"));`); + this.addSql(`alter table "learning_categories" add constraint "learning_categories_name_unique" unique ("name");`); + + this.addSql(`create table "learnings" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "title" varchar(200) not null, "description" text not null, "cover_url" text not null, "video_url" text null, "video_duration" varchar(200) null, "category_id" char(26) not null, constraint "learnings_pkey" primary key ("id"));`); + + this.addSql(`create table "prints" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "fileds" jsonb null, constraint "prints_pkey" primary key ("id"));`); + + this.addSql(`create table "learning_progress" ("id" char(26) not null, "created_at" timestamptz not null default now(), "deleted_at" timestamptz null, "user_id" char(26) not null, "learning_id" char(26) not null, "watched_at" timestamptz not null default CURRENT_TIMESTAMP, constraint "learning_progress_pkey" primary key ("id"));`); + + this.addSql(`alter table "learnings" add constraint "learnings_category_id_foreign" foreign key ("category_id") references "learning_categories" ("id") on update cascade;`); + + this.addSql(`alter table "learning_progress" add constraint "learning_progress_user_id_foreign" foreign key ("user_id") references "users" ("id") on update cascade;`); + this.addSql(`alter table "learning_progress" add constraint "learning_progress_learning_id_foreign" foreign key ("learning_id") references "learnings" ("id") on update cascade;`); + + this.addSql(`alter table "permissions" drop constraint if exists "permissions_name_check";`); + + this.addSql(`alter table "permissions" add constraint "permissions_name_check" check("name" in ('manage_products', 'manage_categories', 'view_requests', 'delete_request', 'update_request', 'view_invoices', 'create_invoice', 'update_invoice', 'delete_invoice', 'view_all_invoiced_orders', 'view_my_assigned_invoiced_requests', 'view_orders', 'view_assigned_orders', 'create_order', 'update_order', 'assign_designer', 'delete_order', 'manage_admins', 'manage_roles', 'manage_users', 'manage_payments', 'manage_settings', 'manage_form_builder', 'create_print', 'view_print', 'manage_learnings'));`); + + this.addSql(`alter table "orders" add column "print_id" char(26) null;`); + this.addSql(`alter table "orders" add constraint "orders_print_id_foreign" foreign key ("print_id") references "prints" ("id") on update cascade on delete set null;`); + this.addSql(`alter table "orders" add constraint "orders_print_id_unique" unique ("print_id");`); + + this.addSql(`alter table "credit_transactions" rename column "order_id" to "invoice_id";`); + } + + override async down(): Promise { + this.addSql(`alter table "permissions" drop constraint if exists "permissions_name_check";`); + + this.addSql(`alter table "permissions" add constraint "permissions_name_check" check("name" in ('manage_products', 'manage_categories', 'view_requests', 'delete_request', 'update_request', 'view_invoices', 'create_invoice', 'update_invoice', 'delete_invoice', 'view_all_invoiced_orders', 'view_my_assigned_invoiced_requests', 'view_orders', 'view_assigned_orders', 'create_order', 'update_order', 'assign_designer', 'delete_order', 'manage_admins', 'manage_roles', 'manage_users', 'manage_payments', 'manage_settings', 'manage_form_builder', 'manage_print'));`); + + this.addSql(`alter table "orders" drop constraint "orders_print_id_unique";`); + + this.addSql(`alter table "orders" add column "attributes" jsonb null, add column "printery" varchar(255) null, add column "lithography" varchar(255) null;`); + + this.addSql(`alter table "credit_transactions" rename column "invoice_id" to "order_id";`); + } + +}