diff --git a/pkg/datastore/datastore.go b/pkg/datastore/datastore.go index 1903bd4..db84b20 100644 --- a/pkg/datastore/datastore.go +++ b/pkg/datastore/datastore.go @@ -49,7 +49,7 @@ type Mapfixes interface { IfStatusThenUpdateAndGet(ctx context.Context, id int64, statuses []model.MapfixStatus, values OptionalMap) (model.Mapfix, error) Delete(ctx context.Context, id int64) error List(ctx context.Context, filters OptionalMap, page model.Page, sort ListSort) ([]model.Mapfix, error) - ListWithTotal(ctx context.Context, filters OptionalMap, page model.Page, sort ListSort) (int64, []model.Mapfix, error) + ListWithTotal(ctx context.Context, filters OptionalMap, page model.Page, sort ListSort) (uint64, []model.Mapfix, error) } type Operations interface { diff --git a/pkg/datastore/filter.go b/pkg/datastore/filter.go index 8c8cdeb..eb11895 100644 --- a/pkg/datastore/filter.go +++ b/pkg/datastore/filter.go @@ -10,12 +10,17 @@ func Optional() OptionalMap { return OptionalMap{filter: map[string]interface{}{}} } -func (q OptionalMap) Add(column string, value interface{}) OptionalMap { +func (q OptionalMap) Add2(column string, value interface{}) OptionalMap { q.filter[column] = value return q } -func (q OptionalMap) AddInt(column string, value uint64) OptionalMap { +func (q OptionalMap) AddPostgresInt32(column string, value uint32) OptionalMap { + q.filter[column] = value + return q +} + +func (q OptionalMap) AddPostgresInt64(column string, value uint64) OptionalMap { q.filter[column] = value return q } diff --git a/pkg/datastore/gormstore/mapfixes.go b/pkg/datastore/gormstore/mapfixes.go index 50f4a05..6a0a99f 100644 --- a/pkg/datastore/gormstore/mapfixes.go +++ b/pkg/datastore/gormstore/mapfixes.go @@ -131,7 +131,7 @@ func (env *Mapfixes) List(ctx context.Context, filters datastore.OptionalMap, pa return maps, nil } -func (env *Mapfixes) ListWithTotal(ctx context.Context, filters datastore.OptionalMap, page model.Page, sort datastore.ListSort) (int64, []model.Mapfix, error) { +func (env *Mapfixes) ListWithTotal(ctx context.Context, filters datastore.OptionalMap, page model.Page, sort datastore.ListSort) (uint64, []model.Mapfix, error) { // grab page items maps, err := env.List(ctx, filters, page, sort) if err != nil{ @@ -144,5 +144,5 @@ func (env *Mapfixes) ListWithTotal(ctx context.Context, filters datastore.Option return 0, nil, err } - return total, maps, nil + return uint64(total), maps, nil } diff --git a/pkg/service/audit_events.go b/pkg/service/audit_events.go index 39eefb4..76dec3b 100644 --- a/pkg/service/audit_events.go +++ b/pkg/service/audit_events.go @@ -72,8 +72,8 @@ func (svc *Service) CreateMapfixAuditComment(ctx context.Context, req api.Create func (svc *Service) ListMapfixAuditEvents(ctx context.Context, params api.ListMapfixAuditEventsParams) ([]api.AuditEvent, error) { filter := datastore.Optional() - filter.AddInt("resource_type", uint64(model.ResourceMapfix)) - filter.AddInt("resource_id", params.MapfixID) + filter.AddPostgresInt32("resource_type", uint32(model.ResourceMapfix)) + filter.AddPostgresInt64("resource_id", params.MapfixID) items, err := svc.DB.AuditEvents().List(ctx, filter, model.Page{ Number: params.Page, @@ -167,8 +167,8 @@ func (svc *Service) CreateSubmissionAuditComment(ctx context.Context, req api.Cr func (svc *Service) ListSubmissionAuditEvents(ctx context.Context, params api.ListSubmissionAuditEventsParams) ([]api.AuditEvent, error) { filter := datastore.Optional() - filter.AddInt("resource_type", uint64(model.ResourceSubmission)) - filter.AddInt("resource_id", params.SubmissionID) + filter.AddPostgresInt32("resource_type", uint32(model.ResourceSubmission)) + filter.AddPostgresInt64("resource_id", params.SubmissionID) items, err := svc.DB.AuditEvents().List(ctx, filter, model.Page{ Number: params.Page, diff --git a/pkg/service/mapfixes.go b/pkg/service/mapfixes.go index c63d813..53b09e0 100644 --- a/pkg/service/mapfixes.go +++ b/pkg/service/mapfixes.go @@ -148,12 +148,12 @@ func (svc *Service) GetMapfix(ctx context.Context, params api.GetMapfixParams) ( GameID: uint32(mapfix.GameID), CreatedAt: mapfix.CreatedAt.Unix(), UpdatedAt: mapfix.UpdatedAt.Unix(), - Submitter: int64(mapfix.Submitter), - AssetID: int64(mapfix.AssetID), - AssetVersion: int64(mapfix.AssetVersion), + Submitter: mapfix.Submitter, + AssetID: mapfix.AssetID, + AssetVersion: mapfix.AssetVersion, Completed: mapfix.Completed, - TargetAssetID: int64(mapfix.TargetAssetID), - StatusID: int32(mapfix.StatusID), + TargetAssetID: mapfix.TargetAssetID, + StatusID: uint32(mapfix.StatusID), StatusMessage: mapfix.StatusMessage, }, nil } @@ -167,28 +167,28 @@ func (svc *Service) ListMapfixes(ctx context.Context, params api.ListMapfixesPar filter := datastore.Optional() if params.DisplayName.IsSet(){ - filter.Add("display_name", params.DisplayName.Value) + filter.Add2("display_name", params.DisplayName.Value) } if params.Creator.IsSet(){ - filter.Add("creator", params.Creator.Value) + filter.Add2("creator", params.Creator.Value) } if params.GameID.IsSet(){ - filter.Add("game_id", params.GameID.Value) + filter.AddPostgresInt32("game_id", params.GameID.Value) } if params.Submitter.IsSet(){ - filter.Add("submitter", params.Submitter.Value) + filter.AddPostgresInt64("submitter", params.Submitter.Value) } if params.AssetID.IsSet(){ - filter.Add("asset_id", params.AssetID.Value) + filter.AddPostgresInt64("asset_id", params.AssetID.Value) } if params.TargetAssetID.IsSet(){ - filter.Add("target_asset_id", params.TargetAssetID.Value) + filter.AddPostgresInt64("target_asset_id", params.TargetAssetID.Value) } if params.StatusID.IsSet(){ - filter.Add("status_id", params.StatusID.Value) + filter.AddPostgresInt32("status_id", params.StatusID.Value) } - sort := datastore.ListSort(params.Sort.Or(int32(datastore.ListSortDisabled))) + sort := datastore.ListSort(params.Sort.Or(uint32(datastore.ListSortDisabled))) total, items, err := svc.DB.Mapfixes().ListWithTotal(ctx, filter, model.Page{ Number: params.Page, @@ -205,15 +205,15 @@ func (svc *Service) ListMapfixes(ctx context.Context, params api.ListMapfixesPar ID: item.ID, DisplayName: item.DisplayName, Creator: item.Creator, - GameID: int32(item.GameID), + GameID: item.GameID, CreatedAt: item.CreatedAt.Unix(), UpdatedAt: item.UpdatedAt.Unix(), - Submitter: int64(item.Submitter), - AssetID: int64(item.AssetID), - AssetVersion: int64(item.AssetVersion), + Submitter: item.Submitter, + AssetID: item.AssetID, + AssetVersion: item.AssetVersion, Completed: item.Completed, - TargetAssetID: int64(item.TargetAssetID), - StatusID: int32(item.StatusID), + TargetAssetID: item.TargetAssetID, + StatusID: uint32(item.StatusID), }) }