mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-10-29 16:14:53 +00:00
Username and password live in the local vault and the project vault, keyed by a stable app id rather than a host or port. Agents fetch one named secret or login when they need it. Lists stay metadata, and project reveals stay audit-logged. Authored By: TDvorak <[email protected]>
34 lines
761 B
SQL
34 lines
761 B
SQL
-- name: ListProjectLogins :many
|
|
SELECT id, project_id, app, username, origin, notes, created_at, updated_at
|
|
FROM core.project_logins
|
|
WHERE project_id = $1
|
|
ORDER BY app ASC;
|
|
|
|
-- name: GetProjectLogin :one
|
|
SELECT * FROM core.project_logins
|
|
WHERE project_id = $1
|
|
AND app = $2;
|
|
|
|
-- name: UpsertProjectLogin :one
|
|
INSERT INTO core.project_logins (
|
|
project_id,
|
|
app,
|
|
username,
|
|
ciphertext,
|
|
origin,
|
|
notes
|
|
) VALUES ($1, $2, $3, $4, $5, $6)
|
|
ON CONFLICT (project_id, app) DO UPDATE SET
|
|
username = EXCLUDED.username,
|
|
ciphertext = EXCLUDED.ciphertext,
|
|
origin = EXCLUDED.origin,
|
|
notes = EXCLUDED.notes,
|
|
updated_at = NOW()
|
|
RETURNING *;
|
|
|
|
-- name: DeleteProjectLogin :one
|
|
DELETE FROM core.project_logins
|
|
WHERE project_id = $1
|
|
AND app = $2
|
|
RETURNING id;
|