Submit Application.-- Users table (existing)
CREATE TABLE users (
id BIGINT PRIMARY KEY,
username VARCHAR(64) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
...
);
-- Verification Levels
CREATE TABLE verification_levels (
id SMALLINT PRIMARY KEY, -- 1,2,3
name VARCHAR(32) NOT NULL,
description TEXT,
required_docs JSONB, -- e.g. ["gov_id","selfie"]
badge_color VARCHAR(7) DEFAULT '#FFD700' -- gold
);
-- Verification Applications
CREATE TABLE verification_applications (
id BIGINT PRIMARY KEY,
user_id BIGINT REFERENCES users(id) ON DELETE CASCADE,
level_id SMALLINT REFERENCES verification_levels(id),
status VARCHAR(16) NOT NULL CHECK (status IN ('pending','approved','rejected','expired')),
submitted_at TIMESTAMP NOT NULL DEFAULT now(),
reviewed_at TIMESTAMP,
reviewer_id BIGINT REFERENCES users(id), -- moderator
notes TEXT,
expires_at TIMESTAMP, -- optional expiration
UNIQUE(user_id, level_id) -- one active app per level
);
-- Stored docs (S3 reference)
CREATE TABLE verification_documents (
id BIGINT PRIMARY KEY,
application_id BIGINT REFERENCES verification_applications(id) ON DELETE CASCADE,
doc_type VARCHAR(32) NOT NULL, -- e.g., 'gov_id', 'selfie'
s3_key VARCHAR(256) NOT NULL,
uploaded_at TIMESTAMP NOT NULL DEFAULT now()
);
Indexes – Add an index on verification_applications.status and verification_applications.expires_at for background cleanup jobs.
These developments have generated a demand for dedicated video platforms where fans can discover new tracks, live performances, and instructional content. www indian sax video com verified
| Method | Endpoint | Description | Auth |
|--------|----------|-------------|------|
| POST | /api/v1/verification/apply | Submit a new verification request (multipart/form-data). | Bearer (user) |
| GET | /api/v1/verification/status | Return current user’s verification status & level. | Bearer |
| GET | /api/v1/verification/userId | Public endpoint – returns public badge data (isVerified, level, date). | Public |
| GET | /api/v1/admin/verification | List/filter pending applications. | Bearer (admin/mod) |
| PATCH| /api/v1/admin/verification/appId | Approve / reject / request more info (payload: action:"approve", notes:"..."). | Bearer (admin/mod) | Contact verification – optional phone OTP for added
Response example – public badge endpoint -- Users table (existing) CREATE TABLE users (
"userId": 12345,
"isVerified": true,
"level": 2,
"verifiedOn": "2024-12-05T08:23:41Z",
"badgeUrl": "https://cdn.indian-sax-video.com/badges/verified-level2.svg"