wip: versioned migrations using atlas

This commit is contained in:
2025-06-11 12:41:37 +01:00
parent 3234e5f4da
commit 8a313d089f
12 changed files with 294 additions and 35 deletions
+8 -7
View File
@@ -6,11 +6,7 @@ import (
"github.com/hazemKrimi/crimson-vault/internal/types"
)
func (db *DB) MigrateClients() {
db.instance.AutoMigrate(&types.Client{})
}
func (db *DB) CreateClient(userId uuid.UUID, body types.CreateClientRequestBody) types.Client {
func (db *DB) CreateClient(userId uuid.UUID, body types.CreateClientRequestBody) (types.Client, error) {
client := types.Client{
ID: uuid.New().String(),
UserID: userId.String(),
@@ -23,8 +19,13 @@ func (db *DB) CreateClient(userId uuid.UUID, body types.CreateClientRequestBody)
Email: body.Email,
}
db.instance.Create(&client)
return client
result := db.instance.Create(&client)
if result.Error != nil {
return types.Client{}, result.Error
}
return client, nil
}
func (db *DB) GetClients(userId uuid.UUID) ([]types.Client, error) {
+2 -6
View File
@@ -9,10 +9,6 @@ import (
"github.com/hazemKrimi/crimson-vault/internal/types"
)
func (db *DB) MigrateUsers() {
db.instance.AutoMigrate(&types.User{})
}
func (db *DB) CreateUser(body types.CreateUserRequestBody) (types.User, error) {
user := types.User{
ID: uuid.New().String(),
@@ -38,7 +34,7 @@ func (db *DB) CreateUser(body types.CreateUserRequestBody) (types.User, error) {
func (db *DB) GetUsers() ([]types.User, error) {
var users []types.User
result := db.instance.Find(&users)
result := db.instance.Model(&types.User{}).Preload("Clients").Find(&users)
if result.Error != nil {
return nil, result.Error
@@ -48,7 +44,7 @@ func (db *DB) GetUsers() ([]types.User, error) {
}
func (db *DB) GetUserById(id uuid.UUID, user *types.User) error {
result := db.instance.Where("id = ?", id).First(user)
result := db.instance.Model(&types.User{}).Preload("Clients").Where("id = ?", id).First(user)
if result.Error != nil {
return result.Error