From 31e65065ab101cea29abcabe37c47c5530f670f5 Mon Sep 17 00:00:00 2001 From: gearnode Date: Wed, 12 Feb 2025 16:59:38 -0800 Subject: [PATCH] Refactor enum type Signed-off-by: gearnode --- pkg/api/console/v1/schema.graphql | 24 +- pkg/api/console/v1/schema/schema.go | 225 +++++++++++++----- pkg/api/console/v1/types/control.go | 2 +- .../v1/types/control_state_transition.go | 7 +- pkg/api/console/v1/types/evidence.go | 2 +- .../v1/types/evidence_state_transition.go | 7 +- pkg/api/console/v1/types/task.go | 2 +- .../console/v1/types/task_state_transition.go | 7 +- pkg/api/console/v1/types/types.go | 174 ++------------ pkg/probo/coredata/evidence_state.go | 8 +- 10 files changed, 211 insertions(+), 247 deletions(-) diff --git a/pkg/api/console/v1/schema.graphql b/pkg/api/console/v1/schema.graphql index 0f0c0f864..8801216a3 100644 --- a/pkg/api/console/v1/schema.graphql +++ b/pkg/api/console/v1/schema.graphql @@ -22,22 +22,22 @@ interface Node { id: ID! } -enum ControlState { - NOT_STARTED - IN_PROGRESS - NOT_APPLICABLE - IMPLEMENTED +enum ControlState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") { + NOT_STARTED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted") + IN_PROGRESS @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress") + NOT_APPLICABLE @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable") + IMPLEMENTED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented") } -enum TaskState { - TODO - DONE +enum TaskState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") { + TODO @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo") + DONE @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone") } -enum EvidenceState { - VALID - INVALID - EXPIRED +enum EvidenceState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState") { + VALID @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid") + INVALID @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid") + EXPIRED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired") } enum PeopleKind @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") { diff --git a/pkg/api/console/v1/schema/schema.go b/pkg/api/console/v1/schema/schema.go index 7cd1813fe..f127828dd 100644 --- a/pkg/api/console/v1/schema/schema.go +++ b/pkg/api/console/v1/schema/schema.go @@ -1296,22 +1296,22 @@ interface Node { id: ID! } -enum ControlState { - NOT_STARTED - IN_PROGRESS - NOT_APPLICABLE - IMPLEMENTED +enum ControlState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") { + NOT_STARTED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted") + IN_PROGRESS @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress") + NOT_APPLICABLE @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable") + IMPLEMENTED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented") } -enum TaskState { - TODO - DONE +enum TaskState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") { + TODO @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo") + DONE @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone") } -enum EvidenceState { - VALID - INVALID - EXPIRED +enum EvidenceState @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState") { + VALID @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid") + INVALID @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid") + EXPIRED @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired") } enum PeopleKind @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") { @@ -2628,9 +2628,9 @@ func (ec *executionContext) _Control_state(ctx context.Context, field graphql.Co } return graphql.Null } - res := resTmp.(types.ControlState) + res := resTmp.(coredata.ControlState) fc.Result = res - return ec.marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx, field.Selections, res) + return ec.marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Control_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -3061,9 +3061,9 @@ func (ec *executionContext) _ControlStateTransition_fromState(ctx context.Contex if resTmp == nil { return graphql.Null } - res := resTmp.(*types.ControlState) + res := resTmp.(*coredata.ControlState) fc.Result = res - return ec.marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx, field.Selections, res) + return ec.marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_ControlStateTransition_fromState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -3099,9 +3099,9 @@ func (ec *executionContext) _ControlStateTransition_toState(ctx context.Context, } return graphql.Null } - res := resTmp.(types.ControlState) + res := resTmp.(coredata.ControlState) fc.Result = res - return ec.marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx, field.Selections, res) + return ec.marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_ControlStateTransition_toState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -3582,9 +3582,9 @@ func (ec *executionContext) _Evidence_state(ctx context.Context, field graphql.C } return graphql.Null } - res := resTmp.(types.EvidenceState) + res := resTmp.(coredata.EvidenceState) fc.Result = res - return ec.marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx, field.Selections, res) + return ec.marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Evidence_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -3966,9 +3966,9 @@ func (ec *executionContext) _EvidenceStateTransition_fromState(ctx context.Conte if resTmp == nil { return graphql.Null } - res := resTmp.(*types.EvidenceState) + res := resTmp.(*coredata.EvidenceState) fc.Result = res - return ec.marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx, field.Selections, res) + return ec.marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_EvidenceStateTransition_fromState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -4004,9 +4004,9 @@ func (ec *executionContext) _EvidenceStateTransition_toState(ctx context.Context } return graphql.Null } - res := resTmp.(types.EvidenceState) + res := resTmp.(coredata.EvidenceState) fc.Result = res - return ec.marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx, field.Selections, res) + return ec.marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_EvidenceStateTransition_toState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -6155,9 +6155,9 @@ func (ec *executionContext) _Task_state(ctx context.Context, field graphql.Colle } return graphql.Null } - res := resTmp.(types.TaskState) + res := resTmp.(coredata.TaskState) fc.Result = res - return ec.marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx, field.Selections, res) + return ec.marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Task_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -6588,9 +6588,9 @@ func (ec *executionContext) _TaskStateTransition_fromState(ctx context.Context, if resTmp == nil { return graphql.Null } - res := resTmp.(*types.TaskState) + res := resTmp.(*coredata.TaskState) fc.Result = res - return ec.marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx, field.Selections, res) + return ec.marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_TaskStateTransition_fromState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -6626,9 +6626,9 @@ func (ec *executionContext) _TaskStateTransition_toState(ctx context.Context, fi } return graphql.Null } - res := resTmp.(types.TaskState) + res := resTmp.(coredata.TaskState) fc.Result = res - return ec.marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx, field.Selections, res) + return ec.marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_TaskStateTransition_toState(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -11301,16 +11301,37 @@ func (ec *executionContext) marshalNControlEdge2ᚖgithubᚗcomᚋgetproboᚋpro return ec._ControlEdge(ctx, sel, v) } -func (ec *executionContext) unmarshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx context.Context, v any) (types.ControlState, error) { - var res types.ControlState - err := res.UnmarshalGQL(v) +func (ec *executionContext) unmarshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx context.Context, v any) (coredata.ControlState, error) { + tmp, err := graphql.UnmarshalString(v) + res := unmarshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState[tmp] return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx context.Context, sel ast.SelectionSet, v types.ControlState) graphql.Marshaler { - return v +func (ec *executionContext) marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx context.Context, sel ast.SelectionSet, v coredata.ControlState) graphql.Marshaler { + res := graphql.MarshalString(marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState[v]) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res } +var ( + unmarshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState = map[string]coredata.ControlState{ + "NOT_STARTED": coredata.ControlStateNotStarted, + "IN_PROGRESS": coredata.ControlStateInProgress, + "NOT_APPLICABLE": coredata.ControlStateNotApplicable, + "IMPLEMENTED": coredata.ControlStateImplemented, + } + marshalNControlState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState = map[coredata.ControlState]string{ + coredata.ControlStateNotStarted: "NOT_STARTED", + coredata.ControlStateInProgress: "IN_PROGRESS", + coredata.ControlStateNotApplicable: "NOT_APPLICABLE", + coredata.ControlStateImplemented: "IMPLEMENTED", + } +) + func (ec *executionContext) marshalNControlStateTransition2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlStateTransition(ctx context.Context, sel ast.SelectionSet, v *types.ControlStateTransition) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -11505,16 +11526,35 @@ func (ec *executionContext) marshalNEvidenceEdge2ᚖgithubᚗcomᚋgetproboᚋpr return ec._EvidenceEdge(ctx, sel, v) } -func (ec *executionContext) unmarshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx context.Context, v any) (types.EvidenceState, error) { - var res types.EvidenceState - err := res.UnmarshalGQL(v) +func (ec *executionContext) unmarshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx context.Context, v any) (coredata.EvidenceState, error) { + tmp, err := graphql.UnmarshalString(v) + res := unmarshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState[tmp] return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx context.Context, sel ast.SelectionSet, v types.EvidenceState) graphql.Marshaler { - return v +func (ec *executionContext) marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx context.Context, sel ast.SelectionSet, v coredata.EvidenceState) graphql.Marshaler { + res := graphql.MarshalString(marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState[v]) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res } +var ( + unmarshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState = map[string]coredata.EvidenceState{ + "VALID": coredata.EvidenceStateValid, + "INVALID": coredata.EvidenceStateInvalid, + "EXPIRED": coredata.EvidenceStateExpired, + } + marshalNEvidenceState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState = map[coredata.EvidenceState]string{ + coredata.EvidenceStateValid: "VALID", + coredata.EvidenceStateInvalid: "INVALID", + coredata.EvidenceStateExpired: "EXPIRED", + } +) + func (ec *executionContext) marshalNEvidenceStateTransition2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceStateTransition(ctx context.Context, sel ast.SelectionSet, v *types.EvidenceStateTransition) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -11931,16 +11971,33 @@ func (ec *executionContext) marshalNTaskEdge2ᚖgithubᚗcomᚋgetproboᚋprobo return ec._TaskEdge(ctx, sel, v) } -func (ec *executionContext) unmarshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx context.Context, v any) (types.TaskState, error) { - var res types.TaskState - err := res.UnmarshalGQL(v) +func (ec *executionContext) unmarshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx context.Context, v any) (coredata.TaskState, error) { + tmp, err := graphql.UnmarshalString(v) + res := unmarshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState[tmp] return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx context.Context, sel ast.SelectionSet, v types.TaskState) graphql.Marshaler { - return v +func (ec *executionContext) marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx context.Context, sel ast.SelectionSet, v coredata.TaskState) graphql.Marshaler { + res := graphql.MarshalString(marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState[v]) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res } +var ( + unmarshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState = map[string]coredata.TaskState{ + "TODO": coredata.TaskStateTodo, + "DONE": coredata.TaskStateDone, + } + marshalNTaskState2githubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState = map[coredata.TaskState]string{ + coredata.TaskStateTodo: "TODO", + coredata.TaskStateDone: "DONE", + } +) + func (ec *executionContext) marshalNTaskStateTransition2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskStateTransition(ctx context.Context, sel ast.SelectionSet, v *types.TaskStateTransition) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -12359,22 +12416,38 @@ func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast return res } -func (ec *executionContext) unmarshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx context.Context, v any) (*types.ControlState, error) { +func (ec *executionContext) unmarshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx context.Context, v any) (*coredata.ControlState, error) { if v == nil { return nil, nil } - var res = new(types.ControlState) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) + tmp, err := graphql.UnmarshalString(v) + res := unmarshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState[tmp] + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐControlState(ctx context.Context, sel ast.SelectionSet, v *types.ControlState) graphql.Marshaler { +func (ec *executionContext) marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState(ctx context.Context, sel ast.SelectionSet, v *coredata.ControlState) graphql.Marshaler { if v == nil { return graphql.Null } - return v + res := graphql.MarshalString(marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState[*v]) + return res } +var ( + unmarshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState = map[string]coredata.ControlState{ + "NOT_STARTED": coredata.ControlStateNotStarted, + "IN_PROGRESS": coredata.ControlStateInProgress, + "NOT_APPLICABLE": coredata.ControlStateNotApplicable, + "IMPLEMENTED": coredata.ControlStateImplemented, + } + marshalOControlState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐControlState = map[coredata.ControlState]string{ + coredata.ControlStateNotStarted: "NOT_STARTED", + coredata.ControlStateInProgress: "IN_PROGRESS", + coredata.ControlStateNotApplicable: "NOT_APPLICABLE", + coredata.ControlStateImplemented: "IMPLEMENTED", + } +) + func (ec *executionContext) unmarshalOCursorKey2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋpageᚐCursorKey(ctx context.Context, v any) (*page.CursorKey, error) { if v == nil { return nil, nil @@ -12391,22 +12464,36 @@ func (ec *executionContext) marshalOCursorKey2ᚖgithubᚗcomᚋgetproboᚋprobo return res } -func (ec *executionContext) unmarshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx context.Context, v any) (*types.EvidenceState, error) { +func (ec *executionContext) unmarshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx context.Context, v any) (*coredata.EvidenceState, error) { if v == nil { return nil, nil } - var res = new(types.EvidenceState) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) + tmp, err := graphql.UnmarshalString(v) + res := unmarshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState[tmp] + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐEvidenceState(ctx context.Context, sel ast.SelectionSet, v *types.EvidenceState) graphql.Marshaler { +func (ec *executionContext) marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState(ctx context.Context, sel ast.SelectionSet, v *coredata.EvidenceState) graphql.Marshaler { if v == nil { return graphql.Null } - return v + res := graphql.MarshalString(marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState[*v]) + return res } +var ( + unmarshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState = map[string]coredata.EvidenceState{ + "VALID": coredata.EvidenceStateValid, + "INVALID": coredata.EvidenceStateInvalid, + "EXPIRED": coredata.EvidenceStateExpired, + } + marshalOEvidenceState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐEvidenceState = map[coredata.EvidenceState]string{ + coredata.EvidenceStateValid: "VALID", + coredata.EvidenceStateInvalid: "INVALID", + coredata.EvidenceStateExpired: "EXPIRED", + } +) + func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v any) (*int, error) { if v == nil { return nil, nil @@ -12477,22 +12564,34 @@ func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel as return res } -func (ec *executionContext) unmarshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx context.Context, v any) (*types.TaskState, error) { +func (ec *executionContext) unmarshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx context.Context, v any) (*coredata.TaskState, error) { if v == nil { return nil, nil } - var res = new(types.TaskState) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) + tmp, err := graphql.UnmarshalString(v) + res := unmarshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState[tmp] + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋapiᚋconsoleᚋv1ᚋtypesᚐTaskState(ctx context.Context, sel ast.SelectionSet, v *types.TaskState) graphql.Marshaler { +func (ec *executionContext) marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState(ctx context.Context, sel ast.SelectionSet, v *coredata.TaskState) graphql.Marshaler { if v == nil { return graphql.Null } - return v + res := graphql.MarshalString(marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState[*v]) + return res } +var ( + unmarshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState = map[string]coredata.TaskState{ + "TODO": coredata.TaskStateTodo, + "DONE": coredata.TaskStateDone, + } + marshalOTaskState2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋproboᚋcoredataᚐTaskState = map[coredata.TaskState]string{ + coredata.TaskStateTodo: "TODO", + coredata.TaskStateDone: "DONE", + } +) + func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/pkg/api/console/v1/types/control.go b/pkg/api/console/v1/types/control.go index f0e64cb52..999f78e42 100644 --- a/pkg/api/console/v1/types/control.go +++ b/pkg/api/console/v1/types/control.go @@ -44,7 +44,7 @@ func NewControl(c *coredata.Control) *Control { ID: c.ID, Name: c.Name, Description: c.Description, - State: ControlState(c.State.String()), + State: c.State, CreatedAt: c.CreatedAt, UpdatedAt: c.UpdatedAt, } diff --git a/pkg/api/console/v1/types/control_state_transition.go b/pkg/api/console/v1/types/control_state_transition.go index 89145866c..250c982c2 100644 --- a/pkg/api/console/v1/types/control_state_transition.go +++ b/pkg/api/console/v1/types/control_state_transition.go @@ -42,16 +42,15 @@ func NewControlStateTransitionEdge(cst *coredata.ControlStateTransition) *Contro } func NewControlStateTransition(cst *coredata.ControlStateTransition) *ControlStateTransition { - var fromState *ControlState + var fromState *coredata.ControlState if cst.FromState != nil { - val := ControlState((*cst.FromState).String()) - fromState = &val + fromState = cst.FromState } return &ControlStateTransition{ ID: cst.ID, FromState: fromState, - ToState: ControlState(cst.ToState.String()), + ToState: cst.ToState, Reason: cst.Reason, CreatedAt: cst.CreatedAt, UpdatedAt: cst.UpdatedAt, diff --git a/pkg/api/console/v1/types/evidence.go b/pkg/api/console/v1/types/evidence.go index 9da572c9b..d951814cf 100644 --- a/pkg/api/console/v1/types/evidence.go +++ b/pkg/api/console/v1/types/evidence.go @@ -42,7 +42,7 @@ func NewEvidenceEdge(e *coredata.Evidence) *EvidenceEdge { func NewEvidence(e *coredata.Evidence) *Evidence { return &Evidence{ ID: e.ID, - State: EvidenceState(e.State.String()), + State: e.State, FileURL: "", MimeType: e.MimeType, Size: int(e.Size), diff --git a/pkg/api/console/v1/types/evidence_state_transition.go b/pkg/api/console/v1/types/evidence_state_transition.go index 464e14b33..4a43738f9 100644 --- a/pkg/api/console/v1/types/evidence_state_transition.go +++ b/pkg/api/console/v1/types/evidence_state_transition.go @@ -42,16 +42,15 @@ func NewEvidenceStateTransitionEdge(est *coredata.EvidenceStateTransition) *Evid } func NewEvidenceStateTransition(est *coredata.EvidenceStateTransition) *EvidenceStateTransition { - var fromState *EvidenceState + var fromState *coredata.EvidenceState if est.FromState != nil { - val := EvidenceState((*est.FromState).String()) - fromState = &val + fromState = est.FromState } return &EvidenceStateTransition{ ID: est.ID, FromState: fromState, - ToState: EvidenceState(est.ToState.String()), + ToState: est.ToState, Reason: est.Reason, CreatedAt: est.CreatedAt, UpdatedAt: est.UpdatedAt, diff --git a/pkg/api/console/v1/types/task.go b/pkg/api/console/v1/types/task.go index 2f5be1841..01e8f0ffc 100644 --- a/pkg/api/console/v1/types/task.go +++ b/pkg/api/console/v1/types/task.go @@ -44,7 +44,7 @@ func NewTask(t *coredata.Task) *Task { ID: t.ID, Name: t.Name, Description: t.Description, - State: TaskState(t.State.String()), + State: t.State, CreatedAt: t.CreatedAt, UpdatedAt: t.UpdatedAt, } diff --git a/pkg/api/console/v1/types/task_state_transition.go b/pkg/api/console/v1/types/task_state_transition.go index 72d7209b2..673403034 100644 --- a/pkg/api/console/v1/types/task_state_transition.go +++ b/pkg/api/console/v1/types/task_state_transition.go @@ -42,16 +42,15 @@ func NewTaskStateTransitionEdge(tst *coredata.TaskStateTransition) *TaskStateTra } func NewTaskStateTransition(tst *coredata.TaskStateTransition) *TaskStateTransition { - var fromState *TaskState + var fromState *coredata.TaskState if tst.FromState != nil { - val := TaskState((*tst.FromState).String()) - fromState = &val + fromState = tst.FromState } return &TaskStateTransition{ ID: tst.ID, FromState: fromState, - ToState: TaskState(tst.ToState.String()), + ToState: tst.ToState, Reason: tst.Reason, CreatedAt: tst.CreatedAt, UpdatedAt: tst.UpdatedAt, diff --git a/pkg/api/console/v1/types/types.go b/pkg/api/console/v1/types/types.go index 337d723b8..5f20be4fa 100644 --- a/pkg/api/console/v1/types/types.go +++ b/pkg/api/console/v1/types/types.go @@ -3,9 +3,6 @@ package types import ( - "fmt" - "io" - "strconv" "time" "github.com/getprobo/probo/pkg/gid" @@ -22,7 +19,7 @@ type Control struct { ID gid.GID `json:"id"` Name string `json:"name"` Description string `json:"description"` - State ControlState `json:"state"` + State coredata.ControlState `json:"state"` StateTransisions *ControlStateTransitionConnection `json:"stateTransisions"` Tasks *TaskConnection `json:"tasks"` CreatedAt time.Time `json:"createdAt"` @@ -43,12 +40,12 @@ type ControlEdge struct { } type ControlStateTransition struct { - ID gid.GID `json:"id"` - FromState *ControlState `json:"fromState,omitempty"` - ToState ControlState `json:"toState"` - Reason *string `json:"reason,omitempty"` - CreatedAt time.Time `json:"createdAt"` - UpdatedAt time.Time `json:"updatedAt"` + ID gid.GID `json:"id"` + FromState *coredata.ControlState `json:"fromState,omitempty"` + ToState coredata.ControlState `json:"toState"` + Reason *string `json:"reason,omitempty"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` } type ControlStateTransitionConnection struct { @@ -86,7 +83,7 @@ type Evidence struct { FileURL string `json:"fileUrl"` MimeType string `json:"mimeType"` Size int `json:"size"` - State EvidenceState `json:"state"` + State coredata.EvidenceState `json:"state"` StateTransisions *EvidenceStateTransitionConnection `json:"stateTransisions"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` @@ -106,12 +103,12 @@ type EvidenceEdge struct { } type EvidenceStateTransition struct { - ID gid.GID `json:"id"` - FromState *EvidenceState `json:"fromState,omitempty"` - ToState EvidenceState `json:"toState"` - Reason *string `json:"reason,omitempty"` - CreatedAt time.Time `json:"createdAt"` - UpdatedAt time.Time `json:"updatedAt"` + ID gid.GID `json:"id"` + FromState *coredata.EvidenceState `json:"fromState,omitempty"` + ToState coredata.EvidenceState `json:"toState"` + Reason *string `json:"reason,omitempty"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` } type EvidenceStateTransitionConnection struct { @@ -200,7 +197,7 @@ type Task struct { ID gid.GID `json:"id"` Name string `json:"name"` Description string `json:"description"` - State TaskState `json:"state"` + State coredata.TaskState `json:"state"` StateTransisions *TaskStateTransitionConnection `json:"stateTransisions"` Evidences *EvidenceConnection `json:"evidences"` CreatedAt time.Time `json:"createdAt"` @@ -221,12 +218,12 @@ type TaskEdge struct { } type TaskStateTransition struct { - ID gid.GID `json:"id"` - FromState *TaskState `json:"fromState,omitempty"` - ToState TaskState `json:"toState"` - Reason *string `json:"reason,omitempty"` - CreatedAt time.Time `json:"createdAt"` - UpdatedAt time.Time `json:"updatedAt"` + ID gid.GID `json:"id"` + FromState *coredata.TaskState `json:"fromState,omitempty"` + ToState coredata.TaskState `json:"toState"` + Reason *string `json:"reason,omitempty"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` } type TaskStateTransitionConnection struct { @@ -258,132 +255,3 @@ type VendorEdge struct { Cursor page.CursorKey `json:"cursor"` Node *Vendor `json:"node"` } - -type ControlState string - -const ( - ControlStateNotStarted ControlState = "NOT_STARTED" - ControlStateInProgress ControlState = "IN_PROGRESS" - ControlStateNotApplicable ControlState = "NOT_APPLICABLE" - ControlStateImplemented ControlState = "IMPLEMENTED" -) - -var AllControlState = []ControlState{ - ControlStateNotStarted, - ControlStateInProgress, - ControlStateNotApplicable, - ControlStateImplemented, -} - -func (e ControlState) IsValid() bool { - switch e { - case ControlStateNotStarted, ControlStateInProgress, ControlStateNotApplicable, ControlStateImplemented: - return true - } - return false -} - -func (e ControlState) String() string { - return string(e) -} - -func (e *ControlState) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = ControlState(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid ControlState", str) - } - return nil -} - -func (e ControlState) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -type EvidenceState string - -const ( - EvidenceStateValid EvidenceState = "VALID" - EvidenceStateInvalid EvidenceState = "INVALID" - EvidenceStateExpired EvidenceState = "EXPIRED" -) - -var AllEvidenceState = []EvidenceState{ - EvidenceStateValid, - EvidenceStateInvalid, - EvidenceStateExpired, -} - -func (e EvidenceState) IsValid() bool { - switch e { - case EvidenceStateValid, EvidenceStateInvalid, EvidenceStateExpired: - return true - } - return false -} - -func (e EvidenceState) String() string { - return string(e) -} - -func (e *EvidenceState) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = EvidenceState(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid EvidenceState", str) - } - return nil -} - -func (e EvidenceState) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -type TaskState string - -const ( - TaskStateTodo TaskState = "TODO" - TaskStateDone TaskState = "DONE" -) - -var AllTaskState = []TaskState{ - TaskStateTodo, - TaskStateDone, -} - -func (e TaskState) IsValid() bool { - switch e { - case TaskStateTodo, TaskStateDone: - return true - } - return false -} - -func (e TaskState) String() string { - return string(e) -} - -func (e *TaskState) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = TaskState(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid TaskState", str) - } - return nil -} - -func (e TaskState) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} diff --git a/pkg/probo/coredata/evidence_state.go b/pkg/probo/coredata/evidence_state.go index b64b57df7..8299ce549 100644 --- a/pkg/probo/coredata/evidence_state.go +++ b/pkg/probo/coredata/evidence_state.go @@ -26,7 +26,7 @@ type ( const ( EvidenceStateValid EvidenceState = iota EvidenceStateInvalid - EvidenceStateNotExpired + EvidenceStateExpired ) func (es EvidenceState) MarshalText() ([]byte, error) { @@ -41,8 +41,8 @@ func (es *EvidenceState) UnmarshalText(data []byte) error { *es = EvidenceStateValid case EvidenceStateInvalid.String(): *es = EvidenceStateInvalid - case EvidenceStateNotExpired.String(): - *es = EvidenceStateNotExpired + case EvidenceStateExpired.String(): + *es = EvidenceStateExpired default: return fmt.Errorf("invalid EvidenceState value: %q", val) } @@ -58,7 +58,7 @@ func (es EvidenceState) String() string { val = "VALID" case EvidenceStateInvalid: val = "INVALID" - case EvidenceStateNotExpired: + case EvidenceStateExpired: val = "EXPIRED" }