# communicate-center-poa.v1.yaml
#
# 1. 创建服务
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services' -H 'Content-Type: application/json' -d '{"id": "communicate", "origin": "http://communicate-center-poa-svc.communicate-center.svc.cluster.local:8080", "name": "通信服务", "description": "通信服务"}'
#
# 2. 创建版本
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/communicate/apiVersions/v1'
#
# 3. 上传OAS Yaml
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/communicate/apiVersions/v1/apiSpecs' -H 'Content-Type: application/yaml' --data-binary @communicate-center-poa.v1.yaml
#
# 4. 发布版本
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/communicate/apiVersions/v1/publish'
#
openapi: 3.0.2
info:
  title: Communicate Center Platform Open APIs
  version: v1
  description: '通信服务 - 平台开放接口'
servers:
  - url: '${POA_SERVER_URL}/apis/communicate/v1'
    description: '生产环境'
tags:
  - name: Communication
    description: '通信'
paths:

  '/communications/{communicationLogId}/sendStatus':
    get:
      summary: 检查发送状态
      description: 检查发送状态
      operationId: checkSendStatus
      tags:
        - Communication
      security:
        - oauth2:
          - "communicate:v1:communicationCheck"
      parameters:
        - name: communicationLogId
          in: path
          required: true
          description: 通信记录ID
          schema:
            type: string
      responses:
        '200':
          description: 发送状态
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationSendResponse'
        default:
          $ref: '#/components/responses/DefaultErrorResponse'

  '/communications/sendMail':
    post:
      summary: 发送邮件
      description: 发送邮件
      operationId: sendMail
      tags:
        - Communication
      security:
        - oauth2:
          - "communicate:v1:communicationSend"
      requestBody:
        description: 发送请求数据
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationSendRequest'
      responses:
        '200':
          description: 发送状态
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationSendResponse'
        default:
          $ref: '#/components/responses/DefaultErrorResponse'


  '/communications/sendSms':
    post:
      summary: 发送短信
      description: 发送短信
      operationId: sendSms
      tags:
        - Communication
      security:
        - oauth2:
          - "communicate:v1:communicationSend"
      requestBody:
        description: 发送请求数据
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationSendRequest'
      responses:
        '200':
          description: 发送状态
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationSendResponse'
        default:
          $ref: '#/components/responses/DefaultErrorResponse'





components:

  # Security Schemes
  
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: ${POA_SERVER_URL}/oauth2/token
          scopes:
            "communicate:v1:communicationCheck": "检查"
            "communicate:v1:communicationSend": "发送"


  responses:
    'ErrorResponse400':
      description: unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'

    DefaultErrorResponse:
      description: unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'

  schemas:
  
    # Error
    
    ApiErrorResponse:
      title: '异常响应'
      type: object
      required:
        - code
        - message
      properties:
        code:
          title: 异常代码
          type: integer
          format: int32
          default: -1
        message:
          title: 异常信息
          type: string
          default: "未知错误"

    # Entity
    
    BaseEntity:
      title: 实体 - 基类
      type: object
      properties:
        id:
          title: ID
          type: string
        #companyId:
        #  title: 'Company ID, 固定 1'
        #  type: string
        #  default: '1'
        #deleted:
        #  title: 是否删除
        #  type: boolean
        #  default: false
        #addAccount:
        #  title: 创建人
        #  type: string
        #addTime:
        #  title: 创建时间
        #  type: string
        #  format: date-time
        #editAccount:
        #  title: 修改人
        #  type: string
        #editTime:
        #  title: 修改时间
        #  type: string
        #  format: date-time
        #deleteAccount:
        #  title: 删除人
        #  type: string
        #deleteTime:
        #  title: 删除时间
        #  type: string
        #  format: date-time


    # DTO
    Communication: 
      title: DTO - 通信数据
      type: object
      properties:
        from:
          title: 来源
          type: string
        to:
          title: 接收帐号
          type: string
        payload:
          title: 数据载荷
          allOf:
            - $ref: '#/components/schemas/CommunicationPayload'

    CommunicationPayload:
      title: DTO - 通信数据载荷
      type: object
      properties:
        subject:
          title: 主题
          type: string
        template:
          title: 模板
          type: string
        data:
          title: 数据（Map<String, String>）
          type: object
          additionalProperties:
            type: string

          # type: array
          # items: 
          #   title: 数据项
          #   type: object
          #   properties:
          #     key:
          #       title: 键
          #       type: string
          #     value: 
          #       title: 值
          #       type: string


    # Request VO
    CommunicationSendRequest:
      title: 请求数据 - 发送请求
      allOf:
        - $ref: '#/components/schemas/Communication'


    # Response Data
    CommunicationSendResponseData:
      title: 响应数据 - 发送响应
      type: object
      properties:
        sendStatus:
          title: 发送状态
          type: string
        sendResult:
          title: 发送结果
          type: string


    # Response VO

    ApiDataResponse:
      title: 响应
      type: object
      properties:
        code:
          title: 响应代码
          type: integer
          format: int32
          default: 0
        message:
          title: 响应信息
          type: string
        data:
          title: 响应数据
          type: object

    DefaultApiDataResponse:
      allOf:
        - $ref: '#/components/schemas/ApiDataResponse'
        - type: object
          title: 响应
          properties:
            data:
              title: 响应数据
              type: object

    CommunicationSendResponse:
      allOf:
        - $ref: '#/components/schemas/DefaultApiDataResponse'
        - type: object
          title: 响应
          properties:
            data:
              allOf:
                - $ref: '#/components/schemas/CommunicationSendResponseData'
