Add adult verification and erotic moderation features: Implement new routes and controller methods for managing adult verification requests, status updates, and document retrieval. Introduce erotic moderation actions and reports, enhancing administrative capabilities. Update chat and navigation controllers to support adult content filtering and access control. Enhance user parameter handling for adult verification status and requests, improving overall user experience and compliance.
This commit is contained in:
36
backend/sql/add_adult_content_moderation.sql
Normal file
36
backend/sql/add_adult_content_moderation.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
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'
|
||||
);
|
||||
Reference in New Issue
Block a user