fix: update user plan and rearrange structur project

This commit is contained in:
ericprd
2025-03-08 22:46:05 +08:00
parent a47b7b7d3d
commit 13c976dcbf
54 changed files with 508 additions and 263 deletions
+2 -2
View File
@@ -6,13 +6,13 @@ import (
"github.com/google/uuid"
)
func (s *SubsAccs) Create(subsPlanId string) (string, error) {
func (s *accessor) Create(subsPlanId string) (string, error) {
spec := &subscribedomain.Subscribe{
ID: uuid.NewString(),
SubscribePlanID: subsPlanId,
}
if err := s.DB.Create(&spec).Error; err != nil {
if err := s.db.Create(&spec).Error; err != nil {
return "", err
}
+4 -4
View File
@@ -3,15 +3,15 @@ package subscriberepository
import (
"errors"
"fmt"
"legalgo-BE-go/database"
subscribedomain "legalgo-BE-go/internal/domain/subscribe"
"gorm.io/gorm"
)
func (s *SubsAccs) GetByID(id string) (database.Subscribe, error) {
var subscribe database.Subscribe
func (s *accessor) GetByID(id string) (subscribedomain.Subscribe, error) {
var subscribe subscribedomain.Subscribe
if err := s.DB.First(&subscribe, "id = ?", id).Error; err != nil {
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)
}
+11 -8
View File
@@ -1,17 +1,20 @@
package subscriberepository
import "legalgo-BE-go/database"
import (
"legalgo-BE-go/database"
subscribedomain "legalgo-BE-go/internal/domain/subscribe"
)
type SubsAccs struct {
DB *database.DB
type accessor struct {
db *database.DB
}
type SubsIntf interface {
type Subscribe interface {
Create(string) (string, error)
GetByID(string) (database.Subscribe, error)
UpdateSubscribeStatus(database.Subscribe) error
GetByID(string) (subscribedomain.Subscribe, error)
Update(subscribedomain.Subscribe) error
}
func New(db *database.DB) SubsIntf {
return &SubsAccs{db}
func New(db *database.DB) Subscribe {
return &accessor{db}
}
+19
View File
@@ -0,0 +1,19 @@
package subscriberepository
import (
"fmt"
subscribedomain "legalgo-BE-go/internal/domain/subscribe"
"gorm.io/gorm/clause"
)
func (a *accessor) Update(spec subscribedomain.Subscribe) error {
if err := a.db.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "id"}},
DoUpdates: clause.AssignmentColumns([]string{"status", "subscribe_plan_id", "start_date"}),
}).Create(&spec).Error; err != nil {
return fmt.Errorf("failed to update status: %v", err)
}
return nil
}
@@ -1,19 +0,0 @@
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
}