feat: added doc for upcoming endpoints to finish up entrepreneur join, response codes remaining to update
This commit is contained in:
		@@ -8,7 +8,7 @@ paths:
 | 
				
			|||||||
        - Admin API
 | 
					        - Admin API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
        - MyINPulse: [MyINPulse-admin]
 | 
					        - MyINPulse: [MyINPulse-admin]
 | 
				
			||||||
      description: Retrieves a list of projects managed by the requesting admin, including key details for overview.
 | 
					      description: Retrieves a list of projects managed by the requesting admin, including details for overview.
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: OK - List of projects returned successfully.
 | 
					          description: OK - List of projects returned successfully.
 | 
				
			||||||
@@ -26,7 +26,7 @@ paths:
 | 
				
			|||||||
    post:
 | 
					    post:
 | 
				
			||||||
      operationId: addProjectManually
 | 
					      operationId: addProjectManually
 | 
				
			||||||
      summary: Manually add a new project
 | 
					      summary: Manually add a new project
 | 
				
			||||||
      description: Creates a new project with the provided details. 
 | 
					      description: Creates a new project with the provided details. (NOTE that this meant for manually inserting projects, for example importing already existing projects).
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
        - Admin API
 | 
					        - Admin API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -72,6 +72,58 @@ paths:
 | 
				
			|||||||
        "401":
 | 
					        "401":
 | 
				
			||||||
          description: Unauthorized.        
 | 
					          description: Unauthorized.        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /admin/request-join:
 | 
				
			||||||
 | 
					    get:
 | 
				
			||||||
 | 
					      operationId: getPendingProjects
 | 
				
			||||||
 | 
					      summary: Get entrepreneurs project join requests
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					        - Admin API
 | 
				
			||||||
 | 
					      security:
 | 
				
			||||||
 | 
					        - MyINPulse: [MyINPulse-admin]
 | 
				
			||||||
 | 
					      description:  Retrieves a list of pending requests from entrepreneurs to join an existing project.
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: OK - List of pending project join requests.
 | 
				
			||||||
 | 
					          content:
 | 
				
			||||||
 | 
					            application/json:
 | 
				
			||||||
 | 
					              schema:
 | 
				
			||||||
 | 
					                type: array
 | 
				
			||||||
 | 
					                items:
 | 
				
			||||||
 | 
					                  $ref: "./main.yaml#/components/schemas/joinRequest"
 | 
				
			||||||
 | 
					        "401":
 | 
				
			||||||
 | 
					          description: Unauthorized.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  /admin/request-join/decision/{joinRequestId}:
 | 
				
			||||||
 | 
					    post:
 | 
				
			||||||
 | 
					      summary: Approve or reject a pending project join request
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					        - Admin API
 | 
				
			||||||
 | 
					      security:
 | 
				
			||||||
 | 
					        - MyINPulse: [MyINPulse-admin]
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					        - in: path
 | 
				
			||||||
 | 
					          name: joinRequestId
 | 
				
			||||||
 | 
					          required: true
 | 
				
			||||||
 | 
					          schema:
 | 
				
			||||||
 | 
					            type: integer
 | 
				
			||||||
 | 
					          description: The ID of the pending join request to decide upon.
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        Allows an admin to make a decision on an ebtrepreneur's request to join an existing project awaiting validation.
 | 
				
			||||||
 | 
					        If approved (isAccepted=true), the entrepreneur is linked to the project with ID joinRequestId.
 | 
				
			||||||
 | 
					        If rejected (isAccepted=false), the pending request data might be archived or deleted based on business logic.
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: OK - No Content, decision processed successfully..
 | 
				
			||||||
 | 
					          content:
 | 
				
			||||||
 | 
					            application/json:
 | 
				
			||||||
 | 
					              $ref: "./main.yaml#/components/schemas/joinRequestDecision"
 | 
				
			||||||
 | 
					        "400":
 | 
				
			||||||
 | 
					          description: Bad Request - Invalid input (e.g., missing decision).
 | 
				
			||||||
 | 
					        "401":
 | 
				
			||||||
 | 
					          description: Unauthorized.     
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /admin/projects/pending/decision/{pendingProjectId}:
 | 
					  /admin/projects/pending/decision/{pendingProjectId}:
 | 
				
			||||||
    post:
 | 
					    post:
 | 
				
			||||||
      operationId: decidePendingProject
 | 
					      operationId: decidePendingProject
 | 
				
			||||||
