From e67d6799010c546c2bff67436cba0adffe7e8546 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Mon, 7 Apr 2025 13:10:24 -0700 Subject: [PATCH 1/4] submissions: rename mapfix const to match submissions --- pkg/model/mapfix.go | 2 +- pkg/service/mapfixes.go | 8 ++++---- pkg/service_internal/mapfixes.go | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/model/mapfix.go b/pkg/model/mapfix.go index a64c71e..b2b4b92 100644 --- a/pkg/model/mapfix.go +++ b/pkg/model/mapfix.go @@ -13,7 +13,7 @@ const ( MapfixStatusUploading MapfixStatus = 6 MapfixStatusValidated MapfixStatus = 5 MapfixStatusValidating MapfixStatus = 4 - MapfixStatusAccepted MapfixStatus = 3 // pending script review, can re-trigger validation + MapfixStatusAcceptedUnvalidated MapfixStatus = 3 // pending script review, can re-trigger validation // Phase: Creation MapfixStatusChangesRequested MapfixStatus = 2 diff --git a/pkg/service/mapfixes.go b/pkg/service/mapfixes.go index 903b3d8..b9d5b78 100644 --- a/pkg/service/mapfixes.go +++ b/pkg/service/mapfixes.go @@ -25,7 +25,7 @@ var( model.MapfixStatusUploading, model.MapfixStatusValidated, model.MapfixStatusValidating, - model.MapfixStatusAccepted, + model.MapfixStatusAcceptedUnvalidated, } // Allow 5 mapfixes every 10 minutes CreateMapfixRateLimit int64 = 5 @@ -326,7 +326,7 @@ func (svc *Service) ActionMapfixRequestChanges(ctx context.Context, params api.A // transaction smap := datastore.Optional() smap.Add("status_id", model.MapfixStatusChangesRequested) - return svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusValidated, model.MapfixStatusAccepted, model.MapfixStatusSubmitted}, smap) + return svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusValidated, model.MapfixStatusAcceptedUnvalidated, model.MapfixStatusSubmitted}, smap) } // ActionMapfixRevoke invokes actionMapfixRevoke operation. @@ -580,7 +580,7 @@ func (svc *Service) ActionMapfixRetryValidate(ctx context.Context, params api.Ac // transaction smap := datastore.Optional() smap.Add("status_id", model.MapfixStatusValidating) - mapfix, err := svc.DB.Mapfixes().IfStatusThenUpdateAndGet(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusAccepted}, smap) + mapfix, err := svc.DB.Mapfixes().IfStatusThenUpdateAndGet(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusAcceptedUnvalidated}, smap) if err != nil { return err } @@ -639,7 +639,7 @@ func (svc *Service) ActionMapfixAccepted(ctx context.Context, params api.ActionM // transaction smap := datastore.Optional() - smap.Add("status_id", model.MapfixStatusAccepted) + smap.Add("status_id", model.MapfixStatusAcceptedUnvalidated) smap.Add("status_message", "Manually forced reset") return svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusValidating}, smap) } diff --git a/pkg/service_internal/mapfixes.go b/pkg/service_internal/mapfixes.go index 1897398..b3e428f 100644 --- a/pkg/service_internal/mapfixes.go +++ b/pkg/service_internal/mapfixes.go @@ -16,7 +16,7 @@ var( model.MapfixStatusUploading, model.MapfixStatusValidated, model.MapfixStatusValidating, - model.MapfixStatusAccepted, + model.MapfixStatusAcceptedUnvalidated, model.MapfixStatusChangesRequested, model.MapfixStatusSubmitted, model.MapfixStatusUnderConstruction, @@ -63,7 +63,7 @@ func (svc *Service) ActionMapfixValidated(ctx context.Context, params internal.A func (svc *Service) ActionMapfixAccepted(ctx context.Context, params internal.ActionMapfixAcceptedParams) error { // transaction smap := datastore.Optional() - smap.Add("status_id", model.MapfixStatusAccepted) + smap.Add("status_id", model.MapfixStatusAcceptedUnvalidated) smap.Add("status_message", params.StatusMessage) return svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusValidating}, smap) } -- 2.49.1 From f610fc1c0f4accb0916986c75f28b89a2f644b35 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Mon, 7 Apr 2025 13:11:01 -0700 Subject: [PATCH 2/4] submissions: change up status ids in preparation of submission validation --- pkg/model/mapfix.go | 25 ++++++++++++++----------- pkg/model/submission.go | 27 +++++++++++++++------------ 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/pkg/model/mapfix.go b/pkg/model/mapfix.go index b2b4b92..6c9d9a7 100644 --- a/pkg/model/mapfix.go +++ b/pkg/model/mapfix.go @@ -5,20 +5,23 @@ import "time" type MapfixStatus int32 const ( - // Phase: Final MapfixStatus - MapfixStatusRejected MapfixStatus = 8 - MapfixStatusUploaded MapfixStatus = 7 // uploaded to the group, final status for mapfixes + // Phase: Creation + MapfixStatusUnderConstruction MapfixStatus = 0 + MapfixStatusChangesRequested MapfixStatus = 1 + + // Phase: Review + MapfixStatusSubmitting MapfixStatus = 2 + MapfixStatusSubmitted MapfixStatus = 3 // Phase: Testing - MapfixStatusUploading MapfixStatus = 6 - MapfixStatusValidated MapfixStatus = 5 - MapfixStatusValidating MapfixStatus = 4 - MapfixStatusAcceptedUnvalidated MapfixStatus = 3 // pending script review, can re-trigger validation + MapfixStatusAcceptedUnvalidated MapfixStatus = 4 // pending script review, can re-trigger validation + MapfixStatusValidating MapfixStatus = 5 + MapfixStatusValidated MapfixStatus = 6 + MapfixStatusUploading MapfixStatus = 7 - // Phase: Creation - MapfixStatusChangesRequested MapfixStatus = 2 - MapfixStatusSubmitted MapfixStatus = 1 - MapfixStatusUnderConstruction MapfixStatus = 0 + // Phase: Final MapfixStatus + MapfixStatusUploaded MapfixStatus = 8 // uploaded to the group, but pending release + MapfixStatusRejected MapfixStatus = 9 ) type Mapfix struct { diff --git a/pkg/model/submission.go b/pkg/model/submission.go index 1bf2130..8001697 100644 --- a/pkg/model/submission.go +++ b/pkg/model/submission.go @@ -5,21 +5,24 @@ import "time" type SubmissionStatus int32 const ( - // Phase: Final SubmissionStatus - SubmissionStatusReleased SubmissionStatus = 9 - SubmissionStatusRejected SubmissionStatus = 8 + // Phase: Creation + SubmissionStatusUnderConstruction SubmissionStatus = 0 + SubmissionStatusChangesRequested SubmissionStatus = 1 + + // Phase: Review + SubmissionStatusSubmitting SubmissionStatus = 2 + SubmissionStatusSubmitted SubmissionStatus = 3 // Phase: Testing - SubmissionStatusUploaded SubmissionStatus = 7 // uploaded to the group, but pending release - SubmissionStatusUploading SubmissionStatus = 6 - SubmissionStatusValidated SubmissionStatus = 5 - SubmissionStatusValidating SubmissionStatus = 4 - SubmissionStatusAcceptedUnvalidated SubmissionStatus = 3 // pending script review, can re-trigger validation + SubmissionStatusAcceptedUnvalidated SubmissionStatus = 4 // pending script review, can re-trigger validation + SubmissionStatusValidating SubmissionStatus = 5 + SubmissionStatusValidated SubmissionStatus = 6 + SubmissionStatusUploading SubmissionStatus = 7 + SubmissionStatusUploaded SubmissionStatus = 8 // uploaded to the group, but pending release - // Phase: Creation - SubmissionStatusChangesRequested SubmissionStatus = 2 - SubmissionStatusSubmitted SubmissionStatus = 1 - SubmissionStatusUnderConstruction SubmissionStatus = 0 + // Phase: Final SubmissionStatus + SubmissionStatusRejected SubmissionStatus = 9 + SubmissionStatusReleased SubmissionStatus = 10 ) type Submission struct { -- 2.49.1 From 4ba3b5cd01b01c22ebd91107dcb871cf849ef9c0 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Mon, 7 Apr 2025 13:15:04 -0700 Subject: [PATCH 3/4] web: change up status ids --- web/src/app/ts/Mapfix.ts | 25 ++++++++++++++----------- web/src/app/ts/Submission.ts | 31 +++++++++++++++++-------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/web/src/app/ts/Mapfix.ts b/web/src/app/ts/Mapfix.ts index e9727d8..0a2c282 100644 --- a/web/src/app/ts/Mapfix.ts +++ b/web/src/app/ts/Mapfix.ts @@ -1,13 +1,14 @@ const enum MapfixStatus { - UnderConstruction = 0, - Submitted = 1, - ChangesRequested = 2, - AcceptedUnvalidated = 3, - Validating = 4, - Validated = 5, - Uploading = 6, - Uploaded = 7, - Rejected = 8, + UnderConstruction = 0, + ChangesRequested = 1, + Submitting = 2, + Submitted = 3, + AcceptedUnvalidated = 4, + Validating = 5, + Validated = 6, + Uploading = 7, + Uploaded = 8, + Rejected = 9, // MapfixStatus does not have a Released state } @@ -35,8 +36,8 @@ interface MapfixList { function MapfixStatusToString(mapfix_status: MapfixStatus): string { switch (mapfix_status) { - case MapfixStatus.Rejected: - return "REJECTED" + case MapfixStatus.Rejected: + return "REJECTED" case MapfixStatus.Uploading: return "UPLOADING" case MapfixStatus.Uploaded: @@ -51,6 +52,8 @@ function MapfixStatusToString(mapfix_status: MapfixStatus): string { return "CHANGES REQUESTED" case MapfixStatus.Submitted: return "SUBMITTED" + case MapfixStatus.Submitting: + return "SUBMITTING" case MapfixStatus.UnderConstruction: return "UNDER CONSTRUCTION" default: diff --git a/web/src/app/ts/Submission.ts b/web/src/app/ts/Submission.ts index a2003f1..6d24051 100644 --- a/web/src/app/ts/Submission.ts +++ b/web/src/app/ts/Submission.ts @@ -1,14 +1,15 @@ const enum SubmissionStatus { - UnderConstruction = 0, - Submitted = 1, - ChangesRequested = 2, - AcceptedUnvalidated = 3, - Validating = 4, - Validated = 5, - Uploading = 6, - Uploaded = 7, - Rejected = 8, - Released = 9, + UnderConstruction = 0, + ChangesRequested = 1, + Submitting = 2, + Submitted = 3, + AcceptedUnvalidated = 4, + Validating = 5, + Validated = 6, + Uploading = 7, + Uploaded = 8, + Rejected = 9, + Released = 10, } interface SubmissionInfo { @@ -35,10 +36,10 @@ interface SubmissionList { function SubmissionStatusToString(submission_status: SubmissionStatus): string { switch (submission_status) { - case SubmissionStatus.Released: - return "RELEASED" - case SubmissionStatus.Rejected: - return "REJECTED" + case SubmissionStatus.Released: + return "RELEASED" + case SubmissionStatus.Rejected: + return "REJECTED" case SubmissionStatus.Uploading: return "UPLOADING" case SubmissionStatus.Uploaded: @@ -53,6 +54,8 @@ function SubmissionStatusToString(submission_status: SubmissionStatus): string { return "CHANGES REQUESTED" case SubmissionStatus.Submitted: return "SUBMITTED" + case SubmissionStatus.Submitting: + return "SUBMITTING" case SubmissionStatus.UnderConstruction: return "UNDER CONSTRUCTION" default: -- 2.49.1 From 24a5baae7758287532ff91db6dcc2f9416db5538 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Mon, 7 Apr 2025 13:18:20 -0700 Subject: [PATCH 4/4] web: todo: hide Reset buttons for 10 seconds --- web/src/app/submissions/[submissionId]/_reviewButtons.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx index 44862be..345d435 100644 --- a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx +++ b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx @@ -129,6 +129,7 @@ export default function ReviewButtons(props: ReviewId) { if (submissionStatus === SubmissionStatus.Validated) { visibleButtons.push({ name: "Upload", action: "trigger-upload", color: "info", submissionId }); } + // TODO: hide Reset buttons for 10 seconds if (submissionStatus === SubmissionStatus.Uploading) { visibleButtons.push({ name: "Reset Uploading (fix softlocked status)", action: "reset-uploading", color: "error", submissionId }); } -- 2.49.1