Skip to content
Snippets Groups Projects
Commit 5ee520a1 authored by Alexandre Vanini's avatar Alexandre Vanini
Browse files

[WIP] - Package ch.hepia.database

parent 1f07dc98
No related branches found
No related tags found
No related merge requests found
...@@ -2,8 +2,10 @@ ...@@ -2,8 +2,10 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="8d8fb2c1-8426-4933-8193-ee68625cf8de" name="Default Changelist" comment=""> <list default="true" id="8d8fb2c1-8426-4933-8193-ee68625cf8de" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/../README.md" beforeDir="false" afterPath="$PROJECT_DIR$/../README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../gateway/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java" beforeDir="false" afterPath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" beforeDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/target/" /> <ignored path="$PROJECT_DIR$/target/" />
......
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e6a1f2e5-4f60-4227-82bb-83eb10fa94a5" name="Default Changelist" comment=""> <list default="true" id="e6a1f2e5-4f60-4227-82bb-83eb10fa94a5" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/../README.md" beforeDir="false" afterPath="$PROJECT_DIR$/../README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/../compilation/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../compilation/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" beforeDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/target/" /> <ignored path="$PROJECT_DIR$/target/" />
...@@ -41,10 +44,28 @@ ...@@ -41,10 +44,28 @@
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="60">
<caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" /> <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" lean-forward="true" selection-start-line="3" selection-end-line="3" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="519">
<caret line="57" column="4" selection-start-line="57" selection-start-column="4" selection-end-line="57" selection-end-column="4" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
...@@ -64,10 +85,10 @@ ...@@ -64,10 +85,10 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/App.java"> <entry file="file://$PROJECT_DIR$/src/main/java/App.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="289"> <state relative-caret-position="5265">
<caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" /> <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
...@@ -171,10 +192,13 @@ ...@@ -171,10 +192,13 @@
<option value="$PROJECT_DIR$/src/main/java/MongoDataBase/ProgramsDataBase.java" /> <option value="$PROJECT_DIR$/src/main/java/MongoDataBase/ProgramsDataBase.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/database/ProgramsDataBase.java" /> <option value="$PROJECT_DIR$/src/main/java/ch/hepia/database/ProgramsDataBase.java" />
<option value="$PROJECT_DIR$/src/main/java/Users.java" /> <option value="$PROJECT_DIR$/src/main/java/Users.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java" /> <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java" /> <option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java" />
<option value="$PROJECT_DIR$/src/main/java/App.java" /> <option value="$PROJECT_DIR$/src/main/java/App.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java" />
<option value="$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java" />
</list> </list>
</option> </option>
</component> </component>
...@@ -269,16 +293,6 @@ ...@@ -269,16 +293,6 @@
<item name="repository" type="462c0819:PsiDirectoryNode" /> <item name="repository" type="462c0819:PsiDirectoryNode" />
<item name="modals" type="462c0819:PsiDirectoryNode" /> <item name="modals" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="gateway" type="b2602c69:ProjectViewProjectNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="repository" type="462c0819:PsiDirectoryNode" />
<item name="modals" type="462c0819:PsiDirectoryNode" />
<item name="interfaces" type="462c0819:PsiDirectoryNode" />
</path>
</expand> </expand>
<select /> <select />
</subPane> </subPane>
...@@ -397,12 +411,12 @@ ...@@ -397,12 +411,12 @@
<workItem from="1558958791114" duration="4133000" /> <workItem from="1558958791114" duration="4133000" />
<workItem from="1559024582648" duration="477000" /> <workItem from="1559024582648" duration="477000" />
<workItem from="1559030400602" duration="2688000" /> <workItem from="1559030400602" duration="2688000" />
<workItem from="1559111520857" duration="798000" /> <workItem from="1559111520857" duration="1461000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="224545000" /> <option name="totallyTimeSpent" value="225208000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
...@@ -415,8 +429,9 @@ ...@@ -415,8 +429,9 @@
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="1920" height="1200" extended-state="0" /> <frame x="0" y="0" width="1920" height="1200" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.49924126" visible="true" weight="0.1970181" /> <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.49924126" visible="true" weight="0.1970181" />
<window_info id="Structure" order="1" sideWeight="0.5007587" side_tool="true" weight="0.20127796" /> <window_info id="Structure" order="1" sideWeight="0.5007587" side_tool="true" weight="0.20127796" />
<window_info id="Image Layers" order="2" /> <window_info id="Image Layers" order="2" />
<window_info id="Designer" order="3" /> <window_info id="Designer" order="3" />
...@@ -425,7 +440,7 @@ ...@@ -425,7 +440,7 @@
<window_info id="Favorites" order="6" side_tool="true" /> <window_info id="Favorites" order="6" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32920355" /> <window_info anchor="bottom" id="Find" order="1" weight="0.32920355" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.3460177" /> <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.3460177" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39823008" /> <window_info anchor="bottom" id="Debug" order="3" weight="0.39823008" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
...@@ -652,16 +667,6 @@ ...@@ -652,16 +667,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="735">
<caret line="49" column="4" selection-start-line="49" selection-start-column="4" selection-end-line="49" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/user/User.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/user/User.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225"> <state relative-caret-position="225">
...@@ -673,49 +678,73 @@ ...@@ -673,49 +678,73 @@
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Katas.java" /> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Katas.java" />
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Programs.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60"> <state relative-caret-position="607">
<caret line="4" selection-start-line="4" selection-end-line="4" /> <caret line="384" column="49" selection-start-line="384" selection-start-column="49" selection-end-line="384" selection-end-column="49" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#17136#17137#0" expanded="true" />
<element signature="e#17208#17209#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="90">
<caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" /> <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java"> <entry file="file://$PROJECT_DIR$/src/main/java/App.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="607"> <state relative-caret-position="5265">
<caret line="384" column="49" selection-start-line="384" selection-start-column="49" selection-end-line="384" selection-end-column="49" /> <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#17136#17137#0" expanded="true" />
<element signature="e#17208#17209#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Users.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/modals/interfaces/Users.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="75">
<caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" /> <caret line="5" selection-start-line="5" selection-end-line="5" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/main/java/App.java"> <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/Programs.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="289"> <state relative-caret-position="60">
<caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" /> <caret line="4" selection-start-line="4" selection-end-line="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/UserInterface.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" lean-forward="true" selection-start-line="3" selection-end-line="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/ProgramsDataBase.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="519">
<caret line="57" column="4" selection-start-line="57" selection-start-column="4" selection-end-line="57" selection-end-column="4" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
......
...@@ -29,27 +29,14 @@ public interface ProgramsDataBase { ...@@ -29,27 +29,14 @@ public interface ProgramsDataBase {
void toggleSubscription(String userid, String idprogram); void toggleSubscription(String userid, String idprogram);
Optional<List<ProgramShowCase>> userSubscriptions(String userid);
Optional<List<ProgramShowCase>> userPrograms(String userid);
Optional<KataSubscription> kataSubscriptionById(String kataid, String programid, String userid); Optional<KataSubscription> kataSubscriptionById(String kataid, String programid, String userid);
void createKataSubscription(String kataid, String programid, String userid); void createKataSubscription(String kataid, String programid, String userid);
void incrementKataSubscriptionAttempt(String kataid, String programid, String userid);
void updateKataSubscription(String kataid, String programid, String userid, String sol, String status);
void deleteProgram(String programid); void deleteProgram(String programid);
void create(User u);
Optional<User> checkUserCredentials(String username, String password);
boolean isExisting(String username);
boolean isSubscribed(String userid, String programid);
void deleteKata(String kataid); void deleteKata(String kataid);
...@@ -65,4 +52,23 @@ public interface ProgramsDataBase { ...@@ -65,4 +52,23 @@ public interface ProgramsDataBase {
boolean isKataActivated(String kataid); boolean isKataActivated(String kataid);
void incrementKataSubscriptionAttempt(String kataid, String programid, String userid);
void updateKataSubscription(String kataid, String programid, String userid, String sol, String status);
boolean isSubscribed(String userid, String programid);
Optional<List<ProgramShowCase>> userSubscriptions(String userid);
Optional<List<ProgramShowCase>> userPrograms(String userid);
void create(User u);
boolean isExisting(String username);
Optional<User> checkUserCredentials(String username, String password);
} }
package ch.hepia.repository.cursors;
public interface ProgramInterface {
}
package ch.hepia.repository.modals.interfaces; package ch.hepia.repository.cursors;
import ch.hepia.repository.modals.user.User; import ch.hepia.repository.modals.user.User;
import java.util.Optional; import java.util.Optional;
public interface Users { public interface UserInterface {
void create(User u); void create(User u);
Optional<User> checkUserCredentials(String username, String password); Optional<User> checkUserCredentials(String username, String password);
......
No preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment