@@ -35,9 +35,18 @@ func handleNotesList(logger *slog.Logger, queries *db.Queries) http.HandlerFunc
3535 SpaceID : space .ID ,
3636 MemberIds : memberIDs ,
3737 })
38- memberByIDs := memberListToMap (members )
38+ if err != nil {
39+ logger .Error (
40+ "error getting members from database" ,
41+ slog .Any ("error" , err ),
42+ slog .Int64 ("space_id" , space .ID ),
43+ )
44+ http .Error (w , "internal server err" , http .StatusInternalServerError )
45+ return
46+ }
47+ membersByID := memberListToMap (members )
3948
40- err = pages .NotesList (notes , memberByIDs ).Render (r .Context (), w )
49+ err = pages .NotesList (notes , membersByID ).Render (r .Context (), w )
4150 if err != nil {
4251 logger .Error (
4352 "failed to render template" ,
@@ -151,15 +160,32 @@ func handleNotesShow(logger *slog.Logger) http.HandlerFunc {
151160 }
152161}
153162
154- func handleNotesEdit (logger * slog.Logger ) http.HandlerFunc {
163+ func handleNotesEdit (logger * slog.Logger , queries * db. Queries ) http.HandlerFunc {
155164 return func (w http.ResponseWriter , r * http.Request ) {
156165 note := rctx .GetNote (r .Context ())
157166 form := forms.UpdateNote {
158167 Title : note .Title ,
159168 Content : note .Content ,
160169 }
161170
162- err := pages .NotesEdit (& form , forms .EmptyErrors ()).Render (r .Context (), w )
171+ space := rctx .GetSpace (r .Context ())
172+ memberIDs := collectCreatedUpdatedByIDsFromNotes ([]db.Note {* note })
173+ members , err := queries .ListMembersByIDs (r .Context (), db.ListMembersByIDsParams {
174+ SpaceID : space .ID ,
175+ MemberIds : memberIDs ,
176+ })
177+ if err != nil {
178+ logger .Error (
179+ "error getting members from database" ,
180+ slog .Any ("error" , err ),
181+ slog .Int64 ("space_id" , space .ID ),
182+ )
183+ http .Error (w , "internal server err" , http .StatusInternalServerError )
184+ return
185+ }
186+ membersByID := memberListToMap (members )
187+
188+ err = pages .NotesEdit (& form , forms .EmptyErrors (), membersByID ).Render (r .Context (), w )
163189 if err != nil {
164190 logger .Error (
165191 "failed to render template" ,
@@ -175,8 +201,26 @@ func handleNotesUpdate(logger *slog.Logger, queries *db.Queries) http.HandlerFun
175201 return func (w http.ResponseWriter , r * http.Request ) {
176202 form , errors := forms .ParseUpdateNote (r )
177203 if errors != nil {
204+ space := rctx .GetSpace (r .Context ())
205+ note := rctx .GetNote (r .Context ())
206+ memberIDs := collectCreatedUpdatedByIDsFromNotes ([]db.Note {* note })
207+ members , err := queries .ListMembersByIDs (r .Context (), db.ListMembersByIDsParams {
208+ SpaceID : space .ID ,
209+ MemberIds : memberIDs ,
210+ })
211+ if err != nil {
212+ logger .Error (
213+ "error getting members from database" ,
214+ slog .Any ("error" , err ),
215+ slog .Int64 ("space_id" , space .ID ),
216+ )
217+ http .Error (w , "internal server err" , http .StatusInternalServerError )
218+ return
219+ }
220+ membersByID := memberListToMap (members )
221+
178222 w .WriteHeader (http .StatusUnprocessableEntity )
179- err : = pages .NotesEdit (& form , errors ).Render (r .Context (), w )
223+ err = pages .NotesEdit (& form , errors , membersByID ).Render (r .Context (), w )
180224 if err != nil {
181225 logger .Error (
182226 "failed to render template" ,
0 commit comments