submissions: implement validator-request-changes endpoints
This commit is contained in:
parent
67a03f394f
commit
174a210f81
pkg/service_internal
@ -74,7 +74,7 @@ func (svc *Service) UpdateMapfixValidatedModel(ctx context.Context, params inter
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ActionMapfixValidate invokes actionMapfixValidate operation.
|
// ActionMapfixSubmitted invokes actionMapfixSubmitted operation.
|
||||||
//
|
//
|
||||||
// Role Validator changes status from Submitting -> Submitted.
|
// Role Validator changes status from Submitting -> Submitted.
|
||||||
//
|
//
|
||||||
@ -113,6 +113,46 @@ func (svc *Service) ActionMapfixSubmitted(ctx context.Context, params internal.A
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ActionMapfixRequestChanges implements actionMapfixRequestChanges operation.
|
||||||
|
//
|
||||||
|
// (Internal endpoint) Role Validator changes status from Submitting -> RequestChanges.
|
||||||
|
//
|
||||||
|
// POST /mapfixes/{MapfixID}/status/validator-request-changes
|
||||||
|
func (svc *Service) ActionMapfixRequestChanges(ctx context.Context, params internal.ActionMapfixRequestChangesParams) error {
|
||||||
|
// transaction
|
||||||
|
target_status := model.MapfixStatusChangesRequested
|
||||||
|
smap := datastore.Optional()
|
||||||
|
smap.Add("status_id", target_status)
|
||||||
|
smap.Add("status_message", params.StatusMessage)
|
||||||
|
err := svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusSubmitting}, smap)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
event_data := model.AuditEventDataAction{
|
||||||
|
TargetStatus: uint32(target_status),
|
||||||
|
}
|
||||||
|
|
||||||
|
EventData, err := json.Marshal(event_data)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = svc.DB.AuditEvents().Create(ctx, model.AuditEvent{
|
||||||
|
ID: 0,
|
||||||
|
User: ValidtorUserID,
|
||||||
|
ResourceType: model.ResourceMapfix,
|
||||||
|
ResourceID: params.MapfixID,
|
||||||
|
EventType: model.AuditEventTypeAction,
|
||||||
|
EventData: EventData,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// ActionMapfixValidate invokes actionMapfixValidate operation.
|
// ActionMapfixValidate invokes actionMapfixValidate operation.
|
||||||
//
|
//
|
||||||
// Role Validator changes status from Validating -> Validated.
|
// Role Validator changes status from Validating -> Validated.
|
||||||
|
@ -73,7 +73,7 @@ func (svc *Service) UpdateSubmissionValidatedModel(ctx context.Context, params i
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ActionSubmissionValidate invokes actionSubmissionValidate operation.
|
// ActionSubmissionSubmitted invokes actionSubmissionSubmitted operation.
|
||||||
//
|
//
|
||||||
// Role Validator changes status from Submitting -> Submitted.
|
// Role Validator changes status from Submitting -> Submitted.
|
||||||
//
|
//
|
||||||
@ -112,6 +112,46 @@ func (svc *Service) ActionSubmissionSubmitted(ctx context.Context, params intern
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ActionSubmissionRequestChanges implements actionSubmissionRequestChanges operation.
|
||||||
|
//
|
||||||
|
// (Internal endpoint) Role Validator changes status from Submitting -> RequestChanges.
|
||||||
|
//
|
||||||
|
// POST /submissions/{SubmissionID}/status/validator-request-changes
|
||||||
|
func (svc *Service) ActionSubmissionRequestChanges(ctx context.Context, params internal.ActionSubmissionRequestChangesParams) error {
|
||||||
|
// transaction
|
||||||
|
target_status := model.SubmissionStatusChangesRequested
|
||||||
|
smap := datastore.Optional()
|
||||||
|
smap.Add("status_id", target_status)
|
||||||
|
smap.Add("status_message", params.StatusMessage)
|
||||||
|
err := svc.DB.Submissions().IfStatusThenUpdate(ctx, params.SubmissionID, []model.SubmissionStatus{model.SubmissionStatusSubmitting}, smap)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
event_data := model.AuditEventDataAction{
|
||||||
|
TargetStatus: uint32(target_status),
|
||||||
|
}
|
||||||
|
|
||||||
|
EventData, err := json.Marshal(event_data)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = svc.DB.AuditEvents().Create(ctx, model.AuditEvent{
|
||||||
|
ID: 0,
|
||||||
|
User: ValidtorUserID,
|
||||||
|
ResourceType: model.ResourceSubmission,
|
||||||
|
ResourceID: params.SubmissionID,
|
||||||
|
EventType: model.AuditEventTypeAction,
|
||||||
|
EventData: EventData,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// ActionSubmissionValidate invokes actionSubmissionValidate operation.
|
// ActionSubmissionValidate invokes actionSubmissionValidate operation.
|
||||||
//
|
//
|
||||||
// Role Validator changes status from Validating -> Validated.
|
// Role Validator changes status from Validating -> Validated.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user