Index: src/main/java/it/finki/tinki/service/WorkService.java
===================================================================
--- src/main/java/it/finki/tinki/service/WorkService.java	(revision f067338250f079f3984e5fb2760b5bb372234918)
+++ src/main/java/it/finki/tinki/service/WorkService.java	(revision a3d2b0d66fc5c20fb0f5348fd5443843d21c0228)
@@ -17,12 +17,15 @@
     List<Internship> getAllInternshipsByAccount(Long accId);
     List<Project> getAllProjectsByAccount(Long accId);
-    List<Job> getAllJobs();
-    List<Internship> getAllInternships();
-    List<Project> getAllProjects();
     Job insertJob(String title, String description, Long accId, int salary, List<Long> skillsRequired, AccountType type);
     Internship insertInternship(String title, String description, Long adccId, int salary, List<Long> skillsTrained, int openSpots, AccountType type);
     Project insertProject(String title, String description, Long adccId, int salary, List<Long> skillsRequired, Date validUntil, AccountType type);
+    Job editJob(Long id, String title, String description, int salary);
+    Internship editInternship(Long id, String title, String description, int salary, int openSpots);
+    Project editProject(Long id, String title, String description, int salary);
     List<JobResponseDTO> fullTextJobSearch(String text);
     List<InternshipResponseDTO> fullTextInternshipSearch(String text);
     List<ProjectResponseDTO> fullTextProjectSearch(String text);
+    Job getJobById(Long id);
+    Internship getInternshipById(Long id);
+    Project getProjectById(Long id);
 }
Index: src/main/java/it/finki/tinki/service/impl/WorkServiceImpl.java
===================================================================
--- src/main/java/it/finki/tinki/service/impl/WorkServiceImpl.java	(revision f067338250f079f3984e5fb2760b5bb372234918)
+++ src/main/java/it/finki/tinki/service/impl/WorkServiceImpl.java	(revision a3d2b0d66fc5c20fb0f5348fd5443843d21c0228)
@@ -68,19 +68,4 @@
 
     @Override
-    public List<Job> getAllJobs() {
-        return this.jobRepository.findAll();
-    }
-
-    @Override
-    public List<Internship> getAllInternships() {
-        return this.internshipRepository.findAll();
-    }
-
-    @Override
-    public List<Project> getAllProjects() {
-        return this.projectRepository.findAll();
-    }
-
-    @Override
     public Job insertJob(String title, String description, Long adccId, int salary, List<Long> skillsRequired, AccountType type) {
         List<Skill> skills = this.skillService.returnSkillsBasedOnId(skillsRequired);
@@ -131,4 +116,37 @@
 
     @Override
+    public Job editJob(Long id, String title, String description, int salary) {
+        Job j = this.jobRepository.findById(id).get();
+
+        j.setTitle(title);
+        j.setDescription(description);
+        j.setSalary(salary);
+
+        return this.jobRepository.save(j);
+    }
+
+    @Override
+    public Internship editInternship(Long id, String title, String description, int salary, int openSpots) {
+        Internship j = this.internshipRepository.findById(id).get();
+
+        j.setTitle(title);
+        j.setDescription(description);
+        j.setSalary(salary);
+
+        return this.internshipRepository.save(j);
+    }
+
+    @Override
+    public Project editProject(Long id, String title, String description, int salary) {
+        Project j = this.projectRepository.findById(id).get();
+
+        j.setTitle(title);
+        j.setDescription(description);
+        j.setSalary(salary);
+
+        return this.projectRepository.save(j);
+    }
+
+    @Override
     public List<JobResponseDTO> fullTextJobSearch(String text) {
         List<Skill> skills = this.skillService.returnBasedOnText(text);
@@ -207,3 +225,18 @@
         return jobs2;
     }
+
+    @Override
+    public Job getJobById(Long id) {
+        return this.jobRepository.findById(id).get();
+    }
+
+    @Override
+    public Internship getInternshipById(Long id) {
+        return this.internshipRepository.findById(id).get();
+    }
+
+    @Override
+    public Project getProjectById(Long id) {
+        return this.projectRepository.findById(id).get();
+    }
 }
Index: src/main/java/it/finki/tinki/web/controller/WorkEditController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/WorkEditController.java	(revision a3d2b0d66fc5c20fb0f5348fd5443843d21c0228)
+++ src/main/java/it/finki/tinki/web/controller/WorkEditController.java	(revision a3d2b0d66fc5c20fb0f5348fd5443843d21c0228)
@@ -0,0 +1,67 @@
+package it.finki.tinki.web.controller;
+
+import it.finki.tinki.model.Work.Internship;
+import it.finki.tinki.model.Work.Job;
+import it.finki.tinki.model.Work.Project;
+import it.finki.tinki.model.dto.register.work.InternshipRegisterDTO;
+import it.finki.tinki.model.dto.register.work.JobRegisterDTO;
+import it.finki.tinki.model.dto.register.work.ProjectRegisterDTO;
+import it.finki.tinki.model.dto.response.work.InternshipResponseDTO;
+import it.finki.tinki.model.dto.response.work.JobResponseDTO;
+import it.finki.tinki.model.dto.response.work.ProjectResponseDTO;
+import it.finki.tinki.service.WorkService;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api/edit/work")
+public class WorkEditController {
+
+    WorkService workService;
+
+    public WorkEditController(WorkService workService) {
+        this.workService = workService;
+    }
+
+    @PostMapping("/job/{userId}/{id}")
+    public JobResponseDTO editJob(@PathVariable Long userId,
+                                  @PathVariable Long id,
+                                  @RequestBody JobRegisterDTO body){
+
+        if(userId.equals(this.workService.getJobById(id).getAccount().getId())) {
+            Job k = this.workService.editJob(id, body.getTitle(), body.getDescription(), body.getSalary());
+
+            return new JobResponseDTO(k);
+        }
+
+        return null;
+    }
+
+    @PostMapping("/internship/{userId}/{id}")
+    public InternshipResponseDTO editInternship(@PathVariable Long userId,
+                                                @PathVariable Long id,
+                                                @RequestBody InternshipRegisterDTO body){
+
+        if(userId.equals(this.workService.getJobById(id).getAccount().getId())){
+            Internship k = this.workService.editInternship(id, body.getTitle(), body.getDescription(), body.getSalary(), body.getOpenSpots());
+
+            return new InternshipResponseDTO(k);
+        }
+
+        return null;
+    }
+
+    @PostMapping("/project/{userId}/{id}")
+    public ProjectResponseDTO editProject(@PathVariable Long userId,
+                                          @PathVariable Long id,
+                                          @RequestBody ProjectRegisterDTO body){
+
+        if(userId.equals(this.workService.getJobById(id).getAccount().getId())) {
+            Project k = this.workService.editProject(id, body.getTitle(), body.getDescription(), body.getSalary());
+
+            return new ProjectResponseDTO(k);
+        }
+
+        return null;
+    }
+}
Index: src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java	(revision f067338250f079f3984e5fb2760b5bb372234918)
+++ src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java	(revision a3d2b0d66fc5c20fb0f5348fd5443843d21c0228)
@@ -12,6 +12,4 @@
 import it.finki.tinki.service.WorkService;
 import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
 
 @RestController
