fix(space): mount the member, ban and invite routes the handlers declare
Ten `space_admin` handlers carried a `utoipa::path` declaration and an OpenAPI
entry — so they were in the generated client and in the frontend `OPS` table —
but `routes.rs` never registered them. The frontend could compile and dispatch
them and the server answered `404 unknown api route`: inviting a member, listing
invites, revoking one, listing bans, updating a ban and the whole member
detail/update/remove trio were dead, and `POST /spaces/{s}/members` was missing
next to the GET that was already mounted.
Routes are merged onto the existing paths where a sibling method was registered
(`/members`, `/members/{member_id}`, `/bans/{user_id}`) and added for `/bans`
and `/invites`.
ZhenYi committed
Modified lib/service/space/src/routes.rs lib/service/space/src/routes.rs +24 −2 View lib/service/space/src/routes.rs
@@ -163,13 +163,20 @@
163163 )
164164 .route(
165165 "/spaces/{space_name}/members",
166 get(crate::handlers::space_admin::list_members),
166 get(crate::handlers::space_admin::list_members)
167 .post(crate::handlers::space_admin::add_member),
167168 )
168169 .route(
169170 "/spaces/{space_name}/members/@me",
170171 patch(crate::handlers::space_admin::update_self_member),
171172 )
172173 .route(
174 "/spaces/{space_name}/members/{member_id}",
175 get(crate::handlers::space_admin::get_member)
176 .patch(crate::handlers::space_admin::update_member)
177 .delete(crate::handlers::space_admin::remove_member),
178 )
179 .route(
173180 "/spaces/{space_name}/members/{member_id}/role",
174181 patch(crate::handlers::space_admin::set_member_role),
175182 )
@@ -186,8 +193,23 @@
186193 put(crate::handlers::space_admin::set_member_permissions),
187194 )
188195 .route(
196 "/spaces/{space_name}/bans",
197 get(crate::handlers::space_admin::list_bans),
198 )
199 .route(
189200 "/spaces/{space_name}/bans/{user_id}",
190 delete(crate::handlers::space_admin::unban_by_user),
201 get(crate::handlers::space_admin::get_ban)
202 .patch(crate::handlers::space_admin::update_ban)
203 .delete(crate::handlers::space_admin::unban_by_user),
204 )
205 .route(
206 "/spaces/{space_name}/invites",
207 get(crate::handlers::space_admin::list_invites)
208 .post(crate::handlers::space_admin::create_invite),
209 )
210 .route(
211 "/spaces/{space_name}/invites/{invite_id}",
212 delete(crate::handlers::space_admin::revoke_invite),
191213 )
192214 .route(
193215 "/spaces/{space_name}/roles",