forked from wrenn/wrenn
112 lines
2.8 KiB
Go
112 lines
2.8 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: audit.sql
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const insertAuditLog = `-- name: InsertAuditLog :exec
|
|
INSERT INTO audit_logs (id, team_id, actor_type, actor_id, actor_name, resource_type, resource_id, action, scope, status, metadata)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
|
|
`
|
|
|
|
type InsertAuditLogParams struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
TeamID pgtype.UUID `json:"team_id"`
|
|
ActorType string `json:"actor_type"`
|
|
ActorID pgtype.Text `json:"actor_id"`
|
|
ActorName string `json:"actor_name"`
|
|
ResourceType string `json:"resource_type"`
|
|
ResourceID pgtype.Text `json:"resource_id"`
|
|
Action string `json:"action"`
|
|
Scope string `json:"scope"`
|
|
Status string `json:"status"`
|
|
Metadata []byte `json:"metadata"`
|
|
}
|
|
|
|
func (q *Queries) InsertAuditLog(ctx context.Context, arg InsertAuditLogParams) error {
|
|
_, err := q.db.Exec(ctx, insertAuditLog,
|
|
arg.ID,
|
|
arg.TeamID,
|
|
arg.ActorType,
|
|
arg.ActorID,
|
|
arg.ActorName,
|
|
arg.ResourceType,
|
|
arg.ResourceID,
|
|
arg.Action,
|
|
arg.Scope,
|
|
arg.Status,
|
|
arg.Metadata,
|
|
)
|
|
return err
|
|
}
|
|
|
|
const listAuditLogs = `-- name: ListAuditLogs :many
|
|
SELECT id, team_id, actor_type, actor_id, actor_name, resource_type, resource_id, action, scope, status, metadata, created_at FROM audit_logs
|
|
WHERE team_id = $1
|
|
AND scope = ANY($2::text[])
|
|
AND (cardinality($3::text[]) = 0 OR resource_type = ANY($3::text[]))
|
|
AND (cardinality($4::text[]) = 0 OR action = ANY($4::text[]))
|
|
AND ($5::timestamptz IS NULL OR created_at < $5
|
|
OR (created_at = $5 AND id < $6))
|
|
ORDER BY created_at DESC, id DESC
|
|
LIMIT $7
|
|
`
|
|
|
|
type ListAuditLogsParams struct {
|
|
TeamID pgtype.UUID `json:"team_id"`
|
|
Column2 []string `json:"column_2"`
|
|
Column3 []string `json:"column_3"`
|
|
Column4 []string `json:"column_4"`
|
|
Column5 pgtype.Timestamptz `json:"column_5"`
|
|
ID pgtype.UUID `json:"id"`
|
|
Limit int32 `json:"limit"`
|
|
}
|
|
|
|
func (q *Queries) ListAuditLogs(ctx context.Context, arg ListAuditLogsParams) ([]AuditLog, error) {
|
|
rows, err := q.db.Query(ctx, listAuditLogs,
|
|
arg.TeamID,
|
|
arg.Column2,
|
|
arg.Column3,
|
|
arg.Column4,
|
|
arg.Column5,
|
|
arg.ID,
|
|
arg.Limit,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []AuditLog
|
|
for rows.Next() {
|
|
var i AuditLog
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.TeamID,
|
|
&i.ActorType,
|
|
&i.ActorID,
|
|
&i.ActorName,
|
|
&i.ResourceType,
|
|
&i.ResourceID,
|
|
&i.Action,
|
|
&i.Scope,
|
|
&i.Status,
|
|
&i.Metadata,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|