@@ -80,8 +132,8 @@ paths:
 | 
				
			|||||||
        - Admin API
 | 
					        - Admin API
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        Allows an admin to make a decision on a project awaiting validation.
 | 
					        Allows an admin to make a decision on a project awaiting validation.
 | 
				
			||||||
        If approved (decision=true), the project status changes, and it's linked to the involved users.
 | 
					        If approved (isAccepted=true), the project status changes, and it's linked to the involved users.
 | 
				
			||||||
        If rejected (decision=false), the pending project data might be archived or deleted based on business logic.
 | 
					        If rejected (isAccepted=false), the pending project data might be archived or deleted based on business logic.
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
          - MyINPulse: [MyINPulse-admin]
 | 
					          - MyINPulse: [MyINPulse-admin]
 | 
				
			||||||
      parameters:
 | 
					      parameters:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -99,7 +99,7 @@ components:
 | 
				
			|||||||
          type: string
 | 
					          type: string
 | 
				
			||||||
          format: date
 | 
					          format: date
 | 
				
			||||||
          description: The date when this cell was last modified.
 | 
					          description: The date when this cell was last modified.
 | 
				
			||||||
          example: '2025-04-15'
 | 
					          example: 'yyyy-MM-dd HH:mm'
 | 
				
			||||||
    project:
 | 
					    project:
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
      description: Represents a project being managed or developed.
 | 
					      description: Represents a project being managed or developed.
 | 
				
			||||||
@@ -116,7 +116,7 @@ components:
 | 
				
			|||||||
          type: string
 | 
					          type: string
 | 
				
			||||||
          format: date
 | 
					          format: date
 | 
				
			||||||
          description: The date when the project was created in the system.
 | 
					          description: The date when the project was created in the system.
 | 
				
			||||||
          example: '2024-11-20'
 | 
					          example: 'yyyy-MM-dd HH:mm'
 | 
				
			||||||
        logo:
 | 
					        logo:
 | 
				
			||||||
          type: string
 | 
					          type: string
 | 
				
			||||||
          format: byte
 | 
					          format: byte
 | 
				
			||||||
@@ -176,12 +176,14 @@ components:
 | 
				
			|||||||
          example: Q3 Roadmap Planning
 | 
					          example: Q3 Roadmap Planning
 | 
				
			||||||
    joinRequest:
 | 
					    joinRequest:
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
      description: Represents a request from an entrepreneur to join an existing project.
 | 
					      description: Represents a request from an entrepreneur to join an already existing project.
 | 
				
			||||||
      properties:
 | 
					      properties:
 | 
				
			||||||
        projectId:
 | 
					        idProject:
 | 
				
			||||||
          type: integer
 | 
					          type: integer
 | 
				
			||||||
          description: The ID of the project the entrepreneur wants to join.
 | 
					          description: the ID of the project the entrepreneur wants to join.
 | 
				
			||||||
          example: 12
 | 
					          example: 42
 | 
				
			||||||
 | 
					        entrepreneur:
 | 
				
			||||||
 | 
					          $ref: '#/components/schemas/user-entrepreneur'
 | 
				
			||||||
    projectDecision:
 | 
					    projectDecision:
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
      description: Represents a decision from an admin to accept a pending project.
 | 
					      description: Represents a decision from an admin to accept a pending project.
 | 
				
			||||||
@@ -198,6 +200,14 @@ components:
 | 
				
			|||||||
          type: boolean
 | 
					          type: boolean
 | 
				
			||||||
          description: The boolean value of the decision.
 | 
					          description: The boolean value of the decision.
 | 
				
			||||||
          example: 'true'
 | 
					          example: 'true'
 | 
				
			||||||
 | 
					    joinRequestDecision:
 | 
				
			||||||
 | 
					      type: object
 | 
				
			||||||
 | 
					      description: Represents a decision from an admin to accept a pending project join request.
 | 
				
			||||||
 | 
					      properties:
 | 
				
			||||||
 | 
					        isAccepted:
 | 
				
			||||||
 | 
					          type: boolean
 | 
				
			||||||
 | 
					          description: The boolean value of the decision.
 | 
				
			||||||
 | 
					          example: 'true'
 | 
				
			||||||
  securitySchemes:
 | 
					  securitySchemes:
 | 
				
			||||||
    MyINPulse:
 | 
					    MyINPulse:
 | 
				
			||||||
      type: oauth2
 | 
					      type: oauth2
 | 
				
			||||||
