mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-06-04 12:33:01 +00:00
176 lines
4.1 KiB
Go
176 lines
4.1 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: audit.sql
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const countAuditLogsForProject = `-- name: CountAuditLogsForProject :one
|
|
SELECT COUNT(*)::BIGINT
|
|
FROM core.audit_logs
|
|
WHERE project_id = $1
|
|
AND (
|
|
NULLIF(TRIM($2), '') IS NULL
|
|
OR action ILIKE '%' || TRIM($2) || '%'
|
|
OR resource_type ILIKE '%' || TRIM($2) || '%'
|
|
OR resource_id ILIKE '%' || TRIM($2) || '%'
|
|
OR request_id ILIKE '%' || TRIM($2) || '%'
|
|
OR metadata::text ILIKE '%' || TRIM($2) || '%'
|
|
)
|
|
AND (
|
|
NULLIF(TRIM($3), '') IS NULL
|
|
OR action ILIKE TRIM($3) || '%'
|
|
)
|
|
`
|
|
|
|
type CountAuditLogsForProjectParams struct {
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
Btrim string `json:"btrim"`
|
|
Btrim_2 string `json:"btrim_2"`
|
|
}
|
|
|
|
func (q *Queries) CountAuditLogsForProject(ctx context.Context, arg CountAuditLogsForProjectParams) (int64, error) {
|
|
row := q.db.QueryRow(ctx, countAuditLogsForProject, arg.ProjectID, arg.Btrim, arg.Btrim_2)
|
|
var column_1 int64
|
|
err := row.Scan(&column_1)
|
|
return column_1, err
|
|
}
|
|
|
|
const createAuditLog = `-- name: CreateAuditLog :one
|
|
INSERT INTO core.audit_logs (
|
|
organization_id,
|
|
project_id,
|
|
actor_user_id,
|
|
actor_api_key_id,
|
|
action,
|
|
resource_type,
|
|
resource_id,
|
|
metadata,
|
|
request_id
|
|
) VALUES (
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6,
|
|
$7,
|
|
$8,
|
|
$9
|
|
)
|
|
RETURNING id, organization_id, project_id, actor_user_id, actor_api_key_id, action, resource_type, resource_id, metadata, request_id, created_at
|
|
`
|
|
|
|
type CreateAuditLogParams struct {
|
|
OrganizationID pgtype.UUID `json:"organization_id"`
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
ActorUserID pgtype.UUID `json:"actor_user_id"`
|
|
ActorApiKeyID pgtype.UUID `json:"actor_api_key_id"`
|
|
Action string `json:"action"`
|
|
ResourceType string `json:"resource_type"`
|
|
ResourceID string `json:"resource_id"`
|
|
Metadata []byte `json:"metadata"`
|
|
RequestID string `json:"request_id"`
|
|
}
|
|
|
|
func (q *Queries) CreateAuditLog(ctx context.Context, arg CreateAuditLogParams) (CoreAuditLog, error) {
|
|
row := q.db.QueryRow(ctx, createAuditLog,
|
|
arg.OrganizationID,
|
|
arg.ProjectID,
|
|
arg.ActorUserID,
|
|
arg.ActorApiKeyID,
|
|
arg.Action,
|
|
arg.ResourceType,
|
|
arg.ResourceID,
|
|
arg.Metadata,
|
|
arg.RequestID,
|
|
)
|
|
var i CoreAuditLog
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.OrganizationID,
|
|
&i.ProjectID,
|
|
&i.ActorUserID,
|
|
&i.ActorApiKeyID,
|
|
&i.Action,
|
|
&i.ResourceType,
|
|
&i.ResourceID,
|
|
&i.Metadata,
|
|
&i.RequestID,
|
|
&i.CreatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listAuditLogsForProject = `-- name: ListAuditLogsForProject :many
|
|
SELECT id, organization_id, project_id, actor_user_id, actor_api_key_id, action, resource_type, resource_id, metadata, request_id, created_at FROM core.audit_logs
|
|
WHERE project_id = $1
|
|
AND (
|
|
NULLIF(TRIM($2), '') IS NULL
|
|
OR action ILIKE '%' || TRIM($2) || '%'
|
|
OR resource_type ILIKE '%' || TRIM($2) || '%'
|
|
OR resource_id ILIKE '%' || TRIM($2) || '%'
|
|
OR request_id ILIKE '%' || TRIM($2) || '%'
|
|
OR metadata::text ILIKE '%' || TRIM($2) || '%'
|
|
)
|
|
AND (
|
|
NULLIF(TRIM($3), '') IS NULL
|
|
OR action ILIKE TRIM($3) || '%'
|
|
)
|
|
ORDER BY created_at DESC
|
|
LIMIT $4
|
|
OFFSET $5
|
|
`
|
|
|
|
type ListAuditLogsForProjectParams struct {
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
Btrim string `json:"btrim"`
|
|
Btrim_2 string `json:"btrim_2"`
|
|
Limit int32 `json:"limit"`
|
|
Offset int32 `json:"offset"`
|
|
}
|
|
|
|
func (q *Queries) ListAuditLogsForProject(ctx context.Context, arg ListAuditLogsForProjectParams) ([]CoreAuditLog, error) {
|
|
rows, err := q.db.Query(ctx, listAuditLogsForProject,
|
|
arg.ProjectID,
|
|
arg.Btrim,
|
|
arg.Btrim_2,
|
|
arg.Limit,
|
|
arg.Offset,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []CoreAuditLog
|
|
for rows.Next() {
|
|
var i CoreAuditLog
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.OrganizationID,
|
|
&i.ProjectID,
|
|
&i.ActorUserID,
|
|
&i.ActorApiKeyID,
|
|
&i.Action,
|
|
&i.ResourceType,
|
|
&i.ResourceID,
|
|
&i.Metadata,
|
|
&i.RequestID,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|