Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/task management and label crud routes #29

Merged
merged 33 commits into from
Feb 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
abea1a8
Added mock data
Bedrockdude10 Feb 1, 2024
ba204fa
feat: get tasks by gid/uid/status/type/date
oliviaseds Feb 1, 2024
dc4e66b
style: formatting
oliviaseds Feb 1, 2024
51bd4b5
fix: Remove commitizen branch
oliviaseds Feb 1, 2024
8e40ed2
test: fix task tests
oliviaseds Feb 1, 2024
ccd9ce1
style: quick reformat
oliviaseds Feb 1, 2024
ac31075
feat: assign user(s) to a task CRUD and test
oliviaseds Feb 2, 2024
cc20bd3
style: quick style
oliviaseds Feb 2, 2024
36d9727
refactor: abstract queries, enable multiple
oliviaseds Feb 2, 2024
399c20f
refactor: abstract filter query/arg building logic
oliviaseds Feb 2, 2024
de26aaa
crud routes for create new task, delete task, and update task info
haleymartin-6 Feb 6, 2024
6bc18ba
Feat: generic card and popup modal (#20)
CaitlinFlynn Feb 1, 2024
97ffda1
fix: go formatting stuff werent running through entire directory (#23)
MattCMcCoy Feb 1, 2024
571f0a8
feat: add a user context provider to the app (#24)
MattCMcCoy Feb 5, 2024
a0e1011
backend hot reload
MattCMcCoy Feb 5, 2024
176c301
refactor: abstract queries, enable multiple
oliviaseds Feb 2, 2024
5009975
refactor: routes are updated
oliviaseds Feb 6, 2024
c2a8fc4
feat: new route backend
oliviaseds Feb 6, 2024
9900455
feat: add a new label crud and test
oliviaseds Feb 8, 2024
395db6c
feat: delete label crud and test
oliviaseds Feb 8, 2024
ce09360
Merge branch 'main' into feature/task-management-crud-routes
MattCMcCoy Feb 13, 2024
94d5674
refactor: FE remove extra card file
MattCMcCoy Feb 13, 2024
8984b93
test: fix typo in db, tests passing locally
oliviaseds Feb 13, 2024
f1ec405
refactor: modify task filter to bind to query
oliviaseds Feb 13, 2024
b8b16a8
feat: update task name and color route and test
oliviaseds Feb 13, 2024
97f971a
docs: fix swaggo comment style for task assignment and deletion
oliviaseds Feb 14, 2024
42d4129
docs: same swagger changes for label routes
oliviaseds Feb 14, 2024
ff440d9
Merge branch 'main' into feature/task-management-crud-routes
haleymartin-6 Feb 14, 2024
01919d3
refactor: implement inclusive data range filter
oliviaseds Feb 14, 2024
8ff0c28
Merge branch 'feature/task-management-crud-routes' of https://github.…
oliviaseds Feb 14, 2024
c81bf37
Merge branch 'main' into feature/task-management-crud-routes
MattCMcCoy Feb 16, 2024
e735054
refactor: keep consistency between route groups
MattCMcCoy Feb 16, 2024
af44908
docs: fix a swagger doc return type
MattCMcCoy Feb 16, 2024
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
2 changes: 0 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,3 @@ repos:
rev: v3.13.0
hooks:
- id: commitizen
- id: commitizen-branch
stages: [push]
90 changes: 73 additions & 17 deletions backend/db/migrations/init.sql
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ DROP TABLE IF EXISTS label;
DROP TABLE IF EXISTS task_labels;
DROP TABLE IF EXISTS files;


CREATE TYPE role AS ENUM ('PATIENT', 'PRIMARY', 'SECONDARY');
CREATE TYPE task_assignment_status AS ENUM ('ACCEPTED', 'DECLINED', 'NOTIFIED');
CREATE TYPE task_status AS ENUM ('INCOMPLETE', 'COMPLETE', 'PARTIAL');
Expand Down Expand Up @@ -58,7 +57,7 @@ CREATE TABLE IF NOT EXISTS task (
start_date timestamp,
end_date timestamp,
notes varchar,
repeating BOOLEAN,
repeating BOOLEAN DEFAULT FALSE,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sweet!

repeating_interval varchar,
repeating_end_date timestamp,
task_status task_status NOT NULL,
Expand Down Expand Up @@ -95,8 +94,8 @@ CREATE TABLE IF NOT EXISTS task_assignees (
group_id integer NOT NULL,
label_name varchar NOT NULL,
PRIMARY KEY (task_id, label_name),
FOREIGN KEY (task_id) REFERENCES task (task_id),
FOREIGN KEY (group_id, label_name) REFERENCES label (group_id, label_name) -- NOTE: unsure about label/task_labels table constraints, uncommenting this line is err
FOREIGN KEY (task_id) REFERENCES task (task_id) ON UPDATE CASCADE,
FOREIGN KEY (group_id, label_name) REFERENCES label (group_id, label_name) ON UPDATE CASCADE -- NOTE: unsure about label/task_labels table constraints, uncommenting this line is err
);

CREATE TABLE IF NOT EXISTS files (
Expand All @@ -113,6 +112,7 @@ CREATE TABLE IF NOT EXISTS files (
FOREIGN KEY (task_id) REFERENCES task (task_id)
);

----------------- SAMPLE DATA :) -----------------------

-- Insert sample data into "medication" table
INSERT INTO medication (medication_id, medication_name)
Expand All @@ -121,19 +121,75 @@ VALUES
(2, 'Medication B'),
(3, 'Medication C'),
(4, 'Medication D'),
(5, 'Medication E');
(5, 'Medication E')
;

-- Insert sample data into "users" table
INSERT INTO users (user_id, first_name, last_name, email, phone, address, pfp_s3_url, device_id, push_notification_enabled) VALUES
('user123', 'John', 'Doe', '[email protected]', '123-456-7890', '123 Main St, Anytown, USA', 'https://example.com/pfp/user123.jpg', 'device123', TRUE),
('user456', 'Jane', 'Smith', '[email protected]', '987-654-3210', '456 Elm St, Anytown, USA', 'https://example.com/pfp/user456.jpg', 'device456', TRUE);

-- Insert sample data into "care_group" table
INSERT INTO care_group (group_name, date_created)
VALUES ('Sample Care Group', CURRENT_TIMESTAMP),
('Care-Wallet Group', NOW());
VALUES
('Smith Family', NOW()),
('Johnson Support Network', NOW()),
('Williams Care Team', NOW()),
('Brown Medical Group', NOW()),
('Care-Wallet Group', NOW())
;

INSERT INTO users (user_id, first_name, last_name, email, phone, address)
VALUES
('user1', 'John', 'Smith', '[email protected]', '123-456-7890', '123 Main St'),
('user2', 'Jane', 'Doe', '[email protected]', '987-654-3210', '456 Elm St'),
('user3', 'Bob', 'Johnson', '[email protected]', NULL, NULL),
('user4', 'Emily', 'Garcia', '[email protected]', '555-1212', '789 Oak Ave'),
('fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'Matt', 'McCoy', '', '', '')
;

INSERT INTO group_roles (group_id, user_id, role)
VALUES
(1, 'user1', 'PATIENT'),
(1, 'user2', 'PRIMARY'),
(2, 'user3', 'PRIMARY'),
(2, 'user4', 'SECONDARY'),
(3, 'user4', 'PATIENT'),
(4, 'user1', 'SECONDARY'),
(4, 'user3', 'SECONDARY'),
(5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'PRIMARY')
;

INSERT INTO task (group_id, created_by, created_date, start_date, end_date, notes, task_status, task_type)
VALUES
(1, 'user2', '2024-02-03 10:45:00', '2024-02-05 10:00:00', '2024-02-05 11:00:00', 'Pick up medication from pharmacy', 'INCOMPLETE', 'med_mgmt'),
(2, 'user3', '2024-02-20 23:59:59', '2024-02-10 14:30:00', NULL, 'Schedule doctor appointment', 'INCOMPLETE', 'other'),
(3, 'user4', '2020-02-05 11:00:00', NULL, '2024-02-20 23:59:59', 'Submit insurance claim', 'PARTIAL', 'financial'),
(4, 'user1', '2006-01-02 15:04:05', NULL, NULL, 'Refill water pitcher', 'COMPLETE', 'other')
;

-- Insert sample data into "group_roles" table
INSERT INTO group_roles (group_id, user_id, role) VALUES
(1, 'user123', 'PATIENT'),
(1, 'user456', 'PRIMARY');
INSERT INTO task_assignees (task_id, user_id, assignment_status, assigned_by, assigned_date)
VALUES
(1, 'user1', 'ACCEPTED', 'user2', NOW()),
(2, 'user3', 'NOTIFIED', 'user3', NOW()),
(3, 'user4', 'DECLINED', 'user4', NOW()),
(4, 'user2', 'DECLINED', 'user1', NOW())
;

INSERT INTO label (group_id, label_name, label_color)
VALUES
(1, 'Medication', 'blue'),
(2, 'Appointments', 'green'),
(3, 'Financial', 'orange'),
(4, 'Household', 'purple'),
(1, 'Household', 'purple')
;

INSERT INTO task_labels (task_id, group_id, label_name)
VALUES
(1, 1, 'Medication'),
(2, 2, 'Appointments'),
(3, 3, 'Financial'),
(4, 4, 'Household')
;

INSERT INTO files (file_id, file_name, group_id, upload_by, upload_date, file_size, task_id)
VALUES
(1, 'Medication list.pdf', 1, 'user2', NOW(), 123456, 1),
(2, 'Insurance form.docx', 3, 'user4', NOW(), 456789, 3),
(3, 'Water pitcher instructions.txt', 4, 'user1', NOW(), 1234, 4)
;
Loading
Loading