Browse Source

Feat(swagger): Added examples

master
Samuel Pua 3 years ago
parent
commit
e99182da51
  1. 18
      backend/docs/docs.go
  2. 18
      backend/docs/swagger.json
  3. 8
      backend/docs/swagger.yaml
  4. 10
      backend/internal/ktmtrainbot/bookingmodel.go

18
backend/docs/docs.go

@ -424,17 +424,22 @@ const docTemplate = `{
"ktmtrainbot.BookingCreateRequest": {
"type": "object",
"required": [
"contact",
"gender",
"name",
"passport",
"passportExpiry",
"timeCode",
"travelDate"
],
"properties": {
"contact": {
"type": "string"
"type": "string",
"example": "+6512345678"
},
"gender": {
"type": "string"
"type": "string",
"example": "M"
},
"name": {
"type": "string"
@ -443,13 +448,16 @@ const docTemplate = `{
"type": "string"
},
"passportExpiry": {
"type": "string"
"type": "string",
"format": "date-time"
},
"timeCode": {
"type": "string"
"type": "string",
"example": "1300"
},
"travelDate": {
"type": "string"
"type": "string",
"format": "date-time"
}
}
},

18
backend/docs/swagger.json

@ -416,17 +416,22 @@
"ktmtrainbot.BookingCreateRequest": {
"type": "object",
"required": [
"contact",
"gender",
"name",
"passport",
"passportExpiry",
"timeCode",
"travelDate"
],
"properties": {
"contact": {
"type": "string"
"type": "string",
"example": "+6512345678"
},
"gender": {
"type": "string"
"type": "string",
"example": "M"
},
"name": {
"type": "string"
@ -435,13 +440,16 @@
"type": "string"
},
"passportExpiry": {
"type": "string"
"type": "string",
"format": "date-time"
},
"timeCode": {
"type": "string"
"type": "string",
"example": "1300"
},
"travelDate": {
"type": "string"
"type": "string",
"format": "date-time"
}
}
},

8
backend/docs/swagger.yaml

@ -24,23 +24,31 @@ definitions:
ktmtrainbot.BookingCreateRequest:
properties:
contact:
example: "+6512345678"
type: string
gender:
example: M
type: string
name:
type: string
passport:
type: string
passportExpiry:
format: date-time
type: string
timeCode:
example: "1300"
type: string
travelDate:
format: date-time
type: string
required:
- contact
- gender
- name
- passport
- passportExpiry
- timeCode
- travelDate
type: object
ktmtrainbot.BookingResponse:

10
backend/internal/ktmtrainbot/bookingmodel.go

@ -27,13 +27,13 @@ type Booking struct {
}
type BookingCreateRequest struct {
TravelDate time.Time `json:"travelDate" validate:"required"`
TimeCode string `json:"timeCode" validate:"required len=4"`
TravelDate time.Time `json:"travelDate" validate:"required" swaggertype:"string" format:"date-time"`
TimeCode string `json:"timeCode" validate:"required,number,len=4" swaggertype:"string" example:"1300"`
Name string `json:"name" validate:"required"`
Gender string `json:"gender" validate:"required len=1 containsany=MF"`
Gender string `json:"gender" validate:"required,len=1,containsany=MF" swaggertype:"string" example:"M" enum:"M,F"`
Passport string `json:"passport" validate:"required"`
PassportExpiry time.Time `json:"passportExpiry" validate:"required"`
Contact string `json:"contact" validate:"required e164"`
PassportExpiry time.Time `json:"passportExpiry" validate:"required" swaggertype:"string" format:"date-time"`
Contact string `json:"contact" validate:"required,e164" swaggertype:"string" example:"+6512345678"`
}
type BookingResponse struct {

Loading…
Cancel
Save