feat: add public visitor application flow
This commit is contained in:
43
migrations/008_visitor_applications.sql
Normal file
43
migrations/008_visitor_applications.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
CREATE TABLE IF NOT EXISTS visitor_verifications (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT now(),
|
||||
verification_method VARCHAR(10) NOT NULL,
|
||||
target VARCHAR(120) NOT NULL,
|
||||
code_hash VARCHAR(64) NOT NULL,
|
||||
expires_at TIMESTAMP NOT NULL,
|
||||
verified_at TIMESTAMP,
|
||||
verification_token VARCHAR(64)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_visitor_verifications_token ON visitor_verifications (verification_token);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS visitor_applications (
|
||||
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT now(),
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'SUBMITTED',
|
||||
visitor_name VARCHAR(80) NOT NULL,
|
||||
company VARCHAR(120),
|
||||
contact VARCHAR(40),
|
||||
email VARCHAR(120),
|
||||
vehicle_no VARCHAR(20),
|
||||
zone_name VARCHAR(80),
|
||||
room_zone VARCHAR(80),
|
||||
purpose VARCHAR(255) NOT NULL,
|
||||
purpose_code VARCHAR(40),
|
||||
purpose_detail VARCHAR(255),
|
||||
work_name VARCHAR(255),
|
||||
watcher2_name VARCHAR(80),
|
||||
watcher2_team VARCHAR(80),
|
||||
watcher2_contact VARCHAR(60),
|
||||
visit_from TIMESTAMP NOT NULL,
|
||||
visit_to TIMESTAMP NOT NULL,
|
||||
verification_method VARCHAR(10) NOT NULL,
|
||||
verification_target VARCHAR(120) NOT NULL,
|
||||
verification_id VARCHAR(36),
|
||||
verified_at TIMESTAMP,
|
||||
imported_visit_request_id BIGINT,
|
||||
imported_at TIMESTAMP
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_visitor_applications_status ON visitor_applications (status, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_visitor_applications_contact ON visitor_applications (contact);
|
||||
CREATE INDEX IF NOT EXISTS idx_visitor_applications_email ON visitor_applications (email);
|
||||
Reference in New Issue
Block a user