24 lines
691 B
SQL
24 lines
691 B
SQL
-- name: UpsertCalendarMember :exec
|
|
INSERT INTO calendar_members (calendar_id, user_id, role)
|
|
VALUES ($1, $2, $3)
|
|
ON CONFLICT (calendar_id, user_id) DO UPDATE SET role = $3;
|
|
|
|
-- name: GetCalendarMemberRole :one
|
|
SELECT role FROM calendar_members
|
|
WHERE calendar_id = $1 AND user_id = $2;
|
|
|
|
-- name: ListCalendarMembers :many
|
|
SELECT cm.user_id, u.email, cm.role
|
|
FROM calendar_members cm
|
|
JOIN users u ON u.id = cm.user_id
|
|
WHERE cm.calendar_id = $1 AND u.deleted_at IS NULL
|
|
ORDER BY cm.role ASC;
|
|
|
|
-- name: DeleteCalendarMember :exec
|
|
DELETE FROM calendar_members
|
|
WHERE calendar_id = $1 AND user_id = $2;
|
|
|
|
-- name: DeleteAllCalendarMembers :exec
|
|
DELETE FROM calendar_members
|
|
WHERE calendar_id = $1;
|