2025-05-22 13:17:11 +03:00
{
2025-06-11 18:37:03 +03:00
"id" : "41f7bba3-1d5d-41ba-83bb-ca129ace81f0" ,
2025-05-22 13:17:11 +03:00
"prevId" : "00000000-0000-0000-0000-000000000000" ,
"version" : "7" ,
"dialect" : "postgresql" ,
"tables" : {
"public.account" : {
"name" : "account" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
2025-05-22 14:37:19 +03:00
"type" : "serial" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : true ,
"notNull" : true
} ,
"account_id" : {
"name" : "account_id" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"provider_id" : {
"name" : "provider_id" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
2025-05-22 14:37:19 +03:00
"type" : "integer" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"access_token" : {
"name" : "access_token" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"refresh_token" : {
"name" : "refresh_token" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"id_token" : {
"name" : "id_token" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"access_token_expires_at" : {
"name" : "access_token_expires_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : false
} ,
"refresh_token_expires_at" : {
"name" : "refresh_token_expires_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : false
} ,
"scope" : {
"name" : "scope" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"password" : {
"name" : "password" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"created_at" : {
"name" : "created_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"updated_at" : {
"name" : "updated_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"account_user_id_user_id_fk" : {
"name" : "account_user_id_user_id_fk" ,
"tableFrom" : "account" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
2025-05-22 14:26:12 +03:00
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
2025-05-30 14:25:12 +03:00
"public.account_deletion_request" : {
"name" : "account_deletion_request" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"requested_at" : {
"name" : "requested_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"scheduled_deletion_at" : {
"name" : "scheduled_deletion_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true
} ,
"reason" : {
"name" : "reason" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"is_processed" : {
"name" : "is_processed" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : false
}
} ,
"indexes" : {
"account_deletion_request_user_id_idx" : {
"name" : "account_deletion_request_user_id_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"account_deletion_request_scheduled_deletion_idx" : {
"name" : "account_deletion_request_scheduled_deletion_idx" ,
"columns" : [
{
"expression" : "scheduled_deletion_at" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"account_deletion_request_open_idx" : {
"name" : "account_deletion_request_open_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"where" : "is_processed = false" ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
}
} ,
"foreignKeys" : {
"account_deletion_request_user_id_user_id_fk" : {
"name" : "account_deletion_request_user_id_user_id_fk" ,
"tableFrom" : "account_deletion_request" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"account_deletion_request_user_id_unique" : {
"name" : "account_deletion_request_user_id_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"user_id"
]
}
}
} ,
2025-05-22 14:26:12 +03:00
"public.coin" : {
"name" : "coin" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"name" : {
"name" : "name" ,
"type" : "varchar(255)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"symbol" : {
"name" : "symbol" ,
"type" : "varchar(10)" ,
"primaryKey" : false ,
"notNull" : true
} ,
2025-05-30 14:25:12 +03:00
"icon" : {
"name" : "icon" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
2025-05-22 14:26:12 +03:00
"creator_id" : {
"name" : "creator_id" ,
2025-05-22 14:37:19 +03:00
"type" : "integer" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
2025-05-22 14:37:19 +03:00
"notNull" : false
2025-05-22 14:26:12 +03:00
} ,
"initial_supply" : {
"name" : "initial_supply" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"circulating_supply" : {
"name" : "circulating_supply" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"current_price" : {
"name" : "current_price" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(20, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"market_cap" : {
"name" : "market_cap" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 2)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"volume_24h" : {
"name" : "volume_24h" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 2)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : false ,
2025-05-30 14:25:12 +03:00
"default" : "'0.00'"
2025-05-22 14:26:12 +03:00
} ,
"change_24h" : {
"name" : "change_24h" ,
2025-06-11 18:37:03 +03:00
"type" : "numeric(30, 4)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : false ,
"default" : "'0.0000'"
} ,
"pool_coin_amount" : {
"name" : "pool_coin_amount" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true ,
"default" : "'0.00000000'"
} ,
"pool_base_currency_amount" : {
"name" : "pool_base_currency_amount" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true ,
2025-05-30 14:25:12 +03:00
"default" : "'0.00000000'"
2025-05-22 14:26:12 +03:00
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"updated_at" : {
"name" : "updated_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"is_listed" : {
"name" : "is_listed" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : true
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"coin_creator_id_user_id_fk" : {
"name" : "coin_creator_id_user_id_fk" ,
"tableFrom" : "coin" ,
"tableTo" : "user" ,
"columnsFrom" : [
"creator_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"coin_symbol_unique" : {
"name" : "coin_symbol_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"symbol"
]
}
}
} ,
2025-05-30 14:25:12 +03:00
"public.comment" : {
"name" : "comment" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"coin_id" : {
"name" : "coin_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"content" : {
"name" : "content" ,
"type" : "varchar(500)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"likes_count" : {
"name" : "likes_count" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : 0
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"updated_at" : {
"name" : "updated_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"is_deleted" : {
"name" : "is_deleted" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : false
}
} ,
"indexes" : {
"comment_user_id_idx" : {
"name" : "comment_user_id_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"comment_coin_id_idx" : {
"name" : "comment_coin_id_idx" ,
"columns" : [
{
"expression" : "coin_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
}
} ,
"foreignKeys" : {
"comment_user_id_user_id_fk" : {
"name" : "comment_user_id_user_id_fk" ,
"tableFrom" : "comment" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
} ,
"comment_coin_id_coin_id_fk" : {
"name" : "comment_coin_id_coin_id_fk" ,
"tableFrom" : "comment" ,
"tableTo" : "coin" ,
"columnsFrom" : [
"coin_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
"public.comment_like" : {
"name" : "comment_like" ,
"schema" : "" ,
"columns" : {
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"comment_id" : {
"name" : "comment_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"comment_like_user_id_user_id_fk" : {
"name" : "comment_like_user_id_user_id_fk" ,
"tableFrom" : "comment_like" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
} ,
"comment_like_comment_id_comment_id_fk" : {
"name" : "comment_like_comment_id_comment_id_fk" ,
"tableFrom" : "comment_like" ,
"tableTo" : "comment" ,
"columnsFrom" : [
"comment_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : {
"comment_like_user_id_comment_id_pk" : {
"name" : "comment_like_user_id_comment_id_pk" ,
"columns" : [
"user_id" ,
"comment_id"
]
}
} ,
"uniqueConstraints" : { }
} ,
2025-06-11 18:37:03 +03:00
"public.notification" : {
"name" : "notification" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"type" : {
"name" : "type" ,
"type" : "notification_type" ,
"typeSchema" : "public" ,
"primaryKey" : false ,
"notNull" : true
} ,
"title" : {
"name" : "title" ,
"type" : "varchar(200)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"message" : {
"name" : "message" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"is_read" : {
"name" : "is_read" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : false
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
}
} ,
"indexes" : {
"notification_user_id_idx" : {
"name" : "notification_user_id_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"notification_type_idx" : {
"name" : "notification_type_idx" ,
"columns" : [
{
"expression" : "type" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"notification_is_read_idx" : {
"name" : "notification_is_read_idx" ,
"columns" : [
{
"expression" : "is_read" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"notification_created_at_idx" : {
"name" : "notification_created_at_idx" ,
"columns" : [
{
"expression" : "created_at" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
}
} ,
"foreignKeys" : {
"notification_user_id_user_id_fk" : {
"name" : "notification_user_id_user_id_fk" ,
"tableFrom" : "notification" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
2025-05-30 14:25:12 +03:00
"public.prediction_bet" : {
"name" : "prediction_bet" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"question_id" : {
"name" : "question_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"side" : {
"name" : "side" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true
} ,
"amount" : {
"name" : "amount" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"actual_winnings" : {
"name" : "actual_winnings" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : false
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"settled_at" : {
"name" : "settled_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : false
}
} ,
"indexes" : {
"prediction_bet_user_id_idx" : {
"name" : "prediction_bet_user_id_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"prediction_bet_question_id_idx" : {
"name" : "prediction_bet_question_id_idx" ,
"columns" : [
{
"expression" : "question_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"prediction_bet_user_question_idx" : {
"name" : "prediction_bet_user_question_idx" ,
"columns" : [
{
"expression" : "user_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
} ,
{
"expression" : "question_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"prediction_bet_created_at_idx" : {
"name" : "prediction_bet_created_at_idx" ,
"columns" : [
{
"expression" : "created_at" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
}
} ,
"foreignKeys" : {
"prediction_bet_user_id_user_id_fk" : {
"name" : "prediction_bet_user_id_user_id_fk" ,
"tableFrom" : "prediction_bet" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
} ,
"prediction_bet_question_id_prediction_question_id_fk" : {
"name" : "prediction_bet_question_id_prediction_question_id_fk" ,
"tableFrom" : "prediction_bet" ,
"tableTo" : "prediction_question" ,
"columnsFrom" : [
"question_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
"public.prediction_question" : {
"name" : "prediction_question" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"creator_id" : {
"name" : "creator_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"question" : {
"name" : "question" ,
"type" : "varchar(200)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"status" : {
"name" : "status" ,
"type" : "prediction_market_status" ,
"typeSchema" : "public" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "'ACTIVE'"
} ,
"resolution_date" : {
"name" : "resolution_date" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true
} ,
"ai_resolution" : {
"name" : "ai_resolution" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : false
} ,
"total_yes_amount" : {
"name" : "total_yes_amount" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "'0.00000000'"
} ,
"total_no_amount" : {
"name" : "total_no_amount" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "'0.00000000'"
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"resolved_at" : {
"name" : "resolved_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : false
} ,
"requires_web_search" : {
"name" : "requires_web_search" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : false
} ,
"validation_reason" : {
"name" : "validation_reason" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
}
} ,
"indexes" : {
"prediction_question_creator_id_idx" : {
"name" : "prediction_question_creator_id_idx" ,
"columns" : [
{
"expression" : "creator_id" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"prediction_question_status_idx" : {
"name" : "prediction_question_status_idx" ,
"columns" : [
{
"expression" : "status" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
} ,
"prediction_question_resolution_date_idx" : {
"name" : "prediction_question_resolution_date_idx" ,
"columns" : [
{
"expression" : "resolution_date" ,
"isExpression" : false ,
"asc" : true ,
"nulls" : "last"
}
] ,
"isUnique" : false ,
"concurrently" : false ,
"method" : "btree" ,
"with" : { }
}
} ,
"foreignKeys" : {
"prediction_question_creator_id_user_id_fk" : {
"name" : "prediction_question_creator_id_user_id_fk" ,
"tableFrom" : "prediction_question" ,
"tableTo" : "user" ,
"columnsFrom" : [
"creator_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
2025-05-22 14:26:12 +03:00
"public.price_history" : {
"name" : "price_history" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"coin_id" : {
"name" : "coin_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"price" : {
"name" : "price" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(20, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"timestamp" : {
"name" : "timestamp" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"price_history_coin_id_coin_id_fk" : {
"name" : "price_history_coin_id_coin_id_fk" ,
"tableFrom" : "price_history" ,
"tableTo" : "coin" ,
"columnsFrom" : [
"coin_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
2025-05-22 13:17:11 +03:00
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
2025-05-30 14:25:12 +03:00
"public.promo_code" : {
"name" : "promo_code" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"code" : {
"name" : "code" ,
"type" : "varchar(50)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"description" : {
"name" : "description" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"reward_amount" : {
"name" : "reward_amount" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"max_uses" : {
"name" : "max_uses" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"is_active" : {
"name" : "is_active" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : true
} ,
"expires_at" : {
"name" : "expires_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : false
} ,
"created_at" : {
"name" : "created_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
} ,
"created_by" : {
"name" : "created_by" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"promo_code_created_by_user_id_fk" : {
"name" : "promo_code_created_by_user_id_fk" ,
"tableFrom" : "promo_code" ,
"tableTo" : "user" ,
"columnsFrom" : [
"created_by"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"promo_code_code_unique" : {
"name" : "promo_code_code_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"code"
]
}
}
} ,
"public.promo_code_redemption" : {
"name" : "promo_code_redemption" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"promo_code_id" : {
"name" : "promo_code_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"reward_amount" : {
"name" : "reward_amount" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true
} ,
"redeemed_at" : {
"name" : "redeemed_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"promo_code_redemption_user_id_user_id_fk" : {
"name" : "promo_code_redemption_user_id_user_id_fk" ,
"tableFrom" : "promo_code_redemption" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
} ,
"promo_code_redemption_promo_code_id_promo_code_id_fk" : {
"name" : "promo_code_redemption_promo_code_id_promo_code_id_fk" ,
"tableFrom" : "promo_code_redemption" ,
"tableTo" : "promo_code" ,
"columnsFrom" : [
"promo_code_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "no action" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"promo_code_redemption_user_id_promo_code_id_unique" : {
"name" : "promo_code_redemption_user_id_promo_code_id_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"user_id" ,
"promo_code_id"
]
}
}
} ,
2025-05-22 13:17:11 +03:00
"public.session" : {
"name" : "session" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
2025-05-22 14:37:19 +03:00
"type" : "serial" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : true ,
"notNull" : true
} ,
"expires_at" : {
"name" : "expires_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"token" : {
"name" : "token" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"created_at" : {
"name" : "created_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"updated_at" : {
"name" : "updated_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"ip_address" : {
"name" : "ip_address" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"user_agent" : {
"name" : "user_agent" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"user_id" : {
"name" : "user_id" ,
2025-05-22 14:37:19 +03:00
"type" : "integer" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : true
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"session_user_id_user_id_fk" : {
"name" : "session_user_id_user_id_fk" ,
"tableFrom" : "session" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
2025-05-22 14:26:12 +03:00
"onDelete" : "cascade" ,
2025-05-22 13:17:11 +03:00
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"session_token_unique" : {
"name" : "session_token_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"token"
]
}
}
} ,
2025-05-22 14:26:12 +03:00
"public.transaction" : {
"name" : "transaction" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
"type" : "serial" ,
"primaryKey" : true ,
"notNull" : true
} ,
"user_id" : {
"name" : "user_id" ,
2025-05-22 14:37:19 +03:00
"type" : "integer" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
2025-05-30 14:25:12 +03:00
"notNull" : false
2025-05-22 14:26:12 +03:00
} ,
"coin_id" : {
"name" : "coin_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"type" : {
"name" : "type" ,
"type" : "transaction_type" ,
"typeSchema" : "public" ,
"primaryKey" : false ,
"notNull" : true
} ,
"quantity" : {
"name" : "quantity" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"price_per_coin" : {
"name" : "price_per_coin" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(20, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"total_base_currency_amount" : {
"name" : "total_base_currency_amount" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"timestamp" : {
"name" : "timestamp" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
2025-06-11 18:37:03 +03:00
} ,
"recipient_user_id" : {
"name" : "recipient_user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
} ,
"sender_user_id" : {
"name" : "sender_user_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : false
2025-05-22 14:26:12 +03:00
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"transaction_user_id_user_id_fk" : {
"name" : "transaction_user_id_user_id_fk" ,
"tableFrom" : "transaction" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
2025-05-30 14:25:12 +03:00
"onDelete" : "set null" ,
2025-05-22 14:26:12 +03:00
"onUpdate" : "no action"
} ,
"transaction_coin_id_coin_id_fk" : {
"name" : "transaction_coin_id_coin_id_fk" ,
"tableFrom" : "transaction" ,
"tableTo" : "coin" ,
"columnsFrom" : [
"coin_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
2025-06-11 18:37:03 +03:00
} ,
"transaction_recipient_user_id_user_id_fk" : {
"name" : "transaction_recipient_user_id_user_id_fk" ,
"tableFrom" : "transaction" ,
"tableTo" : "user" ,
"columnsFrom" : [
"recipient_user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
} ,
"transaction_sender_user_id_user_id_fk" : {
"name" : "transaction_sender_user_id_user_id_fk" ,
"tableFrom" : "transaction" ,
"tableTo" : "user" ,
"columnsFrom" : [
"sender_user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "set null" ,
"onUpdate" : "no action"
2025-05-22 14:26:12 +03:00
}
} ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
} ,
2025-05-22 13:17:11 +03:00
"public.user" : {
"name" : "user" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
2025-05-22 14:26:12 +03:00
"type" : "serial" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : true ,
"notNull" : true
} ,
"name" : {
"name" : "name" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"email" : {
"name" : "email" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"email_verified" : {
"name" : "email_verified" ,
"type" : "boolean" ,
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : false
2025-05-22 13:17:11 +03:00
} ,
"image" : {
"name" : "image" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
} ,
"created_at" : {
"name" : "created_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"updated_at" : {
"name" : "updated_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : true ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"is_admin" : {
"name" : "is_admin" ,
"type" : "boolean" ,
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : false ,
"default" : false
2025-05-22 13:17:11 +03:00
} ,
"is_banned" : {
"name" : "is_banned" ,
"type" : "boolean" ,
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : false ,
"default" : false
2025-05-22 13:17:11 +03:00
} ,
"ban_reason" : {
"name" : "ban_reason" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : false
2025-05-22 14:26:12 +03:00
} ,
"base_currency_balance" : {
"name" : "base_currency_balance" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(20, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true ,
2025-05-30 14:25:12 +03:00
"default" : "'100.00000000'"
2025-05-23 16:26:02 +03:00
} ,
"bio" : {
"name" : "bio" ,
"type" : "varchar(160)" ,
"primaryKey" : false ,
"notNull" : false ,
"default" : "'Hello am 48 year old man from somalia. Sorry for my bed england. I selled my wife for internet connection for play “conter stirk”'"
} ,
"username" : {
"name" : "username" ,
"type" : "varchar(30)" ,
"primaryKey" : false ,
"notNull" : true
2025-05-30 14:25:12 +03:00
} ,
"volume_master" : {
"name" : "volume_master" ,
"type" : "numeric(3, 2)" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "'0.70'"
} ,
"volume_muted" : {
"name" : "volume_muted" ,
"type" : "boolean" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : false
} ,
"last_reward_claim" : {
"name" : "last_reward_claim" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : false
} ,
"total_rewards_claimed" : {
"name" : "total_rewards_claimed" ,
"type" : "numeric(20, 8)" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "'0.00000000'"
} ,
"login_streak" : {
"name" : "login_streak" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : 0
2025-05-22 13:17:11 +03:00
}
} ,
"indexes" : { } ,
"foreignKeys" : { } ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : {
"user_email_unique" : {
"name" : "user_email_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"email"
]
2025-05-23 16:26:02 +03:00
} ,
"user_username_unique" : {
"name" : "user_username_unique" ,
"nullsNotDistinct" : false ,
"columns" : [
"username"
]
2025-05-22 13:17:11 +03:00
}
}
} ,
2025-05-22 14:26:12 +03:00
"public.user_portfolio" : {
"name" : "user_portfolio" ,
"schema" : "" ,
"columns" : {
"user_id" : {
"name" : "user_id" ,
2025-05-22 14:37:19 +03:00
"type" : "integer" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"coin_id" : {
"name" : "coin_id" ,
"type" : "integer" ,
"primaryKey" : false ,
"notNull" : true
} ,
"quantity" : {
"name" : "quantity" ,
2025-05-30 14:25:12 +03:00
"type" : "numeric(30, 8)" ,
2025-05-22 14:26:12 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"updated_at" : {
"name" : "updated_at" ,
"type" : "timestamp with time zone" ,
"primaryKey" : false ,
"notNull" : true ,
"default" : "now()"
}
} ,
"indexes" : { } ,
"foreignKeys" : {
"user_portfolio_user_id_user_id_fk" : {
"name" : "user_portfolio_user_id_user_id_fk" ,
"tableFrom" : "user_portfolio" ,
"tableTo" : "user" ,
"columnsFrom" : [
"user_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
} ,
"user_portfolio_coin_id_coin_id_fk" : {
"name" : "user_portfolio_coin_id_coin_id_fk" ,
"tableFrom" : "user_portfolio" ,
"tableTo" : "coin" ,
"columnsFrom" : [
"coin_id"
] ,
"columnsTo" : [
"id"
] ,
"onDelete" : "cascade" ,
"onUpdate" : "no action"
}
} ,
"compositePrimaryKeys" : {
"user_portfolio_user_id_coin_id_pk" : {
"name" : "user_portfolio_user_id_coin_id_pk" ,
"columns" : [
"user_id" ,
"coin_id"
]
}
} ,
"uniqueConstraints" : { }
} ,
2025-05-22 13:17:11 +03:00
"public.verification" : {
"name" : "verification" ,
"schema" : "" ,
"columns" : {
"id" : {
"name" : "id" ,
2025-05-22 14:37:19 +03:00
"type" : "serial" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : true ,
"notNull" : true
} ,
"identifier" : {
"name" : "identifier" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"value" : {
"name" : "value" ,
"type" : "text" ,
"primaryKey" : false ,
"notNull" : true
} ,
"expires_at" : {
"name" : "expires_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
"notNull" : true
} ,
"created_at" : {
"name" : "created_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : false ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
} ,
"updated_at" : {
"name" : "updated_at" ,
2025-05-22 14:26:12 +03:00
"type" : "timestamp with time zone" ,
2025-05-22 13:17:11 +03:00
"primaryKey" : false ,
2025-05-22 14:26:12 +03:00
"notNull" : false ,
"default" : "now()"
2025-05-22 13:17:11 +03:00
}
} ,
"indexes" : { } ,
"foreignKeys" : { } ,
"compositePrimaryKeys" : { } ,
"uniqueConstraints" : { }
}
} ,
2025-05-22 14:26:12 +03:00
"enums" : {
2025-06-11 18:37:03 +03:00
"public.notification_type" : {
"name" : "notification_type" ,
"schema" : "public" ,
"values" : [
"HOPIUM" ,
"SYSTEM" ,
"TRANSFER" ,
"RUG_PULL"
]
} ,
2025-05-30 14:25:12 +03:00
"public.prediction_market_status" : {
"name" : "prediction_market_status" ,
"schema" : "public" ,
"values" : [
"ACTIVE" ,
"RESOLVED" ,
"CANCELLED"
]
} ,
2025-05-22 14:26:12 +03:00
"public.transaction_type" : {
"name" : "transaction_type" ,
"schema" : "public" ,
"values" : [
"BUY" ,
2025-06-11 18:37:03 +03:00
"SELL" ,
"TRANSFER_IN" ,
"TRANSFER_OUT"
2025-05-22 14:26:12 +03:00
]
}
} ,
2025-05-22 13:17:11 +03:00
"schemas" : { } ,
"_meta" : {
"columns" : { } ,
"schemas" : { } ,
"tables" : { }
}
}