WIP: Adding list project

Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
This commit is contained in:
2026-05-21 14:55:34 +02:00
parent 0cf8aefc1c
commit 4782caaca0

View File

@@ -25,6 +25,11 @@ type ProjectData struct {
// CreateProject adds a new projects to the database
func CreateProject(ctx context.Context, db *sql.DB, data *ProjectData) error {
tx, err := StartTransaction(ctx, db)
if err != nil {
return err
}
defer tx.Rollback()
query := `
INSERT INTO projects
(uuid, name, slug, description, owner_user_id, billing_account_id, created_by, created_at, updated_by, updated_at)
@@ -32,7 +37,7 @@ func CreateProject(ctx context.Context, db *sql.DB, data *ProjectData) error {
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
`
if _, err := db.ExecContext(ctx, query,
if _, err := tx.ExecContext(ctx, query,
data.UUID, data.Name, data.Slug, data.Description, data.CreatedBy,
data.CreatedBy, data.CreatedBy, data.CreatedAt, data.CreatedBy, data.CreatedAt); err != nil {
var pgErr *pgconn.PgError
@@ -93,5 +98,10 @@ func UpdateProject(ctx context.Context, db *sql.DB, data *ProjectData) error {
// ListProjects get all projects that are available for the user from the database
func ListProjects(ctx context.Context, db *sql.DB) ([]*ProjectData, error) {
query := `
SELECT p.uuid, p.name
FROM projects p
JOIN project_membership pm ON pm.project_id = p.id
WHERE pm.user_id = ?`
return nil, nil
}