diff --git a/src/myaktion/handler/campaign.go b/src/myaktion/handler/campaign.go
index 4e990050688f6d8048061761686e6a5ebb909671..d1246fe41921099ed00efdeb0bc9e832899ff303 100644
--- a/src/myaktion/handler/campaign.go
+++ b/src/myaktion/handler/campaign.go
@@ -38,7 +38,7 @@ func UpdateCampaign(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	error := service.UpdateCampaign(campaign, id)
+	error := service.UpdateCampaign(getOrganizerName(r), campaign, id)
 	if error != nil {
 		http.Error(w, error.Error(), http.StatusInternalServerError)
 		return
@@ -54,7 +54,7 @@ func GetCampaign(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	campaign, err := service.GetCampaign(id)
+	campaign, err := service.GetCampaign(getOrganizerName(r), id)
 	if err != nil {
 		log.Printf("Error calling service GetCampagin: %v", err)
 		http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -83,7 +83,7 @@ func DeleteCampaign(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 	var campaign model.Campaign
-	err = service.DeleteCampaign(&campaign, id)
+	err = service.DeleteCampaign(getOrganizerName(r), &campaign, id)
 
 	if err != nil {
 		log.Printf("Error calling service DeleteCampaign: %v", err)
@@ -147,17 +147,11 @@ func PatchCampaign(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	err = service.PatchCampaign2(campaign, id)
-	/*m := make(map[string]any)
-	err = json.NewDecoder(r.Body).Decode(&m)
-	if err != nil {
-		log.Errorf("Can't serialize request body to donation struct:  %v", err)
-	}
+	err = service.PatchCampaign(getOrganizerName(r), campaign, id)
 
-	err = service.PatchCampaign(&m, id)
 	if err != nil {
-		log.Errorf("cant patch stuff:  %v", err)
-	}*/
+		log.Errorf("Error calling service PatchCampaign: %v", err)
+	}
 
 }
 
diff --git a/src/myaktion/main.go b/src/myaktion/main.go
index be4edb3c2b31f85de2f7e51f554cfde74098f103..963bdfbc917bb59f6bbba29f69a0df4af53e8650 100644
--- a/src/myaktion/main.go
+++ b/src/myaktion/main.go
@@ -80,12 +80,15 @@ func main() {
 	router.HandleFunc("/health", handler.Health).Methods("GET")
 
 	router.HandleFunc("/campaigns", authMW(handler.CreateCampaign)).Methods("POST")
-	router.HandleFunc("/campaigns/{id}", handler.UpdateCampaign).Methods("PUT")
+	router.HandleFunc("/campaigns", authMW(handler.GetCampaigns)).Methods("GET")
+
 	router.HandleFunc("/campaigns/{id}", authMW(handler.GetCampaign)).Methods("GET")
-	router.HandleFunc("/campaigns", handler.GetCampaigns).Methods("GET")
-	router.HandleFunc("/campaigns/{id}", handler.DeleteCampaign).Methods("DELETE")
-	router.HandleFunc("/campaigns/{id}", handler.PatchCampaign).Methods("PATCH")
+	router.HandleFunc("/campaigns/{id}", authMW(handler.UpdateCampaign)).Methods("PUT")
+	router.HandleFunc("/campaigns/{id}", authMW(handler.PatchCampaign)).Methods("PATCH")
+	router.HandleFunc("/campaigns/{id}", authMW(handler.DeleteCampaign)).Methods("DELETE")
+
 	router.HandleFunc("/campaigns/{id}/donation", handler.AddDonation).Methods("POST")
+
 	if err := http.ListenAndServe(":8000", router); err != nil {
 		log.Fatal(err)
 	}
diff --git a/src/myaktion/service/campaign.go b/src/myaktion/service/campaign.go
index 8c0c9d6e12b69fef5cffd42135005db704fecf6f..1126cd295d65a19271098aca9c6a94d6ffa8ef91 100644
--- a/src/myaktion/service/campaign.go
+++ b/src/myaktion/service/campaign.go
@@ -30,10 +30,10 @@ func GetCampaigns(organizerName string) ([]model.Campaign, error) {
 	return campaigns, nil
 }
 
-func GetCampaign(id uint) (*model.Campaign, error) {
+func GetCampaign(organizerName string, id uint) (*model.Campaign, error) {
 	var campaign *model.Campaign
 
-	result := db.DB.First(&campaign, id)
+	result := db.DB.Where("id = ? AND organizer_name = ?", id, organizerName).First(&campaign)
 
 	if result.Error != nil {
 		return nil, result.Error
@@ -42,17 +42,17 @@ func GetCampaign(id uint) (*model.Campaign, error) {
 	return campaign, nil
 }
 
-func UpdateCampaign(campaign *model.Campaign, id uint) error {
-	result := db.DB.Model(&campaign).Where("id = ?", id).Updates(campaign)
+func UpdateCampaign(organizerName string, campaign *model.Campaign, id uint) error {
+	result := db.DB.Model(&campaign).Where("id = ? AND organizer_name = ?", id, organizerName).Updates(campaign)
 	if result.Error != nil {
 		return result.Error
 	}
 	return nil
 }
 
-func DeleteCampaign(campaign *model.Campaign, id uint) error {
+func DeleteCampaign(organizerName string, campaign *model.Campaign, id uint) error {
 
-	result := db.DB.Model(&campaign).Where("id = ?", id).Delete(campaign)
+	result := db.DB.Model(&campaign).Where("id = ? AND organizer_name = ?", id, organizerName).Delete(campaign)
 
 	if result.Error != nil {
 		return result.Error
@@ -79,32 +79,9 @@ func AddDonation(donation *model.Donation, id uint) error {
 	return nil
 }
 
-func PatchCampaign(m *map[string]any, id uint) error {
-
-	/*var newM = make(map[string]any)
-	for field, value := range *m{
-		if (field == "Account"){
-			newM = value
-		}
-	}*/
-	result := db.DB.Model(model.Campaign{}).Where("id = ?", id).Updates(m)
-	/*for field, value := range *m {
-		result := db.DB.Model(model.Campaign{}).Where("id = ?", id).Select(field).Updates(map[string]interface{}{field: value})
-		if result.Error != nil {
-			return result.Error
-		}
-	}*/
+func PatchCampaign(organizerName string, campaign *model.Campaign, id uint) error {
 
-	if result.Error != nil {
-		return result.Error
-	}
-	log.Infof("Successfully patched campaign.")
-	return nil
-}
-
-func PatchCampaign2(campaign *model.Campaign, id uint) error {
-
-	existingCampaign, error := GetCampaign(id)
+	existingCampaign, error := GetCampaign(organizerName, id)
 	if error != nil {
 		return error
 	}