Merge branch 'FinalFixes' into msg_api
This commit is contained in:
		@ -652,7 +652,7 @@ paths:
 | 
			
		||||
          name: type
 | 
			
		||||
          required: false 
 | 
			
		||||
          schema:
 | 
			
		||||
            $ref: '#components/schemas/Roles'
 | 
			
		||||
            $ref: '#/components/schemas/Roles'
 | 
			
		||||
      responses: 
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
@ -1519,6 +1519,7 @@ paths:
 | 
			
		||||
        summary: get a list of article's data
 | 
			
		||||
        tags:
 | 
			
		||||
          - Users
 | 
			
		||||
          - Guest
 | 
			
		||||
          - Ext (scientific articles)
 | 
			
		||||
        responses: 
 | 
			
		||||
          '200':
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										87
									
								
								Documents/proto/messaging_extension/ERD.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								Documents/proto/messaging_extension/ERD.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,87 @@
 | 
			
		||||
# Entity relational diagram
 | 
			
		||||
 | 
			
		||||
## Messaging extension 
 | 
			
		||||
 | 
			
		||||
```mermaid
 | 
			
		||||
%%{init: {  "er": {"fontSize": 25, "stroke": "black" }}}%%
 | 
			
		||||
erDiagram
 | 
			
		||||
 | 
			
		||||
%% General
 | 
			
		||||
Users
 | 
			
		||||
 | 
			
		||||
%% Messages
 | 
			
		||||
Discussions{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    String name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Messages{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    Integer response FK "Messages"
 | 
			
		||||
    String content
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Discussions ||--o{ Messages: "" 
 | 
			
		||||
Discussions ||--o{ Users: ""
 | 
			
		||||
 | 
			
		||||
Messages o|--o{ Messages: "answers"
 | 
			
		||||
 | 
			
		||||
%% Forums
 | 
			
		||||
Forums{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    String name
 | 
			
		||||
    Integer course FK "Course"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Topics{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    String subject
 | 
			
		||||
    String content
 | 
			
		||||
    Boolean locked
 | 
			
		||||
}
 | 
			
		||||
Answers{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    String content
 | 
			
		||||
    Boolean anonymous
 | 
			
		||||
    TimeStamp creation_time 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Polls{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    enum PollType
 | 
			
		||||
}
 | 
			
		||||
Options{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    String name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Forums ||--o{ Users: "Registered"
 | 
			
		||||
Forums ||--|| Teacher: "Owner"
 | 
			
		||||
Forums ||--o{ Topics: ""
 | 
			
		||||
Forums ||--o{ Polls: ""
 | 
			
		||||
 | 
			
		||||
Topics ||--|| Teacher: "Author"
 | 
			
		||||
Topics ||--|| Users: "Author"
 | 
			
		||||
Topics ||--o{ Answers: ""
 | 
			
		||||
 | 
			
		||||
Polls ||--o{ Options: ""
 | 
			
		||||
 | 
			
		||||
Options ||--o{ Votes : ""
 | 
			
		||||
 | 
			
		||||
Votes }o--|| Users: "Voter"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%% Appointments
 | 
			
		||||
Teacher
 | 
			
		||||
Appointments{
 | 
			
		||||
    Integer id PK
 | 
			
		||||
    Integer teacher FK "Teacher"
 | 
			
		||||
    TIME sent_time
 | 
			
		||||
    enum Status
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Appointments ||--|| Users: ""
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Debucquoy Anthony
 | 
			
		||||
@ -11,8 +11,9 @@ extension_messagerie.pdf:use_case_messagerie.tex extension_messagerie.bbl extens
 | 
			
		||||
use_case_messagerie.tex: use_case_messagerie.uml
 | 
			
		||||
	plantuml -tlatex:nopreamble use_case_messagerie.uml
 | 
			
		||||
 | 
			
		||||
image: use_case_messagerie.uml interaction_diagram.uml
 | 
			
		||||
image: use_case_messagerie.uml interaction_diagram.uml class.uml 
 | 
			
		||||
	plantuml $^ 
 | 
			
		||||
	mmdc -i ERD.md -o ERD.png
 | 
			
		||||
 | 
			
		||||
extension_messagerie.bbl: extension_messagerie.bcf
 | 
			
		||||
	biber extension_messagerie
 | 
			
		||||
@ -24,6 +25,7 @@ clean:
 | 
			
		||||
	latexmk -C
 | 
			
		||||
	rm -f use_case_messagerie.tex
 | 
			
		||||
	rm -f extension_messagerie.{bbl,run.xml}
 | 
			
		||||
	rm -f class.tex
 | 
			
		||||
 | 
			
		||||
run: extension_messagerie.pdf
 | 
			
		||||
	xdg-open $<
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										86
									
								
								Documents/proto/messaging_extension/class.uml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								Documents/proto/messaging_extension/class.uml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,86 @@
 | 
			
		||||
@startuml
 | 
			
		||||
title Class diagram for Messaging extension
 | 
			
		||||
 | 
			
		||||
package Messages {
 | 
			
		||||
	class Message{
 | 
			
		||||
		content: String
 | 
			
		||||
		response: Message
 | 
			
		||||
		respond(User, String)
 | 
			
		||||
	}
 | 
			
		||||
	class Discussion{
 | 
			
		||||
		name: String
 | 
			
		||||
		users: ArrayList<User>
 | 
			
		||||
		invite(User)
 | 
			
		||||
		sendMessage(User, String)
 | 
			
		||||
	}
 | 
			
		||||
	Discussion *-- Message
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
package Forums {
 | 
			
		||||
	class Forum{
 | 
			
		||||
		name: String
 | 
			
		||||
		Owner: Teacher
 | 
			
		||||
		Registered: ArrayList<User>
 | 
			
		||||
		{static} createForum(Course): Forum
 | 
			
		||||
		createTopic(String): Topic
 | 
			
		||||
		createPoll(String, PollType, ArrayList<Option>): Poll
 | 
			
		||||
	}
 | 
			
		||||
	class Topic{
 | 
			
		||||
		subject: String
 | 
			
		||||
		author: Teacher 
 | 
			
		||||
		content: String
 | 
			
		||||
		answer(User, String): Answer
 | 
			
		||||
		lock(Boolean)
 | 
			
		||||
	}
 | 
			
		||||
	class Answer{
 | 
			
		||||
		author: User
 | 
			
		||||
		content: String
 | 
			
		||||
		anonymous: Boolean 
 | 
			
		||||
		remove()
 | 
			
		||||
	}
 | 
			
		||||
	class Poll{
 | 
			
		||||
		options: ArrayList<Option>
 | 
			
		||||
		type: PollType
 | 
			
		||||
		answer(User, Option): Vote
 | 
			
		||||
		addOption(Option)
 | 
			
		||||
	}
 | 
			
		||||
	class Option{
 | 
			
		||||
		name: String
 | 
			
		||||
	}
 | 
			
		||||
	class Vote{
 | 
			
		||||
		voter: User
 | 
			
		||||
	}
 | 
			
		||||
	enum PollType {
 | 
			
		||||
		ALLOW_NEW_OPTIONS
 | 
			
		||||
		ALLOW_MULTIPLE_CHOICE
 | 
			
		||||
	}
 | 
			
		||||
	note "Change the behaviour of poll" as N
 | 
			
		||||
 | 
			
		||||
	Forum *-l- Topic
 | 
			
		||||
	Topic *-l- Answer
 | 
			
		||||
 | 
			
		||||
	Topic <|-d- Poll
 | 
			
		||||
	Poll *-l- Option
 | 
			
		||||
	Option "1..*" -d-x Vote
 | 
			
		||||
	Poll *-- Vote
 | 
			
		||||
 | 
			
		||||
	Poll -- PollType
 | 
			
		||||
	PollType .r. N
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
package Appointments{
 | 
			
		||||
	class Appointment{
 | 
			
		||||
		date: Date
 | 
			
		||||
		teacher: Teacher
 | 
			
		||||
		student: Student
 | 
			
		||||
		{static} Appointment(Student, Teacher, Date)
 | 
			
		||||
		accept()
 | 
			
		||||
		refuse()
 | 
			
		||||
		propose(Date)
 | 
			
		||||
		export(): File
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Appointments -[hidden]d- Messages
 | 
			
		||||
@enduml
 | 
			
		||||
		Reference in New Issue
	
	Block a user