gatewaygroupip.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package repository
  2. import (
  3. "context"
  4. "github.com/go-nunu/nunu-layout-advanced/internal/model"
  5. )
  6. type GateWayGroupIpRepository interface {
  7. GetGateWayGroupIp(ctx context.Context, id int64) (*model.GateWayGroupIp, error)
  8. AddGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error
  9. EditGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error
  10. DeleteGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error
  11. GetGateWayGroupIpByGatewayGroupId(ctx context.Context, gatewayGroupId int) ([]model.GateWayGroupIp, error)
  12. GetGateWayGroupFirstIpByGatewayGroupId(ctx context.Context, gatewayGroupId int) (string, error)
  13. }
  14. func NewGateWayGroupIpRepository(
  15. repository *Repository,
  16. ) GateWayGroupIpRepository {
  17. return &gateWayGroupIpRepository{
  18. Repository: repository,
  19. }
  20. }
  21. type gateWayGroupIpRepository struct {
  22. *Repository
  23. }
  24. func (r *gateWayGroupIpRepository) GetGateWayGroupIp(ctx context.Context, id int64) (*model.GateWayGroupIp, error) {
  25. var gateWayGroupIp model.GateWayGroupIp
  26. return &gateWayGroupIp, nil
  27. }
  28. func (r *gateWayGroupIpRepository) AddGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error {
  29. if err := r.DB(ctx).Create(req).Error; err != nil {
  30. return err
  31. }
  32. return nil
  33. }
  34. func (r *gateWayGroupIpRepository) EditGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error {
  35. if err := r.DB(ctx).Model(&model.GateWayGroupIp{}).Where("id = ?", req.Id).Updates(req).Error; err != nil {
  36. return err
  37. }
  38. return nil
  39. }
  40. func (r *gateWayGroupIpRepository) DeleteGateWayGroupIp(ctx context.Context, req *model.GateWayGroupIp) error {
  41. if err := r.DB(ctx).Model(&model.GateWayGroupIp{}).Where("id = ?", req.Id).Delete(req).Error; err != nil {
  42. return err
  43. }
  44. return nil
  45. }
  46. func (r *gateWayGroupIpRepository) GetGateWayGroupIpByGatewayGroupId(ctx context.Context, gatewayGroupId int) ([]model.GateWayGroupIp, error) {
  47. var res []model.GateWayGroupIp
  48. if err := r.DB(ctx).Model(&model.GateWayGroupIp{}).Where("gateway_group_id = ?", gatewayGroupId).Find(&res).Error; err != nil {
  49. return nil, err
  50. }
  51. return res, nil
  52. }
  53. func (r *gateWayGroupIpRepository) GetGateWayGroupFirstIpByGatewayGroupId(ctx context.Context, gatewayGroupId int) (string, error) {
  54. var res string
  55. if err := r.DB(ctx).Model(&model.GateWayGroupIp{}).Where("gateway_group_id = ?", gatewayGroupId).Select("ip").First(&res).Error; err != nil {
  56. return "", err
  57. }
  58. return res, nil
  59. }