swagger: "2.0"
info:
  title: oc-workflow
  description: |
    Workflows management api
  version: 1.0.0
  termsOfService: http://cloud.o-forge.io/
  contact:
    email: admin@o-cloud.io
  license:
    name: MIT
    url: https://opensource.org/license/mit
basePath: /oc/
paths:
  /version/:
    get:
      tags:
      - version
      description: |-
        get version
        <br>
      operationId: VersionController.GetAll
      responses:
        "200":
          description: ""
  /version/status:
    get:
      tags:
      - version
      description: |-
        get status
        <br>
      operationId: VersionController.Status
      responses:
        "200":
          description: ""
  /workflow/:
    get:
      tags:
      - workflow
      description: |-
        find workflow by workflowid
        <br>
      operationId: WorkflowController.GetAll
      responses:
        "200":
          description: '{workflow} models.workflow'
    post:
      tags:
      - workflow
      description: |-
        create workflows
        <br>
      operationId: WorkflowController.Create
      parameters:
      - in: body
        name: data
        description: body for data content (Json format)
        required: true
        schema:
          $ref: '#/definitions/json'
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.workflow'
  /workflow/{id}:
    get:
      tags:
      - workflow
      description: |-
        find workflow by workflowid
        <br>
      operationId: WorkflowController.Get
      parameters:
      - in: path
        name: id
        description: the workflowid you want to get
        required: true
        type: string
      responses:
        "200":
          description: '{workflow} models.workflow'
    put:
      tags:
      - workflow
      description: |-
        create workflows
        <br>
      operationId: WorkflowController.Update
      parameters:
      - in: path
        name: id
        description: the workflowid you want to get
        required: true
        type: string
      - in: body
        name: body
        description: The workflow content
        required: true
        schema:
          $ref: '#/definitions/models.workflow'
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.workflow'
    delete:
      tags:
      - workflow
      description: |-
        delete the workflow
        <br>
      operationId: WorkflowController.Delete
      parameters:
      - in: path
        name: id
        description: The workflowId you want to delete
        required: true
        type: string
      responses:
        "200":
          description: '{string} delete success!'
  /workflow/check/{id}/{start_date}/{end_date}:
    get:
      tags:
      - workflow
      description: |-
        check booking
        <br>
      operationId: WorkflowController.Check
      parameters:
      - in: path
        name: id
        description: the booking workflow id
        type: string
      - in: path
        name: start_date
        description: the booking start date format 2006-01-02T15:04:05
        type: string
      - in: path
        name: end_date
        description: 2006-01-02T15:04:05
        type: string
        default: the booking end date
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.object'
  /workflow/publish/{id}:
    post:
      tags:
      - workflow
      description: |-
        create workflows
        <br>
      operationId: WorkflowController.Publish
      parameters:
      - in: path
        name: id
        description: the workflowid you want to get
        required: true
        type: string
      responses:
        "200":
          description: ""
          schema:
            $ref: '#/definitions/models.workflow'
  /workflow/search/{search}:
    get:
      tags:
      - workflow
      description: |-
        search workspace
        <br>
      operationId: WorkflowController.Search
      parameters:
      - in: path
        name: search
        description: the word search you want to get
        required: true
        type: string
      responses:
        "200":
          description: '{workspace} models.workspace'
definitions:
  json:
    title: json
    type: object
  models.object:
    title: object
    type: object
  models.workflow:
    title: workflow
    type: object
tags:
- name: workflow
  description: |
    Operations about workflow
- name: version
  description: |
    VersionController operations for Version
