paths:
  /createUser:
    post:
      tags:
        - manageUser
      summary: User login
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: create user
        required: true
        schema:
          $ref: '#/definitions/createUser' 
      responses:
        200:
          description: An object with response status and data  
  
  /getUsers:
    post:
      tags:
        - manageUser
      summary: get Users
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: getUsers
        required: true
        schema:
          $ref: '#/definitions/getUsers' 
      responses:
        200:
          description: An object with response status and data

  /updateUser:
    post:
      tags:
        - manageUser
      summary: Update user
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: update user
        required: true
        schema:
          $ref: '#/definitions/updateUser' 
      responses:
        200:
          description: An object with response status and data

  
  /updateStatus:
    post:
      tags:
        - manageUser
      summary: Update status
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: update status
        required: true
        schema:
          $ref: '#/definitions/updateStatus' 
      responses:
        200:
          description: An object with response status and data
    

#=============================Definitions================================
definitions:

  createUser:
    type: object
    properties:
      first_name:
        type: "string"
        example: 'john'
      last_name:
        type: "string"
        example: 'doe'
      user_email:
        type: "string"
        example: 'john@gmail.com'
      phone_number:
        type: "string"
        example: '1234567890'
      date_of_birth:
        type: "string"
        format: "date"
        example: '2023-09-06'
      date_of_joining:
        type: "string"
        format: "date"
        example: '2023-09-06'
      role:
        type: "string"
        example: '1'
      branch:
        type: "string"
        example: '12 noida sector 73'
      profile_image:
        type: ""
      vendor_company_name:
        type: "devstringx"
  
  getUsers:
    type: object
    properties:
      pageNumber:
        type: string
        required: true
        example: '1'
      pageSize:
        type: string
        required: true
        example: '10'
      role:
        type: string
        required: true
        example: '1'
      user_status:
        type: string
        required: true
        example: 'active'
      search:
        type: string
        required: true
        example: 'john'

  updateUser:
    type: object
    properties:
      first_name:
        type: "string"
        example: 'john'
      last_name:
        type: "string"
        example: 'doe'
      user_email:
        type: "string"
        example: 'john@gmail.com'
      phone_number:
        type: "string"
        example: '1234567890'
      date_of_birth:
        type: "string"
        format: "date"
        example: '2023-09-06'
      date_of_joining:
        type: "string"
        format: "date"
        example: '2023-09-06'
      role:
        type: "string"
        example: '1'
      branch:
        type: "string"
        example: '12 noida sector 73'
      profile_image:
        type: "string"
        example: ''
      vendor_company_name:
        type: "string"
        example: 'devstringx'

  updateStatus:
    type: object
    properties:
      id:
        type: string
        required: true
        example: 1
      user_status:
        type: string
        required: true
        example: 'active'