@@ -210,7 +220,7 @@ components:
 | 
				
			|||||||
            MyINPulse-entrepreneur: Grants standard entrepreneur user access.
 | 
					            MyINPulse-entrepreneur: Grants standard entrepreneur user access.
 | 
				
			||||||
servers:
 | 
					servers:
 | 
				
			||||||
  - url: '{serverProtocol}://{serverHost}:{serverPort}'
 | 
					  - url: '{serverProtocol}://{serverHost}:{serverPort}'
 | 
				
			||||||
    description: API Server Environment
 | 
					    description: API Server
 | 
				
			||||||
    variables:
 | 
					    variables:
 | 
				
			||||||
      serverProtocol:
 | 
					      serverProtocol:
 | 
				
			||||||
        enum:
 | 
					        enum:
 | 
				
			||||||
@@ -314,6 +324,56 @@ paths:
 | 
				
			|||||||
          description: Bad Request - Invalid user ID format.
 | 
					          description: Bad Request - Invalid user ID format.
 | 
				
			||||||
        '401':
 | 
					        '401':
 | 
				
			||||||
          description: Unauthorized.
 | 
					          description: Unauthorized.
 | 
				
			||||||
 | 
					  /admin/request-join:
 | 
				
			||||||
 | 
					    get:
 | 
				
			||||||
 | 
					      operationId: getPendingProjects
 | 
				
			||||||
 | 
					      summary: Get entrepreneurs project join requests
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					        - Admin API
 | 
				
			||||||
 | 
					      security:
 | 
				
			||||||
 | 
					        - MyINPulse:
 | 
				
			||||||
 | 
					            - MyINPulse-admin
 | 
				
			||||||
 | 
					      description: Retrieves a list of pending requests from entrepreneurs to join an existing project.
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        '200':
 | 
				
			||||||
 | 
					          description: OK - List of pending project join requests.
 | 
				
			||||||
 | 
					          content:
 | 
				
			||||||
 | 
					            application/json:
 | 
				
			||||||
 | 
					              schema:
 | 
				
			||||||
 | 
					                type: array
 | 
				
			||||||
 | 
					                items:
 | 
				
			||||||
 | 
					                  $ref: '#/components/schemas/joinRequest'
 | 
				
			||||||
 | 
					        '401':
 | 
				
			||||||
 | 
					          description: Unauthorized.
 | 
				
			||||||
 | 
					  '/admin/request-join/decision/{joinRequestId}':
 | 
				
			||||||
 | 
					    post:
 | 
				
			||||||
 | 
					      summary: Approve or reject a pending project join request
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					        - Admin API
 | 
				
			||||||
 | 
					      security:
 | 
				
			||||||
 | 
					        - MyINPulse:
 | 
				
			||||||
 | 
					            - MyINPulse-admin
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					        - in: path
 | 
				
			||||||
 | 
					          name: joinRequestId
 | 
				
			||||||
 | 
					          required: true
 | 
				
			||||||
 | 
					          schema:
 | 
				
			||||||
 | 
					            type: integer
 | 
				
			||||||
 | 
					          description: The ID of the pending join request to decide upon.
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        Allows an admin to make a decision on an ebtrepreneur's request to join an existing project awaiting validation.
 | 
				
			||||||
 | 
					        If approved (isAccepted=true), the entrepreneur is linked to the project with ID joinRequestId.
 | 
				
			||||||
 | 
					        If rejected (isAccepted=false), the pending request data might be archived or deleted based on business logic.
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        '200':
 | 
				
			||||||
 | 
					          description: 'OK - No Content, decision processed successfully..'
 | 
				
			||||||
 | 
					          content:
 | 
				
			||||||
 | 
					            application/json:
 | 
				
			||||||
 | 
					              $ref: '#/components/schemas/joinRequestDecision'
 | 
				
			||||||
 | 
					        '400':
 | 
				
			||||||
 | 
					          description: 'Bad Request - Invalid input (e.g., missing decision).'
 | 
				
			||||||
 | 
					        '401':
 | 
				
			||||||
 | 
					          description: Unauthorized.
 | 
				
			||||||
  /admin/projects:
 | 
					  /admin/projects:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      operationId: getAdminProjects
 | 
					      operationId: getAdminProjects
 | 
				
			||||||
