@@ -13,6 +13,7 @@ import (
13
13
"net/url"
14
14
"sort"
15
15
"strings"
16
+ "time"
16
17
17
18
"github.com/gin-gonic/gin"
18
19
"github.com/google/uuid"
@@ -65,7 +66,7 @@ func GetWishesFromWishlist(context *gin.Context) {
65
66
return
66
67
}
67
68
68
- WishlistMembership , err := database .VerifyUserMembershipToGroupmembershipToWishlist (UserID , wishlist_id_int )
69
+ WishlistMembership , err := database .VerifyUserMembershipToGroupMembershipToWishlist (UserID , wishlist_id_int )
69
70
if err != nil {
70
71
log .Println ("Failed to verify membership of group. Error: " + err .Error ())
71
72
context .JSON (http .StatusInternalServerError , gin.H {"error" : "Failed to verify membership of group." })
@@ -121,7 +122,14 @@ func GetWishesFromWishlist(context *gin.Context) {
121
122
return wishObjects [j ].UpdatedAt .Before (wishObjects [i ].UpdatedAt )
122
123
})
123
124
124
- context .JSON (http .StatusOK , gin.H {"owner_id" : owner_id , "collaborators" : wishlistCollabsIntArray , "wishes" : wishObjects , "message" : "Wishes retrieved." , "currency" : config .PoenskelistenCurrency , "padding" : config .PoenskelistenCurrencyPad })
125
+ context .JSON (http .StatusOK , gin.H {
126
+ "owner_id" : owner_id ,
127
+ "collaborators" : wishlistCollabsIntArray ,
128
+ "wishes" : wishObjects , "message" : "Wishes retrieved." ,
129
+ "currency" : config .PoenskelistenCurrency ,
130
+ "currency_padding" : config .PoenskelistenCurrencyPad ,
131
+ "currency_left" : config .PoenskelistenCurrencyLeft ,
132
+ })
125
133
}
126
134
127
135
func ConvertWishToWishObject (wish models.Wish , requestUserID * uuid.UUID ) (models.WishObject , error ) {
@@ -134,7 +142,7 @@ func ConvertWishToWishObject(wish models.Wish, requestUserID *uuid.UUID) (models
134
142
return models.WishObject {}, err
135
143
}
136
144
137
- wishclaimobject , err := database .GetWishClaimFromWish (wish .ID )
145
+ wishClaimObject , err := database .GetWishClaimFromWish (wish .ID )
138
146
if err != nil {
139
147
log .Println ("Failed to get wish claims wish'" + wish .ID .String () + "'. Returning. Error: " + err .Error ())
140
148
return models.WishObject {}, err
@@ -167,7 +175,8 @@ func ConvertWishToWishObject(wish models.Wish, requestUserID *uuid.UUID) (models
167
175
log .Println ("Failed to get wishlist collaborator from database. Error: " + err .Error ())
168
176
return models.WishObject {}, errors .New ("Failed to get wishlist from database." )
169
177
}
170
- wishlistCollabObjects , err := ConvertWishlistCollaberatorsToWishlistCollaberatorObjects (wishlistCollabs )
178
+
179
+ wishlistCollabObjects , err := ConvertWishlistCollaboratorsToWishlistCollaboratorsObjects (wishlistCollabs )
171
180
if err != nil {
172
181
log .Println ("Failed to convert wishlist collaborators to objects. Error: " + err .Error ())
173
182
return models.WishObject {}, errors .New ("Failed to convert wishlist collaborators to objects." )
@@ -182,20 +191,34 @@ func ConvertWishToWishObject(wish models.Wish, requestUserID *uuid.UUID) (models
182
191
// Purge the reply if the requester is the owner
183
192
if requestUserID != nil {
184
193
if wish .OwnerID == * requestUserID {
185
- wishclaimobject = []models.WishClaimObject {}
194
+ wishClaimObject = []models.WishClaimObject {}
186
195
}
187
196
188
197
if wishlistOwnerUser .ID == * requestUserID {
189
- wishclaimobject = []models.WishClaimObject {}
198
+ wishClaimObject = []models.WishClaimObject {}
190
199
}
191
200
192
201
for _ , wishCollaborator := range wishlistCollabObjects {
193
202
if wishCollaborator .User .ID == * requestUserID {
194
- wishclaimobject = []models.WishClaimObject {}
203
+ wishClaimObject = []models.WishClaimObject {}
195
204
}
196
205
}
197
206
}
198
207
208
+ // Purge claim details if claimers are hidden
209
+ if wishlist .HideClaimers != nil && * wishlist .HideClaimers == true {
210
+ newClaimers := []models.WishClaimObject {}
211
+ for _ , wishClaim := range wishClaimObject {
212
+ wishClaim .User .CreatedAt = time .Now ()
213
+ wishClaim .User .UpdatedAt = time .Now ()
214
+ wishClaim .User .Email = nil
215
+ wishClaim .User .FirstName = "Hidden"
216
+ wishClaim .User .LastName = "User"
217
+ newClaimers = append (newClaimers , wishClaim )
218
+ }
219
+ wishClaimObject = newClaimers
220
+ }
221
+
199
222
wishObject .CreatedAt = wish .CreatedAt
200
223
wishObject .DeletedAt = wish .DeletedAt
201
224
wishObject .Enabled = wish .Enabled
@@ -204,14 +227,16 @@ func ConvertWishToWishObject(wish models.Wish, requestUserID *uuid.UUID) (models
204
227
wishObject .Note = wish .Note
205
228
wishObject .Owner = user_object
206
229
wishObject .WishlistOwner = wishlistOwnerUser
207
- wishObject .WishClaim = wishclaimobject
230
+ wishObject .WishClaim = wishClaimObject
208
231
wishObject .URL = wish .URL
209
232
wishObject .Price = wish .Price
210
233
wishObject .UpdatedAt = wish .UpdatedAt
211
234
wishObject .WishlistID = wish .WishlistID
212
235
wishObject .WishClaimable = * wishlist .Claimable
213
236
wishObject .Collaborators = wishlistCollabObjects
214
237
wishObject .Currency = configFile .PoenskelistenCurrency
238
+ wishObject .CurrencyPadding = configFile .PoenskelistenCurrencyPad
239
+ wishObject .CurrencyLeft = configFile .PoenskelistenCurrencyLeft
215
240
216
241
return wishObject , nil
217
242
@@ -298,7 +323,6 @@ func RegisterWish(context *gin.Context) {
298
323
context .Abort ()
299
324
return
300
325
} else if ! MembershipStatus && ! collaborationStatus {
301
- //context.JSON(http.StatusInternalServerError, gin.H{"error": groupmembershiprecord.Error.Error()})
302
326
context .JSON (http .StatusBadRequest , gin.H {"error" : "You are not an owner or collaborator of this wishlist." })
303
327
context .Abort ()
304
328
return
@@ -541,7 +565,13 @@ func DeleteWish(context *gin.Context) {
541
565
return
542
566
}
543
567
544
- utilities .SendSMTPDeletedClaimedWish (wishClaim .User , wishObject , wishlistObject )
568
+ wishClaimUser , err := database .GetAllUserInformation (wishClaim .User .ID )
569
+ if err != nil {
570
+ log .Println ("Failed to get user object for user. Error: " + err .Error ())
571
+ return
572
+ }
573
+
574
+ utilities .SendSMTPDeletedClaimedWish (wishClaimUser , wishObject , wishlistObject )
545
575
}
546
576
}
547
577
}
@@ -632,7 +662,7 @@ func RegisterWishClaim(context *gin.Context) {
632
662
return
633
663
}
634
664
635
- WishlistMembership , err := database .VerifyUserMembershipToGroupmembershipToWishlist (UserID , * db_wishlist_id )
665
+ WishlistMembership , err := database .VerifyUserMembershipToGroupMembershipToWishlist (UserID , * db_wishlist_id )
636
666
if err != nil {
637
667
log .Println ("Failed to verify membership to wishlist. Error: " + err .Error ())
638
668
context .JSON (http .StatusInternalServerError , gin.H {"error" : "Failed to verify membership to wishlist." })
@@ -797,7 +827,7 @@ func RemoveWishClaim(context *gin.Context) {
797
827
return
798
828
}
799
829
800
- WishlistMembership , err := database .VerifyUserMembershipToGroupmembershipToWishlist (UserID , * db_wishlist_id )
830
+ WishlistMembership , err := database .VerifyUserMembershipToGroupMembershipToWishlist (UserID , * db_wishlist_id )
801
831
if err != nil {
802
832
log .Println ("Failed to verify membership to wishlist. Error: " + err .Error ())
803
833
context .JSON (http .StatusInternalServerError , gin.H {"error" : "Failed to verify membership to wishlist." })
@@ -1111,7 +1141,7 @@ func APIGetWish(context *gin.Context) {
1111
1141
return
1112
1142
}
1113
1143
1114
- WishlistMembership , err := database .VerifyUserMembershipToGroupmembershipToWishlist (userID , * wishlistID )
1144
+ WishlistMembership , err := database .VerifyUserMembershipToGroupMembershipToWishlist (userID , * wishlistID )
1115
1145
if err != nil {
1116
1146
log .Println ("Failed to verify wishlist membership. Error: " + err .Error ())
1117
1147
context .JSON (http .StatusInternalServerError , gin.H {"error" : "Failed to verify wishlist membership." })
0 commit comments