37 lines
1.4 KiB
SQL
37 lines
1.4 KiB
SQL
ALTER TABLE community.image
|
|
ADD COLUMN IF NOT EXISTS is_moderated_hidden BOOLEAN NOT NULL DEFAULT FALSE;
|
|
|
|
ALTER TABLE community.erotic_video
|
|
ADD COLUMN IF NOT EXISTS is_moderated_hidden BOOLEAN NOT NULL DEFAULT FALSE;
|
|
|
|
CREATE TABLE IF NOT EXISTS community.erotic_content_report (
|
|
id SERIAL PRIMARY KEY,
|
|
reporter_id INTEGER NOT NULL REFERENCES community."user"(id) ON DELETE CASCADE,
|
|
target_type VARCHAR(20) NOT NULL,
|
|
target_id INTEGER NOT NULL,
|
|
reason VARCHAR(80) NOT NULL,
|
|
note TEXT NULL,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'open',
|
|
action_taken VARCHAR(40) NULL,
|
|
handled_by INTEGER NULL REFERENCES community."user"(id) ON DELETE SET NULL,
|
|
handled_at TIMESTAMP WITH TIME ZONE NULL,
|
|
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS erotic_content_report_status_idx
|
|
ON community.erotic_content_report (status, created_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS erotic_content_report_target_idx
|
|
ON community.erotic_content_report (target_type, target_id);
|
|
|
|
INSERT INTO type.user_param (description, datatype, settings_id, order_id, min_age)
|
|
SELECT 'adult_upload_blocked', 'bool', st.id, 999, 18
|
|
FROM type.settings st
|
|
WHERE st.name = 'account'
|
|
AND NOT EXISTS (
|
|
SELECT 1
|
|
FROM type.user_param upt
|
|
WHERE upt.description = 'adult_upload_blocked'
|
|
);
|