// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.29.0 // source: issue_reporting.sql package dbgen import ( "context" ) const CountReportedIssues = `-- name: CountReportedIssues :one SELECT COUNT(*) FROM reported_issues ` func (q *Queries) CountReportedIssues(ctx context.Context) (int64, error) { row := q.db.QueryRow(ctx, CountReportedIssues) var count int64 err := row.Scan(&count) return count, err } const CountReportedIssuesByCustomer = `-- name: CountReportedIssuesByCustomer :one SELECT COUNT(*) FROM reported_issues WHERE customer_id = $1 ` func (q *Queries) CountReportedIssuesByCustomer(ctx context.Context, customerID int64) (int64, error) { row := q.db.QueryRow(ctx, CountReportedIssuesByCustomer, customerID) var count int64 err := row.Scan(&count) return count, err } const CreateReportedIssue = `-- name: CreateReportedIssue :one INSERT INTO reported_issues ( customer_id, subject, description, issue_type, metadata ) VALUES ( $1, $2, $3, $4, $5 ) RETURNING id, customer_id, subject, description, issue_type, status, metadata, created_at, updated_at ` type CreateReportedIssueParams struct { CustomerID int64 `json:"customer_id"` Subject string `json:"subject"` Description string `json:"description"` IssueType string `json:"issue_type"` Metadata []byte `json:"metadata"` } func (q *Queries) CreateReportedIssue(ctx context.Context, arg CreateReportedIssueParams) (ReportedIssue, error) { row := q.db.QueryRow(ctx, CreateReportedIssue, arg.CustomerID, arg.Subject, arg.Description, arg.IssueType, arg.Metadata, ) var i ReportedIssue err := row.Scan( &i.ID, &i.CustomerID, &i.Subject, &i.Description, &i.IssueType, &i.Status, &i.Metadata, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const DeleteReportedIssue = `-- name: DeleteReportedIssue :exec DELETE FROM reported_issues WHERE id = $1 ` func (q *Queries) DeleteReportedIssue(ctx context.Context, id int64) error { _, err := q.db.Exec(ctx, DeleteReportedIssue, id) return err } const ListReportedIssues = `-- name: ListReportedIssues :many SELECT id, customer_id, subject, description, issue_type, status, metadata, created_at, updated_at FROM reported_issues ORDER BY created_at DESC LIMIT $1 OFFSET $2 ` type ListReportedIssuesParams struct { Limit int32 `json:"limit"` Offset int32 `json:"offset"` } func (q *Queries) ListReportedIssues(ctx context.Context, arg ListReportedIssuesParams) ([]ReportedIssue, error) { rows, err := q.db.Query(ctx, ListReportedIssues, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []ReportedIssue for rows.Next() { var i ReportedIssue if err := rows.Scan( &i.ID, &i.CustomerID, &i.Subject, &i.Description, &i.IssueType, &i.Status, &i.Metadata, &i.CreatedAt, &i.UpdatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const ListReportedIssuesByCustomer = `-- name: ListReportedIssuesByCustomer :many SELECT id, customer_id, subject, description, issue_type, status, metadata, created_at, updated_at FROM reported_issues WHERE customer_id = $1 ORDER BY created_at DESC LIMIT $2 OFFSET $3 ` type ListReportedIssuesByCustomerParams struct { CustomerID int64 `json:"customer_id"` Limit int32 `json:"limit"` Offset int32 `json:"offset"` } func (q *Queries) ListReportedIssuesByCustomer(ctx context.Context, arg ListReportedIssuesByCustomerParams) ([]ReportedIssue, error) { rows, err := q.db.Query(ctx, ListReportedIssuesByCustomer, arg.CustomerID, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []ReportedIssue for rows.Next() { var i ReportedIssue if err := rows.Scan( &i.ID, &i.CustomerID, &i.Subject, &i.Description, &i.IssueType, &i.Status, &i.Metadata, &i.CreatedAt, &i.UpdatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const UpdateReportedIssueStatus = `-- name: UpdateReportedIssueStatus :exec UPDATE reported_issues SET status = $2, updated_at = NOW() WHERE id = $1 ` type UpdateReportedIssueStatusParams struct { ID int64 `json:"id"` Status string `json:"status"` } func (q *Queries) UpdateReportedIssueStatus(ctx context.Context, arg UpdateReportedIssueStatusParams) error { _, err := q.db.Exec(ctx, UpdateReportedIssueStatus, arg.ID, arg.Status) return err }