-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode.go
More file actions
99 lines (79 loc) · 2.34 KB
/
code.go
File metadata and controls
99 lines (79 loc) · 2.34 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package xerr
import "net/http"
// Code represents a machine-readable application error code.
type Code string
func (c Code) String() string { return string(c) }
func (c Code) HTTPStatus() int {
if status, ok := CodesHttpStatus[c]; ok {
return status
}
return http.StatusInternalServerError
}
// ========================
// System / Internal Errors
// ========================
const (
CodeInternalError Code = "INTERNAL_SERVER_ERROR"
CodeUnknownError Code = "UNKNOWN_ERROR"
CodeServiceUnavailable Code = "SERVICE_UNAVAILABLE"
)
// ========================
// Request Errors
// ========================
const (
CodeBadRequest Code = "BAD_REQUEST"
CodeValidationFailed Code = "VALIDATION_FAILED"
CodeMalformedJSON Code = "MALFORMED_JSON"
CodeMissingField Code = "MISSING_REQUIRED_FIELD"
CodeInvalidParam Code = "INVALID_PARAMETER"
)
// ========================
// Authentication Errors
// ========================
const (
CodeUnauthorized Code = "UNAUTHORIZED"
CodeInvalidCredentials Code = "INVALID_CREDENTIALS" //nolint:gosec
CodeInvalidToken Code = "INVALID_TOKEN"
CodeExpiredToken Code = "TOKEN_EXPIRED"
CodeRefreshTokenInvalid Code = "INVALID_REFRESH_TOKEN"
)
// ========================
// Authorization Errors
// ========================
const (
CodeForbidden Code = "FORBIDDEN"
CodePermissionDenied Code = "PERMISSION_DENIED"
CodeInsufficientScope Code = "INSUFFICIENT_SCOPE"
)
// ========================
// Resource Errors
// ========================
const (
CodeNotFound Code = "RESOURCE_NOT_FOUND"
CodeAlreadyExists Code = "RESOURCE_ALREADY_EXISTS"
CodeResourceLocked Code = "RESOURCE_LOCKED"
CodeResourceDeleted Code = "RESOURCE_DELETED"
)
// ========================
// Business Logic Errors
// ========================
const (
CodeConflict Code = "CONFLICT"
CodeOperationFailed Code = "OPERATION_FAILED"
CodeInvalidState Code = "INVALID_STATE"
)
// ========================
// Rate Limit / Security
// ========================
const (
CodeTooManyRequests Code = "TOO_MANY_REQUESTS"
)
// ========================
// Storage / Database
// ========================
const (
CodeDatabaseError Code = "DATABASE_ERROR"
CodeDuplicateKey Code = "DUPLICATE_KEY"
CodeForeignKeyError Code = "FOREIGN_KEY_CONSTRAINT"
CodeRecordNotFound Code = "RECORD_NOT_FOUND"
)