dns_record.go 843 B

123456789101112131415161718192021222324252627282930313233343536
  1. package test
  2. import (
  3. "errors"
  4. "github.com/porter-dev/porter/internal/models"
  5. "github.com/porter-dev/porter/internal/repository"
  6. )
  7. // DNSRecordRepository implements repository.DNSRecordRepository
  8. type DNSRecordRepository struct {
  9. canQuery bool
  10. dnsRecords []*models.DNSRecord
  11. }
  12. // NewDNSRecordRepository will return errors if canQuery is false
  13. func NewDNSRecordRepository(canQuery bool) repository.DNSRecordRepository {
  14. return &DNSRecordRepository{
  15. canQuery,
  16. []*models.DNSRecord{},
  17. }
  18. }
  19. // CreateDNSRecord creates a new repoistry
  20. func (repo *DNSRecordRepository) CreateDNSRecord(
  21. record *models.DNSRecord,
  22. ) (*models.DNSRecord, error) {
  23. if !repo.canQuery {
  24. return nil, errors.New("Cannot write database")
  25. }
  26. repo.dnsRecords = append(repo.dnsRecords, record)
  27. record.ID = uint(len(repo.dnsRecords))
  28. return record, nil
  29. }