@@ -323,7 +383,7 @@ paths:
 | 
				
			|||||||
      security:
 | 
					      security:
 | 
				
			||||||
        - MyINPulse:
 | 
					        - MyINPulse:
 | 
				
			||||||
            - MyINPulse-admin
 | 
					            - MyINPulse-admin
 | 
				
			||||||
      description: 'Retrieves a list of projects managed by the requesting admin, including key details for overview.'
 | 
					      description: 'Retrieves a list of projects managed by the requesting admin, including details for overview.'
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK - List of projects returned successfully.
 | 
					          description: OK - List of projects returned successfully.
 | 
				
			||||||
@@ -340,7 +400,7 @@ paths:
 | 
				
			|||||||
    post:
 | 
					    post:
 | 
				
			||||||
      operationId: addProjectManually
 | 
					      operationId: addProjectManually
 | 
				
			||||||
      summary: Manually add a new project
 | 
					      summary: Manually add a new project
 | 
				
			||||||
      description: Creates a new project with the provided details.
 | 
					      description: 'Creates a new project with the provided details. (NOTE that this meant for manually inserting projects, for example importing already existing projects).'
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
        - Admin API
 | 
					        - Admin API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -393,8 +453,8 @@ paths:
 | 
				
			|||||||
        - Admin API
 | 
					        - Admin API
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        Allows an admin to make a decision on a project awaiting validation.
 | 
					        Allows an admin to make a decision on a project awaiting validation.
 | 
				
			||||||
        If approved (decision=true), the project status changes, and it's linked to the involved users.
 | 
					        If approved (isAccepted=true), the project status changes, and it's linked to the involved users.
 | 
				
			||||||
        If rejected (decision=false), the pending project data might be archived or deleted based on business logic.
 | 
					        If rejected (isAccepted=false), the pending project data might be archived or deleted based on business logic.
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
        - MyINPulse:
 | 
					        - MyINPulse:
 | 
				
			||||||
            - MyINPulse-admin
 | 
					            - MyINPulse-admin
 | 
				
			||||||
@@ -593,7 +653,7 @@ paths:
 | 
				
			|||||||
          schema:
 | 
					          schema:
 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
            format: date
 | 
					            format: date
 | 
				
			||||||
          description: The modification date to filter by (YYYY-MM-DD).
 | 
					          description: 'The modification date to filter by (YYYY-MM-DD HH:mm).'
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK - List of section cells matching the criteria.
 | 
					          description: OK - List of section cells matching the criteria.
 | 
				
			||||||
@@ -642,8 +702,8 @@ paths:
 | 
				
			|||||||
          description: Not Found - Project not found.
 | 
					          description: Not Found - Project not found.
 | 
				
			||||||
  '/shared/projects/admin/{projectId}':
 | 
					  '/shared/projects/admin/{projectId}':
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      operationId: getProjectAdmins
 | 
					      operationId: getProjectAdmin
 | 
				
			||||||
      summary: Get admins associated with a project
 | 
					      summary: Get admin associated with a project
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
        - Shared API
 | 
					        - Shared API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -660,7 +720,7 @@ paths:
 | 
				
			|||||||
          description: ID of the project.
 | 
					          description: ID of the project.
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK - List of admins.
 | 
					          description: OK - admin.
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
@@ -720,11 +780,13 @@ paths:
 | 
				
			|||||||
          description: ID of the appointment.
 | 
					          description: ID of the appointment.
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK - Report content returned.
 | 
					          description: OK - Report PDF returned.
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/pdf:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                $ref: '#/components/schemas/report'
 | 
					                schema: null
 | 
				
			||||||
 | 
					                type: string
 | 
				
			||||||
 | 
					                format: binary
 | 
				
			||||||
        '401':
 | 
					        '401':
 | 
				
			||||||
          description: Unauthorized.
 | 
					          description: Unauthorized.
 | 
				
			||||||
  /shared/appointments/request:
 | 
					  /shared/appointments/request:
 | 
				
			||||||
