First one (#8)
Rust Build / Test Suite (push) Successful in 59s
Rust Build / Check (push) Successful in 1m40s
Rust Build / Rustfmt (push) Successful in 1m52s
Rust Build / Clippy (push) Successful in 1m25s
Rust Build / build (push) Successful in 2m20s

Reviewed-on: phoenix/textsender_api#8
This commit was merged in pull request #8.
This commit is contained in:
2026-06-13 19:49:14 -04:00
parent 7107a50d58
commit e940d6b159
16 changed files with 695 additions and 91 deletions
+12
View File
@@ -0,0 +1,12 @@
-- Add migration script here
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE IF NOT EXISTS "contacts" (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
phone_number TEXT NOT NULL,
user_id UUID NOT NULL,
firstname TEXT NULL,
lastname TEXT NULL,
nickname TEXT NULL
);
+49 -49
View File
@@ -1,49 +1,49 @@
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
DROP TABLE IF EXISTS contacts CASCADE;
DROP TABLE IF EXISTS messages CASCADE;
DROP TABLE IF EXISTS scheduled_messages CASCADE;
DROP TABLE IF EXISTS scheduled_message_events CASCADE;
DROP TABLE IF EXISTS message_event_responses CASCADE;
CREATE TABLE IF NOT EXISTS contacts (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
phone_number TEXT NOT NULL,
user_id UUID NOT NULL,
first_name TEXT NULL,
last_name TEXT NULL,
nickname TEXT NULL
);
CREATE TABLE IF NOT EXISTS messages (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
content TEXT NOT NULL,
user_id UUID NOT NULL
);
CREATE TABLE IF NOT EXISTS scheduled_messages (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
scheduled timestamptz NOT NULL,
created timestamptz DEFAULT now(),
status TEXT CHECK (status IN ('PENDING', 'READY', 'PROCESSING', 'DONE')),
user_id UUID NOT NULL
);
CREATE TABLE IF NOT EXISTS scheduled_message_events (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
contact_id UUID NOT NULL,
message_id UUID NOT NULL,
scheduled_message_id UUID NOT NULL,
created timestamptz DEFAULT now()
);
CREATE TABLE IF NOT EXISTS message_event_responses (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
scheduled_message_event_id UUID NULL,
response JSONB NOT NULL,
user_id UUID NOT NULL,
sent timestamptz NOT NULL,
contact_id UUID NULL,
message_id UUID NULL,
status TEXT CHECK (status IN ('INSTANT', 'SCHEDULED'))
);
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
--
-- DROP TABLE IF EXISTS contacts CASCADE;
-- DROP TABLE IF EXISTS messages CASCADE;
-- DROP TABLE IF EXISTS scheduled_messages CASCADE;
-- DROP TABLE IF EXISTS scheduled_message_events CASCADE;
-- DROP TABLE IF EXISTS message_event_responses CASCADE;
--
-- CREATE TABLE IF NOT EXISTS contacts (
-- id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
-- phone_number TEXT NOT NULL,
-- user_id UUID NOT NULL,
-- first_name TEXT NULL,
-- last_name TEXT NULL,
-- nickname TEXT NULL
-- );
--
-- CREATE TABLE IF NOT EXISTS messages (
-- id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
-- content TEXT NOT NULL,
-- user_id UUID NOT NULL
-- );
--
-- CREATE TABLE IF NOT EXISTS scheduled_messages (
-- id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
-- scheduled timestamptz NOT NULL,
-- created timestamptz DEFAULT now(),
-- status TEXT CHECK (status IN ('PENDING', 'READY', 'PROCESSING', 'DONE')),
-- user_id UUID NOT NULL
-- );
--
-- CREATE TABLE IF NOT EXISTS scheduled_message_events (
-- id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
-- contact_id UUID NOT NULL,
-- message_id UUID NOT NULL,
-- scheduled_message_id UUID NOT NULL,
-- created timestamptz DEFAULT now()
-- );
--
-- CREATE TABLE IF NOT EXISTS message_event_responses (
-- id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
-- scheduled_message_event_id UUID NULL,
-- response JSONB NOT NULL,
-- user_id UUID NOT NULL,
-- sent timestamptz NOT NULL,
-- contact_id UUID NULL,
-- message_id UUID NULL,
-- status TEXT CHECK (status IN ('INSTANT', 'SCHEDULED'))
-- );