feat(isac): add moderated contributor mode
This commit is contained in:
@@ -161,6 +161,8 @@ CREATE TABLE IF NOT EXISTS data_change_proposals (
|
||||
module TEXT NOT NULL CHECK(module IN ('stats','talents','brands','gear','weapons','protocols')),
|
||||
action TEXT NOT NULL,
|
||||
entity_id TEXT,
|
||||
draft_entity_id TEXT,
|
||||
applied_entity_id TEXT,
|
||||
summary TEXT NOT NULL,
|
||||
payload_json TEXT NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','approved','rejected','failed')),
|
||||
@@ -173,6 +175,21 @@ CREATE TABLE IF NOT EXISTS data_change_proposals (
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS data_change_proposals_status_created_idx ON data_change_proposals(status,created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS data_change_proposals_module_status_idx ON data_change_proposals(module,status);
|
||||
CREATE TABLE IF NOT EXISTS data_change_proposal_dependencies (
|
||||
proposal_id TEXT NOT NULL REFERENCES data_change_proposals(id) ON DELETE CASCADE,
|
||||
depends_on_proposal_id TEXT NOT NULL REFERENCES data_change_proposals(id) ON DELETE RESTRICT,
|
||||
PRIMARY KEY(proposal_id,depends_on_proposal_id),
|
||||
CHECK(proposal_id<>depends_on_proposal_id)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS data_change_proposal_dependencies_dependency_idx ON data_change_proposal_dependencies(depends_on_proposal_id);
|
||||
CREATE TABLE IF NOT EXISTS contributor_agreements (
|
||||
user_id TEXT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
|
||||
guidelines_version TEXT NOT NULL,
|
||||
accepted_at TEXT NOT NULL,
|
||||
enabled INTEGER NOT NULL DEFAULT 1 CHECK(enabled IN (0,1)),
|
||||
enabled_at TEXT NOT NULL,
|
||||
disabled_at TEXT
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS discord_profiles (
|
||||
user_id TEXT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
|
||||
discord_id TEXT NOT NULL UNIQUE,
|
||||
|
||||
Reference in New Issue
Block a user