// 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 }