definitions:
  paginator.Pagination:
    properties:
      count:
        type: integer
      limit:
        type: integer
      nextPage:
        type: integer
      page:
        type: integer
      previousPage:
        type: integer
      sort:
        type: string
      sortBy:
        type: string
      totalPage:
        type: integer
    type: object
  request.ActivityLogsCreateRequest:
    properties:
      activityTypeId:
        type: integer
      articleId:
        type: integer
      url:
        type: string
      userId:
        type: integer
      visitorIp:
        type: string
    required:
    - activityTypeId
    - url
    type: object
  request.ActivityLogsUpdateRequest:
    properties:
      activityTypeId:
        type: integer
      articleId:
        type: integer
      id:
        type: integer
      url:
        type: string
      userId:
        type: integer
    required:
    - activityTypeId
    - id
    - url
    type: object
  request.ArticleApprovalsCreateRequest:
    properties:
      articleId:
        type: integer
      message:
        type: string
      statusId:
        type: integer
    required:
    - articleId
    - message
    - statusId
    type: object
  request.ArticleApprovalsUpdateRequest:
    properties:
      articleId:
        type: integer
      id:
        type: integer
      message:
        type: string
      statusId:
        type: integer
    required:
    - articleId
    - id
    - message
    - statusId
    type: object
  request.ArticleCategoriesCreateRequest:
    properties:
      createdById:
        type: integer
      description:
        type: string
      oldCategoryId:
        type: integer
      parentId:
        type: integer
      slug:
        type: string
      statusId:
        type: integer
      tags:
        type: string
      title:
        type: string
    required:
    - description
    - statusId
    - title
    type: object
  request.ArticleCategoriesUpdateRequest:
    properties:
      createdById:
        type: integer
      description:
        type: string
      id:
        type: integer
      isPublish:
        type: boolean
      parentId:
        type: integer
      publishedAt:
        type: string
      slug:
        type: string
      statusId:
        type: integer
      tags:
        type: string
      title:
        type: string
    required:
    - description
    - id
    - statusId
    - title
    type: object
  request.ArticleCommentsApprovalRequest:
    properties:
      id:
        type: integer
      statusId:
        type: integer
    required:
    - id
    - statusId
    type: object
  request.ArticleCommentsCreateRequest:
    properties:
      articleId:
        type: integer
      isPublic:
        type: boolean
      message:
        type: string
      parentId:
        type: integer
    required:
    - articleId
    - message
    type: object
  request.ArticleCommentsUpdateRequest:
    properties:
      articleId:
        type: integer
      id:
        type: integer
      isPublic:
        type: boolean
      message:
        type: string
      parentId:
        type: integer
    required:
    - articleId
    - id
    - message
    type: object
  request.ArticleFilesUpdateRequest:
    properties:
      articleId:
        type: integer
      fileAlt:
        type: string
      fileName:
        type: string
      filePath:
        type: string
      fileThumbnail:
        type: string
      fileUrl:
        type: string
      heightPixel:
        type: string
      id:
        type: integer
      isPublish:
        type: boolean
      publishedAt:
        type: string
      size:
        type: string
      statusId:
        type: integer
      widthPixel:
        type: string
    required:
    - articleId
    - id
    - isPublish
    - publishedAt
    - statusId
    type: object
  request.ArticlesCreateRequest:
    properties:
      aiArticleId:
        type: integer
      categoryIds:
        type: string
      createdAt:
        type: string
      createdById:
        type: integer
      description:
        type: string
      htmlDescription:
        type: string
      isDraft:
        type: boolean
      isPublish:
        type: boolean
      oldId:
        type: integer
      slug:
        type: string
      tags:
        type: string
      title:
        type: string
      typeId:
        type: integer
    required:
    - categoryIds
    - description
    - htmlDescription
    - slug
    - tags
    - title
    - typeId
    type: object
  request.ArticlesUpdateRequest:
    properties:
      aiArticleId:
        type: integer
      categoryIds:
        type: string
      createdAt:
        type: string
      createdById:
        type: integer
      description:
        type: string
      htmlDescription:
        type: string
      isDraft:
        type: boolean
      isPublish:
        type: boolean
      slug:
        type: string
      statusId:
        type: integer
      tags:
        type: string
      title:
        type: string
      typeId:
        type: integer
    required:
    - categoryIds
    - description
    - htmlDescription
    - slug
    - tags
    - title
    - typeId
    type: object
  request.CitiesCreateRequest:
    properties:
      cityName:
        type: string
      provId:
        type: integer
    required:
    - cityName
    - provId
    type: object
  request.CitiesUpdateRequest:
    properties:
      cityName:
        type: string
      id:
        type: integer
      provId:
        type: integer
    required:
    - cityName
    - id
    - provId
    type: object
  request.CustomStaticPagesCreateRequest:
    properties:
      description:
        type: string
      htmlBody:
        type: string
      slug:
        type: string
      title:
        type: string
    required:
    - htmlBody
    - slug
    - title
    type: object
  request.CustomStaticPagesUpdateRequest:
    properties:
      description:
        type: string
      htmlBody:
        type: string
      id:
        type: integer
      slug:
        type: string
      title:
        type: string
      updatedAt:
        type: string
    required:
    - htmlBody
    - id
    - slug
    - title
    type: object
  request.FeedbacksCreateRequest:
    properties:
      commentFromEmail:
        type: string
      commentFromName:
        type: string
      message:
        type: string
    required:
    - commentFromEmail
    - commentFromName
    - message
    type: object
  request.FeedbacksUpdateRequest:
    properties:
      commentFromEmail:
        type: string
      commentFromName:
        type: string
      id:
        type: integer
      message:
        type: string
    required:
    - commentFromEmail
    - commentFromName
    - id
    - message
    type: object
  request.GalleriesCreateRequest:
    properties:
      description:
        type: string
      thumbnail_path:
        type: string
      title:
        type: string
    required:
    - title
    type: object
  request.GalleriesUpdateRequest:
    properties:
      description:
        type: string
      is_active:
        type: boolean
      thumbnail_path:
        type: string
      title:
        type: string
    type: object
  request.ProductSpecificationsUpdateRequest:
    properties:
      is_active:
        type: boolean
      product_id:
        type: integer
      thumbnail_path:
        type: string
      title:
        type: string
    type: object
  request.PromotionsUpdateRequest:
    properties:
      description:
        type: string
      is_active:
        type: boolean
      thumbnail_path:
        type: string
      title:
        type: string
    type: object
  request.UserEmailValidationRequest:
    properties:
      newEmail:
        type: string
      oldEmail:
        type: string
      password:
        type: string
      username:
        type: string
    type: object
  request.UserForgotPassword:
    properties:
      username:
        type: string
    type: object
  request.UserLevelsApprovalRequest:
    properties:
      ids:
        type: string
      isApprovalActive:
        type: boolean
    required:
    - ids
    - isApprovalActive
    type: object
  request.UserLevelsCreateRequest:
    properties:
      aliasName:
        type: string
      group:
        type: string
      isActive:
        type: boolean
      isApprovalActive:
        type: boolean
      levelNumber:
        type: integer
      name:
        type: string
      parentLevelId:
        type: integer
      provinceId:
        type: integer
    required:
    - aliasName
    - levelNumber
    - name
    type: object
  request.UserLevelsUpdateRequest:
    properties:
      aliasName:
        type: string
      group:
        type: string
      isApprovalActive:
        type: boolean
      levelNumber:
        type: integer
      name:
        type: string
      parentLevelId:
        type: integer
      provinceId:
        type: integer
    required:
    - aliasName
    - levelNumber
    - name
    type: object
  request.UserLogin:
    properties:
      password:
        type: string
      refreshToken:
        type: string
      username:
        type: string
    type: object
  request.UserOtpRequest:
    properties:
      email:
        type: string
      name:
        type: string
    required:
    - email
    type: object
  request.UserOtpValidation:
    properties:
      email:
        type: string
      otpCode:
        type: string
      username:
        type: string
    type: object
  request.UserResetPassword:
    properties:
      codeRequest:
        type: string
      confirmPassword:
        type: string
      password:
        type: string
      userId:
        type: string
    type: object
  request.UserRoleAccessesCreateRequest:
    properties:
      isAdminEnabled:
        type: boolean
      isApprovalEnabled:
        type: boolean
      isDeleteEnabled:
        type: boolean
      isInsertEnabled:
        type: boolean
      isUpdateEnabled:
        type: boolean
      isViewEnabled:
        type: boolean
      menuId:
        type: integer
    required:
    - isAdminEnabled
    - isApprovalEnabled
    - isDeleteEnabled
    - isInsertEnabled
    - isUpdateEnabled
    - isViewEnabled
    - menuId
    type: object
  request.UserRoleAccessesUpdateRequest:
    properties:
      id:
        type: integer
      isAdminEnabled:
        type: boolean
      isApprovalEnabled:
        type: boolean
      isDeleteEnabled:
        type: boolean
      isInsertEnabled:
        type: boolean
      isUpdateEnabled:
        type: boolean
      isViewEnabled:
        type: boolean
      menuId:
        type: integer
      userRoleId:
        type: integer
    required:
    - id
    - isAdminEnabled
    - isApprovalEnabled
    - isDeleteEnabled
    - isInsertEnabled
    - isUpdateEnabled
    - isViewEnabled
    - menuId
    - userRoleId
    type: object
  request.UserRolesCreateRequest:
    properties:
      code:
        type: string
      description:
        type: string
      name:
        type: string
      statusId:
        type: integer
      userLevelIds:
        items:
          type: integer
        type: array
      userRoleAccess:
        items:
          $ref: '#/definitions/request.UserRoleAccessesCreateRequest'
        type: array
    required:
    - code
    - description
    - name
    - statusId
    - userLevelIds
    - userRoleAccess
    type: object
  request.UserRolesUpdateRequest:
    properties:
      code:
        type: string
      description:
        type: string
      levelNumber:
        type: integer
      name:
        type: string
      statusId:
        type: integer
      userLevelIds:
        items:
          type: integer
        type: array
    required:
    - code
    - description
    - levelNumber
    - name
    - statusId
    - userLevelIds
    type: object
  request.UserSavePassword:
    properties:
      confirmPassword:
        type: string
      password:
        type: string
    type: object
  request.UsersCreateRequest:
    properties:
      address:
        type: string
      dateOfBirth:
        type: string
      degree:
        type: string
      email:
        type: string
      fullname:
        type: string
      genderType:
        type: string
      identityGroup:
        type: string
      identityGroupNumber:
        type: string
      identityNumber:
        type: string
      identityType:
        type: string
      lastEducation:
        type: string
      lastJobTitle:
        type: string
      password:
        type: string
      phoneNumber:
        type: string
      userLevelId:
        type: integer
      userRoleId:
        type: integer
      username:
        type: string
      whatsappNumber:
        type: string
      workType:
        type: string
    required:
    - email
    - fullname
    - password
    - userLevelId
    - userRoleId
    - username
    type: object
  request.UsersUpdateRequest:
    properties:
      address:
        type: string
      dateOfBirth:
        type: string
      degree:
        type: string
      email:
        type: string
      fullname:
        type: string
      genderType:
        type: string
      identityGroup:
        type: string
      identityGroupNumber:
        type: string
      identityNumber:
        type: string
      identityType:
        type: string
      lastEducation:
        type: string
      lastJobTitle:
        type: string
      phoneNumber:
        type: string
      statusId:
        type: integer
      userLevelId:
        type: integer
      userRoleId:
        type: integer
      username:
        type: string
      whatsappNumber:
        type: string
      workType:
        type: string
    required:
    - email
    - fullname
    - userLevelId
    - userRoleId
    - username
    type: object
  response.BadRequestError:
    properties:
      code:
        example: 400
        type: integer
      message:
        example: bad request
        type: string
      success:
        example: false
        type: boolean
    type: object
  response.InternalServerError:
    properties:
      code:
        example: 500
        type: integer
      message:
        example: internal server error
        type: string
      success:
        example: false
        type: boolean
    type: object
  response.Response:
    properties:
      code:
        example: 200
        type: integer
      data: {}
      messages:
        items: {}
        type: array
      meta: {}
      success:
        example: true
        type: boolean
    type: object
  response.UnauthorizedError:
    properties:
      code:
        example: 401
        type: integer
      message:
        example: unauthorized access
        type: string
      success:
        example: false
        type: boolean
    type: object
