cc.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package repository
  2. import (
  3. "context"
  4. v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
  5. )
  6. type CcRepository interface {
  7. GetCcList(ctx context.Context, serviceId int64) ([]v1.CCListResponse, error)
  8. EditCcState(ctx context.Context, serviceId int64, ip string) error
  9. }
  10. func NewCcRepository(
  11. repository *Repository,
  12. ) CcRepository {
  13. return &ccRepository{
  14. Repository: repository,
  15. }
  16. }
  17. type ccRepository struct {
  18. *Repository
  19. }
  20. func (r *ccRepository) GetCcList(ctx context.Context, serviceId int64) ([]v1.CCListResponse, error) {
  21. var req []v1.CCListResponse
  22. if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("serverId = ? AND state = 1", serviceId).Select("ipFrom,createdAt,reason,sourceUrl").Scan(&req).Error; err != nil {
  23. return nil, err
  24. }
  25. return req, nil
  26. }
  27. func (r *ccRepository) EditCcState(ctx context.Context, serviceId int64, ip string) error {
  28. if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("serverId = ? AND ipFrom = ?", serviceId, ip).Update("state", 0).Error; err != nil {
  29. return err
  30. }
  31. return nil
  32. }