Files
negareh-api/database/migrations/.snapshot-negareh.json
T
2026-05-29 15:31:40 +03:30

3869 lines
99 KiB
JSON

{
"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"
},
"title": {
"name": "title",
"type": "varchar(100)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 100,
"mappedType": "string"
},
"content": {
"name": "content",
"type": "text",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "text"
},
"publish_at": {
"name": "publish_at",
"type": "timestamptz",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 6,
"mappedType": "datetime"
},
"is_important": {
"name": "is_important",
"type": "boolean",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"default": "false",
"mappedType": "boolean"
},
"is_public": {
"name": "is_public",
"type": "boolean",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"default": "false",
"mappedType": "boolean"
}
},
"name": "announcements",
"schema": "public",
"indexes": [
{
"keyName": "announcements_is_public_created_at_index",
"columnNames": [
"is_public",
"created_at"
],
"composite": true,
"constraint": false,
"primary": false,
"unique": false
},
{
"keyName": "announcements_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"
},
"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_entity_id_index",
"columnNames": [
"entity_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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_field_id_index",
"columnNames": [
"field_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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": {
"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(100)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 100,
"mappedType": "string"
}
},
"name": "learning_categories",
"schema": "public",
"indexes": [
{
"columnNames": [
"name"
],
"composite": false,
"keyName": "learning_categories_name_unique",
"constraint": true,
"primary": false,
"unique": true
},
{
"keyName": "learning_categories_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(200)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 200,
"mappedType": "string"
},
"description": {
"name": "description",
"type": "text",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "text"
},
"cover_url": {
"name": "cover_url",
"type": "text",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "text"
},
"video_url": {
"name": "video_url",
"type": "text",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"mappedType": "text"
},
"video_duration": {
"name": "video_duration",
"type": "varchar(200)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 200,
"mappedType": "string"
},
"category_id": {
"name": "category_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 26,
"mappedType": "character"
}
},
"name": "learnings",
"schema": "public",
"indexes": [
{
"keyName": "learnings_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"learnings_category_id_foreign": {
"constraintName": "learnings_category_id_foreign",
"columnNames": [
"category_id"
],
"localTableName": "public.learnings",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.learning_categories",
"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"
},
"fileds": {
"name": "fileds",
"type": "jsonb",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"mappedType": "json"
}
},
"name": "prints",
"schema": "public",
"indexes": [
{
"keyName": "prints_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"
},
"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_orders",
"view_assigned_orders",
"create_order",
"update_order",
"assign_designer",
"delete_order",
"create_user",
"update_user",
"delete_user",
"view_users",
"manage_admins",
"manage_roles",
"manage_payments",
"manage_settings",
"create_print",
"view_print",
"manage_learnings",
"manage_criticisms",
"manage_announcements",
"manage_tickets",
"new_request_notification",
"new_payment_notification",
"new_ticket_notification"
],
"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_phone_index",
"columnNames": [
"phone"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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": {
"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_role_id_index",
"columnNames": [
"role_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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_phone_index",
"columnNames": [
"phone"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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"
},
"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"
},
"subject": {
"name": "subject",
"type": "varchar(255)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 255,
"mappedType": "string"
},
"content": {
"name": "content",
"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": [
"open",
"closed",
"pending",
"in_progress"
],
"mappedType": "enum"
},
"attachments": {
"name": "attachments",
"type": "text[]",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"mappedType": "array"
},
"admin_id": {
"name": "admin_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 26,
"mappedType": "character"
},
"user_id": {
"name": "user_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"length": 26,
"mappedType": "character"
}
},
"name": "tickets",
"schema": "public",
"indexes": [
{
"keyName": "tickets_user_id_index",
"columnNames": [
"user_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"keyName": "tickets_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"tickets_parent_id_foreign": {
"constraintName": "tickets_parent_id_foreign",
"columnNames": [
"parent_id"
],
"localTableName": "public.tickets",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.tickets",
"deleteRule": "set null",
"updateRule": "cascade"
},
"tickets_admin_id_foreign": {
"constraintName": "tickets_admin_id_foreign",
"columnNames": [
"admin_id"
],
"localTableName": "public.tickets",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.admins",
"deleteRule": "set null",
"updateRule": "cascade"
},
"tickets_user_id_foreign": {
"constraintName": "tickets_user_id_foreign",
"columnNames": [
"user_id"
],
"localTableName": "public.tickets",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.users",
"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_request_id_index",
"columnNames": [
"request_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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",
"newInvoice",
"newPayment",
"newOrder",
"newCriticism",
"newTicket",
"newOrderMessage",
"newRequestMessage"
],
"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_user_id_index",
"columnNames": [
"user_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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"
},
"learning_id": {
"name": "learning_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 26,
"mappedType": "character"
},
"watched_at": {
"name": "watched_at",
"type": "timestamptz",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 6,
"default": "CURRENT_TIMESTAMP",
"mappedType": "datetime"
}
},
"name": "learning_progress",
"schema": "public",
"indexes": [
{
"keyName": "learning_progress_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"learning_progress_user_id_foreign": {
"constraintName": "learning_progress_user_id_foreign",
"columnNames": [
"user_id"
],
"localTableName": "public.learning_progress",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.users",
"updateRule": "cascade"
},
"learning_progress_learning_id_foreign": {
"constraintName": "learning_progress_learning_id_foreign",
"columnNames": [
"learning_id"
],
"localTableName": "public.learning_progress",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.learnings",
"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": false,
"mappedType": "integer"
},
"sub_total": {
"name": "sub_total",
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "integer"
},
"tax_amount": {
"name": "tax_amount",
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "integer"
},
"total": {
"name": "total",
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"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,
"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": [
{
"columnNames": [
"invoice_number"
],
"composite": false,
"keyName": "invoices_invoice_number_unique",
"constraint": true,
"primary": false,
"unique": true
},
{
"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",
"generated": "(COALESCE(unit_price, 0) * quantity) STORED",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"mappedType": "integer"
},
"discount": {
"name": "discount",
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"mappedType": "integer"
},
"discount_percent": {
"name": "discount_percent",
"type": "int",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": true,
"mappedType": "integer"
},
"total": {
"name": "total",
"type": "int",
"generated": "((COALESCE(unit_price, 0) * quantity) - COALESCE(discount, 0)) STORED",
"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"
},
"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_invoice_id_index",
"columnNames": [
"invoice_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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"
},
"print_id": {
"name": "print_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"
},
"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"
}
},
"name": "orders",
"schema": "public",
"indexes": [
{
"columnNames": [
"print_id"
],
"composite": false,
"keyName": "orders_print_id_unique",
"constraint": true,
"primary": false,
"unique": true
},
{
"columnNames": [
"order_number"
],
"composite": false,
"keyName": "orders_order_number_unique",
"constraint": true,
"primary": false,
"unique": true
},
{
"keyName": "orders_status_index",
"columnNames": [
"status"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"keyName": "orders_designer_id_index",
"columnNames": [
"designer_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"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_print_id_foreign": {
"constraintName": "orders_print_id_foreign",
"columnNames": [
"print_id"
],
"localTableName": "public.orders",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.prints",
"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"
},
"title": {
"name": "title",
"type": "varchar(150)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 150,
"mappedType": "string"
},
"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": false,
"length": 26,
"mappedType": "character"
},
"is_read": {
"name": "is_read",
"type": "boolean",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"default": "false",
"mappedType": "boolean"
}
},
"name": "criticisms",
"schema": "public",
"indexes": [
{
"keyName": "criticisms_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"criticisms_user_id_foreign": {
"constraintName": "criticisms_user_id_foreign",
"columnNames": [
"user_id"
],
"localTableName": "public.criticisms",
"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"
},
"file_url": {
"name": "file_url",
"type": "varchar(255)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 255,
"mappedType": "string"
},
"criticism_id": {
"name": "criticism_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 26,
"mappedType": "character"
}
},
"name": "criticism_files",
"schema": "public",
"indexes": [
{
"keyName": "criticism_files_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"criticism_files_criticism_id_foreign": {
"constraintName": "criticism_files_criticism_id_foreign",
"columnNames": [
"criticism_id"
],
"localTableName": "public.criticism_files",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.criticisms",
"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"
},
"invoice_id": {
"name": "invoice_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": [
"withdraw",
"deposit"
],
"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": {}
},
{
"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": "chat",
"schema": "public",
"indexes": [
{
"keyName": "chat_user_id_index",
"columnNames": [
"user_id"
],
"composite": false,
"constraint": false,
"primary": false,
"unique": false
},
{
"keyName": "chat_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"chat_user_id_foreign": {
"constraintName": "chat_user_id_foreign",
"columnNames": [
"user_id"
],
"localTableName": "public.chat",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.users",
"deleteRule": "set null",
"updateRule": "cascade"
},
"chat_admin_id_foreign": {
"constraintName": "chat_admin_id_foreign",
"columnNames": [
"admin_id"
],
"localTableName": "public.chat",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.admins",
"deleteRule": "set null",
"updateRule": "cascade"
},
"chat_parent_id_foreign": {
"constraintName": "chat_parent_id_foreign",
"columnNames": [
"parent_id"
],
"localTableName": "public.chat",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.chat",
"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"
},
"announcement_id": {
"name": "announcement_id",
"type": "char(26)",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"length": 26,
"mappedType": "character"
},
"is_read": {
"name": "is_read",
"type": "boolean",
"unsigned": false,
"autoincrement": false,
"primary": false,
"nullable": false,
"default": "false",
"mappedType": "boolean"
}
},
"name": "user_announcements",
"schema": "public",
"indexes": [
{
"keyName": "user_announcements_pkey",
"columnNames": [
"id"
],
"composite": false,
"constraint": true,
"primary": true,
"unique": true
}
],
"checks": [],
"foreignKeys": {
"user_announcements_user_id_foreign": {
"constraintName": "user_announcements_user_id_foreign",
"columnNames": [
"user_id"
],
"localTableName": "public.user_announcements",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.users",
"updateRule": "cascade"
},
"user_announcements_announcement_id_foreign": {
"constraintName": "user_announcements_announcement_id_foreign",
"columnNames": [
"announcement_id"
],
"localTableName": "public.user_announcements",
"referencedColumnNames": [
"id"
],
"referencedTableName": "public.announcements",
"updateRule": "cascade"
}
},
"nativeEnums": {}
}
],
"nativeEnums": {}
}