info:
  contact: {}
paths:
  /activity-logs:
    get:
      description: API for getting all ActivityLogs
      parameters:
      - in: query
        name: activityTypeId
        type: integer
      - in: query
        name: articleId
        type: integer
      - in: query
        name: url
        type: string
      - in: query
        name: userId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ActivityLogs
      tags:
      - ActivityLogs
    post:
      description: API for create ActivityLogs
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ActivityLogsCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create ActivityLogs
      tags:
      - ActivityLogs
  /activity-logs/{id}:
    delete:
      description: API for delete ActivityLogs
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ActivityLogs ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete ActivityLogs
      tags:
      - ActivityLogs
    put:
      description: API for update ActivityLogs
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ActivityLogsUpdateRequest'
      - description: ActivityLogs ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update ActivityLogs
      tags:
      - ActivityLogs
  /activity-logs/detail/{id}:
    get:
      description: API for getting one ActivityLogs
      parameters:
      - description: ActivityLogs ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ActivityLogs
      tags:
      - ActivityLogs
  /activity-logs/statistics:
    get:
      description: API for get activity stats ActivityLogs
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get activity stats ActivityLogs
      tags:
      - ActivityLogs
  /article-approvals:
    get:
      description: API for getting all ArticleApprovals
      parameters:
      - in: query
        name: approvalAtLevel
        type: integer
      - in: query
        name: approvalBy
        type: integer
      - in: query
        name: articleId
        type: integer
      - in: query
        name: message
        type: string
      - in: query
        name: statusId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ArticleApprovals
      tags:
      - ArticleApprovals
    post:
      description: API for create ArticleApprovals
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleApprovalsCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create ArticleApprovals
      tags:
      - ArticleApprovals
  /article-approvals/{id}:
    delete:
      description: API for delete ArticleApprovals
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleApprovals ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete ArticleApprovals
      tags:
      - ArticleApprovals
    get:
      description: API for getting one ArticleApprovals
      parameters:
      - description: ArticleApprovals ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleApprovals
      tags:
      - ArticleApprovals
    put:
      description: API for update ArticleApprovals
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleApprovalsUpdateRequest'
      - description: ArticleApprovals ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update ArticleApprovals
      tags:
      - ArticleApprovals
  /article-categories:
    get:
      description: API for getting all ArticleCategories
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - in: query
        name: UserLevelId
        type: integer
      - in: query
        name: UserLevelNumber
        type: integer
      - in: query
        name: description
        type: string
      - in: query
        name: isPublish
        type: boolean
      - in: query
        name: parentId
        type: integer
      - in: query
        name: statusId
        type: integer
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ArticleCategories
      tags:
      - Article Categories
    post:
      description: API for create ArticleCategories
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleCategoriesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create ArticleCategories
      tags:
      - Article Categories
  /article-categories/{id}:
    delete:
      description: API for delete ArticleCategories
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleCategories ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete ArticleCategories
      tags:
      - Article Categories
    get:
      description: API for getting one ArticleCategories
      parameters:
      - description: ArticleCategories ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleCategories
      tags:
      - Article Categories
    put:
      description: API for update ArticleCategories
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleCategoriesUpdateRequest'
      - description: ArticleCategories ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update ArticleCategories
      tags:
      - Article Categories
  /article-categories/old/{id}:
    get:
      description: API for getting one ArticleCategories
      parameters:
      - description: ArticleCategories Old ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleCategories
      tags:
      - Article Categories
  /article-categories/slug/{slug}:
    get:
      description: API for getting one ArticleCategories
      parameters:
      - description: ArticleCategories Slug
        in: path
        name: slug
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleCategories
      tags:
      - Article Categories
  /article-categories/thumbnail/{id}:
    post:
      description: API for Upload ArticleCategories Thumbnail
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Upload thumbnail
        in: formData
        name: files
        required: true
        type: file
      - description: ArticleCategories ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Upload ArticleCategories Thumbnail
      tags:
      - Article Categories
  /article-categories/thumbnail/viewer/{id}:
    get:
      description: API for View Thumbnail of ArticleCategories
      parameters:
      - description: ArticleCategories ID
        in: path
        name: id
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer ArticleCategories
      tags:
      - Article Categories
  /article-category-details:
    get:
      description: API for getting all ArticleCategoryDetails
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get all ArticleCategoryDetails
      tags:
      - Untags
    post:
      description: API for create ArticleCategoryDetails
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Create ArticleCategoryDetails
      tags:
      - Untags
  /article-category-details/{id}:
    delete:
      description: API for delete ArticleCategoryDetails
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleCategoryDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: delete ArticleCategoryDetails
      tags:
      - Untags
    get:
      description: API for getting one ArticleCategoryDetails
      parameters:
      - description: ArticleCategoryDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get one ArticleCategoryDetails
      tags:
      - Untags
    put:
      description: API for update ArticleCategoryDetails
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleCategoryDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: update ArticleCategoryDetails
      tags:
      - Untags
  /article-comments:
    get:
      description: API for getting all ArticleComments
      parameters:
      - in: query
        name: articleId
        type: integer
      - in: query
        name: commentFrom
        type: integer
      - in: query
        name: isPublic
        type: boolean
      - in: query
        name: message
        type: string
      - in: query
        name: parentId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ArticleComments
      tags:
      - ArticleComments
    post:
      description: API for create ArticleComments
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleCommentsCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create ArticleComments
      tags:
      - ArticleComments
  /article-comments/{id}:
    delete:
      description: API for delete ArticleComments
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleComments ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete ArticleComments
      tags:
      - ArticleComments
    get:
      description: API for getting one ArticleComments
      parameters:
      - description: ArticleComments ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleComments
      tags:
      - ArticleComments
    put:
      description: API for update ArticleComments
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleCommentsUpdateRequest'
      - description: ArticleComments ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update ArticleComments
      tags:
      - ArticleComments
  /article-comments/approval:
    post:
      description: API for Approval ArticleComments
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleCommentsApprovalRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Approval ArticleComments
      tags:
      - ArticleComments
  /article-files:
    get:
      description: API for getting all ArticleFiles
      parameters:
      - in: query
        name: articleId
        type: integer
      - in: query
        name: fileName
        type: string
      - in: query
        name: isPublish
        type: boolean
      - in: query
        name: statusId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ArticleFiles
      tags:
      - Article Files
  /article-files/{articleId}:
    post:
      description: API for create ArticleFiles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Upload file
        in: formData
        name: files
        required: true
        type: file
      - description: Article ID
        in: path
        name: articleId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Upload ArticleFiles
      tags:
      - Article Files
  /article-files/{id}:
    delete:
      description: API for delete ArticleFiles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: ArticleFiles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete ArticleFiles
      tags:
      - Article Files
    get:
      description: API for getting one ArticleFiles
      parameters:
      - description: ArticleFiles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one ArticleFiles
      tags:
      - Article Files
    put:
      description: API for update ArticleFiles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticleFilesUpdateRequest'
      - description: ArticleFiles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update ArticleFiles
      tags:
      - Article Files
  /article-files/upload-status/{uploadId}:
    get:
      description: API for GetUploadStatus ArticleFiles
      parameters:
      - description: Upload ID of ArticleFiles
        in: path
        name: uploadId
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: GetUploadStatus ArticleFiles
      tags:
      - Article Files
  /article-files/viewer/{filename}:
    get:
      description: API for Viewer ArticleFiles
      parameters:
      - description: Article File Name
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer ArticleFiles
      tags:
      - Article Files
  /articles:
    get:
      description: API for getting all Articles
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: category
        type: string
      - in: query
        name: categoryId
        type: integer
      - in: query
        name: createdById
        type: integer
      - in: query
        name: description
        type: string
      - in: query
        name: isBanner
        type: boolean
      - in: query
        name: isDraft
        type: boolean
      - in: query
        name: isPublish
        type: boolean
      - in: query
        name: statusId
        type: integer
      - in: query
        name: tags
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: typeId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Articles
      tags:
      - Articles
    post:
      description: API for create Articles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticlesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Articles
      tags:
      - Articles
  /articles/{id}:
    delete:
      description: API for delete Articles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Articles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete Articles
      tags:
      - Articles
    get:
      description: API for getting one Articles
      parameters:
      - description: Articles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one Articles
      tags:
      - Articles
    put:
      description: API for update Articles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ArticlesUpdateRequest'
      - description: Articles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Articles
      tags:
      - Articles
  /articles/banner/{id}:
    put:
      description: API for Update Banner Articles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Articles ID
        in: path
        name: id
        required: true
        type: integer
      - description: Articles Banner Status
        in: query
        name: isBanner
        required: true
        type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Banner Articles
      tags:
      - Articles
  /articles/old-id/{id}:
    get:
      description: API for getting one Articles
      parameters:
      - description: Articles Old ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one Articles
      tags:
      - Articles
  /articles/publish-scheduling:
    post:
      description: API for Publish Schedule of Article
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: article id
        in: query
        name: id
        type: integer
      - description: publish date
        in: query
        name: date
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: PublishScheduling Articles
      tags:
      - Articles
  /articles/statistic/monthly:
    get:
      description: API for ArticleMonthlyStats of Article
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: year
        in: query
        name: year
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ArticleMonthlyStats Articles
      tags:
      - Articles
  /articles/statistic/summary:
    get:
      description: API for Summary Stats of Article
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: SummaryStats Articles
      tags:
      - Articles
  /articles/statistic/user-levels:
    get:
      description: API for ArticlePerUserLevelStats of Article
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: start date
        in: query
        name: startDate
        type: string
      - description: start date
        in: query
        name: endDate
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ArticlePerUserLevelStats Articles
      tags:
      - Articles
  /articles/thumbnail/{id}:
    post:
      description: API for Save Thumbnail of Articles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Upload thumbnail
        in: formData
        name: files
        required: true
        type: file
      - description: Articles ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Save Thumbnail Articles
      tags:
      - Articles
  /articles/thumbnail/viewer/{thumbnailName}:
    get:
      description: API for View Thumbnail of Article
      parameters:
      - description: Articles Thumbnail Name
        in: path
        name: thumbnailName
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer Articles Thumbnail
      tags:
      - Articles
  /banners:
    get:
      description: API for getting all Banners
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: position
        type: string
      - in: query
        name: status
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Banners
      tags:
      - Banners
    post:
      description: API for creating Banner with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Banner title
        in: formData
        name: title
        required: true
        type: string
      - description: Banner description
        in: formData
        name: description
        type: string
      - description: Banner position
        in: formData
        name: position
        type: string
      - description: Banner status
        in: formData
        name: status
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Banner
      tags:
      - Banners
  /banners/{id}:
    delete:
      description: API for deleting Banner (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Banner ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete Banner
      tags:
      - Banners
    get:
      description: API for getting Banner by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Banner ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get Banner by ID
      tags:
      - Banners
    put:
      description: API for updating Banner with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Banner ID
        in: path
        name: id
        required: true
        type: integer
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Banner title
        in: formData
        name: title
        type: string
      - description: Banner description
        in: formData
        name: description
        type: string
      - description: Banner position
        in: formData
        name: position
        type: string
      - description: Banner status
        in: formData
        name: status
        type: string
      - description: Banner is_active
        in: formData
        name: is_active
        type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Banner
      tags:
      - Banners
  /banners/viewer/{filename}:
    get:
      description: API for viewing Banner file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Banner File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer Banner
      tags:
      - Banners
  /cities:
    get:
      description: API for getting all Cities
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get all Cities
      tags:
      - Untags
    post:
      description: API for create Cities
      parameters:
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.CitiesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Create Cities
      tags:
      - Untags
  /cities/{id}:
    delete:
      description: API for delete Cities
      parameters:
      - description: Cities ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Delete Cities
      tags:
      - Untags
    get:
      description: API for getting one Cities
      parameters:
      - description: Cities ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get one Cities
      tags:
      - Untags
    put:
      consumes:
      - application/json
      description: API for update Cities
      parameters:
      - description: Cities ID
        in: path
        name: id
        required: true
        type: integer
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.CitiesUpdateRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Update Cities
      tags:
      - Untags
  /custom-static-pages:
    get:
      description: API for getting all CustomStaticPages
      parameters:
      - in: query
        name: description
        type: string
      - in: query
        name: htmlBody
        type: string
      - in: query
        name: slug
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all CustomStaticPages
      tags:
      - CustomStaticPages
    post:
      description: API for create CustomStaticPages
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.CustomStaticPagesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create CustomStaticPages
      tags:
      - CustomStaticPages
  /custom-static-pages/{id}:
    delete:
      description: API for delete CustomStaticPages
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: CustomStaticPages ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete CustomStaticPages
      tags:
      - CustomStaticPages
    get:
      description: API for getting one CustomStaticPages
      parameters:
      - description: CustomStaticPages ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one CustomStaticPages
      tags:
      - CustomStaticPages
    put:
      description: API for update CustomStaticPages
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.CustomStaticPagesUpdateRequest'
      - description: CustomStaticPages ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update CustomStaticPages
      tags:
      - CustomStaticPages
  /custom-static-pages/slug/{slug}:
    get:
      description: API for getting one CustomStaticPages
      parameters:
      - description: CustomStaticPages Slug
        in: path
        name: slug
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one CustomStaticPages
      tags:
      - CustomStaticPages
  /districts:
    get:
      description: API for getting all Districts
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get all Districts
      tags:
      - Untags
    post:
      description: API for create Districts
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Create Districts
      tags:
      - Untags
  /districts/{id}:
    delete:
      description: API for delete Districts
      parameters:
      - description: Districts ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Delete Districts
      tags:
      - Untags
    get:
      description: API for getting one Districts
      parameters:
      - description: Districts ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get one Districts
      tags:
      - Untags
    put:
      description: API for update Districts
      parameters:
      - description: Districts ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Update Districts
      tags:
      - Untags
  /feedbacks:
    get:
      description: API for getting all Feedbacks
      parameters:
      - in: query
        name: commentFromEmail
        type: string
      - in: query
        name: commentFromName
        type: string
      - in: query
        name: endDate
        type: string
      - in: query
        name: message
        type: string
      - in: query
        name: startDate
        type: string
      - in: query
        name: statusId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Feedbacks
      tags:
      - Feedbacks
    post:
      description: API for create Feedbacks
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.FeedbacksCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Feedbacks
      tags:
      - Feedbacks
  /feedbacks/{id}:
    delete:
      description: API for delete Feedbacks
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Feedbacks ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete Feedbacks
      tags:
      - Feedbacks
    get:
      description: API for getting one Feedbacks
      parameters:
      - description: Feedbacks ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one Feedbacks
      tags:
      - Feedbacks
    put:
      description: API for update Feedbacks
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.FeedbacksUpdateRequest'
      - description: Feedbacks ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update Feedbacks
      tags:
      - Feedbacks
  /feedbacks/statistic/monthly:
    get:
      description: API for FeedbackMonthlyStats of Feedbacks
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: year
        in: query
        name: year
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: FeedbackMonthlyStats Feedbacks
      tags:
      - Feedbacks
  /galleries:
    get:
      description: API for getting all Galleries
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Galleries
      tags:
      - Galleries
    post:
      description: API for creating Gallery
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.GalleriesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Gallery
      tags:
      - Galleries
  /galleries/{id}:
    delete:
      description: API for deleting Gallery (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Gallery ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete Gallery
      tags:
      - Galleries
    get:
      description: API for getting Gallery by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Gallery ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get Gallery by ID
      tags:
      - Galleries
    put:
      description: API for updating Gallery
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Gallery ID
        in: path
        name: id
        required: true
        type: integer
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.GalleriesUpdateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Gallery
      tags:
      - Galleries
  /gallery-files:
    get:
      description: API for getting all GalleryFiles
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: gallery_id
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all GalleryFiles
      tags:
      - GalleryFiles
    post:
      description: API for creating GalleryFile with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Gallery ID
        in: formData
        name: gallery_id
        required: true
        type: integer
      - description: Gallery file title
        in: formData
        name: title
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create GalleryFile
      tags:
      - GalleryFiles
  /gallery-files/{id}:
    delete:
      description: API for deleting GalleryFile (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: GalleryFile ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete GalleryFile
      tags:
      - GalleryFiles
    get:
      description: API for getting GalleryFile by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: GalleryFile ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get GalleryFile by ID
      tags:
      - GalleryFiles
    put:
      description: API for updating GalleryFile with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: GalleryFile ID
        in: path
        name: id
        required: true
        type: integer
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Gallery ID
        in: formData
        name: gallery_id
        type: integer
      - description: Gallery file title
        in: formData
        name: title
        type: string
      - description: Is active
        in: formData
        name: is_active
        type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update GalleryFile
      tags:
      - GalleryFiles
  /gallery-files/viewer/{filename}:
    get:
      description: API for viewing GalleryFile file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Gallery File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer GalleryFile
      tags:
      - GalleryFiles
  /product-specifications:
    get:
      description: API for getting all ProductSpecifications
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: product_id
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all ProductSpecifications
      tags:
      - ProductSpecifications
    post:
      description: API for creating ProductSpecification with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Product ID
        in: formData
        name: product_id
        required: true
        type: integer
      - description: Product specification title
        in: formData
        name: title
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create ProductSpecification
      tags:
      - ProductSpecifications
  /product-specifications/{id}:
    delete:
      description: API for deleting ProductSpecification (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: ProductSpecification ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete ProductSpecification
      tags:
      - ProductSpecifications
    get:
      description: API for getting ProductSpecification by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: ProductSpecification ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get ProductSpecification by ID
      tags:
      - ProductSpecifications
    put:
      description: API for updating ProductSpecification
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: ProductSpecification ID
        in: path
        name: id
        required: true
        type: integer
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.ProductSpecificationsUpdateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update ProductSpecification
      tags:
      - ProductSpecifications
  /product-specifications/viewer/{filename}:
    get:
      description: API for viewing ProductSpecification file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Product Specification File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer ProductSpecification
      tags:
      - ProductSpecifications
  /products:
    get:
      description: API for getting all Products
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: variant
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Products
      tags:
      - Products
    post:
      description: API for creating Product with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Product title
        in: formData
        name: title
        required: true
        type: string
      - description: Product variant
        in: formData
        name: variant
        type: string
      - description: Product price
        in: formData
        name: price
        type: string
      - description: Product colors (JSON array)
        in: formData
        name: colors
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Product
      tags:
      - Products
  /products/{id}:
    delete:
      description: API for deleting Product (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Product ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete Product
      tags:
      - Products
    get:
      description: API for getting Product by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Product ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get Product by ID
      tags:
      - Products
    put:
      description: API for updating Product with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Product ID
        in: path
        name: id
        required: true
        type: integer
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Product title
        in: formData
        name: title
        type: string
      - description: Product variant
        in: formData
        name: variant
        type: string
      - description: Product price
        in: formData
        name: price
        type: string
      - description: Product colors (JSON array)
        in: formData
        name: colors
        type: string
      - description: Product is_active
        in: formData
        name: is_active
        type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Product
      tags:
      - Products
  /products/viewer/{filename}:
    get:
      description: API for viewing Product file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Product File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer Product
      tags:
      - Products
  /promotions:
    get:
      description: API for getting all Promotions
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: title
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Promotions
      tags:
      - Promotions
    post:
      description: API for creating Promotion with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: Promotion title
        in: formData
        name: title
        required: true
        type: string
      - description: Promotion description
        in: formData
        name: description
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Promotion
      tags:
      - Promotions
  /promotions/{id}:
    delete:
      description: API for deleting Promotion (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Promotion ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete Promotion
      tags:
      - Promotions
    get:
      description: API for getting Promotion by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Promotion ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get Promotion by ID
      tags:
      - Promotions
    put:
      description: API for updating Promotion
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Promotion ID
        in: path
        name: id
        required: true
        type: integer
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.PromotionsUpdateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update Promotion
      tags:
      - Promotions
  /promotions/viewer/{filename}:
    get:
      description: API for viewing Promotion file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Promotion File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer Promotion
      tags:
      - Promotions
  /provinces:
    get:
      description: API for getting all Provinces
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get all Provinces
      tags:
      - Untags
    post:
      description: API for create Provinces
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Create Provinces
      tags:
      - Untags
  /provinces/{id}:
    delete:
      description: API for delete Provinces
      parameters:
      - description: Provinces ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Delete Provinces
      tags:
      - Untags
    get:
      description: API for getting one Provinces
      parameters:
      - description: Provinces ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get one Provinces
      tags:
      - Untags
    put:
      description: API for update Provinces
      parameters:
      - description: Provinces ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Update Provinces
      tags:
      - Untags
  /sales-agents:
    get:
      description: API for getting all SalesAgents
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - in: query
        name: agent_type
        type: string
      - in: query
        name: job_title
        type: string
      - in: query
        name: name
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all SalesAgents
      tags:
      - SalesAgents
    post:
      description: API for creating SalesAgent with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: SalesAgent name
        in: formData
        name: name
        required: true
        type: string
      - description: SalesAgent job title
        in: formData
        name: job_title
        type: string
      - description: SalesAgent phone
        in: formData
        name: phone
        type: string
      - description: SalesAgent agent type (JSON array)
        in: formData
        name: agent_type
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create SalesAgent
      tags:
      - SalesAgents
  /sales-agents/{id}:
    delete:
      description: API for deleting SalesAgent (soft delete)
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: SalesAgent ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Delete SalesAgent
      tags:
      - SalesAgents
    get:
      description: API for getting SalesAgent by ID
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: SalesAgent ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get SalesAgent by ID
      tags:
      - SalesAgents
    put:
      description: API for updating SalesAgent with file upload
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: SalesAgent ID
        in: path
        name: id
        required: true
        type: integer
      - description: Upload file
        in: formData
        name: file
        type: file
      - description: SalesAgent name
        in: formData
        name: name
        type: string
      - description: SalesAgent job title
        in: formData
        name: job_title
        type: string
      - description: SalesAgent phone
        in: formData
        name: phone
        type: string
      - description: SalesAgent agent type (JSON array)
        in: formData
        name: agent_type
        type: string
      - description: SalesAgent is_active
        in: formData
        name: is_active
        type: boolean
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Update SalesAgent
      tags:
      - SalesAgents
  /sales-agents/viewer/{filename}:
    get:
      description: API for viewing SalesAgent profile picture file
      parameters:
      - description: Insert the X-Client-Key
        in: header
        name: X-Client-Key
        required: true
        type: string
      - description: SalesAgent File Name (e.g., user_277788.png)
        in: path
        name: filename
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Viewer SalesAgent
      tags:
      - SalesAgents
  /user-levels:
    get:
      description: API for getting all UserLevels
      parameters:
      - in: query
        name: levelNumber
        type: integer
      - in: query
        name: name
        type: string
      - in: query
        name: parentLevelId
        type: integer
      - in: query
        name: provinceId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all UserLevels
      tags:
      - UserLevels
    post:
      description: API for create UserLevels
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserLevelsCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create UserLevels
      tags:
      - UserLevels
  /user-levels/{id}:
    delete:
      description: API for delete UserLevels
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: UserLevels ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: delete UserLevels
      tags:
      - UserLevels
    get:
      description: API for getting one UserLevels
      parameters:
      - description: UserLevels ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one UserLevels
      tags:
      - UserLevels
    put:
      description: API for update UserLevels
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserLevelsUpdateRequest'
      - description: UserLevels ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update UserLevels
      tags:
      - UserLevels
  /user-levels/alias/{alias}:
    get:
      description: API for getting one UserLevels
      parameters:
      - description: UserLevels Alias
        in: path
        name: alias
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one UserLevels
      tags:
      - UserLevels
  /user-levels/enable-approval:
    post:
      description: API for Enable Approval of Article
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserLevelsApprovalRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: EnableApproval Articles
      tags:
      - UserLevels
  /user-role-accesses:
    get:
      description: API for getting all UserRoleAccesses
      parameters:
      - in: query
        name: isActive
        required: true
        type: boolean
      - in: query
        name: menuId
        required: true
        type: integer
      - in: query
        name: userRoleId
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all UserRoleAccesses
      tags:
      - UserRoleAccesses
    post:
      description: API for create UserRoleAccesses
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserRoleAccessesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create UserRoleAccesses
      tags:
      - UserRoleAccesses
  /user-role-accesses/{id}:
    delete:
      description: API for delete UserRoleAccesses
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: UserRoleAccesses ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete UserRoleAccesses
      tags:
      - UserRoleAccesses
    get:
      description: API for getting one UserRoleAccesses
      parameters:
      - description: UserRoleAccesses ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one UserRoleAccesses
      tags:
      - UserRoleAccesses
    put:
      description: API for update UserRoleAccesses
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserRoleAccessesUpdateRequest'
      - description: UserRoleAccesses ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update UserRoleAccesses
      tags:
      - UserRoleAccesses
  /user-role-level-details:
    get:
      description: API for getting all UserRoleLevelDetails
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get all UserRoleLevelDetails
      tags:
      - Task
    post:
      description: API for create UserRoleLevelDetails
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Create UserRoleLevelDetails
      tags:
      - Task
  /user-role-level-details/{id}:
    delete:
      description: API for delete UserRoleLevelDetails
      parameters:
      - description: UserRoleLevelDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: delete UserRoleLevelDetails
      tags:
      - Task
    get:
      description: API for getting one UserRoleLevelDetails
      parameters:
      - description: UserRoleLevelDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: Get one UserRoleLevelDetails
      tags:
      - Task
    put:
      description: API for update UserRoleLevelDetails
      parameters:
      - description: UserRoleLevelDetails ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.Response'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/response.Response'
        "422":
          description: Unprocessable Entity
          schema:
            $ref: '#/definitions/response.Response'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.Response'
      security:
      - Bearer: []
      summary: update UserRoleLevelDetails
      tags:
      - Task
  /user-roles:
    get:
      description: API for getting all UserRoles
      parameters:
      - in: query
        name: code
        type: string
      - in: query
        name: description
        type: string
      - in: query
        name: name
        type: string
      - in: query
        name: statusId
        type: integer
      - in: query
        name: userLevelId
        type: integer
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all UserRoles
      tags:
      - UserRoles
    post:
      description: API for create UserRoles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserRolesCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create UserRoles
      tags:
      - UserRoles
  /user-roles/{id}:
    delete:
      description: API for delete UserRoles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: UserRoles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete UserRoles
      tags:
      - UserRoles
    get:
      description: API for getting one UserRoles
      parameters:
      - description: UserRoles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one UserRoles
      tags:
      - UserRoles
    put:
      description: API for update UserRoles
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserRolesUpdateRequest'
      - description: UserRoles ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update UserRoles
      tags:
      - UserRoles
  /users:
    get:
      description: API for getting all Users
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - in: query
        name: degree
        type: string
      - in: query
        name: email
        type: string
      - in: query
        name: fullname
        type: string
      - in: query
        name: genderType
        type: string
      - in: query
        name: identityGroup
        type: string
      - in: query
        name: identityGroupNumber
        type: string
      - in: query
        name: identityNumber
        type: string
      - in: query
        name: identityType
        type: string
      - in: query
        name: phoneNumber
        type: string
      - in: query
        name: statusId
        type: integer
      - in: query
        name: userRoleId
        type: integer
      - in: query
        name: username
        type: string
      - in: query
        name: workType
        type: string
      - in: query
        name: count
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: nextPage
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: previousPage
        type: integer
      - in: query
        name: sort
        type: string
      - in: query
        name: sortBy
        type: string
      - in: query
        name: totalPage
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get all Users
      tags:
      - Users
    post:
      description: API for create Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UsersCreateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Create Users
      tags:
      - Users
  /users/{id}:
    delete:
      description: API for delete Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Users ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: delete Users
      tags:
      - Users
    put:
      description: API for update Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Users ID
        in: path
        name: id
        required: true
        type: integer
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UsersUpdateRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: update Users
      tags:
      - Users
  /users/detail/{id}:
    get:
      description: API for getting one Users
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Users ID
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one Users
      tags:
      - Users
  /users/email-validation:
    post:
      description: API for Email Validation Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserEmailValidationRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: EmailValidation Users
      tags:
      - Users
  /users/forgot-password:
    post:
      description: API for ForgotPassword Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserForgotPassword'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ForgotPassword Users
      tags:
      - Users
  /users/info:
    get:
      description: API for ShowUserInfo
      parameters:
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ShowInfo Users
      tags:
      - Users
  /users/login:
    post:
      description: API for Login Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserLogin'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Login Users
      tags:
      - Users
  /users/otp-request:
    post:
      description: API for OtpRequest Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserOtpRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: OtpRequest Users
      tags:
      - Users
  /users/otp-validation:
    post:
      description: API for OtpValidation Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserOtpValidation'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: OtpValidation Users
      tags:
      - Users
  /users/pareto-login:
    post:
      description: API for ParetoLogin Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserLogin'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ParetoLogin Users
      tags:
      - Users
  /users/reset-password:
    post:
      description: API for ResetPassword Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserResetPassword'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: ResetPassword Users
      tags:
      - Users
  /users/save-password:
    post:
      description: API for SavePassword Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - default: Bearer <Add access token here>
        description: Insert your access token
        in: header
        name: Authorization
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserSavePassword'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: SavePassword Users
      tags:
      - Users
  /users/setup-email:
    post:
      description: API for Setup Email Users
      parameters:
      - description: Insert the X-Csrf-Token
        in: header
        name: X-Csrf-Token
        required: true
        type: string
      - description: Required payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/request.UserEmailValidationRequest'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: SetupEmail Users
      tags:
      - Users
  /users/username/{username}:
    get:
      description: API for getting one Users
      parameters:
      - description: Username
        in: path
        name: username
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.Response'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/response.BadRequestError'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/response.UnauthorizedError'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/response.InternalServerError'
      security:
      - Bearer: []
      summary: Get one Users
      tags:
      - Users
swagger: "2.0"
