46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
package budget
|
|
|
|
import (
|
|
"context"
|
|
|
|
db "management/internal/db/sqlc"
|
|
"management/internal/pkg/redis"
|
|
)
|
|
|
|
type BudgetBiz interface {
|
|
Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error)
|
|
Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error)
|
|
List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error)
|
|
Get(ctx context.Context, id int64) (*db.Budget, error)
|
|
}
|
|
|
|
type budgetBiz struct {
|
|
store db.Store
|
|
redis redis.IRedis
|
|
}
|
|
|
|
var _ BudgetBiz = (*budgetBiz)(nil)
|
|
|
|
func New(store db.Store, redis redis.IRedis) *budgetBiz {
|
|
return &budgetBiz{
|
|
store: store,
|
|
redis: redis,
|
|
}
|
|
}
|
|
|
|
func (b *budgetBiz) Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error) {
|
|
return b.store.CreateBudget(ctx, arg)
|
|
}
|
|
|
|
func (b *budgetBiz) Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error) {
|
|
return b.store.UpdateBudget(ctx, arg)
|
|
}
|
|
|
|
func (b *budgetBiz) List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error) {
|
|
return b.store.ListBudgetCondition(ctx, arg)
|
|
}
|
|
|
|
func (b *budgetBiz) Get(ctx context.Context, id int64) (*db.Budget, error) {
|
|
return b.store.GetBudget(ctx, id)
|
|
}
|