First api #18
| @ -652,7 +652,7 @@ paths: | |||||||
|           name: type |           name: type | ||||||
|           required: false  |           required: false  | ||||||
|           schema: |           schema: | ||||||
|             $ref: '#components/schemas/Roles' |             $ref: '#/components/schemas/Roles' | ||||||
|       responses:  |       responses:  | ||||||
|         '200': |         '200': | ||||||
|           description: OK |           description: OK | ||||||
| @ -1519,6 +1519,7 @@ paths: | |||||||
|         summary: get a list of article's data |         summary: get a list of article's data | ||||||
|         tags: |         tags: | ||||||
|           - Users |           - Users | ||||||
|  |           - Guest | ||||||
|           - Ext (scientific articles) |           - Ext (scientific articles) | ||||||
|         responses:  |         responses:  | ||||||
|           '200': |           '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 | use_case_messagerie.tex: use_case_messagerie.uml | ||||||
| 	plantuml -tlatex:nopreamble 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 $^  | 	plantuml $^  | ||||||
|  | 	mmdc -i ERD.md -o ERD.png | ||||||
|  |  | ||||||
| extension_messagerie.bbl: extension_messagerie.bcf | extension_messagerie.bbl: extension_messagerie.bcf | ||||||
| 	biber extension_messagerie | 	biber extension_messagerie | ||||||
| @ -24,6 +25,7 @@ clean: | |||||||
| 	latexmk -C | 	latexmk -C | ||||||
| 	rm -f use_case_messagerie.tex | 	rm -f use_case_messagerie.tex | ||||||
| 	rm -f extension_messagerie.{bbl,run.xml} | 	rm -f extension_messagerie.{bbl,run.xml} | ||||||
|  | 	rm -f class.tex | ||||||
|  |  | ||||||
| run: extension_messagerie.pdf | run: extension_messagerie.pdf | ||||||
| 	xdg-open $< | 	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