Commit 432129f0 authored by Ikram Haq's avatar Ikram Haq
Browse files

Update the logic to handle the PUT request for zoneLocationEventSubscription...

Update the logic to handle the PUT request for zoneLocationEventSubscription and zoneStatusSuscription without array in request body
parent 5899f9e2
Loading
Loading
Loading
Loading
+163 −165
Original line number Diff line number Diff line
@@ -3049,7 +3049,7 @@ func handleUserLocationPeriodicSubscription(w http.ResponseWriter, requestBody m
}

func zoneSubPUT(w http.ResponseWriter, r *http.Request) {
	var requestBody []map[string]interface{}
	var requestBody map[string]interface{}
	vars := mux.Vars(r)
	decoder := json.NewDecoder(r.Body)
	if err := decoder.Decode(&requestBody); err != nil {
@@ -3061,13 +3061,11 @@ func zoneSubPUT(w http.ResponseWriter, r *http.Request) {
	hasZoneSubscription := false
	hasStatusSubscription := false

	for _, body := range requestBody {
		if _, ok := body["zoneLocationEventSubscription"]; ok {
	if _, ok := requestBody["zoneLocationEventSubscription"]; ok {
		hasZoneSubscription = true
		} else if _, ok := body["zoneStatusSubscription"]; ok {
	} else if _, ok := requestBody["zoneStatusSubscription"]; ok {
		hasStatusSubscription = true
	}
	}

	// Check if both types of subscriptions are present
	if hasZoneSubscription && hasStatusSubscription {
@@ -3118,9 +3116,9 @@ func userSubPUT(w http.ResponseWriter, r *http.Request) {
		return
	}
}
func handlezoneLocationEventSubscriptionPut(w http.ResponseWriter, requestBody []map[string]interface{}, subscriptionID string) {
	for _, body := range requestBody {
		if zoneSubscription, ok := body["zoneLocationEventSubscription"]; ok {
func handlezoneLocationEventSubscriptionPut(w http.ResponseWriter, requestBody map[string]interface{}, subscriptionID string) {

	if zoneSubscription, ok := requestBody["zoneLocationEventSubscription"]; ok {
		// Convert the event subscription to a map
		zoneSubscriptionMap := zoneSubscription.(map[string]interface{})
		if links, ok := zoneSubscriptionMap["_links"]; ok {
@@ -3209,10 +3207,10 @@ func handlezoneLocationEventSubscriptionPut(w http.ResponseWriter, requestBody [

	}
}
}
func handlezoneStatusSubscriptionPut(w http.ResponseWriter, requestBody []map[string]interface{}, subscriptionID string) {
	for _, body := range requestBody {
		if statusSubscription, ok := body["zoneStatusSubscription"]; ok {

func handlezoneStatusSubscriptionPut(w http.ResponseWriter, requestBody map[string]interface{}, subscriptionID string) {

	if statusSubscription, ok := requestBody["zoneStatusSubscription"]; ok {
		// Convert the event subscription to a map
		statusSubscriptionMap := statusSubscription.(map[string]interface{})
		if links, ok := statusSubscriptionMap["_links"]; ok {
@@ -3302,7 +3300,7 @@ func handlezoneStatusSubscriptionPut(w http.ResponseWriter, requestBody []map[st

	}
}
}

func handleUserLocationEventSubscriptionPut(w http.ResponseWriter, requestBody map[string]interface{}, subscriptionID string) {

	if eventSubscription, ok := requestBody["userLocationEventSubscription"]; ok {