-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
job_error.go
86 lines (66 loc) · 2.38 KB
/
job_error.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
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
package resolver
import (
"github.com/graph-gophers/graphql-go"
"github.com/smartcontractkit/chainlink/v2/core/services/job"
"github.com/smartcontractkit/chainlink/v2/core/utils/stringutils"
)
// JobErrorResolver resolves a Job Error
type JobErrorResolver struct {
// This is purposefully named Error instead of Err to differentiate it from
// a standard golang error.
specError job.SpecError
}
func NewJobError(specError job.SpecError) *JobErrorResolver {
return &JobErrorResolver{specError: specError}
}
func NewJobErrors(specErrors []job.SpecError) []*JobErrorResolver {
var resolvers []*JobErrorResolver
for _, e := range specErrors {
resolvers = append(resolvers, NewJobError(e))
}
return resolvers
}
// ID resolves the job error's id.
func (r *JobErrorResolver) ID() graphql.ID {
return graphql.ID(stringutils.FromInt64(r.specError.ID))
}
// Description resolves the job error's description.
func (r *JobErrorResolver) Description() string {
return r.specError.Description
}
// Occurrences resolves the job error's number of occurrences.
func (r *JobErrorResolver) Occurrences() int32 {
return int32(r.specError.Occurrences)
}
// CreatedAt resolves the job error's created at timestamp.
func (r *JobErrorResolver) CreatedAt() graphql.Time {
return graphql.Time{Time: r.specError.CreatedAt}
}
// UpdatedAt resolves the job error's updated at timestamp.
func (r *JobErrorResolver) UpdatedAt() graphql.Time {
return graphql.Time{Time: r.specError.UpdatedAt}
}
// -- DismissJobError Mutation --
type DismissJobErrorPayloadResolver struct {
specError *job.SpecError
NotFoundErrorUnionType
}
func NewDismissJobErrorPayload(specError *job.SpecError, err error) *DismissJobErrorPayloadResolver {
e := NotFoundErrorUnionType{err: err, message: "JobSpecError not found"}
return &DismissJobErrorPayloadResolver{specError: specError, NotFoundErrorUnionType: e}
}
func (r *DismissJobErrorPayloadResolver) ToDismissJobErrorSuccess() (*DismissJobErrorSuccessResolver, bool) {
if r.err != nil {
return nil, false
}
return NewDismissJobErrorSuccess(r.specError), true
}
type DismissJobErrorSuccessResolver struct {
specError *job.SpecError
}
func NewDismissJobErrorSuccess(specError *job.SpecError) *DismissJobErrorSuccessResolver {
return &DismissJobErrorSuccessResolver{specError: specError}
}
func (r *DismissJobErrorSuccessResolver) JobError() *JobErrorResolver {
return NewJobError(*r.specError)
}