From b89261490d418b578945a704193d5b56d5a86fea Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 11:46:34 -0800 Subject: [PATCH 1/6] wip grpc controller for submissions & mapfixes --- pkg/controller/mapfixes.go | 121 ++++++++++++++++++++++++++++++++++ pkg/controller/submissions.go | 121 ++++++++++++++++++++++++++++++++++ 2 files changed, 242 insertions(+) create mode 100644 pkg/controller/mapfixes.go create mode 100644 pkg/controller/submissions.go diff --git a/pkg/controller/mapfixes.go b/pkg/controller/mapfixes.go new file mode 100644 index 0000000..6fbee62 --- /dev/null +++ b/pkg/controller/mapfixes.go @@ -0,0 +1,121 @@ +package controller + +import ( + "context" + + "git.itzana.me/strafesnet/go-grpc/mapfixes" + "git.itzana.me/strafesnet/maps-service/pkg/model" + "git.itzana.me/strafesnet/maps-service/pkg/service" +) + +type Mapfixes struct { + *mapfixes.UnimplementedMapfixesServiceServer + inner *service.Service +} + +func NewMapfixesController( + inner *service.Service, +) Mapfixes { + return Mapfixes{ + inner: inner, + } +} + +func (svc *Mapfixes) Get(ctx context.Context, request *mapfixes.MapfixId) (*mapfixes.MapfixResponse, error) { + item, err := svc.inner.GetMapfix(ctx, request.ID) + if err != nil { + return nil, err + } + + return &mapfixes.MapfixResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + }, nil +} +func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList) (*mapfixes.MapfixList, error) { + items, err := svc.inner.GetMapfixList(ctx, request.ID) + if err != nil { + return nil, err + } + + resp := mapfixes.MapfixList{} + resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) + for i, item := range items { + resp.Mapfixes[i] = &mapfixes.MapfixResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + } + } + + return &resp, nil +} +func (svc *Mapfixes) List(ctx context.Context, request *mapfixes.ListRequest) (*mapfixes.MapfixList, error) { + if request.Page == nil { + return nil, PageError + } + + filter := service.NewMapfixFilter() + if request.Filter != nil { + if request.Filter.DisplayName != nil { + filter.SetDisplayName(*request.Filter.DisplayName) + } + if request.Filter.Creator != nil { + filter.SetCreator(*request.Filter.Creator) + } + if request.Filter.GameID != nil { + filter.SetGameID(*request.Filter.GameID) + } + if request.Filter.Submitter != nil { + filter.SetSubmitter(*request.Filter.Submitter) + } + } + + items, err := svc.inner.ListMapfixes(ctx, filter, model.Page{ + Number: int32(request.Page.Number), + Size: int32(request.Page.Size), + }) + if err != nil { + return nil, err + } + + resp := mapfixes.MapfixList{} + resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) + for i, item := range items { + resp.Mapfixes[i] = &mapfixes.MapfixResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + } + } + + return &resp, nil +} diff --git a/pkg/controller/submissions.go b/pkg/controller/submissions.go new file mode 100644 index 0000000..556b245 --- /dev/null +++ b/pkg/controller/submissions.go @@ -0,0 +1,121 @@ +package controller + +import ( + "context" + + "git.itzana.me/strafesnet/go-grpc/submissions" + "git.itzana.me/strafesnet/maps-service/pkg/model" + "git.itzana.me/strafesnet/maps-service/pkg/service" +) + +type Submissions struct { + *submissions.UnimplementedSubmissionsServiceServer + inner *service.Service +} + +func NewSubmissionsController( + inner *service.Service, +) Submissions { + return Submissions{ + inner: inner, + } +} + +func (svc *Submissions) Get(ctx context.Context, request *submissions.SubmissionId) (*submissions.SubmissionResponse, error) { + item, err := svc.inner.GetSubmission(ctx, request.ID) + if err != nil { + return nil, err + } + + return &submissions.SubmissionResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + }, nil +} +func (svc *Submissions) GetList(ctx context.Context, request *submissions.SubmissionIdList) (*submissions.SubmissionList, error) { + items, err := svc.inner.GetSubmissionList(ctx, request.ID) + if err != nil { + return nil, err + } + + resp := submissions.SubmissionList{} + resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) + for i, item := range items { + resp.Submissions[i] = &submissions.SubmissionResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + } + } + + return &resp, nil +} +func (svc *Submissions) List(ctx context.Context, request *submissions.ListRequest) (*submissions.SubmissionList, error) { + if request.Page == nil { + return nil, PageError + } + + filter := service.NewSubmissionFilter() + if request.Filter != nil { + if request.Filter.DisplayName != nil { + filter.SetDisplayName(*request.Filter.DisplayName) + } + if request.Filter.Creator != nil { + filter.SetCreator(*request.Filter.Creator) + } + if request.Filter.GameID != nil { + filter.SetGameID(*request.Filter.GameID) + } + if request.Filter.Submitter != nil { + filter.SetSubmitter(*request.Filter.Submitter) + } + } + + items, err := svc.inner.ListSubmissions(ctx, filter, model.Page{ + Number: int32(request.Page.Number), + Size: int32(request.Page.Size), + }) + if err != nil { + return nil, err + } + + resp := submissions.SubmissionList{} + resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) + for i, item := range items { + resp.Submissions[i] = &submissions.SubmissionResponse{ + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + Date: item.Date.Unix(), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + Thumbnail: uint64(item.Thumbnail), + AssetVersion: uint64(item.AssetVersion), + LoadCount: item.LoadCount, + Modes: item.Modes, + } + } + + return &resp, nil +} -- 2.49.1 From 38e9acc16ff97cc82713b9ec3547c17c96dc2448 Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 11:50:24 -0800 Subject: [PATCH 2/6] add controllers --- pkg/cmds/serve.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/cmds/serve.go b/pkg/cmds/serve.go index 24b151e..ebfbdc2 100644 --- a/pkg/cmds/serve.go +++ b/pkg/cmds/serve.go @@ -8,6 +8,8 @@ import ( "git.itzana.me/strafesnet/go-grpc/auth" "git.itzana.me/strafesnet/go-grpc/maps" "git.itzana.me/strafesnet/go-grpc/maps_extended" + "git.itzana.me/strafesnet/go-grpc/mapfixes" + "git.itzana.me/strafesnet/go-grpc/submissions" "git.itzana.me/strafesnet/go-grpc/users" "git.itzana.me/strafesnet/go-grpc/validator" "git.itzana.me/strafesnet/maps-service/pkg/api" @@ -204,7 +206,11 @@ func serve(ctx *cli.Context) error { grpcServer := grpc.NewServer() maps_controller := controller.NewMapsController(&svc_inner) + mapfixes_controller := controller.NewMapfixesController(&svc_inner) + submissions_controller := controller.NewSubmissionsController(&svc_inner) maps_extended.RegisterMapsServiceServer(grpcServer,&maps_controller) + mapfixes.RegisterMapfixesServiceServer(grpcServer,&mapfixes_controller) + submissions.RegisterSubmissionsServiceServer(grpcServer,&submissions_controller) mapfix_controller := validator_controller.NewMapfixesController(&svc_inner) operation_controller := validator_controller.NewOperationsController(&svc_inner) -- 2.49.1 From fcf89ade7c6bd323df01879f8e8bdc62d34082b8 Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 12:31:14 -0800 Subject: [PATCH 3/6] update golang deps --- go.mod | 2 +- go.sum | 38 ++------------------------------------ 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/go.mod b/go.mod index 1d3a4fe..e5e48c8 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.5 require ( git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed - git.itzana.me/strafesnet/go-grpc v0.0.0-20250815013325-1c84f73bdcb1 + git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21 git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9 github.com/dchest/siphash v1.2.3 github.com/gin-gonic/gin v1.10.1 diff --git a/go.sum b/go.sum index 0eba823..bf69f1f 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed h1:eGWIQx2AOrSsLC2dieuSs8MCliRE60tvpZnmxsTBtKc= git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed/go.mod h1:KJal0K++M6HEzSry6JJ2iDPZtOQn5zSstNlDbU3X4Jg= -git.itzana.me/strafesnet/go-grpc v0.0.0-20250815013325-1c84f73bdcb1 h1:imXibfeYcae6og0TTDUFRQ3CQtstGjIoLbCn+pezD2o= -git.itzana.me/strafesnet/go-grpc v0.0.0-20250815013325-1c84f73bdcb1/go.mod h1:X7XTRUScRkBWq8q8bplbeso105RPDlnY7J6Wy1IwBMs= +git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21 h1:CUNYpsFx8YAjfgCM9rEirFs5uG7HVSTSP11jNyX8fRY= +git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21/go.mod h1:X7XTRUScRkBWq8q8bplbeso105RPDlnY7J6Wy1IwBMs= git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9 h1:7lU6jyR7S7Rhh1dnUp7GyIRHUTBXZagw8F4n4hOyxLw= git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9/go.mod h1:uyYerSieEt4v0MJCdPLppG0LtJ4Yj035vuTetWGsxjY= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= @@ -47,8 +47,6 @@ github.com/dchest/siphash v1.2.3 h1:QXwFc8cFOR2dSa/gE6o/HokBMWtLUaNDVd+22aKHeEA= github.com/dchest/siphash v1.2.3/go.mod h1:0NvQU092bT0ipiFN++/rXm69QG9tVxLAlQHIXMPAkHc= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= -github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ= github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -57,8 +55,6 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= -github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= @@ -73,8 +69,6 @@ github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ= github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/go-faster/errors v0.7.1 h1:MkJTnDoEdi9pDabt1dpWf7AA8/BaSYZqibYyhZ20AYg= github.com/go-faster/errors v0.7.1/go.mod h1:5ySTjWFiphBs07IKuiL69nxdfd5+fzh1u7FPGZP2quo= -github.com/go-faster/jx v1.1.0 h1:ZsW3wD+snOdmTDy9eIVgQdjUpXRRV4rqW8NS3t+20bg= -github.com/go-faster/jx v1.1.0/go.mod h1:vKDNikrKoyUmpzaJ0OkIkRQClNHFX/nF3dnTJZb3skg= github.com/go-faster/jx v1.2.0 h1:T2YHJPrFaYu21fJtUxC9GzmluKu8rVIFDwwGBKTDseI= github.com/go-faster/jx v1.2.0/go.mod h1:UWLOVDmMG597a5tBFPLIWJdUxz5/2emOpfsj9Neg0PE= github.com/go-faster/yaml v0.4.6 h1:lOK/EhI04gCpPgPhgt0bChS6bvw7G3WwI8xxVe0sw9I= @@ -152,8 +146,6 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -173,11 +165,8 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -192,8 +181,6 @@ github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDm github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/ogen-go/ogen v1.2.1 h1:C5A0lvUMu2wl+eWIxnpXMWnuOJ26a2FyzR1CIC2qG0M= -github.com/ogen-go/ogen v1.2.1/go.mod h1:P2zQdEu8UqaVRfD5GEFvl+9q63VjMLvDquq1wVbyInM= github.com/ogen-go/ogen v1.18.0 h1:6RQ7lFBjOeNaUWu4getfqIh4GJbEY4hqKuzDtec/g60= github.com/ogen-go/ogen v1.18.0/go.mod h1:dHFr2Wf6cA7tSxMI+zPC21UR5hAlDw8ZYUkK3PziURY= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= @@ -208,8 +195,6 @@ github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0t github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= -github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0= github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= @@ -261,8 +246,6 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -271,21 +254,15 @@ golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -301,8 +278,6 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -312,8 +287,6 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -329,11 +302,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -344,8 +314,6 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -355,8 +323,6 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -- 2.49.1 From cbd508f8a768fba2278118da01d72870f1184e52 Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 12:43:48 -0800 Subject: [PATCH 4/6] fix controller --- pkg/controller/mapfixes.go | 78 ++++++++++++++++++----------------- pkg/controller/submissions.go | 78 ++++++++++++++++++----------------- pkg/service/mapfixes.go | 4 ++ 3 files changed, 86 insertions(+), 74 deletions(-) diff --git a/pkg/controller/mapfixes.go b/pkg/controller/mapfixes.go index 6fbee62..3397945 100644 --- a/pkg/controller/mapfixes.go +++ b/pkg/controller/mapfixes.go @@ -4,6 +4,7 @@ import ( "context" "git.itzana.me/strafesnet/go-grpc/mapfixes" + "git.itzana.me/strafesnet/maps-service/pkg/datastore" "git.itzana.me/strafesnet/maps-service/pkg/model" "git.itzana.me/strafesnet/maps-service/pkg/service" ) @@ -28,18 +29,19 @@ func (svc *Mapfixes) Get(ctx context.Context, request *mapfixes.MapfixId) (*mapf } return &mapfixes.MapfixResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + TargetAssetID: item.TargetAssetID, + StatusID: item.StatusID, }, nil } func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList) (*mapfixes.MapfixList, error) { @@ -52,18 +54,19 @@ func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) for i, item := range items { resp.Mapfixes[i] = &mapfixes.MapfixResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + TargetAssetID: item.TargetAssetID, + StatusID: mapfixes.MapfixStatus(item.StatusID), } } @@ -93,7 +96,7 @@ func (svc *Mapfixes) List(ctx context.Context, request *mapfixes.ListRequest) (* items, err := svc.inner.ListMapfixes(ctx, filter, model.Page{ Number: int32(request.Page.Number), Size: int32(request.Page.Size), - }) + }, datastore.ListSortDateDescending) if err != nil { return nil, err } @@ -102,18 +105,19 @@ func (svc *Mapfixes) List(ctx context.Context, request *mapfixes.ListRequest) (* resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) for i, item := range items { resp.Mapfixes[i] = &mapfixes.MapfixResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + TargetAssetID: item.TargetAssetID, + StatusID: mapfixes.MapfixStatus(item.StatusID), } } diff --git a/pkg/controller/submissions.go b/pkg/controller/submissions.go index 556b245..4be4f00 100644 --- a/pkg/controller/submissions.go +++ b/pkg/controller/submissions.go @@ -4,6 +4,7 @@ import ( "context" "git.itzana.me/strafesnet/go-grpc/submissions" + "git.itzana.me/strafesnet/maps-service/pkg/datastore" "git.itzana.me/strafesnet/maps-service/pkg/model" "git.itzana.me/strafesnet/maps-service/pkg/service" ) @@ -28,18 +29,19 @@ func (svc *Submissions) Get(ctx context.Context, request *submissions.Submission } return &submissions.SubmissionResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + UploadedAssetID: item.UploadedAssetID, + StatusID: submissions.SubmissionStatus(item.StatusID), }, nil } func (svc *Submissions) GetList(ctx context.Context, request *submissions.SubmissionIdList) (*submissions.SubmissionList, error) { @@ -52,18 +54,19 @@ func (svc *Submissions) GetList(ctx context.Context, request *submissions.Submis resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) for i, item := range items { resp.Submissions[i] = &submissions.SubmissionResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + UploadedAssetID: item.UploadedAssetID, + StatusID: submissions.SubmissionStatus(item.StatusID), } } @@ -93,7 +96,7 @@ func (svc *Submissions) List(ctx context.Context, request *submissions.ListReque items, err := svc.inner.ListSubmissions(ctx, filter, model.Page{ Number: int32(request.Page.Number), Size: int32(request.Page.Size), - }) + },datastore.ListSortDateDescending) if err != nil { return nil, err } @@ -102,18 +105,19 @@ func (svc *Submissions) List(ctx context.Context, request *submissions.ListReque resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) for i, item := range items { resp.Submissions[i] = &submissions.SubmissionResponse{ - ID: item.ID, - DisplayName: item.DisplayName, - Creator: item.Creator, - GameID: uint32(item.GameID), - Date: item.Date.Unix(), - CreatedAt: item.CreatedAt.Unix(), - UpdatedAt: item.UpdatedAt.Unix(), - Submitter: uint64(item.Submitter), - Thumbnail: uint64(item.Thumbnail), - AssetVersion: uint64(item.AssetVersion), - LoadCount: item.LoadCount, - Modes: item.Modes, + ID: item.ID, + DisplayName: item.DisplayName, + Creator: item.Creator, + GameID: uint32(item.GameID), + CreatedAt: item.CreatedAt.Unix(), + UpdatedAt: item.UpdatedAt.Unix(), + Submitter: uint64(item.Submitter), + AssetVersion: uint64(item.AssetVersion), + AssetID: item.AssetID, + ValidatedAssetID: item.ValidatedAssetID, + ValidatedAssetVersion: item.ValidatedAssetVersion, + UploadedAssetID: item.UploadedAssetID, + StatusID: submissions.SubmissionStatus(item.StatusID), } } diff --git a/pkg/service/mapfixes.go b/pkg/service/mapfixes.go index 9ca7fe4..40b2346 100644 --- a/pkg/service/mapfixes.go +++ b/pkg/service/mapfixes.go @@ -103,6 +103,10 @@ func (svc *Service) GetMapfix(ctx context.Context, id int64) (model.Mapfix, erro return svc.db.Mapfixes().Get(ctx, id) } +func (svc *Service) GetMapfixList(ctx context.Context, ids []int64) ([]model.Mapfix, error) { + return svc.db.Mapfixes().GetList(ctx, ids) +} + func (svc *Service) UpdateMapfix(ctx context.Context, id int64, pmap MapfixUpdate) error { return svc.db.Mapfixes().Update(ctx, id, datastore.OptionalMap(pmap)) } -- 2.49.1 From 5981711e3a7d9e82f85455077af77c02286243a4 Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 12:45:04 -0800 Subject: [PATCH 5/6] update go-grpc --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e5e48c8..400a74e 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.5 require ( git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed - git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21 + git.itzana.me/strafesnet/go-grpc v0.0.0-20251228204118-c20dbb42afec git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9 github.com/dchest/siphash v1.2.3 github.com/gin-gonic/gin v1.10.1 diff --git a/go.sum b/go.sum index bf69f1f..c2c5099 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed h1:eGWIQx2AOrSsLC2dieuSs8MCliRE60tvpZnmxsTBtKc= git.itzana.me/StrafesNET/dev-service v0.0.0-20250628052121-92af8193b5ed/go.mod h1:KJal0K++M6HEzSry6JJ2iDPZtOQn5zSstNlDbU3X4Jg= -git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21 h1:CUNYpsFx8YAjfgCM9rEirFs5uG7HVSTSP11jNyX8fRY= -git.itzana.me/strafesnet/go-grpc v0.0.0-20251228201805-b00c6cec2e21/go.mod h1:X7XTRUScRkBWq8q8bplbeso105RPDlnY7J6Wy1IwBMs= +git.itzana.me/strafesnet/go-grpc v0.0.0-20251228204118-c20dbb42afec h1:JSar9If1kzb02+Erp+zmSqHKWPPP2NqMQVK15pRmkLE= +git.itzana.me/strafesnet/go-grpc v0.0.0-20251228204118-c20dbb42afec/go.mod h1:X7XTRUScRkBWq8q8bplbeso105RPDlnY7J6Wy1IwBMs= git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9 h1:7lU6jyR7S7Rhh1dnUp7GyIRHUTBXZagw8F4n4hOyxLw= git.itzana.me/strafesnet/utils v0.0.0-20220716194944-d8ca164052f9/go.mod h1:uyYerSieEt4v0MJCdPLppG0LtJ4Yj035vuTetWGsxjY= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -- 2.49.1 From d9d0669220602da8e88389738dedc354b86ce1cf Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sun, 28 Dec 2025 12:50:58 -0800 Subject: [PATCH 6/6] fix controller --- pkg/controller/mapfixes.go | 38 +++++++++++++++++++----- pkg/controller/submissions.go | 56 ++++++++++++++++++++++++++++------- 2 files changed, 77 insertions(+), 17 deletions(-) diff --git a/pkg/controller/mapfixes.go b/pkg/controller/mapfixes.go index 3397945..561f0f6 100644 --- a/pkg/controller/mapfixes.go +++ b/pkg/controller/mapfixes.go @@ -28,6 +28,14 @@ func (svc *Mapfixes) Get(ctx context.Context, request *mapfixes.MapfixId) (*mapf return nil, err } + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } return &mapfixes.MapfixResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -38,10 +46,10 @@ func (svc *Mapfixes) Get(ctx context.Context, request *mapfixes.MapfixId) (*mapf Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, TargetAssetID: item.TargetAssetID, - StatusID: item.StatusID, + StatusID: mapfixes.MapfixStatus(item.StatusID), }, nil } func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList) (*mapfixes.MapfixList, error) { @@ -53,6 +61,14 @@ func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList resp := mapfixes.MapfixList{} resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) for i, item := range items { + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } resp.Mapfixes[i] = &mapfixes.MapfixResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -63,8 +79,8 @@ func (svc *Mapfixes) GetList(ctx context.Context, request *mapfixes.MapfixIdList Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, TargetAssetID: item.TargetAssetID, StatusID: mapfixes.MapfixStatus(item.StatusID), } @@ -104,6 +120,14 @@ func (svc *Mapfixes) List(ctx context.Context, request *mapfixes.ListRequest) (* resp := mapfixes.MapfixList{} resp.Mapfixes = make([]*mapfixes.MapfixResponse, len(items)) for i, item := range items { + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } resp.Mapfixes[i] = &mapfixes.MapfixResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -114,8 +138,8 @@ func (svc *Mapfixes) List(ctx context.Context, request *mapfixes.ListRequest) (* Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, TargetAssetID: item.TargetAssetID, StatusID: mapfixes.MapfixStatus(item.StatusID), } diff --git a/pkg/controller/submissions.go b/pkg/controller/submissions.go index 4be4f00..67c0f25 100644 --- a/pkg/controller/submissions.go +++ b/pkg/controller/submissions.go @@ -28,6 +28,18 @@ func (svc *Submissions) Get(ctx context.Context, request *submissions.Submission return nil, err } + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } + var uploaded_asset_id *uint64 + if item.UploadedAssetID != 0 { + uploaded_asset_id = &item.UploadedAssetID + } return &submissions.SubmissionResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -38,9 +50,9 @@ func (svc *Submissions) Get(ctx context.Context, request *submissions.Submission Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, - UploadedAssetID: item.UploadedAssetID, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, + UploadedAssetID: uploaded_asset_id, StatusID: submissions.SubmissionStatus(item.StatusID), }, nil } @@ -53,6 +65,18 @@ func (svc *Submissions) GetList(ctx context.Context, request *submissions.Submis resp := submissions.SubmissionList{} resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) for i, item := range items { + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } + var uploaded_asset_id *uint64 + if item.UploadedAssetID != 0 { + uploaded_asset_id = &item.UploadedAssetID + } resp.Submissions[i] = &submissions.SubmissionResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -63,9 +87,9 @@ func (svc *Submissions) GetList(ctx context.Context, request *submissions.Submis Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, - UploadedAssetID: item.UploadedAssetID, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, + UploadedAssetID: uploaded_asset_id, StatusID: submissions.SubmissionStatus(item.StatusID), } } @@ -96,7 +120,7 @@ func (svc *Submissions) List(ctx context.Context, request *submissions.ListReque items, err := svc.inner.ListSubmissions(ctx, filter, model.Page{ Number: int32(request.Page.Number), Size: int32(request.Page.Size), - },datastore.ListSortDateDescending) + }, datastore.ListSortDateDescending) if err != nil { return nil, err } @@ -104,6 +128,18 @@ func (svc *Submissions) List(ctx context.Context, request *submissions.ListReque resp := submissions.SubmissionList{} resp.Submissions = make([]*submissions.SubmissionResponse, len(items)) for i, item := range items { + var validated_asset_id *uint64 + if item.ValidatedAssetID != 0 { + validated_asset_id = &item.ValidatedAssetID + } + var validated_asset_version *uint64 + if item.ValidatedAssetVersion != 0 { + validated_asset_version = &item.ValidatedAssetVersion + } + var uploaded_asset_id *uint64 + if item.UploadedAssetID != 0 { + uploaded_asset_id = &item.UploadedAssetID + } resp.Submissions[i] = &submissions.SubmissionResponse{ ID: item.ID, DisplayName: item.DisplayName, @@ -114,9 +150,9 @@ func (svc *Submissions) List(ctx context.Context, request *submissions.ListReque Submitter: uint64(item.Submitter), AssetVersion: uint64(item.AssetVersion), AssetID: item.AssetID, - ValidatedAssetID: item.ValidatedAssetID, - ValidatedAssetVersion: item.ValidatedAssetVersion, - UploadedAssetID: item.UploadedAssetID, + ValidatedAssetID: validated_asset_id, + ValidatedAssetVersion: validated_asset_version, + UploadedAssetID: uploaded_asset_id, StatusID: submissions.SubmissionStatus(item.StatusID), } } -- 2.49.1