pub struct list_contractor_quotes;Expand description
GET /api/v1/contractors/:contractor_id/quotes List all quotes for a contractor
Cloisonnement (#882) : classée, non corrigée. list_by_contractor rend
Les devis de ce prestataire, restreints aux immeubles de l’appelant.
La clé de cette route est le PRESTATAIRE, pas un immeuble : aucun garde
de ce fichier ne s’y appliquait directement, et elle rendait donc TOUS
ses devis, toutes ACP confondues — la même donnée (prix, projet) que
list_building_quotes protège déjà par immeuble.
Un cabinet syndic pouvait ainsi lire les prix qu’un prestataire avait remis à un cabinet concurrent (#976).
Des deux voies envisagées — filtrer par les ACP visibles, ou restreindre la route au superadministrateur — c’est la première qui est retenue : la seconde priverait le syndic d’une lecture légitime, celle des devis de SES immeubles.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for list_contractor_quotes
impl RefUnwindSafe for list_contractor_quotes
impl Send for list_contractor_quotes
impl Sync for list_contractor_quotes
impl Unpin for list_contractor_quotes
impl UnsafeUnpin for list_contractor_quotes
impl UnwindSafe for list_contractor_quotes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more