200 lines
6.4 KiB
YAML
200 lines
6.4 KiB
YAML
# models.yaml
|
|
user:
|
|
type: object
|
|
properties:
|
|
idUser:
|
|
type: integer
|
|
description: Unique identifier for the user.
|
|
#readOnly: true # Typically generated by the server
|
|
example: 101
|
|
userSurname:
|
|
type: string
|
|
description: User's surname (last name).
|
|
example: "Doe"
|
|
userName:
|
|
type: string
|
|
description: User's given name (first name).
|
|
example: "John"
|
|
primaryMail:
|
|
type: string
|
|
format: email
|
|
description: User's primary email address.
|
|
example: "john.doe@example.com"
|
|
secondaryMail:
|
|
type: string
|
|
format: email
|
|
description: User's secondary email address (optional).
|
|
example: "j.doe@personal.com"
|
|
phoneNumber:
|
|
type: string
|
|
description: User's phone number.
|
|
example: "+33612345678" # Example using international format
|
|
|
|
user-entrepreneur:
|
|
allOf:
|
|
- $ref: "#/user"
|
|
- type: object
|
|
properties:
|
|
school:
|
|
type: string
|
|
description: The school the entrepreneur attends/attended.
|
|
example: "ENSEIRB-MATMECA"
|
|
course:
|
|
type: string
|
|
description: The specific course or program of study.
|
|
example: "Electronics"
|
|
sneeStatus:
|
|
type: boolean
|
|
description: Indicates if the user has SNEE status (Statut National d'Étudiant-Entrepreneur).
|
|
example: true
|
|
example: # Added full object example
|
|
idUser: 101
|
|
userSurname: "Doe"
|
|
userName: "John"
|
|
primaryMail: "john.doe@example.com"
|
|
secondaryMail: "j.doe@personal.com"
|
|
phoneNumber: "+33612345678"
|
|
school: "ENSEIRB-MATMECA"
|
|
course: "Electronics"
|
|
sneeStatus: true
|
|
|
|
user-admin:
|
|
allOf:
|
|
- $ref: "#/user"
|
|
# No additional properties needed for this example
|
|
example: # Added full object example
|
|
idUser: 55
|
|
userSurname: "Admin"
|
|
userName: "Super"
|
|
primaryMail: "admin@myinpulse.com"
|
|
phoneNumber: "+33512345678"
|
|
|
|
sectionCell:
|
|
type: object
|
|
description: Represents a cell (like a sticky note) within a specific section of a project's Lean Canvas.
|
|
properties:
|
|
idSectionCell:
|
|
type: integer
|
|
description: Unique identifier for the section cell.
|
|
#readOnly: true # Generated by server
|
|
example: 508
|
|
sectionId:
|
|
type: integer
|
|
description: Identifier of the Lean Canvas section this cell belongs to (e.g., 1 for Problem, 2 for Solution).
|
|
example: 1
|
|
contentSectionCell:
|
|
type: string
|
|
description: The text content of the section cell.
|
|
example: "Users find it hard to track project progress."
|
|
modificationDate:
|
|
type: string
|
|
format: date # Using Java LocalDate -> YYYY-MM-DD
|
|
description: The date when this cell was last modified.
|
|
#readOnly: true # Typically updated by the server on modification
|
|
example: "2025-04-15"
|
|
|
|
project:
|
|
type: object
|
|
description: Represents a project being managed or developed.
|
|
properties:
|
|
idProject:
|
|
type: integer
|
|
description: Unique identifier for the project.
|
|
#readOnly: true # Generated by server
|
|
example: 12
|
|
projectName:
|
|
type: string
|
|
description: The name of the project.
|
|
example: "MyInpulse Mobile App"
|
|
creationDate:
|
|
type: string
|
|
format: date # Using Java LocalDate -> YYYY-MM-DD
|
|
description: The date when the project was created in the system.
|
|
#readOnly: true # Set by server
|
|
example: "2024-11-20"
|
|
logo:
|
|
type: string
|
|
format: byte
|
|
description: Base64 encoded string representing the project logo image.
|
|
example: "/*Base64 encoded string representing the project logo image*/"
|
|
status:
|
|
type: string
|
|
enum: [PENDING, ACTIVE, ENDED, ABORTED, REJECTED]
|
|
description: Corresponds to a status enum internal to the backend, it's value in in requests
|
|
incoming to the server should be ignored as the client shouldn't be specifying them.
|
|
example: "NaN"
|
|
|
|
report:
|
|
type: object
|
|
description: Represents a report associated with an appointment.
|
|
properties:
|
|
idReport:
|
|
type: integer
|
|
description: Unique identifier for the report.
|
|
#readOnly: true # Generated by server
|
|
example: 987
|
|
reportContent:
|
|
type: string
|
|
description: The textual content of the report. Could be plain text or Markdown (specify if known).
|
|
example: "Discussed roadmap milestones for Q3. Agreed on preliminary UI mockups."
|
|
|
|
appointment: # Corrected typo
|
|
type: object
|
|
description: Represents a scheduled meeting or appointment.
|
|
properties:
|
|
idAppointment: # Assuming there's an ID
|
|
type: integer
|
|
description: Unique identifier for the appointment.
|
|
#readOnly: true
|
|
example: 303
|
|
appointmentDate:
|
|
type: string
|
|
format: date # Using Java LocalDate -> YYYY-MM-DD
|
|
description: The date of the appointment.
|
|
example: "2025-05-10"
|
|
appointmentTime:
|
|
type: string
|
|
format: time # Using Java LocalTime -> HH:mm:ss
|
|
description: The time of the appointment (local time).
|
|
example: "14:30:00"
|
|
appointmentDuration:
|
|
type: string
|
|
description: Duration of the appointment in ISO 8601 duration format (e.g., PT1H30M for 1 hour 30 minutes).
|
|
example: "PT1H" # Example for 1 hour
|
|
appointmentPlace:
|
|
type: string
|
|
description: Location or meeting link for the appointment.
|
|
example: "Meeting Room 3 / https://meet.example.com/abc-def-ghi"
|
|
appointmentSubject:
|
|
type: string
|
|
description: The main topic or subject of the appointment.
|
|
example: "Q3 Roadmap Planning"
|
|
# 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:
|
|
type: object
|
|
description: Represents a decision from an admin to accept a pending project.
|
|
properties:
|
|
projectId:
|
|
type: integer
|
|
description: The ID of the project the entrepreneur wants to join.
|
|
example: 12
|
|
adminId:
|
|
type: integer
|
|
description: The ID of the project the admin who will supervise the project in case of admission.
|
|
example: 2
|
|
isAccepted:
|
|
type: boolean
|
|
description: The boolean value of the decision.
|
|
example: "true" |