# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
swagger: '2.0'
info:
  title: Apache MetaModel Membrane
  description: Data Federation as a RESTful service.
  version: "1.0"
  contact:
    name: Apache MetaModel
    url: http://metamodel.apache.org
  license:
    name: Apache License, version 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
consumes:
  - application/json
produces:
  - application/json
paths:
  /:
    get:
      summary: Hello Membrane
      description: An endpoint that provides a confirmation that the system is operational
      responses:
        200:
          description: The system is operational
          schema:
            $ref: "#/definitions/helloResponse"
  /{tenant}:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
    put:
      summary: Create new tenant
      responses:
        200:
          description: Tenant created
          schema:
            $ref: "#/definitions/putTenantResponse"
        409:
          description: Tenant already exist
          schema:
            $ref: "#/definitions/error"
    get:
      summary: Get tenant information
      description: Provides basic information about a tenant of the system
      responses:
        404:
          description: Tenant not found
          schema:
            $ref: "#/definitions/error"
        200:
          description: Tenant found
          schema:
            $ref: "#/definitions/getTenantResponse"
    delete:
      summary: Delete tenant
      description: Deletes a tenant from the system
      responses:
        200:
          description: Tenant deleted
          schema:
            $ref: "#/definitions/deleteTenantResponse"
        404:
          description: Tenant not found
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
    get:
      responses:
        200:
          description: Datasource found
          schema:
            $ref: "#/definitions/getDatasourceResponse"
        404:
          description: Datasource not found
          schema:
            $ref: "#/definitions/error"
    put:
      parameters:
        - name: validate
          in: query
          description: Whether or not to validate the datasource properties and reject creating the datasource if it cannot be created.
          required: false
          type: boolean
          default: false
        - name: inputData
          in: body
          description: The definition of the datasource using properties. The same properties as normally applied in MetaModel factories (e.g. 'type', 'resource', 'url', 'driver-class' ,'hostname', 'port', 'catalog', 'database', 'username', 'port', 'table-defs') are used here.
          required: true
          schema:
            $ref: "#/definitions/putDatasourceRequest"
      responses:
        200:
          description: Datasource created
          schema:
            $ref: "#/definitions/getDatasourceResponse"
        400:
          description: Datasource validation failed
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}/q:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
    get:
      description: Executes a query on the datasource
      parameters:
      - name: sql
        in: query
        type: string
        description: The MetaModel-flavoured SQL query to execute
        required: true
      - name: offset
        in: query
        type: string
        description: An offset / first-row flag to set on the query
        required: false
      - name: limit
        in: query
        type: string
        description: A limit / max-rows flag to set on the query
        required: false
      responses:
        200:
          description: Query executed
          schema:
            $ref: "#/definitions/queryResponse"
        400:
          description: Failure while parsing query
          schema:
            $ref: "#/definitions/error"
        404:
          description: Datasource not found
          schema:
            $ref: "#/definitions/error"
        500:
          description: Failure while executing query
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}/s/{schema}:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
      - name: schema
        in: path
        type: string
        description: The schema name
        required: true
    get:
      responses:
        200:
          description: Schema found
          schema:
            $ref: "#/definitions/getSchemaResponse"
        404:
          description: Schema not found
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}/s/{schema}/t/{table}:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
      - name: schema
        in: path
        type: string
        description: The schema name
        required: true
      - name: table
        in: path
        type: string
        description: The table name
        required: true
    get:
      responses:
        200:
          description: Table found
          schema:
            $ref: "#/definitions/getTableResponse"
        404:
          description: Table not found
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}/s/{schema}/t/{table}/d:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
      - name: schema
        in: path
        type: string
        description: The schema name
        required: true
      - name: table
        in: path
        type: string
        description: The table name
        required: true
    get:
      description: Gets the data of the table
      responses:
        200:
          description: Query executed
          schema:
            $ref: "#/definitions/queryResponse"
        400:
          description: Failure while parsing query
          schema:
            $ref: "#/definitions/error"
        404:
          description: Table not found
          schema:
            $ref: "#/definitions/error"
        500:
          description: Failure while executing query
          schema:
            $ref: "#/definitions/error"
    post:
      description: Inserts data to the table
      parameters:
        - name: inputData
          in: body
          description: The data to insert
          required: true
          schema:
            $ref: "#/definitions/postDataRequest"
      responses:
        200:
          description: Data inserted
          schema:
            $ref: "#/definitions/postDataResponse"
        404:
          description: Table not found
          schema:
            $ref: "#/definitions/error"
  /{tenant}/{datasource}/s/{schema}/t/{table}/c/{column}:
    parameters:
      - name: tenant
        in: path
        type: string
        description: The tenant name
        required: true
      - name: datasource
        in: path
        type: string
        description: The datasource name
        required: true
      - name: schema
        in: path
        type: string
        description: The schema name
        required: true
      - name: table
        in: path
        type: string
        description: The table name
        required: true
      - name: column
        in: path
        type: string
        description: The column name
        required: true
    get:
      description: Gets information about a column
      responses:
        200:
          description: Query executed
          schema:
            $ref: "#/definitions/getColumnResponse"
        404:
          description: Column not found
          schema:
            $ref: "#/definitions/error"
definitions:
  queryResponse:
    description: Represents the result of a query - a dataset
    type: object
    properties:
      type:
        type: string
        description: The type of entity (dataset)
      headers:
        type: array
        description: The dataset header names
        items:
          type: string
      data:
        type: array
        description: The actual data returned by the query
        items:
          type: array
          items:
            type: object
  helloResponse:
    type: object
    properties:
      ping:
        type: string
        description: Should return 'pong!' when the system is operational
      application:
        type: string
        description: The name of the application running (Apache MetaModel Membrane)
      version:
        type: string
        description: The version of the application running
      server-time:
        type: object
        properties:
          timestamp:
            type: integer
            format: int64
            description: The server-time in timestamp format (millis since 1st of January 1970)
          iso8601:
            type: string
            description: The server-time in ISO-8601 format
      canonical-hostname:
        type: string
        description: The canonical hostname of the server
      open-api:
        type: object
        properties:
          spec:
            type: string
            format: uri
            description: Href for the Open API (fka. Swagger) specification that describes the service.
  getTenantResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (tenant)
      name:
        type: string
        description: The tenant name/identifier
      datasources:
        type: array
        items:
          type: object
          properties:
            name:
              type: string
              description: The name of the datasource
            uri:
              type: string
              format: uri
              description: A link to the datasource information
  putTenantResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (tenant)
      name:
        type: string
        description: The tenant name/identifier
  deleteTenantResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (tenant)
      name:
        type: string
        description: The tenant name/identifier
      deleted:
        type: boolean
        description: A confirmation boolean to indicate that the deletion is effectuated.
  postDataRequest:
    type: object
    properties:
      update:
        type: array
        items:
          type: object
          properties:
            values:
              type: object
              description: Record values to update where each key is expected to match a column name and each value is the value to put.
              example:
                favorite_java_library: Apache MetaModel
            where:
              type: array
              items:
                $ref: "#/definitions/whereCondition"
      delete:
        type: array
        items:
          type: object
          properties:
            where:
              type: array
              items:
                $ref: "#/definitions/whereCondition"
      insert:
        type: array
        items:
          description: A record to insert where each key is expected to match a column name and each value is the value to put.
          type: object
        example:
        - fullname: Jane Doe
          email_address: janedoe@gmail.com
          favourite_java_library: null
        - fullname: John Doe
          email_address: johndoe@gmail.com
          favourite_java_library: "MetaModel"
  whereCondition:
    type: object
    properties:
      column:
        type: string
      operator:
        $ref: "#/definitions/operator"
      operand:
        type: object
    example:
      column: fullname
      operator: like
      operand: "John%Doe"
  operator:
    type: string
    enum:
    - "eq"
    - "ne"
    - "gt"
    - "lt"
    - "like"
    - "not_like"
  postDataResponse:
    description: Represents the result of posting a data update to the records to a table
    type: object
    required:
      - status
    properties:
      status:
        type: string
        description: A confirmation 'ok' that the data updates went well.
      updated-rows:
        type: number
        format: int32
        description: The amount of updated records
      deleted-rows:
        type: number
        format: int32
        description: The amount of deleted records
      inserted-rows:
        type: number
        format: int32
        description: The amount of inserted records
      generated-keys:
        type: array
        description: An array of generated keys for the records, if any
        items:
          type: object
  putDatasourceRequest:
    type: object
    properties:
      type:
        type: string
        description: DataContext type (e.g. 'jdbc', 'csv' etc.)
    additionalProperties:
      type: string
  getDatasourceResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (datasource)
      name:
        type: string
        description: The datasource name
      tenant:
        type: string
        description: The tenant name
      updateable:
        type: boolean
        description: Is this datasource updateable?
      query_uri:
        type: string
        description: A link to the query endpoint for this datasource
        format: uri
      schemas:
        type: array
        description: The schemas of this datasource
        items:
          type: object
          properties:
            name:
              type: string
              description: The schema name
            uri:
              type: string
              description: A link to the schema information
              format: uri
  getSchemaResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (schema)
      name:
        type: string
        description: The schema name
      datasource:
        type: string
        description: The datasource name
      tenant:
        type: string
        description: The tenant name
      tables:
        type: array
        description: The names of the schema's tables
        items:
          type: object
          properties:
            name:
              type: string
              description: The table name
            uri:
              type: string
              description: A link to the table information
              format: uri
  getTableResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (table)
      name:
        type: string
        description: The table name
      schema:
        type: string
        description: The schema name
      datasource:
        type: string
        description: The datasource name
      tenant:
        type: string
        description: The tenant name
      columns:
        type: array
        description: The names of the table's columns
        items:
          type: object
          properties:
            name:
              type: string
              description: The column name
            uri:
              type: string
              description: A link to the column information
              format: uri
  getColumnResponse:
    type: object
    properties:
      type:
        type: string
        description: The type of entity (column)
      name:
        type: string
        description: The column name
      table:
        type: string
        description: The table name
      schema:
        type: string
        description: The schema name
      datasource:
        type: string
        description: The datasource name
      tenant:
        type: string
        description: The tenant name
      metadata:
        type: object
        description: Metadata about the column
        properties:
          number:
            type: integer
            description: The column number (0-based)
          size:
            type: integer
            description: The column size
          nullable:
            type: boolean
            description: Is the column nullable?
          primary-key:
            type: boolean
            description: Is the column a primary key?
          indexed:
            type: boolean
            description: Is the column indexed?
          column-type:
            type: string
            description: The column type (as interpreted/adapted by Apache MetaModel)
          native-type:
            type: string
            description: The native column type (as defined by the datasource itself)
          remarks:
            type: string
            description: Any remarks on the column
  error:
    description: Elaborates the error that occurred
    type: object
    properties:
      code:
        type: integer
        description: The HTTP status code
      message:
        type: string
        description: A humanly readable error message
      additional_details:
        type: object
        description: Any auxilary details to further elaborate the error
