@@ -62,13 +62,19 @@ func (repository *gormMessageThreadRepository) Update(ctx context.Context, threa
6262}
6363
6464// LoadByOwnerContact a thread between 2 users
65- func (repository * gormMessageThreadRepository ) LoadByOwnerContact (ctx context.Context , owner string , contact string ) (* entities.MessageThread , error ) {
65+ func (repository * gormMessageThreadRepository ) LoadByOwnerContact (ctx context.Context , userID entities. UserID , owner string , contact string ) (* entities.MessageThread , error ) {
6666 ctx , span := repository .tracer .Start (ctx )
6767 defer span .End ()
6868
6969 thread := new (entities.MessageThread )
7070
71- err := repository .db .WithContext (ctx ).Where ("owner = ?" , owner ).Where ("contact = ?" , contact ).First (thread ).Error
71+ err := repository .db .
72+ WithContext (ctx ).
73+ Where ("user = ?" , userID ).
74+ Where ("owner = ?" , owner ).
75+ Where ("contact = ?" , contact ).
76+ First (thread ).
77+ Error
7278 if errors .Is (err , gorm .ErrRecordNotFound ) {
7379 msg := fmt .Sprintf ("thread with owner [%s] and contact [%s] does not exist" , owner , contact )
7480 return nil , repository .tracer .WrapErrorSpan (span , stacktrace .PropagateWithCode (err , ErrCodeNotFound , msg ))
@@ -83,13 +89,17 @@ func (repository *gormMessageThreadRepository) LoadByOwnerContact(ctx context.Co
8389}
8490
8591// Load an entities.MessageThread by ID
86- func (repository * gormMessageThreadRepository ) Load (ctx context.Context , ID uuid.UUID ) (* entities.MessageThread , error ) {
92+ func (repository * gormMessageThreadRepository ) Load (ctx context.Context , userID entities. UserID , ID uuid.UUID ) (* entities.MessageThread , error ) {
8793 ctx , span := repository .tracer .Start (ctx )
8894 defer span .End ()
8995
9096 thread := new (entities.MessageThread )
9197
92- err := repository .db .WithContext (ctx ).First (thread , ID ).Error
98+ err := repository .db .
99+ WithContext (ctx ).
100+ Where ("user = ?" , userID ).
101+ Where ("id = ?" , ID ).
102+ Error
93103 if errors .Is (err , gorm .ErrRecordNotFound ) {
94104 msg := fmt .Sprintf ("thread with id [%s] not found" , ID )
95105 return nil , repository .tracer .WrapErrorSpan (span , stacktrace .PropagateWithCode (err , ErrCodeNotFound , msg ))
@@ -104,11 +114,14 @@ func (repository *gormMessageThreadRepository) Load(ctx context.Context, ID uuid
104114}
105115
106116// Index message threads for an owner
107- func (repository * gormMessageThreadRepository ) Index (ctx context.Context , owner string , isArchived bool , params IndexParams ) (* []entities.MessageThread , error ) {
117+ func (repository * gormMessageThreadRepository ) Index (ctx context.Context , userID entities. UserID , owner string , isArchived bool , params IndexParams ) (* []entities.MessageThread , error ) {
108118 ctx , span := repository .tracer .Start (ctx )
109119 defer span .End ()
110120
111- query := repository .db .WithContext (ctx ).Where ("owner = ?" , owner )
121+ query := repository .db .
122+ WithContext (ctx ).
123+ Where ("user = ?" , userID ).
124+ Where ("owner = ?" , owner )
112125
113126 if isArchived {
114127 query .Where ("is_archived = ?" , isArchived )
0 commit comments