/
reservoir_errors.go
53 lines (45 loc) · 1.59 KB
/
reservoir_errors.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package domain
const (
ReservoirErrorNameEmptyCode = iota
ReservoirErrorNameNotEnoughCharacterCode
ReservoirErrorNameExceedMaximunCharacterCode
ReservoirErrorNameAlphanumericOnlyCode
ReservoirErrorFarmNotFound
ReservoirErrorPHInvalidCode
ReservoirErrorECInvalidCode
ReservoirErrorBucketCapacityInvalidCode
ReservoirErrorBucketVolumeInvalidCode
ReservoirErrorWaterSourceAlreadyAttachedCode
ReservoirNoteErrorInvalidContent
ReservoirNoteErrorNotFound
)
// ReservoirError is a custom error from Go built-in error
type ReservoirError struct {
Code int
}
func (e ReservoirError) Error() string {
switch e.Code {
case ReservoirErrorNameEmptyCode:
return "Reservoir name is required."
case ReservoirErrorNameNotEnoughCharacterCode:
return "Not enough character on Reservoir Name"
case ReservoirErrorNameExceedMaximunCharacterCode:
return "Reservoir name cannot more than 100 characters"
case ReservoirErrorNameAlphanumericOnlyCode:
return "Reservoir name should be alphanumeric, space, hypen, or underscore"
case ReservoirErrorPHInvalidCode:
return "Reservoir pH value is invalid."
case ReservoirErrorECInvalidCode:
return "Reservoir EC value is invalid."
case ReservoirErrorBucketCapacityInvalidCode:
return "Reservoir bucket capacity is invalid."
case ReservoirErrorWaterSourceAlreadyAttachedCode:
return "Reservoir water source is already attached."
case ReservoirErrorBucketVolumeInvalidCode:
return "Reservoir bucket volume is invalid."
case ReservoirNoteErrorInvalidContent:
return "Invalid reservoir notes content"
default:
return "Unrecognized Reservoir Error Code"
}
}