@@ -818,7 +880,7 @@ paths:
 | 
				
			|||||||
    put:
 | 
					    put:
 | 
				
			||||||
      operationId: modifySectionCell
 | 
					      operationId: modifySectionCell
 | 
				
			||||||
      summary: Modify data in a Lean Canvas section cell
 | 
					      summary: Modify data in a Lean Canvas section cell
 | 
				
			||||||
      description: Updates the content of an existing Lean Canvas section cell specified by `sectionCellId`. The server updates the `modificationDate`.
 | 
					      description: Updates the content of an existing Lean Canvas section cell specified by `sectionCellId`. The server "updates" (it keeps a record of the previous version to keep a history of all the sectionCells and creates a new ones with the specified modifications) the `modificationDate`.
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
        - Entrepreneurs API
 | 
					        - Entrepreneurs API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -834,7 +896,7 @@ paths:
 | 
				
			|||||||
          example: 508
 | 
					          example: 508
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        required: true
 | 
					        required: true
 | 
				
			||||||
        description: Updated section cell details. `idSectionCell` should match the path parameter. `modificationDate` will be updated by the server.
 | 
					        description: Updated section cell details. `sectionCellId` "the path parameter" is the only id that's consideredn the `sectionCellId` id in the request body is ignored. `modificationDate` should be updated by the server.
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
          application/json:
 | 
					          application/json:
 | 
				
			||||||
            schema:
 | 
					            schema:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,7 +57,7 @@ paths:
 | 
				
			|||||||
    put:
 | 
					    put:
 | 
				
			||||||
      operationId: modifySectionCell
 | 
					      operationId: modifySectionCell
 | 
				
			||||||
      summary: Modify data in a Lean Canvas section cell
 | 
					      summary: Modify data in a Lean Canvas section cell
 | 
				
			||||||
      description: Updates the content of an existing Lean Canvas section cell specified by `sectionCellId`. The server updates the `modificationDate`.
 | 
					      description: Updates the content of an existing Lean Canvas section cell specified by `sectionCellId`. The server "updates" (it keeps a record of the previous version to keep a history of all the sectionCells and creates a new ones with the specified modifications) the `modificationDate`.
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
       - Entrepreneurs API
 | 
					       - Entrepreneurs API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -72,7 +72,7 @@ paths:
 | 
				
			|||||||
          example: 508
 | 
					          example: 508
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        required: true
 | 
					        required: true
 | 
				
			||||||
        description: Updated section cell details. `idSectionCell` should match the path parameter. `modificationDate` will be updated by the server.
 | 
					        description: Updated section cell details. `sectionCellId` "the path parameter" is the only id that's consideredn the `sectionCellId` id in the request body is ignored. `modificationDate` should be updated by the server.
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
          application/json:
 | 
					          application/json:
 | 
				
			||||||
            schema:
 | 
					            schema:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,6 +34,8 @@ components:
 | 
				
			|||||||
      $ref: "models.yaml#/joinRequest"
 | 
					      $ref: "models.yaml#/joinRequest"
 | 
				
			||||||
    projectDecision:
 | 
					    projectDecision:
 | 
				
			||||||
      $ref: "models.yaml#/projectDecision"
 | 
					      $ref: "models.yaml#/projectDecision"
 | 
				
			||||||
 | 
					    joinRequestDecision:
 | 
				
			||||||
 | 
					      $ref: "models.yaml#/joinRequestDecision"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  securitySchemes:
 | 
					  securitySchemes:
 | 
				
			||||||
      MyINPulse:
 | 
					      MyINPulse:
 | 
				
			||||||
@@ -48,7 +50,7 @@ components:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
servers:
 | 
					servers:
 | 
				
			||||||
    - url: '{serverProtocol}://{serverHost}:{serverPort}'
 | 
					    - url: '{serverProtocol}://{serverHost}:{serverPort}'
 | 
				
			||||||
      description: API Server Environment
 | 
					      description: API Server
 | 
				
			||||||
      variables:
 | 
					      variables:
 | 
				
			||||||
        serverProtocol:
 | 
					        serverProtocol:
 | 
				
			||||||
          enum: [http, https]
 | 
					          enum: [http, https]
 | 
				
			||||||
