diff --git a/compilation/.idea/workspace.xml b/compilation/.idea/workspace.xml index cf06d918a76a9da1ee5aa9d1d96da75a29d6afec..2581f5daaa455f5ad8cb2ddd3ee67ffdfe58caa8 100644 --- a/compilation/.idea/workspace.xml +++ b/compilation/.idea/workspace.xml @@ -2,8 +2,10 @@ <project version="4"> <component name="ChangeListManager"> <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/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> <ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/target/" /> diff --git a/gateway/.idea/workspace.xml b/gateway/.idea/workspace.xml index 66212b4ebbc417a90c87d040c6bfe1b7a5c8a13f..78521069c4b6a812d107940206cacc5e94d14458 100644 --- a/gateway/.idea/workspace.xml +++ b/gateway/.idea/workspace.xml @@ -2,7 +2,10 @@ <project version="4"> <component name="ChangeListManager"> <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> <ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/target/" /> @@ -41,10 +44,28 @@ </entry> </file> <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"> - <state relative-caret-position="75"> - <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" /> + <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> + </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> <element signature="imports" expanded="true" /> </folding> @@ -64,10 +85,10 @@ </provider> </entry> </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"> <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" /> <folding> <element signature="imports" expanded="true" /> @@ -171,10 +192,13 @@ <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/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/cursors/Users.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> </option> </component> @@ -269,16 +293,6 @@ <item name="repository" type="462c0819:PsiDirectoryNode" /> <item name="modals" type="462c0819:PsiDirectoryNode" /> </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> <select /> </subPane> @@ -397,12 +411,12 @@ <workItem from="1558958791114" duration="4133000" /> <workItem from="1559024582648" duration="477000" /> <workItem from="1559030400602" duration="2688000" /> - <workItem from="1559111520857" duration="798000" /> + <workItem from="1559111520857" duration="1461000" /> </task> <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="224545000" /> + <option name="totallyTimeSpent" value="225208000" /> </component> <component name="TodoView"> <todo-panel id="selected-file"> @@ -415,8 +429,9 @@ </component> <component name="ToolWindowManager"> <frame x="0" y="0" width="1920" height="1200" extended-state="0" /> + <editor active="true" /> <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="Image Layers" order="2" /> <window_info id="Designer" order="3" /> @@ -425,7 +440,7 @@ <window_info id="Favorites" order="6" side_tool="true" /> <window_info anchor="bottom" id="Message" order="0" /> <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="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> @@ -652,16 +667,6 @@ </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="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"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="225"> @@ -673,49 +678,73 @@ </provider> </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/Programs.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/ch/hepia/repository/MongoDB.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="60"> - <caret line="4" selection-start-line="4" selection-end-line="4" /> + <state relative-caret-position="607"> + <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> </provider> </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"> - <state relative-caret-position="75"> - <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" /> + <state relative-caret-position="90"> + <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" /> <folding> <element signature="imports" expanded="true" /> </folding> </state> </provider> </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"> - <state relative-caret-position="607"> - <caret line="384" column="49" selection-start-line="384" selection-start-column="49" selection-end-line="384" selection-end-column="49" /> + <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" /> <folding> <element signature="imports" expanded="true" /> - <element signature="e#17136#17137#0" expanded="true" /> - <element signature="e#17208#17209#0" expanded="true" /> </folding> </state> </provider> </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"> - <state relative-caret-position="90"> - <caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" /> + <state relative-caret-position="75"> + <caret line="5" selection-start-line="5" selection-end-line="5" /> <folding> <element signature="imports" expanded="true" /> </folding> </state> </provider> </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"> - <state relative-caret-position="289"> - <caret line="351" column="21" selection-start-line="351" selection-start-column="21" selection-end-line="351" selection-end-column="21" /> + <state relative-caret-position="60"> + <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> <element signature="imports" expanded="true" /> </folding> diff --git a/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java b/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java index 33361dc48caccb88794635efa705c0d9191f0eb7..e6cf4aa5142d97e352264043326fabab3168599e 100644 --- a/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java +++ b/gateway/src/main/java/ch/hepia/repository/ProgramsDataBase.java @@ -29,27 +29,14 @@ public interface ProgramsDataBase { 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); 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 create(User u); - - Optional<User> checkUserCredentials(String username, String password); - - boolean isExisting(String username); - - boolean isSubscribed(String userid, String programid); void deleteKata(String kataid); @@ -65,4 +52,23 @@ public interface ProgramsDataBase { 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); + } diff --git a/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java b/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java new file mode 100644 index 0000000000000000000000000000000000000000..05fd61a509c81aa9841a133734961ece9f70eb2f --- /dev/null +++ b/gateway/src/main/java/ch/hepia/repository/cursors/ProgramInterface.java @@ -0,0 +1,5 @@ +package ch.hepia.repository.cursors; + +public interface ProgramInterface { + +} diff --git a/gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java b/gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java similarity index 74% rename from gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java rename to gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java index a6833deecd801c0497cb9d18cd1a1a6733f90af3..8de9345ffaff85c3d39451614b78c9dea2a720fc 100644 --- a/gateway/src/main/java/ch/hepia/repository/modals/interfaces/Users.java +++ b/gateway/src/main/java/ch/hepia/repository/cursors/UserInterface.java @@ -1,12 +1,13 @@ -package ch.hepia.repository.modals.interfaces; +package ch.hepia.repository.cursors; + import ch.hepia.repository.modals.user.User; import java.util.Optional; -public interface Users { +public interface UserInterface { void create(User u); Optional<User> checkUserCredentials(String username, String password); boolean isExisting(String username); -} +} \ No newline at end of file diff --git a/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class b/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class index 8c2b128d7cc8fc75b498728d79670740265a4020..b27cf42fdaed5c3f872c7f1cf414b751519e66df 100644 Binary files a/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class and b/gateway/target/classes/ch/hepia/repository/ProgramsDataBase.class differ diff --git a/gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class b/gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class new file mode 100644 index 0000000000000000000000000000000000000000..dea1c6fd1e2f7afcfcdb1a168b16cf6bc8e42173 Binary files /dev/null and b/gateway/target/classes/ch/hepia/repository/cursors/ProgramInterface.class differ diff --git a/gateway/target/classes/ch/hepia/repository/modals/interfaces/Users.class b/gateway/target/classes/ch/hepia/repository/cursors/UserInterface.class similarity index 70% rename from gateway/target/classes/ch/hepia/repository/modals/interfaces/Users.class rename to gateway/target/classes/ch/hepia/repository/cursors/UserInterface.class index 999434d7c487d09b0e9191f39676413fad031bde..67f17a3990119a17eb87a5e34c514cb9a23346f6 100644 Binary files a/gateway/target/classes/ch/hepia/repository/modals/interfaces/Users.class and b/gateway/target/classes/ch/hepia/repository/cursors/UserInterface.class differ