WIP: Fix the create project test

Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
This commit is contained in:
2026-05-21 17:12:44 +02:00
parent 2cd21b382e
commit 138db7ae8b
3 changed files with 32 additions and 10 deletions

View File

@@ -31,14 +31,14 @@ func CreateProject(ctx context.Context, db *sql.DB, data *ProjectData) error {
return err
}
defer tx.Rollback()
query := `
queryProject := `
INSERT INTO projects
(uuid, name, slug, description, owner_user_id, billing_account_id, created_by, created_at, updated_by, updated_at)
VALUES
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
`
if _, err := tx.ExecContext(ctx, query,
if _, err := tx.ExecContext(ctx, queryProject,
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
@@ -54,6 +54,28 @@ func CreateProject(ctx context.Context, db *sql.DB, data *ProjectData) error {
return err
}
queryMembership := `
INSERT INTO project_membership
(project_uuid, user_uuid, role, status, invited_by, joined_at)
VALUES
($1, $2, $3, $4, $5, $6);
`
if _, err := tx.ExecContext(ctx, queryMembership,
data.UUID, data.CreatedBy, "owner", "active", data.CreatedBy, data.CreatedAt,
); err != nil {
var pgErr *pgconn.PgError
if errors.As(err, &pgErr) {
switch pgErr.Code {
case pgerrcode.UniqueViolation:
return ErrAlreadyExists
case pgerrcode.CheckViolation:
return ErrCheckNotPassed
}
return err
}
return err
}
if err := tx.Commit(); err != nil {
return err
}