openapi: 3.0.0
info:
  version: 1.0.0
  title: My API
  description: This is the API
servers:
  - url: v1
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    ProfileSchema:
      type: object
      properties:
        id:
          type: string
          format: uuid
        address:
          type: string
        email:
          nullable: true
        photo:
          nullable: true
        DOB:
          type: string
      required:
        - id
        - address
        - DOB
    UserSchema:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
      required:
        - id
        - name
    PostSchema:
      type: object
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
      required:
        - id
        - title
    CategorySchema:
      type: object
      properties:
        id:
          type: string
          format: uuid
        description:
          type: string
      required:
        - id
        - description
    CreateUserSchema:
      type: object
      properties:
        id:
          type: string
          format: uuid
        address:
          type: string
        email:
          nullable: true
        photo:
          nullable: true
        DOB:
          type: string
        name:
          type: string
      required:
        - id
        - address
        - DOB
        - name
    FindUsersByNameSchema:
      type: object
      properties: {}
    CreateUserWithPostsSchema:
      type: object
      properties: {}
    AddPostSchema:
      type: object
      properties: {}
    AddCategorySchema:
      type: object
      properties: {}
    AddCategoryToPostSchema:
      type: object
      properties: {}
    GetUserPostsSchema:
      type: object
      properties: {}
    FindUserProfileSchema:
      type: object
      properties: {}
    UpdateUserNameSchema:
      type: object
      properties: {}
  parameters: {}
paths:
  /api/Blog/Profile:
    post:
      security:
        - bearerAuth: []
      tags:
        - Blog/Profile
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Profile:
                  $ref: "#/components/schemas/ProfileSchema"
              required:
                - Blog/Profile
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProfileSchema"
        "500":
          description: Internal Server Error
    get:
      security:
        - bearerAuth: []
      tags:
        - Blog/Profile
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/ProfileSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/Profile/{id}:
    put:
      tags:
        - Blog/Profile
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Profile:
                  $ref: "#/components/schemas/ProfileSchema"
              required:
                - Blog/Profile
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProfileSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
    delete:
      security:
        - bearerAuth: []
      tags:
        - Blog/Profile
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/User:
    post:
      security:
        - bearerAuth: []
      tags:
        - Blog/User
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/User:
                  $ref: "#/components/schemas/UserSchema"
              required:
                - Blog/User
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserSchema"
        "500":
          description: Internal Server Error
    get:
      security:
        - bearerAuth: []
      tags:
        - Blog/User
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/UserSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/User/{id}:
    put:
      tags:
        - Blog/User
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/User:
                  $ref: "#/components/schemas/UserSchema"
              required:
                - Blog/User
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
    delete:
      security:
        - bearerAuth: []
      tags:
        - Blog/User
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/Post:
    post:
      security:
        - bearerAuth: []
      tags:
        - Blog/Post
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Post:
                  $ref: "#/components/schemas/PostSchema"
              required:
                - Blog/Post
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PostSchema"
        "500":
          description: Internal Server Error
    get:
      security:
        - bearerAuth: []
      tags:
        - Blog/Post
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/PostSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/Post/{id}:
    put:
      tags:
        - Blog/Post
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Post:
                  $ref: "#/components/schemas/PostSchema"
              required:
                - Blog/Post
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PostSchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
    delete:
      security:
        - bearerAuth: []
      tags:
        - Blog/Post
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/Category:
    post:
      security:
        - bearerAuth: []
      tags:
        - Blog/Category
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Category:
                  $ref: "#/components/schemas/CategorySchema"
              required:
                - Blog/Category
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CategorySchema"
        "500":
          description: Internal Server Error
    get:
      security:
        - bearerAuth: []
      tags:
        - Blog/Category
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/CategorySchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/Category/{id}:
    put:
      tags:
        - Blog/Category
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/Category:
                  $ref: "#/components/schemas/CategorySchema"
              required:
                - Blog/Category
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CategorySchema"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
    delete:
      security:
        - bearerAuth: []
      tags:
        - Blog/Category
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/CreateUser:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/CreateUser:
                  $ref: "#/components/schemas/CreateUserSchema"
              required:
                - Blog/CreateUser
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/FindUsersByName:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/FindUsersByName:
                  $ref: "#/components/schemas/FindUsersByNameSchema"
              required:
                - Blog/FindUsersByName
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/CreateUserWithPosts:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/CreateUserWithPosts:
                  $ref: "#/components/schemas/CreateUserWithPostsSchema"
              required:
                - Blog/CreateUserWithPosts
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/AddPost:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/AddPost:
                  $ref: "#/components/schemas/AddPostSchema"
              required:
                - Blog/AddPost
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/AddCategory:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/AddCategory:
                  $ref: "#/components/schemas/AddCategorySchema"
              required:
                - Blog/AddCategory
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/AddCategoryToPost:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/AddCategoryToPost:
                  $ref: "#/components/schemas/AddCategoryToPostSchema"
              required:
                - Blog/AddCategoryToPost
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/GetUserPosts:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/GetUserPosts:
                  $ref: "#/components/schemas/GetUserPostsSchema"
              required:
                - Blog/GetUserPosts
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/FindUserProfile:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/FindUserProfile:
                  $ref: "#/components/schemas/FindUserProfileSchema"
              required:
                - Blog/FindUserProfile
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
  /api/Blog/UpdateUserName:
    post:
      security:
        - bearerAuth: []
      tags:
        - Events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                Blog/UpdateUserName:
                  $ref: "#/components/schemas/UpdateUserNameSchema"
              required:
                - Blog/UpdateUserName
      responses:
        "200":
          description: Success
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
