mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-06-03 20:13:01 +00:00
initiall commit
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
// 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
|
||||
}
|
||||
Reference in New Issue
Block a user