mirror of
https://github.com/coder/coder.git
synced 2025-07-03 16:13:58 +00:00
123 lines
1.6 KiB
SQL
123 lines
1.6 KiB
SQL
-- name: GetGroupByID :one
|
|
SELECT
|
|
*
|
|
FROM
|
|
groups
|
|
WHERE
|
|
id = $1
|
|
LIMIT
|
|
1;
|
|
|
|
-- name: GetGroupByOrgAndName :one
|
|
SELECT
|
|
*
|
|
FROM
|
|
groups
|
|
WHERE
|
|
organization_id = $1
|
|
AND
|
|
name = $2
|
|
LIMIT
|
|
1;
|
|
|
|
-- name: GetUserGroups :many
|
|
SELECT
|
|
groups.*
|
|
FROM
|
|
groups
|
|
JOIN
|
|
group_members
|
|
ON
|
|
groups.id = group_members.group_id
|
|
WHERE
|
|
group_members.user_id = $1;
|
|
|
|
-- name: GetGroupMembers :many
|
|
SELECT
|
|
users.*
|
|
FROM
|
|
users
|
|
JOIN
|
|
group_members
|
|
ON
|
|
users.id = group_members.user_id
|
|
WHERE
|
|
group_members.group_id = $1
|
|
AND
|
|
users.status = 'active'
|
|
AND
|
|
users.deleted = 'false';
|
|
|
|
-- name: GetAllOrganizationMembers :many
|
|
SELECT
|
|
users.*
|
|
FROM
|
|
users
|
|
JOIN
|
|
organization_members
|
|
ON
|
|
users.id = organization_members.user_id
|
|
WHERE
|
|
organization_members.organization_id = $1;
|
|
|
|
-- name: GetGroupsByOrganizationID :many
|
|
SELECT
|
|
*
|
|
FROM
|
|
groups
|
|
WHERE
|
|
organization_id = $1
|
|
AND
|
|
id != $1;
|
|
|
|
-- name: InsertGroup :one
|
|
INSERT INTO groups (
|
|
id,
|
|
name,
|
|
organization_id
|
|
)
|
|
VALUES
|
|
( $1, $2, $3) RETURNING *;
|
|
|
|
-- We use the organization_id as the id
|
|
-- for simplicity since all users is
|
|
-- every member of the org.
|
|
-- name: InsertAllUsersGroup :one
|
|
INSERT INTO groups (
|
|
id,
|
|
name,
|
|
organization_id
|
|
)
|
|
VALUES
|
|
( sqlc.arg(organization_id), 'Everyone', sqlc.arg(organization_id)) RETURNING *;
|
|
|
|
-- name: UpdateGroupByID :one
|
|
UPDATE
|
|
groups
|
|
SET
|
|
name = $1
|
|
WHERE
|
|
id = $2
|
|
RETURNING *;
|
|
|
|
-- name: InsertGroupMember :exec
|
|
INSERT INTO group_members (
|
|
user_id,
|
|
group_id
|
|
)
|
|
VALUES ( $1, $2);
|
|
|
|
-- name: DeleteGroupMember :exec
|
|
DELETE FROM
|
|
group_members
|
|
WHERE
|
|
user_id = $1;
|
|
|
|
-- name: DeleteGroupByID :exec
|
|
DELETE FROM
|
|
groups
|
|
WHERE
|
|
id = $1;
|
|
|
|
|