This commit is contained in:
Quaternions 2025-04-09 15:36:45 -07:00
parent ca750669db
commit 0324a57e5c
Signed by: Quaternions
GPG Key ID: D0DF5964F79AC131
5 changed files with 33 additions and 28 deletions

@ -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 {

@ -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
}

@ -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
}

@ -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,

@ -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),
})
}