@@ -88,6 +90,10 @@ paths:
 | 
				
			|||||||
    $ref: "./adminApi.yaml#/paths/~1admin~1pending-accounts"
 | 
					    $ref: "./adminApi.yaml#/paths/~1admin~1pending-accounts"
 | 
				
			||||||
  /admin/accounts/validate/{userId}:
 | 
					  /admin/accounts/validate/{userId}:
 | 
				
			||||||
    $ref: "./adminApi.yaml#/paths/~1admin~1accounts~1validate~1{userId}"
 | 
					    $ref: "./adminApi.yaml#/paths/~1admin~1accounts~1validate~1{userId}"
 | 
				
			||||||
 | 
					  /admin/request-join:
 | 
				
			||||||
 | 
					    $ref: "./adminApi.yaml#/paths/~1admin~1request-join"
 | 
				
			||||||
 | 
					  /admin/request-join/decision/{joinRequestId}:
 | 
				
			||||||
 | 
					    $ref: "./adminApi.yaml#/paths/~1admin~1request-join~1decision~1{joinRequestId}"
 | 
				
			||||||
  /admin/projects:
 | 
					  /admin/projects:
 | 
				
			||||||
    $ref: "./adminApi.yaml#/paths/~1admin~1projects"
 | 
					    $ref: "./adminApi.yaml#/paths/~1admin~1projects"
 | 
				
			||||||
  /admin/projects/pending:
 | 
					  /admin/projects/pending:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,7 +91,7 @@ sectionCell:
 | 
				
			|||||||
      format: date # Using Java LocalDate -> YYYY-MM-DD
 | 
					      format: date # Using Java LocalDate -> YYYY-MM-DD
 | 
				
			||||||
      description: The date when this cell was last modified.
 | 
					      description: The date when this cell was last modified.
 | 
				
			||||||
      #readOnly: true # Typically updated by the server on modification
 | 
					      #readOnly: true # Typically updated by the server on modification
 | 
				
			||||||
      example: "2025-04-15"
 | 
					      example: "yyyy-MM-dd HH:mm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project:
 | 
					project:
 | 
				
			||||||
  type: object
 | 
					  type: object
 | 
				
			||||||
@@ -111,7 +111,7 @@ project:
 | 
				
			|||||||
      format: date # Using Java LocalDate -> YYYY-MM-DD
 | 
					      format: date # Using Java LocalDate -> YYYY-MM-DD
 | 
				
			||||||
      description: The date when the project was created in the system.
 | 
					      description: The date when the project was created in the system.
 | 
				
			||||||
      #readOnly: true # Set by server
 | 
					      #readOnly: true # Set by server
 | 
				
			||||||
      example: "2024-11-20"
 | 
					      example: "yyyy-MM-dd HH:mm"
 | 
				
			||||||
    logo:
 | 
					    logo:
 | 
				
			||||||
      type: string
 | 
					      type: string
 | 
				
			||||||
      format: byte
 | 
					      format: byte
 | 
				
			||||||
@@ -124,6 +124,18 @@ project:
 | 
				
			|||||||
        incoming to the server should be ignored as the client shouldn't be specifying them.
 | 
					        incoming to the server should be ignored as the client shouldn't be specifying them.
 | 
				
			||||||
      example: "NaN"
 | 
					      example: "NaN"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					joinRequest:
 | 
				
			||||||
 | 
					  type: object
 | 
				
			||||||
 | 
					  description: Represents a request from an entrepreneur to join an already existing project.
 | 
				
			||||||
 | 
					  properties:
 | 
				
			||||||
 | 
					    idProject:
 | 
				
			||||||
 | 
					      type: integer
 | 
				
			||||||
 | 
					      description: the ID of the project the entrepreneur wants to join.
 | 
				
			||||||
 | 
					      example: 42
 | 
				
			||||||
 | 
					    entrepreneur:
 | 
				
			||||||
 | 
					      $ref: "#/user-entrepreneur"
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
report:
 | 
					report:
 | 
				
			||||||
  type: object
 | 
					  type: object
 | 
				
			||||||
  description: Represents a report associated with an appointment.
 | 
					  description: Represents a report associated with an appointment.
 | 
				
			||||||
