Align role handlers and shared profession contract updates
This commit is contained in:
parent
b82f294331
commit
e1ea3f5ffe
4 changed files with 26 additions and 26 deletions
|
|
@ -18,11 +18,11 @@ pub fn router() -> Router<PgPool> {
|
|||
.route("/profile/me", get(get_profile).patch(update_profile))
|
||||
.route("/profile/resume", post(upload_resume))
|
||||
.route("/jobs", get(browse_jobs))
|
||||
.route("/jobs/:id", get(get_job))
|
||||
.route("/jobs/:id/apply", post(apply_to_job))
|
||||
.route("/jobs/{id}", get(get_job))
|
||||
.route("/jobs/{id}/apply", post(apply_to_job))
|
||||
.route("/applications", get(list_my_applications))
|
||||
.route("/applications/:id", get(get_my_application))
|
||||
.route("/applications/:id/withdraw", post(withdraw_application))
|
||||
.route("/applications/{id}", get(get_my_application))
|
||||
.route("/applications/{id}/withdraw", post(withdraw_application))
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
|
|
|||
|
|
@ -17,26 +17,26 @@ pub fn router() -> Router<PgPool> {
|
|||
.route("/profile/me", get(get_profile).patch(update_profile))
|
||||
// Marketplace (requirements feed)
|
||||
.route("/marketplace", get(browse_marketplace))
|
||||
.route("/marketplace/:id", get(get_requirement_detail))
|
||||
.route("/marketplace/{id}", get(get_requirement_detail))
|
||||
// Lead requests
|
||||
.route("/leads/request", post(send_lead_request))
|
||||
.route("/leads/requests/me", get(my_requests))
|
||||
.route("/leads/requests/:id", delete(cancel_request))
|
||||
.route("/leads/requests/{id}", delete(cancel_request))
|
||||
.route("/leads/accepted/me", get(accepted_leads))
|
||||
.route("/leads/accepted/:id", get(accepted_lead_detail))
|
||||
.route("/leads/accepted/{id}", get(accepted_lead_detail))
|
||||
// Portfolio
|
||||
.route("/portfolio/me", get(list_portfolio))
|
||||
.route("/portfolio", post(create_portfolio_item))
|
||||
.route("/portfolio/:id", patch(update_portfolio_item).delete(delete_portfolio_item))
|
||||
.route("/portfolio/{id}", patch(update_portfolio_item).delete(delete_portfolio_item))
|
||||
// Services
|
||||
.route("/services/me", get(list_services))
|
||||
.route("/services", post(create_service))
|
||||
.route("/services/:id", patch(update_service).delete(delete_service))
|
||||
.route("/services/{id}", patch(update_service).delete(delete_service))
|
||||
// Wallet
|
||||
.route("/wallet/balance", get(wallet_balance))
|
||||
.route("/wallet/ledger", get(wallet_ledger))
|
||||
.route("/wallet/invoices", get(wallet_invoices))
|
||||
.route("/wallet/invoices/:id", get(wallet_invoice_detail))
|
||||
.route("/wallet/invoices/{id}", get(wallet_invoice_detail))
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ use uuid::Uuid;
|
|||
pub fn router() -> Router<AppState> {
|
||||
Router::new()
|
||||
.route("/", get(list_roles).post(create_role))
|
||||
.route("/:id", get(get_role).patch(update_role).delete(delete_role))
|
||||
.route("/{id}", get(get_role).patch(update_role).delete(delete_role))
|
||||
}
|
||||
|
||||
// ── Query params ─────────────────────────────────────────────────────────────
|
||||
|
|
@ -115,7 +115,7 @@ async fn list_roles(
|
|||
r.audience,
|
||||
r.description,
|
||||
r.department_id,
|
||||
d.name AS department_name,
|
||||
d.name AS "department_name?",
|
||||
r.is_active,
|
||||
r.can_approve_requests,
|
||||
r.can_manage_system_settings,
|
||||
|
|
@ -185,7 +185,7 @@ async fn get_role(
|
|||
r#"
|
||||
SELECT
|
||||
r.id, r.key, r.name, r.audience, r.description,
|
||||
r.department_id, d.name AS department_name,
|
||||
r.department_id, d.name AS "department_name?",
|
||||
r.is_active, r.can_approve_requests, r.can_manage_system_settings,
|
||||
r.created_at
|
||||
FROM roles r
|
||||
|
|
@ -324,13 +324,13 @@ async fn update_role(
|
|||
can_manage_system_settings = $6
|
||||
WHERE id = $7
|
||||
"#,
|
||||
name,
|
||||
description,
|
||||
department_id,
|
||||
is_active,
|
||||
can_approve,
|
||||
can_manage,
|
||||
id
|
||||
name as String,
|
||||
description as Option<String>,
|
||||
department_id as Option<Uuid>,
|
||||
is_active as bool,
|
||||
can_approve as bool,
|
||||
can_manage as bool,
|
||||
id as Uuid
|
||||
)
|
||||
.execute(&state.pool)
|
||||
.await
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ pub fn shared_routes(profession_key: &'static str) -> Router<ProfessionState> {
|
|||
}
|
||||
}),
|
||||
)
|
||||
.route("/marketplace/:id", get(get_requirement))
|
||||
.route("/marketplace/{id}", get(get_requirement))
|
||||
// ── Lead Requests ────────────────────────────────────────────────────
|
||||
.route(
|
||||
"/leads/request",
|
||||
|
|
@ -81,20 +81,20 @@ pub fn shared_routes(profession_key: &'static str) -> Router<ProfessionState> {
|
|||
),
|
||||
)
|
||||
.route("/leads/requests/me", get(my_requests))
|
||||
.route("/leads/requests/:id", delete(cancel_request))
|
||||
.route("/leads/requests/{id}", delete(cancel_request))
|
||||
.route("/leads/accepted/me", get(accepted_leads))
|
||||
.route("/leads/accepted/:id", get(accepted_lead_detail))
|
||||
.route("/leads/accepted/{id}", get(accepted_lead_detail))
|
||||
// ── Portfolio ────────────────────────────────────────────────────────
|
||||
.route("/portfolio/me", get(list_portfolio).post(create_portfolio_item))
|
||||
.route("/portfolio/me/:id", patch(update_portfolio_item).delete(delete_portfolio_item))
|
||||
.route("/portfolio/me/{id}", patch(update_portfolio_item).delete(delete_portfolio_item))
|
||||
// ── Services ─────────────────────────────────────────────────────────
|
||||
.route("/services/me", get(list_services).post(create_service))
|
||||
.route("/services/me/:id", patch(update_service).delete(delete_service))
|
||||
.route("/services/me/{id}", patch(update_service).delete(delete_service))
|
||||
// ── Wallet ───────────────────────────────────────────────────────────
|
||||
.route("/wallet/me", get(wallet_balance))
|
||||
.route("/wallet/me/ledger", get(wallet_ledger))
|
||||
.route("/wallet/me/invoices", get(wallet_invoices))
|
||||
.route("/wallet/me/invoices/:id", get(wallet_invoice_detail))
|
||||
.route("/wallet/me/invoices/{id}", get(wallet_invoice_detail))
|
||||
}
|
||||
|
||||
// ── Handlers ──────────────────────────────────────────────────────────────────
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue