item repository and api progress.
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
-- name: GetItem :one
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.id = ?;
|
||||
|
||||
-- name: ListItemsByProject :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE pr.project_id = ?;
|
||||
|
||||
-- name: ListItemsAcquiredBetween :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.acquired_time >= ?
|
||||
AND i.acquired_time < ?
|
||||
AND i.scope_id = ?;
|
||||
|
||||
-- name: ListItemsScheduledBetween :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.scheduled_date >= ?
|
||||
AND i.scheduled_date < ?
|
||||
AND i.scope_id = ?;
|
||||
|
||||
-- name: ListItemsCreatedBetween :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.created_time >= ?
|
||||
AND i.created_time < ?
|
||||
AND i.scope_id = ?;
|
||||
|
||||
-- name: ListItemsLooseBetween :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.created_time >= ?
|
||||
AND i.created_time < ?
|
||||
AND i.scope_id = ?
|
||||
AND i.scheduled_date IS NULL
|
||||
AND i.acquired_time IS NULL;
|
||||
|
||||
-- name: ListItemsScheduledBetweenNoScope :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.scheduled_date >= ?
|
||||
AND i.scheduled_date < ?;
|
||||
|
||||
-- name: ListItemsCreatedBetweenNoScope :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.created_time >= ?
|
||||
AND i.created_time < ?;
|
||||
|
||||
-- name: ListItemsLooseBetweenNoScope :many
|
||||
SELECT i.*, pr.project_id FROM item i
|
||||
LEFT JOIN project_requirement pr ON pr.id = i.project_requirement_id
|
||||
WHERE i.created_time >= ?
|
||||
AND i.created_time < ?
|
||||
AND i.scheduled_date IS NULL
|
||||
AND i.acquired_time IS NULL;
|
||||
|
||||
-- name: GetItemStatProgressBetween :one
|
||||
SELECT s.id, s.name, s.weight, SUM(isp.acquired), SUM(isp.required) FROM item i
|
||||
LEFT JOIN item_stat_progress isp on i.id = isp.item_id
|
||||
LEFT JOIN stat s on isp.stat_id = s.id
|
||||
WHERE i.acquired_time >= ?
|
||||
AND i.acquired_time < ?
|
||||
AND i.scope_id = ?
|
||||
GROUP BY stat_id;
|
||||
|
||||
-- name: ListItemStatProgress :many
|
||||
SELECT isp.required, isp.acquired, s.id, s.name, s.weight FROM item_stat_progress isp
|
||||
LEFT JOIN stat s ON s.id = isp.stat_id
|
||||
WHERE item_id = ?;
|
||||
|
||||
-- name: ListItemStatProgressMulti :many
|
||||
SELECT isp.item_id, isp.required, isp.acquired, s.id, s.name, s.weight FROM item_stat_progress isp
|
||||
LEFT JOIN stat s ON s.id = isp.stat_id
|
||||
WHERE item_id IN (?, ?, ?, ?, ?, ?, ?, ?);
|
||||
|
||||
-- name: InsertItem :execresult
|
||||
INSERT INTO item (scope_id, project_requirement_id, name, description, created_time, created_user_id, acquired_time, scheduled_date)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?);
|
||||
|
||||
-- name: UpdateItem :exec
|
||||
UPDATE item
|
||||
SET project_requirement_id = ?,
|
||||
name = ?,
|
||||
description = ?,
|
||||
acquired_time = ?,
|
||||
scheduled_date = ?,
|
||||
created_user_id = ?
|
||||
WHERE id = ?;
|
||||
|
||||
-- name: DeleteItem :exec
|
||||
DELETE FROM item WHERE id = ?;
|
||||
|
||||
-- name: ReplaceItemStatProgress :exec
|
||||
REPLACE INTO item_stat_progress (item_id, stat_id, acquired, required)
|
||||
VALUES (?, ?, ?, ?);
|
||||
|
||||
-- name: DeleteItemStatProgress :exec
|
||||
DELETE FROM item_stat_progress WHERE item_id = ? AND stat_id = ?;
|
||||
|
||||
-- name: ClearItemStatProgress :exec
|
||||
DELETE FROM item_stat_progress WHERE item_id = ?;
|
||||
@@ -3,3 +3,9 @@ SELECT id, name, status FROM project
|
||||
WHERE scope_id = ?
|
||||
ORDER BY status, created_time;
|
||||
|
||||
-- name: GetProject :one
|
||||
SELECT * FROM project WHERE id = ?;
|
||||
|
||||
-- name: ListProjectRequirementsByProjectID :many
|
||||
SELECT * FROM project_requirement WHERE project_id = ?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user