@@ -171,17 +183,6 @@ appointment: # Corrected typo
 | 
				
			|||||||
      example: "Q3 Roadmap Planning"
 | 
					      example: "Q3 Roadmap Planning"
 | 
				
			||||||
    # Consider adding project ID or user IDs if relevant association exists
 | 
					    # Consider adding project ID or user IDs if relevant association exists
 | 
				
			||||||
 | 
					
 | 
				
			||||||
joinRequest:
 | 
					 | 
				
			||||||
  type: object
 | 
					 | 
				
			||||||
  description: Represents a request from an entrepreneur to join an existing project.
 | 
					 | 
				
			||||||
  properties:
 | 
					 | 
				
			||||||
    projectId:
 | 
					 | 
				
			||||||
      type: integer
 | 
					 | 
				
			||||||
      description: The ID of the project the entrepreneur wants to join.
 | 
					 | 
				
			||||||
      example: 12
 | 
					 | 
				
			||||||
    # Consider adding userId if the requester isn't implicit from auth context
 | 
					 | 
				
			||||||
    # Consider adding a message field
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
projectDecision:
 | 
					projectDecision:
 | 
				
			||||||
  type: object
 | 
					  type: object
 | 
				
			||||||
  description: Represents a decision from an admin to accept a pending project.
 | 
					  description: Represents a decision from an admin to accept a pending project.
 | 
				
			||||||
@@ -194,6 +195,15 @@ projectDecision:
 | 
				
			|||||||
      type: integer
 | 
					      type: integer
 | 
				
			||||||
      description: The ID of the project the admin who will supervise the project in case of admission.
 | 
					      description: The ID of the project the admin who will supervise the project in case of admission.
 | 
				
			||||||
      example: 2
 | 
					      example: 2
 | 
				
			||||||
 | 
					    isAccepted:
 | 
				
			||||||
 | 
					      type: boolean
 | 
				
			||||||
 | 
					      description: The boolean value of the decision.
 | 
				
			||||||
 | 
					      example: "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					joinRequestDecision:
 | 
				
			||||||
 | 
					  type: object
 | 
				
			||||||
 | 
					  description: Represents a decision from an admin to accept a pending project join request.
 | 
				
			||||||
 | 
					  properties:
 | 
				
			||||||
    isAccepted:
 | 
					    isAccepted:
 | 
				
			||||||
      type: boolean
 | 
					      type: boolean
 | 
				
			||||||
      description: The boolean value of the decision.
 | 
					      description: The boolean value of the decision.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,7 @@ paths:
 | 
				
			|||||||
          name: date
 | 
					          name: date
 | 
				
			||||||
          required: true
 | 
					          required: true
 | 
				
			||||||
          schema: { type: string, format: date } # Expect YYYY-MM-DD
 | 
					          schema: { type: string, format: date } # Expect YYYY-MM-DD
 | 
				
			||||||
          description: The modification date to filter by (YYYY-MM-DD).
 | 
					          description: The modification date to filter by (YYYY-MM-DD HH:mm).
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: OK - List of section cells matching the criteria.
 | 
					          description: OK - List of section cells matching the criteria.
 | 
				
			||||||
@@ -95,8 +95,8 @@ paths:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /shared/projects/admin/{projectId}: # Path updated
 | 
					  /shared/projects/admin/{projectId}: # Path updated
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      operationId: getProjectAdmins
 | 
					      operationId: getProjectAdmin
 | 
				
			||||||
      summary: Get admins associated with a project
 | 
					      summary: Get admin associated with a project
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
        - Shared API
 | 
					        - Shared API
 | 
				
			||||||
      security:
 | 
					      security:
 | 
				
			||||||
@@ -110,7 +110,7 @@ paths:
 | 
				
			|||||||
          description: ID of the project.
 | 
					          description: ID of the project.
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: OK - List of admins.
 | 
					          description: OK - admin.
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
@@ -168,11 +168,13 @@ paths:
 | 
				
			|||||||
          description: ID of the appointment.
 | 
					          description: ID of the appointment.
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: OK - Report content returned.
 | 
					          description: OK - Report PDF returned.
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/pdf:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                  $ref: "./main.yaml#/components/schemas/report"
 | 
					                schema:
 | 
				
			||||||
 | 
					                type: string
 | 
				
			||||||
 | 
					                format: binary
 | 
				
			||||||
        "401":
 | 
					        "401":
 | 
				
			||||||
          description: Unauthorized.
 | 
					          description: Unauthorized.
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user