Skip to content

Instantly share code, notes, and snippets.

@480
Last active September 20, 2017 14:23
Show Gist options
  • Select an option

  • Save 480/ddeb51d3e515f53d2059021b3f77c44b to your computer and use it in GitHub Desktop.

Select an option

Save 480/ddeb51d3e515f53d2059021b3f77c44b to your computer and use it in GitHub Desktop.

Revisions

  1. 480 revised this gist Sep 20, 2017. 1 changed file with 126 additions and 22 deletions.
    148 changes: 126 additions & 22 deletions yml
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ info:
    email: "[email protected]"
    license:
    name: PLAYAUTO INC (ISC)
    basePath: https://engines-linux.playapi.playauto.org
    basePath: /
    tags:
    - name: job
    description: PLAYAPI JOB API
    @@ -44,27 +44,131 @@ paths:

    definitions:
    JobRequest:
    required:
    - Code
    - Action
    - Config
    properties:
    id:
    type: integer
    format: int64
    petId:
    type: integer
    format: int64
    quantity:
    type: integer
    format: int32
    shipDate:
    Code:
    type: string
    format: date-time
    status:
    description: 작업 실행할 사이트 코드 / 도메인
    Action:
    type: string
    description: Order Status
    enum:
    - placed
    - approved
    - delivered
    complete:
    type: boolean
    xml:
    name: Order
    description: 해당 사이트에 실행할 액션
    Config:
    $ref: "#/definitions/Config"
    description: 작업 환경 설정
    Resources:
    type: object
    description: 작업에 필요한 리소스 데이터
    properties:
    Products:
    type: array
    items:
    $ref: "#/definitions/Product"
    description: 상품 데이터 (상품등록용, 수정용 등)
    Orders:
    type: array
    items:
    $ref: "#/definitions/Order"
    description: 주문 데이터 (송장전송용, 취소용 등)
    Inqueries:
    type: array
    items:
    $ref: "#/definitions/Inquery"
    description: 문의 데이터 (문의 답변용 등)
    Custom:
    type: object
    description: 기타 커스텀 데이터 (자유롭게 보내서 엔진에서 사용)

    Product:
    description: 상품 데이터 1건에 대한 Spec
    properties:
    name:
    type: string
    model:
    type: string

    Order:
    description: 주문 데이터 1건에 대한 Spec
    properties:
    order_no:
    type: string
    name:
    type: string

    Inquery:
    description: 문의 데이터 1건에 대한 Spec
    properties:
    inquery_no:
    type: string
    subject:
    type: string

    Config:
    description: 작업용 환경 설정 데이터
    properties:
    Certification:
    $ref: "#/definitions/Certification"
    description: 사이트 로그인용 인증 정보
    ProcessorOption:
    $ref: "#/definitions/ProcessorOption"
    description: 워커용 설정 정보

    Certification:
    description: 사이트 로그인용 인증 정보
    properties:
    user_id:
    type: string
    description: 사이트 로그인 ID
    password:
    type: string
    description: 사이트 로그인 비밀번호

    ProcessorOption:
    description: 워커용 설정 정보
    properties:
    debug_mode:
    description: true 일 경우 헤드리스 모드를 해제하고, 모든 출력을 dump 하며, 표준 로거의 debug 레벨 출력을 허용 합니다.
    type: boolean
    default: false
    force_require:
    description: true 일 경우 매 루핑 마다 node.js 모듈을 다시 로드 합니다. (엔진 핫픽스 등에 사용)
    type: boolean
    default: false
    slowMo:
    description: Puppeteer 동작 명령을 할때마다 지정한 ms 만큼 지연합니다. 동작 모드를 눈으로 확인 하면서 디버깅 시 유용합니다.
    type: integer
    default: 0
    base_timeout:
    description: wait 등의 Selector 가 나타날때 까지 기다리는 기본 대기시간 (ms)
    type: integer
    default: 30000
    dumpio:
    description: 크롬이 출력하는 표준출력(stdout)과 표준에러(stderr)를 이 드론모듈의 표준출력으로 연결할지 여부
    type: boolean
    default: false
    trace:
    description: true 일 경우 크롬이 열린 후 진행했던 모든 상황을 DevTool의 Performance 탭에서 확인할 수 있는 녹화 파일로 저장하여 돌려 줍니다. 작업이 완료되면 await MODULE.dispose() 함수를 통해 trace 파일 Path 를 얻습니다.
    type: boolean
    default: false
    use_hover:
    description: safe_click() 등의 기능을 사용할때 클릭 전에 먼저 마우스 Hover 명령을 내릴지 여부. 정확한 동작을 감지하는 사이트에서만 사용하는 것이 좋음
    type: boolean
    default: false
    block_images:
    description: 크롬으로 열 페이지에서 모든 이미지를 차단할지 여부
    type: boolean
    default: false
    use_private_user_dir:
    description: 크롬의 userDataDir 값을 req_code, req_action, seller_id 등을 조합하여 자동 생성.
    type: boolean
    default: false
    use_temp_profile:
    description: 크롬의 userDataDir을 매 실행마다 랜덤하게 설정하여 사용 할지 여부. user_private_user_dir 는 use_temp_profile 이 true 일 경우 무시됨
    type: boolean
    default: false
    userAgent:
    description: 크롬이 사이트로 전송할때 사용되는 HTTP User-Agent 헤더에 들어갈 문구
    type: string
    default:
  2. 480 revised this gist Sep 20, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions yml
    Original file line number Diff line number Diff line change
    @@ -8,14 +8,14 @@ info:
    email: "[email protected]"
    license:
    name: PLAYAUTO INC (ISC)
    basePath: /api
    basePath: https://engines-linux.playapi.playauto.org
    tags:
    - name: job
    description: PLAYAPI JOB API
    schemes:
    - https
    paths:
    /run:
    /app/run:
    post:
    tags:
    - job
  3. 480 revised this gist Sep 20, 2017. 1 changed file with 7 additions and 595 deletions.
    602 changes: 7 additions & 595 deletions yml
    Original file line number Diff line number Diff line change
    @@ -10,15 +10,15 @@ info:
    name: PLAYAUTO INC (ISC)
    basePath: /api
    tags:
    - name: client
    description: PLAYAPI 클라이언트가 사용하는 API
    - name: job
    description: PLAYAPI JOB API
    schemes:
    - https
    paths:
    /run:
    post:
    tags:
    - client
    - job
    summary: JOB 을 동기적으로 실행
    description: ""
    consumes:
    @@ -28,7 +28,7 @@ paths:
    parameters:
    - in: body
    name: body
    description: Pet object that needs to be added to the store
    description: Job 실행을 요청합니다.
    required: false
    schema:
    $ref: "#/definitions/JobRequest"
    @@ -41,506 +41,9 @@ paths:
    description: Validation exception
    "500":
    description: Server Error

    /pet/findByStatus:
    get:
    tags:
    - pet
    summary: Finds Pets by status
    description: Multiple status values can be provided with comma separated strings
    operationId: findPetsByStatus
    consumes:
    - application/xml
    - application/json
    - multipart/form-data
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: status
    in: query
    description: Status values that need to be considered for filter
    required: false
    type: array
    items:
    type: string
    collectionFormat: multi
    default: available
    enum:
    - available
    - pending
    - sold
    responses:
    "200":
    description: successful operation
    schema:
    type: array
    items:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid status value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    /pet/findByTags:
    get:
    tags:
    - pet
    summary: Finds Pets by tags
    description: "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing."
    operationId: findPetsByTags
    produces:
    - application/xml
    - application/json
    parameters:
    - name: tags
    in: query
    description: Tags to filter by
    required: false
    type: array
    items:
    type: string
    collectionFormat: multi
    responses:
    "200":
    description: successful operation
    schema:
    type: array
    items:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid tag value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    "/pet/{petId}":
    get:
    tags:
    - pet
    summary: Find pet by ID
    description: Returns a single pet
    operationId: getPetById
    consumes:
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet to return
    required: true
    type: integer
    format: int64
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid ID supplied
    "404":
    description: Pet not found
    security:
    - api_key: []
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    post:
    tags:
    - pet
    summary: Updates a pet in the store with form data
    description: ""
    operationId: updatePetWithForm
    consumes:
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet that needs to be updated
    required: true
    type: string
    - name: name
    in: formData
    description: Updated name of the pet
    required: false
    type: string
    - name: status
    in: formData
    description: Updated status of the pet
    required: false
    type: string
    responses:
    "405":
    description: Invalid input
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    delete:
    tags:
    - pet
    summary: Deletes a pet
    description: ""
    operationId: deletePet
    consumes:
    - multipart/form-data
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: api_key
    in: header
    description: ""
    required: false
    type: string
    - name: petId
    in: path
    description: Pet id to delete
    required: true
    type: integer
    format: int64
    responses:
    "400":
    description: Invalid pet value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    "/pet/{petId}/uploadImage":
    post:
    tags:
    - pet
    summary: uploads an image
    x-swagger-router-controller: SampleController
    description: ""
    operationId: uploadFile
    consumes:
    - multipart/form-data
    produces:
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet to update
    required: true
    type: integer
    format: int64
    - name: additionalMetadata
    in: formData
    description: Additional data to pass to server
    required: false
    type: string
    - name: file
    in: formData
    description: file to upload
    required: false
    type: file
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/ApiResponse"
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    /store/inventory:
    get:
    tags:
    - store
    summary: Returns pet inventories by status
    description: Returns a map of status codes to quantities
    operationId: getInventory
    produces:
    - application/json
    parameters: []
    responses:
    "200":
    description: successful operation
    schema:
    type: object
    additionalProperties:
    type: integer
    format: int32
    security:
    - api_key: []
    /store/order:
    post:
    tags:
    - store
    summary: Place an order for a pet
    description: ""
    operationId: placeOrder
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: order placed for purchasing the pet
    required: false
    schema:
    $ref: "#/definitions/Order"
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Order"
    "400":
    description: Invalid Order
    "/store/order/{orderId}":
    get:
    tags:
    - store
    summary: Find purchase order by ID
    description: "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions"
    operationId: getOrderById
    produces:
    - application/xml
    - application/json
    parameters:
    - name: orderId
    in: path
    description: ID of pet that needs to be fetched
    required: true
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Order"
    "400":
    description: Invalid ID supplied
    "404":
    description: Order not found
    delete:
    tags:
    - store
    summary: Delete purchase order by ID
    description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
    operationId: deleteOrder
    produces:
    - application/xml
    - application/json
    parameters:
    - name: orderId
    in: path
    description: ID of the order that needs to be deleted
    required: true
    type: string
    responses:
    "400":
    description: Invalid ID supplied
    "404":
    description: Order not found
    /user:
    post:
    tags:
    - user
    summary: Create user
    description: This can only be done by the logged in user.
    operationId: createUser
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: Created user object
    required: false
    schema:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/createWithArray:
    post:
    tags:
    - user
    summary: Creates list of users with given input array
    description: ""
    operationId: createUsersWithArrayInput
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: List of user object
    required: false
    schema:
    type: array
    items:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/createWithList:
    post:
    tags:
    - user
    summary: Creates list of users with given input array
    description: ""
    operationId: createUsersWithListInput
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: List of user object
    required: false
    schema:
    type: array
    items:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/login:
    get:
    tags:
    - user
    summary: Logs user into the system
    description: ""
    operationId: loginUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: query
    description: The user name for login
    required: false
    type: string
    - name: password
    in: query
    description: The password for login in clear text
    required: false
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    type: string
    headers:
    X-Rate-Limit:
    type: integer
    format: int32
    description: calls per hour allowed by the user
    X-Expires-After:
    type: string
    format: date-time
    description: date in UTC when toekn expires
    "400":
    description: Invalid username/password supplied
    /user/logout:
    get:
    tags:
    - user
    summary: Logs out current logged in user session
    description: ""
    operationId: logoutUser
    produces:
    - application/xml
    - application/json
    parameters: []
    responses:
    default:
    description: successful operation
    "/user/{username}":
    get:
    tags:
    - user
    summary: Get user by user name
    description: ""
    operationId: getUserByName
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: "The name that needs to be fetched. Use user1 for testing. "
    required: true
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/User"
    "400":
    description: Invalid username supplied
    "404":
    description: User not found
    put:
    tags:
    - user
    summary: Updated user
    description: This can only be done by the logged in user.
    operationId: updateUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: name that need to be deleted
    required: true
    type: string
    - in: body
    name: body
    description: Updated user object
    required: false
    schema:
    $ref: "#/definitions/User"
    responses:
    "400":
    description: Invalid user supplied
    "404":
    description: User not found
    delete:
    tags:
    - user
    summary: Delete user
    description: This can only be done by the logged in user.
    operationId: deleteUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: The name that needs to be deleted
    required: true
    type: string
    responses:
    "400":
    description: Invalid username supplied
    "404":
    description: User not found
    securityDefinitions:
    petstore_auth:
    type: oauth2
    authorizationUrl: "http://petstore.swagger.io/api/oauth/dialog"
    flow: implicit
    scopes:
    "write:pets": modify pets in your account
    "read:pets": read your pets
    api_key:
    type: apiKey
    name: api_key
    in: header

    definitions:
    Order:
    JobRequest:
    properties:
    id:
    type: integer
    @@ -564,95 +67,4 @@ definitions:
    complete:
    type: boolean
    xml:
    name: Order
    Category:
    properties:
    id:
    type: integer
    format: int64
    name:
    type: string
    xml:
    name: Category
    User:
    properties:
    id:
    type: integer
    format: int64
    username:
    type: string
    firstName:
    type: string
    lastName:
    type: string
    email:
    type: string
    password:
    type: string
    phone:
    type: string
    userStatus:
    type: integer
    format: int32
    description: User Status
    xml:
    name: User
    Tag:
    properties:
    id:
    type: integer
    format: int64
    name:
    type: string
    xml:
    name: Tag
    Pet:
    required:
    - name
    - photoUrls
    properties:
    id:
    type: integer
    format: int64
    category:
    $ref: "#/definitions/Category"
    name:
    type: string
    example: doggie
    photoUrls:
    type: array
    xml:
    name: photoUrl
    wrapped: true
    items:
    type: string
    tags:
    type: array
    xml:
    name: tag
    wrapped: true
    items:
    $ref: "#/definitions/Tag"
    status:
    type: string
    description: pet status in the store
    enum:
    - available
    - pending
    - sold
    xml:
    name: Pet
    ApiResponse:
    properties:
    code:
    type: integer
    format: int32
    type:
    type: string
    message:
    type: string
    xml:
    name: "##default"
    externalDocs:
    description: Find out more about Swagger
    url: "http://swagger.io"
    name: Order
  4. 480 created this gist Sep 20, 2017.
    658 changes: 658 additions & 0 deletions yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,658 @@
    swagger: "2.0"
    info:
    description: "PLAYAPI Engines API"
    version: 4.0.1
    title: PLAYAPI ENGINES
    termsOfService: "http://www.playauto.co.kr/"
    contact:
    email: "[email protected]"
    license:
    name: PLAYAUTO INC (ISC)
    basePath: /api
    tags:
    - name: client
    description: PLAYAPI 클라이언트가 사용하는 API
    schemes:
    - https
    paths:
    /run:
    post:
    tags:
    - client
    summary: JOB 을 동기적으로 실행
    description: ""
    consumes:
    - application/json
    produces:
    - application/json
    parameters:
    - in: body
    name: body
    description: Pet object that needs to be added to the store
    required: false
    schema:
    $ref: "#/definitions/JobRequest"
    responses:
    "400":
    description: Invalid input
    "404":
    description: req_code not found
    "405":
    description: Validation exception
    "500":
    description: Server Error

    /pet/findByStatus:
    get:
    tags:
    - pet
    summary: Finds Pets by status
    description: Multiple status values can be provided with comma separated strings
    operationId: findPetsByStatus
    consumes:
    - application/xml
    - application/json
    - multipart/form-data
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: status
    in: query
    description: Status values that need to be considered for filter
    required: false
    type: array
    items:
    type: string
    collectionFormat: multi
    default: available
    enum:
    - available
    - pending
    - sold
    responses:
    "200":
    description: successful operation
    schema:
    type: array
    items:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid status value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    /pet/findByTags:
    get:
    tags:
    - pet
    summary: Finds Pets by tags
    description: "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing."
    operationId: findPetsByTags
    produces:
    - application/xml
    - application/json
    parameters:
    - name: tags
    in: query
    description: Tags to filter by
    required: false
    type: array
    items:
    type: string
    collectionFormat: multi
    responses:
    "200":
    description: successful operation
    schema:
    type: array
    items:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid tag value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    "/pet/{petId}":
    get:
    tags:
    - pet
    summary: Find pet by ID
    description: Returns a single pet
    operationId: getPetById
    consumes:
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet to return
    required: true
    type: integer
    format: int64
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Pet"
    "400":
    description: Invalid ID supplied
    "404":
    description: Pet not found
    security:
    - api_key: []
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    post:
    tags:
    - pet
    summary: Updates a pet in the store with form data
    description: ""
    operationId: updatePetWithForm
    consumes:
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet that needs to be updated
    required: true
    type: string
    - name: name
    in: formData
    description: Updated name of the pet
    required: false
    type: string
    - name: status
    in: formData
    description: Updated status of the pet
    required: false
    type: string
    responses:
    "405":
    description: Invalid input
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    delete:
    tags:
    - pet
    summary: Deletes a pet
    description: ""
    operationId: deletePet
    consumes:
    - multipart/form-data
    - application/x-www-form-urlencoded
    produces:
    - application/xml
    - application/json
    parameters:
    - name: api_key
    in: header
    description: ""
    required: false
    type: string
    - name: petId
    in: path
    description: Pet id to delete
    required: true
    type: integer
    format: int64
    responses:
    "400":
    description: Invalid pet value
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    "/pet/{petId}/uploadImage":
    post:
    tags:
    - pet
    summary: uploads an image
    x-swagger-router-controller: SampleController
    description: ""
    operationId: uploadFile
    consumes:
    - multipart/form-data
    produces:
    - application/json
    parameters:
    - name: petId
    in: path
    description: ID of pet to update
    required: true
    type: integer
    format: int64
    - name: additionalMetadata
    in: formData
    description: Additional data to pass to server
    required: false
    type: string
    - name: file
    in: formData
    description: file to upload
    required: false
    type: file
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/ApiResponse"
    security:
    - petstore_auth:
    - "write:pets"
    - "read:pets"
    /store/inventory:
    get:
    tags:
    - store
    summary: Returns pet inventories by status
    description: Returns a map of status codes to quantities
    operationId: getInventory
    produces:
    - application/json
    parameters: []
    responses:
    "200":
    description: successful operation
    schema:
    type: object
    additionalProperties:
    type: integer
    format: int32
    security:
    - api_key: []
    /store/order:
    post:
    tags:
    - store
    summary: Place an order for a pet
    description: ""
    operationId: placeOrder
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: order placed for purchasing the pet
    required: false
    schema:
    $ref: "#/definitions/Order"
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Order"
    "400":
    description: Invalid Order
    "/store/order/{orderId}":
    get:
    tags:
    - store
    summary: Find purchase order by ID
    description: "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions"
    operationId: getOrderById
    produces:
    - application/xml
    - application/json
    parameters:
    - name: orderId
    in: path
    description: ID of pet that needs to be fetched
    required: true
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/Order"
    "400":
    description: Invalid ID supplied
    "404":
    description: Order not found
    delete:
    tags:
    - store
    summary: Delete purchase order by ID
    description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
    operationId: deleteOrder
    produces:
    - application/xml
    - application/json
    parameters:
    - name: orderId
    in: path
    description: ID of the order that needs to be deleted
    required: true
    type: string
    responses:
    "400":
    description: Invalid ID supplied
    "404":
    description: Order not found
    /user:
    post:
    tags:
    - user
    summary: Create user
    description: This can only be done by the logged in user.
    operationId: createUser
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: Created user object
    required: false
    schema:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/createWithArray:
    post:
    tags:
    - user
    summary: Creates list of users with given input array
    description: ""
    operationId: createUsersWithArrayInput
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: List of user object
    required: false
    schema:
    type: array
    items:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/createWithList:
    post:
    tags:
    - user
    summary: Creates list of users with given input array
    description: ""
    operationId: createUsersWithListInput
    produces:
    - application/xml
    - application/json
    parameters:
    - in: body
    name: body
    description: List of user object
    required: false
    schema:
    type: array
    items:
    $ref: "#/definitions/User"
    responses:
    default:
    description: successful operation
    /user/login:
    get:
    tags:
    - user
    summary: Logs user into the system
    description: ""
    operationId: loginUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: query
    description: The user name for login
    required: false
    type: string
    - name: password
    in: query
    description: The password for login in clear text
    required: false
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    type: string
    headers:
    X-Rate-Limit:
    type: integer
    format: int32
    description: calls per hour allowed by the user
    X-Expires-After:
    type: string
    format: date-time
    description: date in UTC when toekn expires
    "400":
    description: Invalid username/password supplied
    /user/logout:
    get:
    tags:
    - user
    summary: Logs out current logged in user session
    description: ""
    operationId: logoutUser
    produces:
    - application/xml
    - application/json
    parameters: []
    responses:
    default:
    description: successful operation
    "/user/{username}":
    get:
    tags:
    - user
    summary: Get user by user name
    description: ""
    operationId: getUserByName
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: "The name that needs to be fetched. Use user1 for testing. "
    required: true
    type: string
    responses:
    "200":
    description: successful operation
    schema:
    $ref: "#/definitions/User"
    "400":
    description: Invalid username supplied
    "404":
    description: User not found
    put:
    tags:
    - user
    summary: Updated user
    description: This can only be done by the logged in user.
    operationId: updateUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: name that need to be deleted
    required: true
    type: string
    - in: body
    name: body
    description: Updated user object
    required: false
    schema:
    $ref: "#/definitions/User"
    responses:
    "400":
    description: Invalid user supplied
    "404":
    description: User not found
    delete:
    tags:
    - user
    summary: Delete user
    description: This can only be done by the logged in user.
    operationId: deleteUser
    produces:
    - application/xml
    - application/json
    parameters:
    - name: username
    in: path
    description: The name that needs to be deleted
    required: true
    type: string
    responses:
    "400":
    description: Invalid username supplied
    "404":
    description: User not found
    securityDefinitions:
    petstore_auth:
    type: oauth2
    authorizationUrl: "http://petstore.swagger.io/api/oauth/dialog"
    flow: implicit
    scopes:
    "write:pets": modify pets in your account
    "read:pets": read your pets
    api_key:
    type: apiKey
    name: api_key
    in: header
    definitions:
    Order:
    properties:
    id:
    type: integer
    format: int64
    petId:
    type: integer
    format: int64
    quantity:
    type: integer
    format: int32
    shipDate:
    type: string
    format: date-time
    status:
    type: string
    description: Order Status
    enum:
    - placed
    - approved
    - delivered
    complete:
    type: boolean
    xml:
    name: Order
    Category:
    properties:
    id:
    type: integer
    format: int64
    name:
    type: string
    xml:
    name: Category
    User:
    properties:
    id:
    type: integer
    format: int64
    username:
    type: string
    firstName:
    type: string
    lastName:
    type: string
    email:
    type: string
    password:
    type: string
    phone:
    type: string
    userStatus:
    type: integer
    format: int32
    description: User Status
    xml:
    name: User
    Tag:
    properties:
    id:
    type: integer
    format: int64
    name:
    type: string
    xml:
    name: Tag
    Pet:
    required:
    - name
    - photoUrls
    properties:
    id:
    type: integer
    format: int64
    category:
    $ref: "#/definitions/Category"
    name:
    type: string
    example: doggie
    photoUrls:
    type: array
    xml:
    name: photoUrl
    wrapped: true
    items:
    type: string
    tags:
    type: array
    xml:
    name: tag
    wrapped: true
    items:
    $ref: "#/definitions/Tag"
    status:
    type: string
    description: pet status in the store
    enum:
    - available
    - pending
    - sold
    xml:
    name: Pet
    ApiResponse:
    properties:
    code:
    type: integer
    format: int32
    type:
    type: string
    message:
    type: string
    xml:
    name: "##default"
    externalDocs:
    description: Find out more about Swagger
    url: "http://swagger.io"