submissions: more filtering options for listing submissions #107

Merged
Quaternions merged 3 commits from pr into staging 2025-04-06 22:35:30 +00:00
6 changed files with 854 additions and 12 deletions

View File

@@ -185,6 +185,31 @@ paths:
format: int32
minimum: 0
maximum: 4
- name: Submitter
in: query
schema:
type: integer
format: int64
minimum: 0
- name: AssetID
in: query
schema:
type: integer
format: int64
minimum: 0
- name: TargetAssetID
in: query
schema:
type: integer
format: int64
minimum: 0
- name: StatusID
in: query
schema:
type: integer
format: int32
minimum: 0
maximum: 8
responses:
"200":
description: Successful response
@@ -500,6 +525,31 @@ paths:
format: int32
minimum: 0
maximum: 4
- name: Submitter
in: query
schema:
type: integer
format: int64
minimum: 0
- name: AssetID
in: query
schema:
type: integer
format: int64
minimum: 0
- name: UploadedAssetID
in: query
schema:
type: integer
format: int64
minimum: 0
- name: StatusID
in: query
schema:
type: integer
format: int32
minimum: 0
maximum: 9
responses:
"200":
description: Successful response

View File

@@ -3981,6 +3981,74 @@ func (c *Client) sendListMapfixes(ctx context.Context, params ListMapfixesParams
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "Submitter" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "Submitter",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.Submitter.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "AssetID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "AssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.AssetID.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "TargetAssetID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "TargetAssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.TargetAssetID.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "StatusID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "StatusID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.StatusID.Get(); ok {
return e.EncodeValue(conv.Int32ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
u.RawQuery = q.Values().Encode()
stage = "EncodeRequest"
@@ -4669,6 +4737,74 @@ func (c *Client) sendListSubmissions(ctx context.Context, params ListSubmissions
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "Submitter" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "Submitter",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.Submitter.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "AssetID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "AssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.AssetID.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "UploadedAssetID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "UploadedAssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.UploadedAssetID.Get(); ok {
return e.EncodeValue(conv.Int64ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
{
// Encode "StatusID" parameter.
cfg := uri.QueryParameterEncodingConfig{
Name: "StatusID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.EncodeParam(cfg, func(e uri.Encoder) error {
if val, ok := params.StatusID.Get(); ok {
return e.EncodeValue(conv.Int32ToString(val))
}
return nil
}); err != nil {
return res, errors.Wrap(err, "encode query")
}
}
u.RawQuery = q.Values().Encode()
stage = "EncodeRequest"

View File

@@ -5768,6 +5768,22 @@ func (s *Server) handleListMapfixesRequest(args [0]string, argsEscaped bool, w h
Name: "Sort",
In: "query",
}: params.Sort,
{
Name: "Submitter",
In: "query",
}: params.Submitter,
{
Name: "AssetID",
In: "query",
}: params.AssetID,
{
Name: "TargetAssetID",
In: "query",
}: params.TargetAssetID,
{
Name: "StatusID",
In: "query",
}: params.StatusID,
},
Raw: r,
}
@@ -6444,6 +6460,22 @@ func (s *Server) handleListSubmissionsRequest(args [0]string, argsEscaped bool,
Name: "Sort",
In: "query",
}: params.Sort,
{
Name: "Submitter",
In: "query",
}: params.Submitter,
{
Name: "AssetID",
In: "query",
}: params.AssetID,
{
Name: "UploadedAssetID",
In: "query",
}: params.UploadedAssetID,
{
Name: "StatusID",
In: "query",
}: params.StatusID,
},
Raw: r,
}

View File

@@ -2175,12 +2175,16 @@ func decodeGetSubmissionParams(args [1]string, argsEscaped bool, r *http.Request
// ListMapfixesParams is parameters of listMapfixes operation.
type ListMapfixesParams struct {
Page int32
Limit int32
DisplayName OptString
Creator OptString
GameID OptInt32
Sort OptInt32
Page int32
Limit int32
DisplayName OptString
Creator OptString
GameID OptInt32
Sort OptInt32
Submitter OptInt64
AssetID OptInt64
TargetAssetID OptInt64
StatusID OptInt32
}
func unpackListMapfixesParams(packed middleware.Parameters) (params ListMapfixesParams) {
@@ -2234,6 +2238,42 @@ func unpackListMapfixesParams(packed middleware.Parameters) (params ListMapfixes
params.Sort = v.(OptInt32)
}
}
{
key := middleware.ParameterKey{
Name: "Submitter",
In: "query",
}
if v, ok := packed[key]; ok {
params.Submitter = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "AssetID",
In: "query",
}
if v, ok := packed[key]; ok {
params.AssetID = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "TargetAssetID",
In: "query",
}
if v, ok := packed[key]; ok {
params.TargetAssetID = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "StatusID",
In: "query",
}
if v, ok := packed[key]; ok {
params.StatusID = v.(OptInt32)
}
}
return params
}
@@ -2603,6 +2643,266 @@ func decodeListMapfixesParams(args [0]string, argsEscaped bool, r *http.Request)
Err: err,
}
}
// Decode query: Submitter.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "Submitter",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotSubmitterVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotSubmitterVal = c
return nil
}(); err != nil {
return err
}
params.Submitter.SetTo(paramsDotSubmitterVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.Submitter.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "Submitter",
In: "query",
Err: err,
}
}
// Decode query: AssetID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "AssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotAssetIDVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotAssetIDVal = c
return nil
}(); err != nil {
return err
}
params.AssetID.SetTo(paramsDotAssetIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.AssetID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "AssetID",
In: "query",
Err: err,
}
}
// Decode query: TargetAssetID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "TargetAssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotTargetAssetIDVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotTargetAssetIDVal = c
return nil
}(); err != nil {
return err
}
params.TargetAssetID.SetTo(paramsDotTargetAssetIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.TargetAssetID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "TargetAssetID",
In: "query",
Err: err,
}
}
// Decode query: StatusID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "StatusID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotStatusIDVal int32
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt32(val)
if err != nil {
return err
}
paramsDotStatusIDVal = c
return nil
}(); err != nil {
return err
}
params.StatusID.SetTo(paramsDotStatusIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.StatusID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: true,
Max: 8,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "StatusID",
In: "query",
Err: err,
}
}
return params, nil
}
@@ -3907,12 +4207,16 @@ func decodeListScriptsParams(args [0]string, argsEscaped bool, r *http.Request)
// ListSubmissionsParams is parameters of listSubmissions operation.
type ListSubmissionsParams struct {
Page int32
Limit int32
DisplayName OptString
Creator OptString
GameID OptInt32
Sort OptInt32
Page int32
Limit int32
DisplayName OptString
Creator OptString
GameID OptInt32
Sort OptInt32
Submitter OptInt64
AssetID OptInt64
UploadedAssetID OptInt64
StatusID OptInt32
}
func unpackListSubmissionsParams(packed middleware.Parameters) (params ListSubmissionsParams) {
@@ -3966,6 +4270,42 @@ func unpackListSubmissionsParams(packed middleware.Parameters) (params ListSubmi
params.Sort = v.(OptInt32)
}
}
{
key := middleware.ParameterKey{
Name: "Submitter",
In: "query",
}
if v, ok := packed[key]; ok {
params.Submitter = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "AssetID",
In: "query",
}
if v, ok := packed[key]; ok {
params.AssetID = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "UploadedAssetID",
In: "query",
}
if v, ok := packed[key]; ok {
params.UploadedAssetID = v.(OptInt64)
}
}
{
key := middleware.ParameterKey{
Name: "StatusID",
In: "query",
}
if v, ok := packed[key]; ok {
params.StatusID = v.(OptInt32)
}
}
return params
}
@@ -4335,6 +4675,266 @@ func decodeListSubmissionsParams(args [0]string, argsEscaped bool, r *http.Reque
Err: err,
}
}
// Decode query: Submitter.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "Submitter",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotSubmitterVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotSubmitterVal = c
return nil
}(); err != nil {
return err
}
params.Submitter.SetTo(paramsDotSubmitterVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.Submitter.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "Submitter",
In: "query",
Err: err,
}
}
// Decode query: AssetID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "AssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotAssetIDVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotAssetIDVal = c
return nil
}(); err != nil {
return err
}
params.AssetID.SetTo(paramsDotAssetIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.AssetID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "AssetID",
In: "query",
Err: err,
}
}
// Decode query: UploadedAssetID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "UploadedAssetID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotUploadedAssetIDVal int64
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt64(val)
if err != nil {
return err
}
paramsDotUploadedAssetIDVal = c
return nil
}(); err != nil {
return err
}
params.UploadedAssetID.SetTo(paramsDotUploadedAssetIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.UploadedAssetID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: false,
Max: 0,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "UploadedAssetID",
In: "query",
Err: err,
}
}
// Decode query: StatusID.
if err := func() error {
cfg := uri.QueryParameterDecodingConfig{
Name: "StatusID",
Style: uri.QueryStyleForm,
Explode: true,
}
if err := q.HasParam(cfg); err == nil {
if err := q.DecodeParam(cfg, func(d uri.Decoder) error {
var paramsDotStatusIDVal int32
if err := func() error {
val, err := d.DecodeValue()
if err != nil {
return err
}
c, err := conv.ToInt32(val)
if err != nil {
return err
}
paramsDotStatusIDVal = c
return nil
}(); err != nil {
return err
}
params.StatusID.SetTo(paramsDotStatusIDVal)
return nil
}); err != nil {
return err
}
if err := func() error {
if value, ok := params.StatusID.Get(); ok {
if err := func() error {
if err := (validate.Int{
MinSet: true,
Min: 0,
MaxSet: true,
Max: 9,
MinExclusive: false,
MaxExclusive: false,
MultipleOfSet: false,
MultipleOf: 0,
}).Validate(int64(value)); err != nil {
return errors.Wrap(err, "int")
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return err
}
}
return nil
}(); err != nil {
return params, &ogenerrors.DecodeParamError{
Name: "StatusID",
In: "query",
Err: err,
}
}
return params, nil
}

View File

@@ -172,6 +172,18 @@ func (svc *Service) ListMapfixes(ctx context.Context, params api.ListMapfixesPar
if params.GameID.IsSet(){
filter.Add("game_id", params.GameID.Value)
}
if params.Submitter.IsSet(){
filter.Add("submitter", params.Submitter.Value)
}
if params.AssetID.IsSet(){
filter.Add("asset_id", params.AssetID.Value)
}
if params.TargetAssetID.IsSet(){
filter.Add("target_asset_id", params.TargetAssetID.Value)
}
if params.StatusID.IsSet(){
filter.Add("status_id", params.StatusID.Value)
}
sort := datastore.ListSort(params.Sort.Or(int32(datastore.ListSortDisabled)))

View File

@@ -161,6 +161,18 @@ func (svc *Service) ListSubmissions(ctx context.Context, params api.ListSubmissi
if params.GameID.IsSet(){
filter.Add("game_id", params.GameID.Value)
}
if params.Submitter.IsSet(){
filter.Add("submitter", params.Submitter.Value)
}
if params.AssetID.IsSet(){
filter.Add("asset_id", params.AssetID.Value)
}
if params.UploadedAssetID.IsSet(){
filter.Add("uploaded_asset_id", params.UploadedAssetID.Value)
}
if params.StatusID.IsSet(){
filter.Add("status_id", params.StatusID.Value)
}
sort := datastore.ListSort(params.Sort.Or(int32(datastore.ListSortDisabled)))