Files
MetaCourse/MetaCourse_DB.xmi
T
2026-05-05 10:53:52 +02:00

150 lines
10 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:version="2.1">
<uml:Model xmi:id="MetaCourse" name="MetaCourse">
<!-- User -->
<packagedElement xmi:type="uml:Class" xmi:id="User" name="User">
<ownedAttribute xmi:id="User_id" name="id" visibility="private"><type xmi:type="uml:PrimitiveType" href="Guid"/></ownedAttribute>
<ownedAttribute xmi:id="User_name" name="name" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="User_email" name="email" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="User_passwordHash" name="passwordHash" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="User_createdAt" name="createdAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- Course -->
<packagedElement xmi:type="uml:Class" xmi:id="Course" name="Course">
<ownedAttribute xmi:id="Course_id" name="id" visibility="private"><type xmi:type="uml:PrimitiveType" href="Guid"/></ownedAttribute>
<ownedAttribute xmi:id="Course_title" name="title" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Course_description" name="description" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Course_status" name="status" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Course_createdAt" name="createdAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
<ownedAttribute xmi:id="Course_updatedAt" name="updatedAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- Topic -->
<packagedElement xmi:type="uml:Class" xmi:id="Topic" name="Topic">
<ownedAttribute xmi:id="Topic_id" name="id" visibility="private"><type xmi:type="uml:PrimitiveType" href="Guid"/></ownedAttribute>
<ownedAttribute xmi:id="Topic_title" name="title" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Topic_description" name="description" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Topic_position" name="position" visibility="private"><type xmi:type="uml:PrimitiveType" href="Integer"/></ownedAttribute>
</packagedElement>
<!-- Resource -->
<packagedElement xmi:type="uml:Class" xmi:id="Resource" name="Resource">
<ownedAttribute xmi:id="Resource_id" name="id" visibility="private"><type xmi:type="uml:PrimitiveType" href="Guid"/></ownedAttribute>
<ownedAttribute xmi:id="Resource_type" name="type" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Resource_title" name="title" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Resource_content" name="content" visibility="private"><type xmi:type="uml:PrimitiveType" href="String"/></ownedAttribute>
<ownedAttribute xmi:id="Resource_createdAt" name="createdAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- UserCourse (inscription junction) -->
<packagedElement xmi:type="uml:Class" xmi:id="UserCourse" name="UserCourse">
<ownedAttribute xmi:id="UserCourse_enrolledAt" name="enrolledAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
<ownedAttribute xmi:id="UserCourse_completedAt" name="completedAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- TopicResource (junction) -->
<packagedElement xmi:type="uml:Class" xmi:id="TopicResource" name="TopicResource">
<ownedAttribute xmi:id="TopicResource_position" name="position" visibility="private"><type xmi:type="uml:PrimitiveType" href="Integer"/></ownedAttribute>
</packagedElement>
<!-- UserTopicProgress -->
<packagedElement xmi:type="uml:Class" xmi:id="UserTopicProgress" name="UserTopicProgress">
<ownedAttribute xmi:id="UTP_completed" name="completed" visibility="private"><type xmi:type="uml:PrimitiveType" href="Boolean"/></ownedAttribute>
<ownedAttribute xmi:id="UTP_completedAt" name="completedAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- UserResourceProgress -->
<packagedElement xmi:type="uml:Class" xmi:id="UserResourceProgress" name="UserResourceProgress">
<ownedAttribute xmi:id="URP_completed" name="completed" visibility="private"><type xmi:type="uml:PrimitiveType" href="Boolean"/></ownedAttribute>
<ownedAttribute xmi:id="URP_completedAt" name="completedAt" visibility="private"><type xmi:type="uml:PrimitiveType" href="DateTime"/></ownedAttribute>
</packagedElement>
<!-- User crée Course (1 -> *) -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_UserCreeCourse" name="crée">
<memberEnd xmi:idref="UserCreeCourse_user"/>
<memberEnd xmi:idref="UserCreeCourse_course"/>
<ownedEnd xmi:id="UserCreeCourse_user" name="user" type="User" visibility="private" association="Assoc_UserCreeCourse">
<lowerValue xmi:type="uml:LiteralInteger" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="UserCreeCourse_course" name="courses" type="Course" visibility="private" association="Assoc_UserCreeCourse">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<!-- User inscription Course via UserCourse -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_UserInscriptionCourse" name="inscription">
<memberEnd xmi:idref="Inscription_user"/>
<memberEnd xmi:idref="Inscription_course"/>
<ownedEnd xmi:id="Inscription_user" name="user" type="User" visibility="private" association="Assoc_UserInscriptionCourse">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
<ownedEnd xmi:id="Inscription_course" name="course" type="Course" visibility="private" association="Assoc_UserInscriptionCourse">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<!-- Course -> Topic (composition) -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_CourseTopic" name="">
<memberEnd xmi:idref="CourseTopic_course"/>
<memberEnd xmi:idref="CourseTopic_topic"/>
<ownedEnd xmi:id="CourseTopic_course" name="course" type="Course" visibility="private" association="Assoc_CourseTopic" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="CourseTopic_topic" name="topics" type="Topic" visibility="private" association="Assoc_CourseTopic">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<!-- Topic <-> Resource via TopicResource -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_TopicResource" name="">
<memberEnd xmi:idref="TR_topic"/>
<memberEnd xmi:idref="TR_resource"/>
<ownedEnd xmi:id="TR_topic" name="topic" type="Topic" visibility="private" association="Assoc_TopicResource">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
<ownedEnd xmi:id="TR_resource" name="resource" type="Resource" visibility="private" association="Assoc_TopicResource">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<!-- User <-> Topic via UserTopicProgress -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_UserTopicProgress" name="">
<memberEnd xmi:idref="UTP_user"/>
<memberEnd xmi:idref="UTP_topic"/>
<ownedEnd xmi:id="UTP_user" name="user" type="User" visibility="private" association="Assoc_UserTopicProgress">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
<ownedEnd xmi:id="UTP_topic" name="topic" type="Topic" visibility="private" association="Assoc_UserTopicProgress">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<!-- User <-> Resource via UserResourceProgress -->
<packagedElement xmi:type="uml:Association" xmi:id="Assoc_UserResourceProgress" name="">
<memberEnd xmi:idref="URP_user"/>
<memberEnd xmi:idref="URP_resource"/>
<ownedEnd xmi:id="URP_user" name="user" type="User" visibility="private" association="Assoc_UserResourceProgress">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
<ownedEnd xmi:id="URP_resource" name="resource" type="Resource" visibility="private" association="Assoc_UserResourceProgress">
<lowerValue xmi:type="uml:LiteralInteger" value="0"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
</uml:Model>
</xmi:XMI>