initiall commit

This commit is contained in:
Tomas Dvorak
2026-04-10 12:03:31 +02:00
commit 7ddfb1f52b
276 changed files with 37629 additions and 0 deletions
@@ -0,0 +1,190 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: buckets.sql
package db
import (
"context"
"github.com/google/uuid"
"github.com/jackc/pgx/v5/pgtype"
)
const createBucket = `-- name: CreateBucket :one
INSERT INTO core.buckets (
project_id,
slug,
name,
visibility,
created_by_user_id
) VALUES ($1, $2, $3, $4, $5)
RETURNING id, project_id, slug, name, visibility, created_by_user_id, created_at
`
type CreateBucketParams struct {
ProjectID uuid.UUID `json:"project_id"`
Slug string `json:"slug"`
Name string `json:"name"`
Visibility string `json:"visibility"`
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
}
func (q *Queries) CreateBucket(ctx context.Context, arg CreateBucketParams) (CoreBucket, error) {
row := q.db.QueryRow(ctx, createBucket,
arg.ProjectID,
arg.Slug,
arg.Name,
arg.Visibility,
arg.CreatedByUserID,
)
var i CoreBucket
err := row.Scan(
&i.ID,
&i.ProjectID,
&i.Slug,
&i.Name,
&i.Visibility,
&i.CreatedByUserID,
&i.CreatedAt,
)
return i, err
}
const deleteBucketByID = `-- name: DeleteBucketByID :one
DELETE FROM core.buckets
WHERE id = $1
RETURNING id, project_id, slug, name, visibility, created_by_user_id, created_at
`
func (q *Queries) DeleteBucketByID(ctx context.Context, id uuid.UUID) (CoreBucket, error) {
row := q.db.QueryRow(ctx, deleteBucketByID, id)
var i CoreBucket
err := row.Scan(
&i.ID,
&i.ProjectID,
&i.Slug,
&i.Name,
&i.Visibility,
&i.CreatedByUserID,
&i.CreatedAt,
)
return i, err
}
const getBucketByID = `-- name: GetBucketByID :one
SELECT
b.id, b.project_id, b.slug, b.name, b.visibility, b.created_by_user_id, b.created_at,
p.organization_id
FROM core.buckets b
JOIN core.projects p ON p.id = b.project_id
WHERE b.id = $1
`
type GetBucketByIDRow struct {
ID uuid.UUID `json:"id"`
ProjectID uuid.UUID `json:"project_id"`
Slug string `json:"slug"`
Name string `json:"name"`
Visibility string `json:"visibility"`
CreatedByUserID pgtype.UUID `json:"created_by_user_id"`
CreatedAt pgtype.Timestamptz `json:"created_at"`
OrganizationID uuid.UUID `json:"organization_id"`
}
func (q *Queries) GetBucketByID(ctx context.Context, id uuid.UUID) (GetBucketByIDRow, error) {
row := q.db.QueryRow(ctx, getBucketByID, id)
var i GetBucketByIDRow
err := row.Scan(
&i.ID,
&i.ProjectID,
&i.Slug,
&i.Name,
&i.Visibility,
&i.CreatedByUserID,
&i.CreatedAt,
&i.OrganizationID,
)
return i, err
}
const listBucketsForProject = `-- name: ListBucketsForProject :many
SELECT id, project_id, slug, name, visibility, created_by_user_id, created_at FROM core.buckets
WHERE project_id = $1
AND (
btrim($2) = ''
OR slug ILIKE '%' || btrim($2) || '%'
OR name ILIKE '%' || btrim($2) || '%'
)
ORDER BY created_at ASC
`
type ListBucketsForProjectParams struct {
ProjectID uuid.UUID `json:"project_id"`
Btrim string `json:"btrim"`
}
func (q *Queries) ListBucketsForProject(ctx context.Context, arg ListBucketsForProjectParams) ([]CoreBucket, error) {
rows, err := q.db.Query(ctx, listBucketsForProject, arg.ProjectID, arg.Btrim)
if err != nil {
return nil, err
}
defer rows.Close()
var items []CoreBucket
for rows.Next() {
var i CoreBucket
if err := rows.Scan(
&i.ID,
&i.ProjectID,
&i.Slug,
&i.Name,
&i.Visibility,
&i.CreatedByUserID,
&i.CreatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateBucketByID = `-- name: UpdateBucketByID :one
UPDATE core.buckets
SET slug = $2,
name = $3,
visibility = $4
WHERE id = $1
RETURNING id, project_id, slug, name, visibility, created_by_user_id, created_at
`
type UpdateBucketByIDParams struct {
ID uuid.UUID `json:"id"`
Slug string `json:"slug"`
Name string `json:"name"`
Visibility string `json:"visibility"`
}
func (q *Queries) UpdateBucketByID(ctx context.Context, arg UpdateBucketByIDParams) (CoreBucket, error) {
row := q.db.QueryRow(ctx, updateBucketByID,
arg.ID,
arg.Slug,
arg.Name,
arg.Visibility,
)
var i CoreBucket
err := row.Scan(
&i.ID,
&i.ProjectID,
&i.Slug,
&i.Name,
&i.Visibility,
&i.CreatedByUserID,
&i.CreatedAt,
)
return i, err
}