# Generated with protoc-gen-openapi
# https://github.com/google/gnostic/tree/master/apps/protoc-gen-openapi

openapi: 3.0.3
info:
    title: BlogService
    version: 0.0.1
paths:
    /v1/article/:
        get:
            operationId: BlogService_ListArticle
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListArticleReply'
        post:
            operationId: BlogService_CreateArticle
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateArticleRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreateArticleReply'
    /v1/article/{id}:
        get:
            operationId: BlogService_GetArticle
            parameters:
                - name: id
                  in: query
                  schema:
                    type: string
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetArticleReply'
        put:
            operationId: BlogService_UpdateArticle
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdateArticleRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UpdateArticleReply'
        delete:
            operationId: BlogService_DeleteArticle
            parameters:
                - name: id
                  in: query
                  schema:
                    type: string
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/DeleteArticleReply'
components:
    schemas:
        Article:
            properties:
                id:
                    type: integer
                    format: int64
                title:
                    type: string
                content:
                    type: string
                like:
                    type: integer
                    format: int64
        CreateArticleReply:
            properties:
                Article:
                    $ref: '#/components/schemas/Article'
        CreateArticleRequest:
            properties:
                title:
                    type: string
                content:
                    type: string
        DeleteArticleReply:
            properties: {}
        GetArticleReply:
            properties:
                Article:
                    $ref: '#/components/schemas/Article'
        ListArticleReply:
            properties:
                results:
                    type: array
                    items:
                        $ref: '#/components/schemas/Article'
        UpdateArticleReply:
            properties:
                Article:
                    $ref: '#/components/schemas/Article'
        UpdateArticleRequest:
            properties:
                id:
                    type: integer
                    format: int64
                title:
                    type: string
                content:
                    type: string
