Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ CREATE TABLE IF NOT EXISTS feedback_submissions (
client_id UUID NOT NULL,
client_app_registration_id UUID NOT NULL,
client_name VARCHAR(255) NOT NULL,
project_id UUID NOT NULL,
project_key VARCHAR(100) NOT NULL,
submitter VARCHAR(255),
submitted_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
questions JSONB NOT NULL,
Expand All @@ -18,6 +20,10 @@ CREATE TABLE IF NOT EXISTS feedback_submissions (
FOREIGN KEY (client_id)
REFERENCES client_apps (id)
ON DELETE RESTRICT,
CONSTRAINT fk_feedback_submissions_project
FOREIGN KEY (project_id)
REFERENCES projects (id)
ON DELETE RESTRICT,
CONSTRAINT chk_feedback_submissions_questions_array
CHECK (COALESCE(jsonb_typeof(questions) = 'array', FALSE)),
CONSTRAINT chk_feedback_submissions_answers_object
Expand All @@ -30,12 +36,17 @@ CREATE INDEX IF NOT EXISTS idx_feedback_submissions_client_id
CREATE INDEX IF NOT EXISTS idx_feedback_submissions_client_app_registration_id
ON feedback_submissions (client_app_registration_id);

CREATE INDEX IF NOT EXISTS idx_feedback_submissions_project_key
ON feedback_submissions (project_key);

COMMENT ON TABLE feedback_submissions
IS 'Questionnaire submissions with question and answer snapshots';
COMMENT ON COLUMN feedback_submissions.client_app_registration_id
IS 'Azure Application registration ID (client_id), captured at submission time';
COMMENT ON COLUMN feedback_submissions.client_name
IS 'Denormalized client application name captured at submission time';
COMMENT ON COLUMN feedback_submissions.project_key
IS 'Denormalized project key captured at submission time';
COMMENT ON COLUMN feedback_submissions.questions
IS 'Questionnaire definition shown to the submitter, stored as a JSON array';
COMMENT ON COLUMN feedback_submissions.answers
Expand Down
Loading