- Profile Picture\

Donation Tracking\
Validation Rejection\
Subscription Data Export\
Admin Dashboard Logo\
Admin Navbar Reorganization
This commit is contained in:
Koncept Kit
2025-12-18 17:04:00 +07:00
parent b7ab1a897f
commit db13f0e9de
13 changed files with 1915 additions and 103 deletions

View File

@@ -0,0 +1,40 @@
-- Migration: Add Rejection Fields to Users Table
-- Description: Adds rejection tracking fields and rejected status to UserStatus enum
-- Date: 2025-12-18
BEGIN;
-- Add 'rejected' value to UserStatus enum if it doesn't exist
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_enum
WHERE enumlabel = 'rejected'
AND enumtypid = (SELECT oid FROM pg_type WHERE typname = 'userstatus')
) THEN
ALTER TYPE userstatus ADD VALUE 'rejected';
RAISE NOTICE 'Added rejected to userstatus enum';
ELSE
RAISE NOTICE 'rejected already exists in userstatus enum';
END IF;
END$$;
-- Add rejection tracking fields to users table
ALTER TABLE users
ADD COLUMN IF NOT EXISTS rejection_reason TEXT,
ADD COLUMN IF NOT EXISTS rejected_at TIMESTAMP WITH TIME ZONE,
ADD COLUMN IF NOT EXISTS rejected_by UUID REFERENCES users(id);
-- Add comments for documentation
COMMENT ON COLUMN users.rejection_reason IS 'Reason provided when application was rejected';
COMMENT ON COLUMN users.rejected_at IS 'Timestamp when application was rejected';
COMMENT ON COLUMN users.rejected_by IS 'Admin who rejected the application';
-- Create index on rejected_at for filtering rejected users
CREATE INDEX IF NOT EXISTS idx_users_rejected_at ON users(rejected_at) WHERE rejected_at IS NOT NULL;
COMMIT;
-- Verify migration
SELECT 'Rejection fields added successfully' AS status;
SELECT COUNT(*) AS rejected_users_count FROM users WHERE status = 'rejected';