chores: refactor struct and structure project
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package subscriberepository
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"legalgo-BE-go/database"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func (s *SubsAccs) GetByID(id string) (database.Subscribe, error) {
|
||||
var subscribe database.Subscribe
|
||||
|
||||
if err := s.DB.First(&subscribe, "id = ?", id).Error; err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return subscribe, fmt.Errorf("subscribe data not found: %v", err)
|
||||
}
|
||||
|
||||
return subscribe, err
|
||||
}
|
||||
|
||||
return subscribe, nil
|
||||
}
|
||||
@@ -8,6 +8,8 @@ type SubsAccs struct {
|
||||
|
||||
type SubsIntf interface {
|
||||
Create(string) (string, error)
|
||||
GetByID(string) (database.Subscribe, error)
|
||||
UpdateSubscribeStatus(database.Subscribe) error
|
||||
}
|
||||
|
||||
func New(db *database.DB) SubsIntf {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package subscriberepository
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"legalgo-BE-go/database"
|
||||
|
||||
"gorm.io/gorm/clause"
|
||||
)
|
||||
|
||||
func (a *SubsAccs) UpdateSubscribeStatus(spec database.Subscribe) error {
|
||||
if err := a.DB.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
DoUpdates: clause.AssignmentColumns([]string{"status"}),
|
||||
}).Create(&spec).Error; err != nil {
|
||||
return fmt.Errorf("failed to update status: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user