Compare commits
No commits in common. "f311697047b8055aa01f25286396033e45d6d830" and "92298c53b58d577d04813095436c1f500475e91d" have entirely different histories.
f311697047
...
92298c53b5
@ -517,56 +517,6 @@ paths:
|
|||||||
description: Message sent
|
description: Message sent
|
||||||
'401':
|
'401':
|
||||||
$ref: '#/components/responses/UnauthorizedError'
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
/discussion/{id}/msg/{msgId}:
|
|
||||||
parameters:
|
|
||||||
- name: id
|
|
||||||
in: path
|
|
||||||
description: Id of the discussion
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
- name: msgId
|
|
||||||
in: path
|
|
||||||
description: Id of the message
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
get:
|
|
||||||
summary: get info about message
|
|
||||||
tags:
|
|
||||||
- Ext (Messaging)
|
|
||||||
- discussion
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: Ok
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
datetime:
|
|
||||||
type: integer
|
|
||||||
author:
|
|
||||||
type: integer
|
|
||||||
content:
|
|
||||||
type: string
|
|
||||||
'401':
|
|
||||||
$ref: '#/components/responses/UnauthorizedError'
|
|
||||||
delete:
|
|
||||||
summary: delete a message
|
|
||||||
security:
|
|
||||||
- bearer: []
|
|
||||||
tags:
|
|
||||||
- Ext (Messaging)
|
|
||||||
- discussion
|
|
||||||
responses:
|
|
||||||
'201':
|
|
||||||
description: Message deleted
|
|
||||||
'401':
|
|
||||||
$ref: '#/components/responses/UnauthorizedError'
|
|
||||||
|
|
||||||
|
|
||||||
/appointment:
|
/appointment:
|
||||||
get:
|
get:
|
||||||
@ -702,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
|
||||||
@ -1569,7 +1519,6 @@ 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':
|
||||||
|
@ -1,87 +0,0 @@
|
|||||||
# 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,9 +11,8 @@ 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 class.uml
|
image: use_case_messagerie.uml interaction_diagram.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
|
||||||
@ -25,7 +24,6 @@ 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 $<
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
@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
|
|
Loading…
Reference in New Issue
Block a user