diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 4fc2c49..e54e77c 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -36,6 +36,7 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.EditUserPreferencesRequest; import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; @@ -345,13 +346,17 @@ public class KalenderRestController { public List renamePreset(@RequestBody RenamePresetRequest request) throws NotFoundError, ARException { Presets presets = new Presets(javaAPI); presets.renamePreset(request); - - for (var v : presets.getAll()) { - System.out.println(v.getName()); - } return presets.getAll(); } + @CrossOrigin("*") + @PostMapping("api/editUserPreferences") + @ResponseBody + public String editUserPreferences(@RequestBody EditUserPreferencesRequest request) throws ARException, NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.editUserPreferences(request); + } + @CrossOrigin("*") @GetMapping("/api/getAllPresets") @ResponseBody diff --git a/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java b/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java new file mode 100644 index 0000000..a5c7c8f --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java @@ -0,0 +1,32 @@ +package com.nttdata.calender.presets; + +public class EditUserPreferencesRequest { + private int details; + private int view; + private String language; + + public int getDetails() { + return this.details; + } + + public void setDetails(int details) { + this.details = details; + } + + public int getView() { + return this.view; + } + + public void setView(int view) { + this.view = view; + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(String language) { + this.language = language; + } + +} diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index e4ac11c..6ed2085 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -48,6 +48,9 @@ public class Presets { this.prefQuery = new Query.QueryBuilder(formUserPref) .addFieldId("GUID", 364000001) + .addFieldId("Details", 364000002) + .addFieldId("View", 364000003) + .addFieldId("Language", 364000004) .build(); this.presets = new ArrayList<>(); @@ -94,7 +97,8 @@ public class Presets { var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - if (pref.isEmpty() || pref == null) return false; + if (pref.isEmpty() || pref == null) + return false; api.modifyEntry(pref.get(0).getEntryId(), queryP); return true; @@ -119,6 +123,23 @@ public class Presets { api.modifyEntry(preset.getEntryId(), queryPresets); } + public String editUserPreferences(EditUserPreferencesRequest request) throws ARException { + var queryUserPreferences = new Query.QueryBuilder(formUserPref) + .addFieldValue("Details", 364000002, new Value(request.getDetails())) + .addFieldValue("View", 364000003, new Value(request.getView())) + .addFieldValue("Language", 364000004, new Value(request.getLanguage())) + .build(); + + var preferences = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryUserPreferences.getFieldIds(), + formUserPref, null, 0, 0).get(0); + + // bei falschen input parameter + if (preferences.isEmpty() || preferences == null) + return "Error"; + api.modifyEntry(preferences.getEntryId(), queryUserPreferences); + return "Success"; + } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); @@ -138,4 +159,5 @@ public class Presets { allPresets(); return this.presets; } + }