Skip to content

Commit ed9b8e8

Browse files
committed
More docs
1 parent 831a8aa commit ed9b8e8

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

sea-orm-macros/src/derives/active_model_ex.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ pub fn expand_derive_active_model_ex(
9797
.push((ident.clone(), relation_enum.clone()));
9898
}
9999
} else if *entity_count.get(entity_path).unwrap() == 1 {
100+
// can only Related to another Entity once
100101
if compound_attrs.belongs_to.is_some() {
101102
belongs_to_fields.push(ident.clone());
102103
} else if compound_attrs.has_one.is_some() {
@@ -118,6 +119,7 @@ pub fn expand_derive_active_model_ex(
118119
&& compound_attrs.via.is_some()
119120
&& compound_attrs.reverse.is_none()
120121
{
122+
#[allow(clippy::unnecessary_unwrap)]
121123
has_many_via_self_fields.push((
122124
ident.clone(),
123125
compound_attrs.via.as_ref().unwrap().value(),
@@ -127,6 +129,7 @@ pub fn expand_derive_active_model_ex(
127129
&& compound_attrs.via.is_some()
128130
&& compound_attrs.reverse.is_some()
129131
{
132+
#[allow(clippy::unnecessary_unwrap)]
130133
has_many_via_self_fields.push((
131134
ident.clone(),
132135
compound_attrs.via.as_ref().unwrap().value(),
@@ -381,6 +384,7 @@ fn expand_active_model_action(
381384
let relation_enum = Ident::new(&relation_enum.value(), relation_enum.span());
382385
let relation_enum = quote!(Relation::#relation_enum);
383386

387+
// belongs to is the exception where action is performed before self
384388
belongs_to_action.extend(quote! {
385389
let #field = if let Some(model) = self.#field.take() {
386390
if model.is_update() {

sea-orm-macros/src/derives/model_ex.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,8 @@ fn relation_enum_variant(attr: &compound_attr::SeaOrm, ty: &str) -> Option<Token
448448
&& ty.starts_with("HasMany<")
449449
{
450450
let has_many = Ident::new("has_many", Span::call_site());
451+
452+
#[allow(clippy::unnecessary_unwrap)]
451453
let via_rel = format!(
452454
"Relation::{}",
453455
attr.relation_reverse.as_ref().unwrap().value()

src/entity/active_model.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ pub trait ActiveModelTrait: Clone + Debug {
757757
Self::Entity::find_related().belongs_to_active_model(self)
758758
}
759759

760+
/// Like find_related, but infer type from `AM`
760761
#[doc(hidden)]
761762
fn find_related_of<AM>(&self, _: &[AM]) -> crate::query::Select<AM::Entity>
762763
where
@@ -790,6 +791,7 @@ pub trait ActiveModelTrait: Clone + Debug {
790791
establish_links::<_, J, _, C>(self, related_models, left, right, delete_leftover, db).await
791792
}
792793

794+
/// Establish links for self-referencing many-to-many relation
793795
#[doc(hidden)]
794796
async fn establish_links_self<J, RM, C>(
795797
&self,
@@ -812,6 +814,7 @@ pub trait ActiveModelTrait: Clone + Debug {
812814
establish_links::<_, J, _, C>(self, related_models, left, right, delete_leftover, db).await
813815
}
814816

817+
/// Establish links for self-referencing many-to-many relation, but left-right reversed
815818
#[doc(hidden)]
816819
async fn establish_links_self_rev<J, RM, C>(
817820
&self,
@@ -834,6 +837,7 @@ pub trait ActiveModelTrait: Clone + Debug {
834837
establish_links::<_, J, _, C>(self, related_models, left, right, delete_leftover, db).await
835838
}
836839

840+
/// Inverse of establish link, break links between two many-to-many models
837841
#[doc(hidden)]
838842
async fn delete_links<J, C>(&self, _: J, db: &C) -> Result<DeleteResult, DbErr>
839843
where
@@ -857,6 +861,7 @@ pub trait ActiveModelTrait: Clone + Debug {
857861
.await
858862
}
859863

864+
/// Like `delete_links` but for self-referencing relations
860865
#[doc(hidden)]
861866
async fn delete_links_self<J, C>(&self, _: J, db: &C) -> Result<DeleteResult, DbErr>
862867
where

src/query/util.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@ where
144144
Ok(true)
145145
}
146146

147-
/// construct a WHERE col IN (..) condition
147+
/// Constructs a `WHERE (c1, c2, ...) IN ((v11, v12, ...), (v21, v22, ...), ...)` expression.
148+
/// Degenerates to `WHERE col IN (v1, v2, ...)` when arity = 1.
148149
pub fn column_tuple_in_condition(
149150
table: &TableRef,
150151
to: &Identity,

0 commit comments

Comments
 (0)