fix: support empty query params on timesheets endpoint

See https://github.com/go-swagger/go-swagger/issues/174
This commit is contained in:
decentral1se 2023-01-19 12:19:12 +01:00
parent adcc0c7317
commit 925e2fbf4a
No known key found for this signature in database
GPG Key ID: 03789458B3D0C410
2 changed files with 342 additions and 171 deletions

View File

@ -65,19 +65,19 @@ type GetAPITimesheetsParams struct {
Filter for running/active records. Allowed values: 0=stopped, 1=active (default: all)
*/
Active string
Active *string
/* Activities.
Comma separated list of activity IDs to filter timesheets
*/
Activities string
Activities *string
/* Activity.
DEPRECATED: Activity ID to filter timesheets (will be removed with 2.0)
*/
Activity string
Activity *string
/* Begin.
@ -85,25 +85,25 @@ type GetAPITimesheetsParams struct {
Format: DateTime
*/
Begin string
Begin *string
/* Billable.
Filter for non-/billable records. Allowed values: 0=non-billable, 1=billable (default: all)
*/
Billable string
Billable *string
/* Customer.
DEPRECATED: Customer ID to filter timesheets (will be removed with 2.0)
*/
Customer string
Customer *string
/* Customers.
Comma separated list of customer IDs to filter timesheets
*/
Customers string
Customers *string
/* End.
@ -111,19 +111,19 @@ type GetAPITimesheetsParams struct {
Format: DateTime
*/
End string
End *string
/* Exported.
Use this flag if you want to filter for export state. Allowed values: 0=not exported, 1=exported (default: all)
*/
Exported string
Exported *string
/* Full.
Allows to fetch fully serialized objects including subresources. Allowed values: true (default: false)
*/
Full string
Full *string
/* ModifiedAfter.
@ -131,49 +131,49 @@ type GetAPITimesheetsParams struct {
Format: DateTime
*/
ModifiedAfter string
ModifiedAfter *string
/* Order.
The result order. Allowed values: ASC, DESC (default: DESC)
*/
Order string
Order *string
/* OrderBy.
The field by which results will be ordered. Allowed values: id, begin, end, rate (default: begin)
*/
OrderBy string
OrderBy *string
/* Page.
The page to display, renders a 404 if not found (default: 1)
*/
Page string
Page *string
/* Project.
DEPRECATED: Project ID to filter timesheets (will be removed with 2.0)
*/
Project string
Project *string
/* Projects.
Comma separated list of project IDs to filter timesheets
*/
Projects string
Projects *string
/* Size.
The amount of entries for each page (default: 50)
*/
Size string
Size *string
/* Tags.
Comma separated list of tag names
*/
Tags string
Tags *string
/* Term.
@ -185,7 +185,7 @@ type GetAPITimesheetsParams struct {
User ID to filter timesheets. Needs permission 'view_other_timesheet', pass 'all' to fetch data for all user (default: current user)
*/
User string
User *string
timeout time.Duration
Context context.Context
@ -241,200 +241,200 @@ func (o *GetAPITimesheetsParams) SetHTTPClient(client *http.Client) {
}
// WithActive adds the active to the get API timesheets params
func (o *GetAPITimesheetsParams) WithActive(active string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithActive(active *string) *GetAPITimesheetsParams {
o.SetActive(active)
return o
}
// SetActive adds the active to the get API timesheets params
func (o *GetAPITimesheetsParams) SetActive(active string) {
func (o *GetAPITimesheetsParams) SetActive(active *string) {
o.Active = active
}
// WithActivities adds the activities to the get API timesheets params
func (o *GetAPITimesheetsParams) WithActivities(activities string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithActivities(activities *string) *GetAPITimesheetsParams {
o.SetActivities(activities)
return o
}
// SetActivities adds the activities to the get API timesheets params
func (o *GetAPITimesheetsParams) SetActivities(activities string) {
func (o *GetAPITimesheetsParams) SetActivities(activities *string) {
o.Activities = activities
}
// WithActivity adds the activity to the get API timesheets params
func (o *GetAPITimesheetsParams) WithActivity(activity string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithActivity(activity *string) *GetAPITimesheetsParams {
o.SetActivity(activity)
return o
}
// SetActivity adds the activity to the get API timesheets params
func (o *GetAPITimesheetsParams) SetActivity(activity string) {
func (o *GetAPITimesheetsParams) SetActivity(activity *string) {
o.Activity = activity
}
// WithBegin adds the begin to the get API timesheets params
func (o *GetAPITimesheetsParams) WithBegin(begin string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithBegin(begin *string) *GetAPITimesheetsParams {
o.SetBegin(begin)
return o
}
// SetBegin adds the begin to the get API timesheets params
func (o *GetAPITimesheetsParams) SetBegin(begin string) {
func (o *GetAPITimesheetsParams) SetBegin(begin *string) {
o.Begin = begin
}
// WithBillable adds the billable to the get API timesheets params
func (o *GetAPITimesheetsParams) WithBillable(billable string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithBillable(billable *string) *GetAPITimesheetsParams {
o.SetBillable(billable)
return o
}
// SetBillable adds the billable to the get API timesheets params
func (o *GetAPITimesheetsParams) SetBillable(billable string) {
func (o *GetAPITimesheetsParams) SetBillable(billable *string) {
o.Billable = billable
}
// WithCustomer adds the customer to the get API timesheets params
func (o *GetAPITimesheetsParams) WithCustomer(customer string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithCustomer(customer *string) *GetAPITimesheetsParams {
o.SetCustomer(customer)
return o
}
// SetCustomer adds the customer to the get API timesheets params
func (o *GetAPITimesheetsParams) SetCustomer(customer string) {
func (o *GetAPITimesheetsParams) SetCustomer(customer *string) {
o.Customer = customer
}
// WithCustomers adds the customers to the get API timesheets params
func (o *GetAPITimesheetsParams) WithCustomers(customers string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithCustomers(customers *string) *GetAPITimesheetsParams {
o.SetCustomers(customers)
return o
}
// SetCustomers adds the customers to the get API timesheets params
func (o *GetAPITimesheetsParams) SetCustomers(customers string) {
func (o *GetAPITimesheetsParams) SetCustomers(customers *string) {
o.Customers = customers
}
// WithEnd adds the end to the get API timesheets params
func (o *GetAPITimesheetsParams) WithEnd(end string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithEnd(end *string) *GetAPITimesheetsParams {
o.SetEnd(end)
return o
}
// SetEnd adds the end to the get API timesheets params
func (o *GetAPITimesheetsParams) SetEnd(end string) {
func (o *GetAPITimesheetsParams) SetEnd(end *string) {
o.End = end
}
// WithExported adds the exported to the get API timesheets params
func (o *GetAPITimesheetsParams) WithExported(exported string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithExported(exported *string) *GetAPITimesheetsParams {
o.SetExported(exported)
return o
}
// SetExported adds the exported to the get API timesheets params
func (o *GetAPITimesheetsParams) SetExported(exported string) {
func (o *GetAPITimesheetsParams) SetExported(exported *string) {
o.Exported = exported
}
// WithFull adds the full to the get API timesheets params
func (o *GetAPITimesheetsParams) WithFull(full string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithFull(full *string) *GetAPITimesheetsParams {
o.SetFull(full)
return o
}
// SetFull adds the full to the get API timesheets params
func (o *GetAPITimesheetsParams) SetFull(full string) {
func (o *GetAPITimesheetsParams) SetFull(full *string) {
o.Full = full
}
// WithModifiedAfter adds the modifiedAfter to the get API timesheets params
func (o *GetAPITimesheetsParams) WithModifiedAfter(modifiedAfter string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithModifiedAfter(modifiedAfter *string) *GetAPITimesheetsParams {
o.SetModifiedAfter(modifiedAfter)
return o
}
// SetModifiedAfter adds the modifiedAfter to the get API timesheets params
func (o *GetAPITimesheetsParams) SetModifiedAfter(modifiedAfter string) {
func (o *GetAPITimesheetsParams) SetModifiedAfter(modifiedAfter *string) {
o.ModifiedAfter = modifiedAfter
}
// WithOrder adds the order to the get API timesheets params
func (o *GetAPITimesheetsParams) WithOrder(order string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithOrder(order *string) *GetAPITimesheetsParams {
o.SetOrder(order)
return o
}
// SetOrder adds the order to the get API timesheets params
func (o *GetAPITimesheetsParams) SetOrder(order string) {
func (o *GetAPITimesheetsParams) SetOrder(order *string) {
o.Order = order
}
// WithOrderBy adds the orderBy to the get API timesheets params
func (o *GetAPITimesheetsParams) WithOrderBy(orderBy string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithOrderBy(orderBy *string) *GetAPITimesheetsParams {
o.SetOrderBy(orderBy)
return o
}
// SetOrderBy adds the orderBy to the get API timesheets params
func (o *GetAPITimesheetsParams) SetOrderBy(orderBy string) {
func (o *GetAPITimesheetsParams) SetOrderBy(orderBy *string) {
o.OrderBy = orderBy
}
// WithPage adds the page to the get API timesheets params
func (o *GetAPITimesheetsParams) WithPage(page string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithPage(page *string) *GetAPITimesheetsParams {
o.SetPage(page)
return o
}
// SetPage adds the page to the get API timesheets params
func (o *GetAPITimesheetsParams) SetPage(page string) {
func (o *GetAPITimesheetsParams) SetPage(page *string) {
o.Page = page
}
// WithProject adds the project to the get API timesheets params
func (o *GetAPITimesheetsParams) WithProject(project string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithProject(project *string) *GetAPITimesheetsParams {
o.SetProject(project)
return o
}
// SetProject adds the project to the get API timesheets params
func (o *GetAPITimesheetsParams) SetProject(project string) {
func (o *GetAPITimesheetsParams) SetProject(project *string) {
o.Project = project
}
// WithProjects adds the projects to the get API timesheets params
func (o *GetAPITimesheetsParams) WithProjects(projects string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithProjects(projects *string) *GetAPITimesheetsParams {
o.SetProjects(projects)
return o
}
// SetProjects adds the projects to the get API timesheets params
func (o *GetAPITimesheetsParams) SetProjects(projects string) {
func (o *GetAPITimesheetsParams) SetProjects(projects *string) {
o.Projects = projects
}
// WithSize adds the size to the get API timesheets params
func (o *GetAPITimesheetsParams) WithSize(size string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithSize(size *string) *GetAPITimesheetsParams {
o.SetSize(size)
return o
}
// SetSize adds the size to the get API timesheets params
func (o *GetAPITimesheetsParams) SetSize(size string) {
func (o *GetAPITimesheetsParams) SetSize(size *string) {
o.Size = size
}
// WithTags adds the tags to the get API timesheets params
func (o *GetAPITimesheetsParams) WithTags(tags string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithTags(tags *string) *GetAPITimesheetsParams {
o.SetTags(tags)
return o
}
// SetTags adds the tags to the get API timesheets params
func (o *GetAPITimesheetsParams) SetTags(tags string) {
func (o *GetAPITimesheetsParams) SetTags(tags *string) {
o.Tags = tags
}
@ -450,13 +450,13 @@ func (o *GetAPITimesheetsParams) SetTerm(term *string) {
}
// WithUser adds the user to the get API timesheets params
func (o *GetAPITimesheetsParams) WithUser(user string) *GetAPITimesheetsParams {
func (o *GetAPITimesheetsParams) WithUser(user *string) *GetAPITimesheetsParams {
o.SetUser(user)
return o
}
// SetUser adds the user to the get API timesheets params
func (o *GetAPITimesheetsParams) SetUser(user string) {
func (o *GetAPITimesheetsParams) SetUser(user *string) {
o.User = user
}
@ -468,149 +468,311 @@ func (o *GetAPITimesheetsParams) WriteToRequest(r runtime.ClientRequest, reg str
}
var res []error
if o.Active != nil {
// query param active
qrActive := o.Active
var qrActive string
if o.Active != nil {
qrActive = *o.Active
}
qActive := qrActive
if qActive != "" {
if err := r.SetQueryParam("active", qActive); err != nil {
return err
}
}
}
if o.Activities != nil {
// query param activities
qrActivities := o.Activities
var qrActivities string
if o.Activities != nil {
qrActivities = *o.Activities
}
qActivities := qrActivities
if qActivities != "" {
if err := r.SetQueryParam("activities", qActivities); err != nil {
return err
}
}
}
if o.Activity != nil {
// query param activity
qrActivity := o.Activity
var qrActivity string
if o.Activity != nil {
qrActivity = *o.Activity
}
qActivity := qrActivity
if qActivity != "" {
if err := r.SetQueryParam("activity", qActivity); err != nil {
return err
}
}
}
if o.Begin != nil {
// query param begin
qrBegin := o.Begin
var qrBegin string
if o.Begin != nil {
qrBegin = *o.Begin
}
qBegin := qrBegin
if qBegin != "" {
if err := r.SetQueryParam("begin", qBegin); err != nil {
return err
}
}
}
if o.Billable != nil {
// query param billable
qrBillable := o.Billable
var qrBillable string
if o.Billable != nil {
qrBillable = *o.Billable
}
qBillable := qrBillable
if qBillable != "" {
if err := r.SetQueryParam("billable", qBillable); err != nil {
return err
}
}
}
if o.Customer != nil {
// query param customer
qrCustomer := o.Customer
var qrCustomer string
if o.Customer != nil {
qrCustomer = *o.Customer
}
qCustomer := qrCustomer
if qCustomer != "" {
if err := r.SetQueryParam("customer", qCustomer); err != nil {
return err
}
}
}
if o.Customers != nil {
// query param customers
qrCustomers := o.Customers
var qrCustomers string
if o.Customers != nil {
qrCustomers = *o.Customers
}
qCustomers := qrCustomers
if qCustomers != "" {
if err := r.SetQueryParam("customers", qCustomers); err != nil {
return err
}
}
}
if o.End != nil {
// query param end
qrEnd := o.End
var qrEnd string
if o.End != nil {
qrEnd = *o.End
}
qEnd := qrEnd
if qEnd != "" {
if err := r.SetQueryParam("end", qEnd); err != nil {
return err
}
}
}
if o.Exported != nil {
// query param exported
qrExported := o.Exported
var qrExported string
if o.Exported != nil {
qrExported = *o.Exported
}
qExported := qrExported
if qExported != "" {
if err := r.SetQueryParam("exported", qExported); err != nil {
return err
}
}
}
if o.Full != nil {
// query param full
qrFull := o.Full
var qrFull string
if o.Full != nil {
qrFull = *o.Full
}
qFull := qrFull
if qFull != "" {
if err := r.SetQueryParam("full", qFull); err != nil {
return err
}
}
}
if o.ModifiedAfter != nil {
// query param modified_after
qrModifiedAfter := o.ModifiedAfter
var qrModifiedAfter string
if o.ModifiedAfter != nil {
qrModifiedAfter = *o.ModifiedAfter
}
qModifiedAfter := qrModifiedAfter
if qModifiedAfter != "" {
if err := r.SetQueryParam("modified_after", qModifiedAfter); err != nil {
return err
}
}
}
if o.Order != nil {
// query param order
qrOrder := o.Order
var qrOrder string
if o.Order != nil {
qrOrder = *o.Order
}
qOrder := qrOrder
if qOrder != "" {
if err := r.SetQueryParam("order", qOrder); err != nil {
return err
}
}
}
if o.OrderBy != nil {
// query param orderBy
qrOrderBy := o.OrderBy
var qrOrderBy string
if o.OrderBy != nil {
qrOrderBy = *o.OrderBy
}
qOrderBy := qrOrderBy
if qOrderBy != "" {
if err := r.SetQueryParam("orderBy", qOrderBy); err != nil {
return err
}
}
}
if o.Page != nil {
// query param page
qrPage := o.Page
var qrPage string
if o.Page != nil {
qrPage = *o.Page
}
qPage := qrPage
if qPage != "" {
if err := r.SetQueryParam("page", qPage); err != nil {
return err
}
}
}
if o.Project != nil {
// query param project
qrProject := o.Project
var qrProject string
if o.Project != nil {
qrProject = *o.Project
}
qProject := qrProject
if qProject != "" {
if err := r.SetQueryParam("project", qProject); err != nil {
return err
}
}
}
if o.Projects != nil {
// query param projects
qrProjects := o.Projects
var qrProjects string
if o.Projects != nil {
qrProjects = *o.Projects
}
qProjects := qrProjects
if qProjects != "" {
if err := r.SetQueryParam("projects", qProjects); err != nil {
return err
}
}
}
if o.Size != nil {
// query param size
qrSize := o.Size
var qrSize string
if o.Size != nil {
qrSize = *o.Size
}
qSize := qrSize
if qSize != "" {
if err := r.SetQueryParam("size", qSize); err != nil {
return err
}
}
}
if o.Tags != nil {
// query param tags
qrTags := o.Tags
var qrTags string
if o.Tags != nil {
qrTags = *o.Tags
}
qTags := qrTags
if qTags != "" {
if err := r.SetQueryParam("tags", qTags); err != nil {
return err
}
}
}
if o.Term != nil {
@ -629,13 +791,22 @@ func (o *GetAPITimesheetsParams) WriteToRequest(r runtime.ClientRequest, reg str
}
}
if o.User != nil {
// query param user
qrUser := o.User
var qrUser string
if o.User != nil {
qrUser = *o.User
}
qUser := qrUser
if qUser != "" {
if err := r.SetQueryParam("user", qUser); err != nil {
return err
}
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)

View File

@ -2092,7 +2092,7 @@
{
"name": "user",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "User ID to filter timesheets. Needs permission 'view_other_timesheet', pass 'all' to fetch data for all user (default: current user)",
"type": "string",
@ -2101,7 +2101,7 @@
{
"name": "customer",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "DEPRECATED: Customer ID to filter timesheets (will be removed with 2.0)",
"type": "string",
@ -2110,7 +2110,7 @@
{
"name": "customers",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Comma separated list of customer IDs to filter timesheets",
"type": "string",
@ -2119,7 +2119,7 @@
{
"name": "project",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "DEPRECATED: Project ID to filter timesheets (will be removed with 2.0)",
"type": "string",
@ -2128,7 +2128,7 @@
{
"name": "projects",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Comma separated list of project IDs to filter timesheets",
"type": "string",
@ -2137,7 +2137,7 @@
{
"name": "activity",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "DEPRECATED: Activity ID to filter timesheets (will be removed with 2.0)",
"type": "string",
@ -2146,7 +2146,7 @@
{
"name": "activities",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Comma separated list of activity IDs to filter timesheets",
"type": "string",
@ -2155,7 +2155,7 @@
{
"name": "page",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "The page to display, renders a 404 if not found (default: 1)",
"type": "string",
@ -2164,7 +2164,7 @@
{
"name": "size",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "The amount of entries for each page (default: 50)",
"type": "string",
@ -2173,7 +2173,7 @@
{
"name": "tags",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Comma separated list of tag names",
"type": "string"
@ -2181,7 +2181,7 @@
{
"name": "orderBy",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "The field by which results will be ordered. Allowed values: id, begin, end, rate (default: begin)",
"type": "string",
@ -2190,7 +2190,7 @@
{
"name": "order",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "The result order. Allowed values: ASC, DESC (default: DESC)",
"type": "string",
@ -2199,7 +2199,7 @@
{
"name": "begin",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Only records after this date will be included (format: HTML5)",
"type": "string",
@ -2208,7 +2208,7 @@
{
"name": "end",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Only records before this date will be included (format: HTML5)",
"type": "string",
@ -2217,7 +2217,7 @@
{
"name": "exported",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Use this flag if you want to filter for export state. Allowed values: 0=not exported, 1=exported (default: all)",
"type": "string",
@ -2226,7 +2226,7 @@
{
"name": "active",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Filter for running/active records. Allowed values: 0=stopped, 1=active (default: all)",
"type": "string",
@ -2235,7 +2235,7 @@
{
"name": "billable",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Filter for non-/billable records. Allowed values: 0=non-billable, 1=billable (default: all)",
"type": "string",
@ -2244,7 +2244,7 @@
{
"name": "full",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Allows to fetch fully serialized objects including subresources. Allowed values: true (default: false)",
"type": "string",
@ -2261,7 +2261,7 @@
{
"name": "modified_after",
"in": "query",
"allowEmptyValue": true,
"allowEmptyValue": false,
"required": false,
"description": "Only records changed after this date will be included (format: HTML5). Available since Kimai 1.10 and works only for records that were created/updated since then.",
"type": "string",