Limita una diretta attiva per account e valorizza la copertina Premium Full.
Blocca la seconda diretta sullo stesso utente, registra gli abusi in admin e presenta la copertina come grafica caricata dalla società, con demo Team MLTV. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Generated
+36
-2
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.2].define(version: 2026_08_28_180000) do
|
||||
ActiveRecord::Schema[7.2].define(version: 2026_08_31_193000) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pgcrypto"
|
||||
enable_extension "plpgsql"
|
||||
@@ -383,6 +383,34 @@ ActiveRecord::Schema[7.2].define(version: 2026_08_28_180000) do
|
||||
t.index ["stream_session_id"], name: "index_score_states_on_stream_session_id", unique: true
|
||||
end
|
||||
|
||||
create_table "stream_concurrency_violations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.uuid "user_id"
|
||||
t.uuid "occupying_session_id"
|
||||
t.uuid "attempted_session_id"
|
||||
t.uuid "occupying_club_id"
|
||||
t.uuid "attempted_club_id"
|
||||
t.string "attempt_action", default: "start", null: false
|
||||
t.string "user_email", null: false
|
||||
t.string "user_name"
|
||||
t.string "occupying_club_name"
|
||||
t.string "attempted_club_name"
|
||||
t.string "occupying_match_label", null: false
|
||||
t.string "attempted_match_label", null: false
|
||||
t.string "occupying_status"
|
||||
t.string "occupying_device"
|
||||
t.string "attempted_device"
|
||||
t.boolean "devices_differ", default: false, null: false
|
||||
t.jsonb "metadata", default: {}, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["attempted_club_id"], name: "index_stream_concurrency_violations_on_attempted_club_id"
|
||||
t.index ["attempted_session_id"], name: "index_stream_concurrency_violations_on_attempted_session_id"
|
||||
t.index ["created_at"], name: "index_stream_concurrency_violations_on_created_at"
|
||||
t.index ["devices_differ"], name: "index_stream_concurrency_violations_on_devices_differ"
|
||||
t.index ["occupying_club_id"], name: "index_stream_concurrency_violations_on_occupying_club_id"
|
||||
t.index ["occupying_session_id"], name: "index_stream_concurrency_violations_on_occupying_session_id"
|
||||
t.index ["user_id"], name: "index_stream_concurrency_violations_on_user_id"
|
||||
end
|
||||
|
||||
create_table "stream_events", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.uuid "stream_session_id", null: false
|
||||
t.string "event_type", null: false
|
||||
@@ -440,9 +468,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_08_28_180000) do
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "regia_token_digest"
|
||||
t.datetime "regia_token_expires_at"
|
||||
t.boolean "audio_muted", default: false, null: false
|
||||
t.uuid "stream_node_id"
|
||||
t.string "min_quality_preset", default: "auto", null: false
|
||||
t.boolean "audio_muted", default: false, null: false
|
||||
t.string "client_os"
|
||||
t.string "app_version"
|
||||
t.string "app_build"
|
||||
@@ -458,6 +486,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_08_28_180000) do
|
||||
t.index ["regia_token_digest"], name: "index_stream_sessions_on_regia_token_digest", unique: true
|
||||
t.index ["status"], name: "index_stream_sessions_on_status"
|
||||
t.index ["stream_node_id"], name: "index_stream_sessions_on_stream_node_id"
|
||||
t.index ["user_id", "status"], name: "index_stream_sessions_on_user_id_and_status"
|
||||
t.index ["user_id"], name: "index_stream_sessions_on_user_id"
|
||||
end
|
||||
|
||||
@@ -591,6 +620,11 @@ ActiveRecord::Schema[7.2].define(version: 2026_08_28_180000) do
|
||||
add_foreign_key "recordings", "stream_sessions"
|
||||
add_foreign_key "recordings", "teams"
|
||||
add_foreign_key "score_states", "stream_sessions"
|
||||
add_foreign_key "stream_concurrency_violations", "clubs", column: "attempted_club_id", on_delete: :nullify
|
||||
add_foreign_key "stream_concurrency_violations", "clubs", column: "occupying_club_id", on_delete: :nullify
|
||||
add_foreign_key "stream_concurrency_violations", "stream_sessions", column: "attempted_session_id", on_delete: :nullify
|
||||
add_foreign_key "stream_concurrency_violations", "stream_sessions", column: "occupying_session_id", on_delete: :nullify
|
||||
add_foreign_key "stream_concurrency_violations", "users", on_delete: :nullify
|
||||
add_foreign_key "stream_events", "stream_sessions"
|
||||
add_foreign_key "stream_sessions", "matches"
|
||||
add_foreign_key "stream_sessions", "stream_nodes"
|
||||
|
||||
Reference in New Issue
Block a user