package repository import ( "context" v1 "github.com/go-nunu/nunu-layout-advanced/api/v1" ) type CcRepository interface { GetCcList(ctx context.Context, serviceId int64) ([]v1.CCListResponse, error) EditCcState(ctx context.Context, serviceId int64, ip string) error } func NewCcRepository( repository *Repository, ) CcRepository { return &ccRepository{ Repository: repository, } } type ccRepository struct { *Repository } func (r *ccRepository) GetCcList(ctx context.Context, serviceId int64) ([]v1.CCListResponse, error) { var req []v1.CCListResponse if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("serverId = ? AND state = 1", serviceId).Select("value,type,reason,sourceURL,createdAt,expiredAt").Scan(&req).Error; err != nil { return nil, err } return req, nil } func (r *ccRepository) EditCcState(ctx context.Context, serviceId int64, ip string) error { if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("serverId = ? AND ipFrom = ?", serviceId, ip).Update("state", 0).Error; err != nil { return err } return nil }