openapi: 3.0.0
info:
  title: Inhouse Student
  description: Inhouse Student
  version: 1.0.0
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

# question set packages api
paths:
  /api/registerinhousestudent:
    post:
      summary: register inhouse student
      description: |
        **Overview**

        *This api is used to register inhouse student.*

        **Required Fields**

        - name
        - email
        - address
        - contact

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: "test test"
                email:
                  type: string
                  example: "test@gmail.com"
                address:
                  type: string
                  example: "butwal-6"
                contact:
                  type: number
                  example: 12343546565
              required:
                - name
                - email
                - address
                - contact
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error
    put:
      summary: update inhouse student
      description: |
        **Overview**

        *This api is used to update inhouse student.*

        **Required Fields**

        - student_id
        - name
        - email
        - address
        - contact

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                student_id:
                  type: number
                  example: 2
                name:
                  type: string
                  example: "test test"
                email:
                  type: string
                  example: "test@gmail.com"
                address:
                  type: string
                  example: "butwal-6"
                contact:
                  type: number
                  example: 12343546565
              required:
                - student_id
                - name
                - email
                - address
                - contact
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getinhousestudentpagination:
    get:
      summary: Returns the list of inhouse student
      description: >-
        This api fetches the list of inhouse student from the database
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: query
          name: page
          schema:
            type: number
            required: true
        - in: query
          name: limit
          schema:
            type: number
            required: true
        - in: query
          name: status
          schema:
            type: number
            required: true
            default: 1
        - in: query
          name: name
          schema:
            type: string
            required: false
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          student_id: 2,
                          name: Joe Doe,
                          email: joi.doe@gmail.com,
                          address: USA,
                          contact: 98973283264,
                          status: 1,
                        },
                        {
                          student_id: 1,
                          name: Joe Doe,
                          email: joi@gmail.com,
                          address: USA,
                          contact: 98973283264,
                          status: 1,
                        },
                      ]
                  total:
                    type: number,
                    example: 2
                required:
                  - status
                  - message
                  - data
                  - total
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error
  # /api/questionsetpackage/{package_id}:
  #   get:
  #     summary: Returns the list of question set associated with the package
  #     description: >-
  #       This api fetches the list of question set associated with the given package_id
  #     tags: ["Question Set Package"]
  #     security:
  #       - BearerAuth: []
  #     parameters:
  #       - in: path
  #         name: package_id
  #         schema:
  #           type: number
  #           required: true
  #     responses:
  #       "200":
  #         description: Successful response
  #         content:
  #           application/json:
  #             schema:
  #               type: object
  #               properties:
  #                 status:
  #                   type: boolean
  #                   example: >-
  #                     true
  #                 message:
  #                   type: string
  #                   example: >-
  #                     Data found successfully!!!
  #                 data:
  #                   type: array
  #                   example:
  #                     [
  #                       {
  #                         question_set_id: 1,
  #                         name: Set B,
  #                         price: 250,
  #                         expiry_duration: 3h,
  #                         status: 1,
  #                       },
  #                       {
  #                         question_set_id: 2,
  #                         name: Set C,
  #                         price: 250,
  #                         expiry_duration: 3h,
  #                         status: 1,
  #                       },
  #                     ]
  #                 total:
  #                   type: number,
  #                   example: 8
  #               required:
  #                 - status
  #                 - message
  #                 - data
  #                 - total
  #       "400":
  #         description: Bad request error message
  #       "401":
  #         description: Unauthorized error message
  #       "500":
  #         description: Internal Server Error
  #   delete:
  #     summary: deletes question set with the given id
  #     description: >-
  #       This api delets question set from the database
  #     tags: ["Question Set Package"]
  #     security:
  #       - BearerAuth: []
  #     parameters:
  #       - in: path
  #         name: package_id
  #         schema:
  #           type: number
  #           required: true
  #           description: package_id
  #     responses:
  #       "200":
  #         description: Successful response
  #         content:
  #           application/json:
  #             schema:
  #               type: object
  #               properties:
  #                 status:
  #                   type: boolean
  #                   example: >-
  #                     true
  #                 message:
  #                   type: string
  #                   example: >-
  #                     Data deleted successfully!!!
  #               required:
  #                 - status
  #                 - message
  #       "400":
  #         description: Bad request error message
  #       "401":
  #         description: Unauthorized error message
  #       "500":
  #         description: Internal Server Error

  /api/changestatusinhousestudent/{student_id}:
    put:
      summary: changes the status of inhouse student of the given student_id
      description: >-
        This api changes the status of inhouse student
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: student_id
          schema:
            type: number
            required: true
            description: student_id
        - in: query
          name: status
          schema:
            type: number
            required: true
            description: status
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data updated successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/examsetinhousestudent:
    post:
      summary: created new exam set for inhouse student
      description: |
        **Overview**

        *This api is used to create new exam set for inhouse student.*

        **Required Fields**

        - set_title
        - set_duration

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                set_title:
                  type: string
                  example: Set A
                set_duration:
                  type: string
                  example: 00h40m
              required:
                - set_title
                - set_duration
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

    put:
      summary: updates the exam set for inhouse student
      description: |
        **Overview**

        *This api is used to update the exam set for inhouse student.*

        **Required Fields**

        - set_id
        - set_title
        - set_duration

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                set_id:
                  type: number
                  example: 1
                set_title:
                  type: string
                  example: Set A
                set_duration:
                  type: string
                  example: 00h40m
              required:
                - set_id
                - set_title
                - set_duration
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getexamsetinhousestudentpagination:
    get:
      summary: Returns the list of exam set
      description: >-
        This api fetches the list of exam set from the database
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: query
          name: page
          schema:
            type: number
            required: true
        - in: query
          name: limit
          schema:
            type: number
            required: true
        - in: query
          name: status
          schema:
            type: number
            required: true
            default: 1
        - in: query
          name: set_title
          schema:
            type: string
            required: false
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          set_id: 1,
                          set_title: SET B,
                          set_duration: 00h40m,
                          status: 1,
                        },
                        {
                          set_id: 2,
                          set_title: Set A,
                          set_duration: 00h50m,
                          status: 1,
                        },
                      ]
                  total:
                    type: number,
                    example: 2
                required:
                  - status
                  - message
                  - data
                  - total
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getavailableexamsetinhousestudent:
    get:
      summary: Returns the list of available exam set for combo box
      description: >-
        This api fetches the list of available exam set for the live exam
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        { set_id: 1, set_title: SET B, set_duration: 00h50m },
                        { set_id: 2, set_title: Set A, set_duration: 00h50m },
                      ]
                  total:
                    type: number,
                    example: 2
                required:
                  - status
                  - message
                  - data
                  - total
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/changestatusofexamsetinhousestudent/{set_id}:
    put:
      summary: changes the status of exam set for inhouse student of the given set_id
      description: >-
        This api changes the status of exam set
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: set_id
          schema:
            type: number
            required: true
            description: set_id
        - in: query
          name: status
          schema:
            type: number
            required: true
            description: status
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data updated successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/addquestioninhousestudent:
    post:
      summary: Adds new question to the exam set for inhouse student
      description: |
        **Overview**

        *This api is used to add new question in the exam set for inhouse student.*

        **Required Fields**

        - question_title
        - question_subtitle
        - question_text
        - question_set_id
        - option_type
        - option1
        - option2
        - option3
        - option4
        - correct_answer

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/updatequestioninhousestudent:
    put:
      summary: updates the question of the exam set for inhouse student
      description: |
        **Overview**

        *This api is used to update question in the exam set.*

        **Required Fields**

        - question_id
        - question_title
        - question_subtitle
        - question_text
        - question_image
        - question_audio
        - option_type
        - option1
        - option2
        - option3
        - option4
        - correct_answer

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data updated successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getquestioninhousestudent/{set_id}:
    get:
      summary: fetches the question of the given exam set
      description: >-
        This api fetches the question of the given exam set from the database
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: set_id
          schema:
            type: number
            required: true
            description: set_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          readingQuestions:
                            [
                              {
                                question_id: 8,
                                question_title: What is your city name?,
                                question_subtitle: this is subtitle,
                                question_text: this is text,
                                question_image: 1682670354845--blog.png,
                                question_audio,
                                set_id: 1,
                                option_id: 9,
                                option_type: audio,
                                option1: 1682670354846--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                                option2: 1682670354856--Aasma ko chukar dekho_ hanuman returns song_ Movie MAZA.mp3,
                                option3: 1682670354859--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                                option4: 1682670354867--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                              },
                            ],
                          listeningQuestions:
                            [
                              {
                                question_id: 1,
                                question_title: What's Your Name?,
                                question_subtitle: this is subtitle,
                                question_text: this is text,
                                question_image: 1682337524170--FIGURE 3.PNG,
                                question_audio: 1682337524171--FIGURE 3.PNG,
                                set_id: 1,
                                option_id: 1,
                                option_type: text,
                                option1: Prasanna,
                                option2: Amit,
                                option3: Prasanta,
                                option4: Suzan,
                              },
                              {
                                question_id: 2,
                                question_title: What is your city?,
                                question_subtitle: this is subtitle,
                                question_text: this is text,
                                question_image: 1682323842010--Screenshot (2).png,
                                question_audio: 1682323842023--Aasma ko chukar dekho_ hanuman returns song_ Movie MAZA.mp3,
                                set_id: 1,
                                option_id: 2,
                                option_type: image,
                                option1: 1682323842033--Screenshot (3).png,
                                option2: 1682323842039--Screenshot (4).png,
                                option3: 1682323842041--Screenshot (5).png,
                                option4: 1682323842048--Screenshot (6).png,
                              },
                            ],
                        },
                      ]
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/deletequestioninhousestudent/{question_id}:
    delete:
      summary: deletes question  with the given id
      description: >-
        This api deletes question from the exam set
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: question_id
          schema:
            type: number
            required: true
            description: question_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data deleted successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/createliveexaminhousestudent:
    post:
      summary: creates new exam  for inhouse student
      description: |
        **Overview**

        *This api is used to create new exam  for inhouse student.*

        **Required Fields**

        - exam_code
        - exam_title
        - exam_date_ad
        - exam_time
        - set_id

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                exam_code:
                  type: string
                  example: EXM001
                exam_title:
                  type: string
                  example: Exam 1
                exam_date_ad:
                  type: string
                  example: "2023-05-30"
                exam_time:
                  type: string
                  example: "12:00:00"
                set_id:
                  type: number
                  example: 1
              required:
                - exam_code
                - exam_title
                - exam_date_ad
                - exam_time
                - set_id

      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getexamlistinhousestudent:
    get:
      summary: Returns the list of available exam
      description: >-
        This api fetches the list of available exam
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          exam_id: 1,
                          exam_code: EXM001,
                          exam_title: Exam 1,
                          exam_date_ad: 2023-05-31T18:15:00.000Z,
                          exam_time: 12:00:00,
                          set_id: 1,
                          set_title: Set A,
                        },
                      ]
                  total:
                    type: number,
                    example: 8
                required:
                  - status
                  - message
                  - data
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/updateliveexaminhousestudent:
    put:
      summary: updates exam  for inhouse student
      description: |
        **Overview**

        *This api is used to create new exam  for inhouse student.*

        **Required Fields**

        - exam_id
        - exam_code
        - exam_title
        - exam_date_ad
        - exam_time
        - set_id

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                exam_id:
                  type: number
                  example: 1
                exam_code:
                  type: string
                  example: EXM001
                exam_title:
                  type: string
                  example: Exam 1
                exam_date_ad:
                  type: string
                  example: "2023-05-30"
                exam_time:
                  type: string
                  example: "12:00:00"
                set_id:
                  type: number
                  example: 1
              required:
                - exam_id
                - exam_code
                - exam_title
                - exam_date_ad
                - exam_time
                - set_id

      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/deleteliveexaminhousestudent/{exam_id}:
    delete:
      summary: deletes exam with the given exam_id
      description: >-
        This api deletes exam with the given exam_id
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: exam_id
          schema:
            type: number
            required: true
            description: exam_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data deleted successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/restoreliveexaminhousestudent/{exam_id}:
    put:
      summary: restores exam with the given exam_id
      description: >-
        This api restores exam with the given exam_id
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: exam_id
          schema:
            type: number
            required: true
            description: exam_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data restored successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/inhouseStudent/inhouse-student-login:
    post:
      summary: Authenticate inhouse student and return access_token
      description: >-
        Authenticate inhouse student with given credentials and return access_token in response.
      tags: ["Inhouse Student Mobile App"]
      requestBody:
        description: JSON object containing student_id, email and contact
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                student_id:
                  type: number
                  example: 2
                email:
                  type: string
                  example: joi.doe@gmail.com
                contact:
                  type: number
                  example: 98973283264
              required:
                - student_id
                - email
                - contact
      responses:
        "200":
          description: Successful response containing access_token
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    example: >-
                      eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE2MjU2MzQ2MjIsImV4cCI6MTYyNTYzODIyMn0.cw_wzroU98q3N8zKhhD9rGQypFBDZfA8xb6CFkbUx7w
                required:
                  - access_token
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/inhouseStudent/getexam:
    get:
      summary: Returns the latest available exam for the day
      description: >-
        This api fetches the latest available exam for the day
      tags: ["Inhouse Student Mobile App"]
      security:
        - BearerAuth: []
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          exam_id: 4,
                          exam_code: EX004,
                          exam_title: Exam 4,
                          exam_date_ad: 2023-6-13,
                          exam_time: 16:07:54,
                          set_id: 4,
                          set_title: set1,
                          set_duration: 0h30m,
                        },
                      ]
                required:
                  - status
                  - message
                  - data
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/inhouseStudent/getquestion/{set_id}:
    get:
      summary: fetches the question of the given question set
      description: >-
        This api fetches the question of the given question set from the database
      tags: ["Inhouse Student Mobile App"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: set_id
          schema:
            type: number
            required: true
            description: set_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          readingQuestions:
                            [
                              {
                                question_id: 8,
                                question_title: What is your city name?,
                                question_image: 1682670354845--blog.png,
                                question_audio,
                                set_id: 1,
                                option_id: 9,
                                option_type: audio,
                                option1: 1682670354846--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                                option2: 1682670354856--Aasma ko chukar dekho_ hanuman returns song_ Movie MAZA.mp3,
                                option3: 1682670354859--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                                option4: 1682670354867--1682330421568--stomping-drums-rhythm-and-percussion-141367.mp3,
                              },
                            ],
                          listeningQuestions:
                            [
                              {
                                question_id: 1,
                                question_title: What's Your Name?,
                                question_image: 1682337524170--FIGURE 3.PNG,
                                question_audio: 1682337524171--FIGURE 3.PNG,
                                set_id: 1,
                                option_id: 1,
                                option_type: text,
                                option1: Prasanna,
                                option2: Amit,
                                option3: Prasanta,
                                option4: Suzan,
                              },
                              {
                                question_id: 2,
                                question_title: What is your city?,
                                question_image: 1682323842010--Screenshot (2).png,
                                question_audio: 1682323842023--Aasma ko chukar dekho_ hanuman returns song_ Movie MAZA.mp3,
                                set_id: 1,
                                option_id: 2,
                                option_type: image,
                                option1: 1682323842033--Screenshot (3).png,
                                option2: 1682323842039--Screenshot (4).png,
                                option3: 1682323842041--Screenshot (5).png,
                                option4: 1682323842048--Screenshot (6).png,
                              },
                            ],
                        },
                      ]
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/inhouseStudent/savescore:
    post:
      summary: saves the submitted answer and calculates score
      description: |
        **Overview**

        *This api is used to save the answer submitted by the user and calculates the score

        **Required Fields**

        - set_id
        - review ***[review is array type that consists of objects containing two properties: question_id and submitted_answer]***

      tags: ["Inhouse Student Mobile App"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                set_id:
                  type: number
                  example: 1
                review:
                  type: array
                  example:
                    [
                      { question_id: 1, submitted_answer: "option1" },
                      { question_id: 2, submitted_answer: "option2" },
                    ]
              required:
                - set_id
                - review
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved successfully!!!
                  correct_answer:
                    type: number
                    example: 18
                required:
                  - status
                  - message
                  - correct_answer
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getexamreviewinhousestudent/{exam_id}:
    get:
      summary: Returns the latest available exam for the day
      description: >-
        This api fetches the latest available exam for the day
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: path
          name: exam_id
          schema:
            type: number
            required: true
            description: exam_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          exam_id: 4,
                          exam_code: EX004,
                          exam_title: Exam 4,
                          exam_date_ad: 2023-6-13,
                          exam_time: 16:07:54,
                          set_id: 4,
                          set_title: set1,
                          set_duration: 0h30m,
                        },
                      ]
                required:
                  - status
                  - message
                  - data
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error

  /api/getdetailexamreviewinhousestudent:
    get:
      summary: Returns the list of questions with submitted answer and correct_answer submitted by the user
      description: >-
        This api fetches the list of questions with submitted answer and correct_answer submitted by the user
      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      parameters:
        - in: query
          name: set_id
          schema:
            type: number
            required: true
            description: set_id
        - in: query
          name: student_id
          schema:
            type: number
            required: true
            description: student_id
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: >-
                      true
                  message:
                    type: string
                    example: >-
                      Data found successfully!!!
                  data:
                    type: array
                    example:
                      [
                        {
                          question_id: 1,
                          question_title: What's Your Name?,
                          question_subtitle: guess the correct option,
                          question_text: the options are as follows,
                          question_image,
                          question_audio,
                          option1: Prasanna,
                          option2: Amit,
                          option3: Prasanta,
                          option4: Suzan,
                          correct_answer: option1,
                          submitted_answer: option2,
                        },
                        {
                          question_id: 2,
                          question_title: What's Your Name?,
                          question_subtitle: guess the correct option,
                          question_text: the options are as follows,
                          question_image,
                          question_audio,
                          option1: Prasanna,
                          option2: Amit,
                          option3: Prasanta,
                          option4: Suzan,
                          correct_answer: option1,
                          submitted_answer: option2,
                        },
                      ]
                required:
                  - status
                  - message
                  - data
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error
  /api/giveaccesstoinhousestudent:
    post:
      summary: gives access of exam_set to inhouse students
      description: |
        **Overview**

        *This api is used to give access of exam_set to inhouse students.*

        **Required Fields**

        - exam_set_id
        - inhouse_student_id

      tags: ["Inhouse Student [Admin Panel]"]
      security:
        - BearerAuth: []
      requestBody:
        description: JSON object
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                exam_set_id:
                  type: number
                  example: 1
                inhouse_student_id:
                  type: array
                  example: [4, 3]
              required:
                - exam_set_id
                - inhouse_student_id
      responses:
        "201":
          description: Successful response containing status and message
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Data saved/updated successfully!!!
                required:
                  - status
                  - message
        "400":
          description: Bad request error message
        "401":
          description: Unauthorized error message
        "500":
          description: Internal Server Error
