-- Add moderation_flags collection to Directus
INSERT INTO directus_collections (
    collection, 
    meta, 
    icon, 
    note, 
    translation, 
    sort, 
    singleton, 
    archive_filter, 
    archive_app_filter, 
    archive_value, 
    unarchive_filter, 
    unarchive_app_filter, 
    unarchive_value, 
    item_duplication_filter, 
    item_duplication_app_filter, 
    sort_field, 
    accountability
) VALUES (
    'moderation_flags',
    '{"display_template": null}',
    'flag',
    'AI-powered content moderation flags',
    null,
    null,
    false,
    null,
    null,
    'archived',
    null,
    null,
    null,
    null,
    null,
    null,
    'all',
    null
) ON CONFLICT (collection) DO NOTHING;

-- Add user_status_history collection to Directus
INSERT INTO directus_collections (
    collection, 
    meta, 
    icon, 
    note, 
    translation, 
    sort, 
    singleton, 
    archive_filter, 
    archive_app_filter, 
    archive_value, 
    unarchive_filter, 
    unarchive_app_filter, 
    unarchive_value, 
    item_duplication_filter, 
    item_duplication_app_filter, 
    sort_field, 
    accountability
) VALUES (
    'user_status_history',
    '{"display_template": null}',
    'history',
    'User status change history for audit trail',
    null,
    null,
    false,
    null,
    null,
    'archived',
    null,
    null,
    null,
    null,
    null,
    null,
    'all',
    null
) ON CONFLICT (collection) DO NOTHING;

-- Add fields for moderation_flags collection
INSERT INTO directus_fields (
    collection, 
    field, 
    special, 
    options, 
    meta, 
    interface, 
    note, 
    translation, 
    conditions, 
    required, 
    readonly, 
    hidden, 
    default_value, 
    group, 
    width, 
    validation
) VALUES 
-- id field
('moderation_flags', 'id', 'uuid', null, '{"hidden": true}', 'input', null, null, null, false, true, true, null, null, 'full', null),
-- post_id field
('moderation_flags', 'post_id', 'uuid', null, '{"hidden": false, "interface": "related-values", "options": {"template": "{{post_id}}"}}', 'related-values', 'Reference to the post being moderated', null, null, false, false, false, null, null, 'full', null),
-- comment_id field  
('moderation_flags', 'comment_id', 'uuid', null, '{"hidden": false, "interface": "related-values", "options": {"template": "{{comment_id}}"}}', 'related-values', 'Reference to the comment being moderated', null, null, false, false, false, null, null, 'full', null),
-- flag_reason field
('moderation_flags', 'flag_reason', 'string', null, '{"hidden": false, "interface": "select", "options": {"choices": {"hate": "Hate", "greed": "Greed", "delusion": "Delusion"}}}', 'select-dropdown', 'Primary reason for flag', null, null, false, false, false, null, null, 'full', null),
-- scores field
('moderation_flags', 'scores', 'json', null, '{"hidden": false, "interface": "json"}', 'json', 'JSON object containing detailed analysis scores', null, null, false, false, false, null, null, 'full', null),
-- status field
('moderation_flags', 'status', 'string', null, '{"hidden": false, "interface": "select", "options": {"choices": {"pending": "Pending", "approved": "Approved", "rejected": "Rejected", "escalated": "Escalated"}}}', 'select-dropdown', 'Current moderation status', null, null, false, false, false, 'pending', null, 'full', null),
-- reviewed_by field
('moderation_flags', 'reviewed_by', 'uuid', null, '{"hidden": false, "interface": "related-values", "options": {"template": "{{reviewed_by}}"}}', 'related-values', 'Admin who reviewed this flag', null, null, false, false, false, null, null, 'full', null),
-- reviewed_at field
('moderation_flags', 'reviewed_at', 'timestamp', null, '{"hidden": false}', 'datetime', 'When this flag was reviewed', null, null, false, false, false, null, null, 'full', null),
-- created_at field
('moderation_flags', 'created_at', 'timestamp', null, '{"hidden": false}', 'datetime', 'When this flag was created', null, null, false, false, false, null, null, 'full', null),
-- updated_at field
('moderation_flags', 'updated_at', 'timestamp', null, '{"hidden": true}', 'datetime', null, null, null, false, false, false, null, null, 'full', null)
ON CONFLICT (collection, field) DO NOTHING;

-- Add fields for user_status_history collection
INSERT INTO directus_fields (
    collection, 
    field, 
    special, 
    options, 
    meta, 
    interface, 
    note, 
    translation, 
    conditions, 
    required, 
    readonly, 
    hidden, 
    default_value, 
    group, 
    width, 
    validation
) VALUES 
-- id field
('user_status_history', 'id', 'uuid', null, '{"hidden": true}', 'input', null, null, null, false, true, true, null, null, 'full', null),
-- user_id field
('user_status_history', 'user_id', 'uuid', null, '{"hidden": false, "interface": "related-values", "options": {"template": "{{user_id}}"}}', 'related-values', 'User whose status changed', null, null, false, false, false, null, null, 'full', null),
-- old_status field
('user_status_history', 'old_status', 'string', null, '{"hidden": false, "interface": "select", "options": {"choices": {"active": "Active", "suspended": "Suspended", "banned": "Banned"}}}', 'select-dropdown', 'Previous status before change', null, null, false, false, false, null, null, 'full', null),
-- new_status field
('user_status_history', 'new_status', 'string', null, '{"hidden": false, "interface": "select", "options": {"choices": {"active": "Active", "suspended": "Suspended", "banned": "Banned"}}}', 'select-dropdown', 'New status after change', null, null, false, false, false, null, null, 'full', null),
-- reason field
('user_status_history', 'reason', 'string', null, '{"hidden": false}', 'input', 'Reason for status change', null, null, false, false, false, null, null, 'full', null),
-- changed_by field
('user_status_history', 'changed_by', 'uuid', null, '{"hidden": false, "interface": "related-values", "options": {"template": "{{changed_by}}"}}', 'related-values', 'Admin who made the change', null, null, false, false, false, null, null, 'full', null),
-- created_at field
('user_status_history', 'created_at', 'timestamp', null, '{"hidden": false}', 'datetime', 'When the status change occurred', null, null, false, false, false, null, null, 'full', null)
ON CONFLICT (collection, field) DO NOTHING;
