From 87789f25189b57a2465b11249fb1623081d9f161 Mon Sep 17 00:00:00 2001 From: Lewin Probst Date: Sun, 5 Mar 2023 13:21:17 +0100 Subject: [PATCH 1/3] feat(macros): Added documentation tags for generated entities --- sea-orm-macros/src/derives/active_enum.rs | 4 ++++ sea-orm-macros/src/derives/active_model.rs | 7 ++++++- sea-orm-macros/src/derives/entity_model.rs | 9 ++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/sea-orm-macros/src/derives/active_enum.rs b/sea-orm-macros/src/derives/active_enum.rs index 74e8c4abf..41d1513b0 100644 --- a/sea-orm-macros/src/derives/active_enum.rs +++ b/sea-orm-macros/src/derives/active_enum.rs @@ -256,9 +256,11 @@ impl ActiveEnum { .collect(); quote!( + #[doc = " Generated by sea-orm-macros"] #[derive(Debug, Clone, PartialEq, Eq, sea_orm::EnumIter)] pub enum #enum_variant_iden { #( + #[doc = " Generated by sea-orm-macros"] #enum_variants, )* } @@ -276,6 +278,7 @@ impl ActiveEnum { #[automatically_derived] impl #ident { + #[doc = " Generated by sea-orm-macros"] pub fn iden_values() -> Vec { <#enum_variant_iden as sea_orm::strum::IntoEnumIterator>::iter() .map(|v| sea_orm::sea_query::SeaRc::new(v) as sea_orm::sea_query::DynIden) @@ -297,6 +300,7 @@ impl ActiveEnum { }; quote!( + #[doc = " Generated by sea-orm-macros"] #[derive(Debug, Clone, PartialEq, Eq)] pub struct #enum_name_iden; diff --git a/sea-orm-macros/src/derives/active_model.rs b/sea-orm-macros/src/derives/active_model.rs index 5dbba6692..6fdb7282b 100644 --- a/sea-orm-macros/src/derives/active_model.rs +++ b/sea-orm-macros/src/derives/active_model.rs @@ -78,9 +78,14 @@ fn derive_active_model(all_fields: IntoIter) -> syn::Result let ty: Vec = fields.into_iter().map(|Field { ty, .. }| ty).collect(); Ok(quote!( + #[doc = " Generated by sea-orm-macros"] #[derive(Clone, Debug, PartialEq)] pub struct ActiveModel { - #(pub #field: sea_orm::ActiveValue<#ty>),* + + #( + #[doc = " Generated by sea-orm-macros"] + pub #field: sea_orm::ActiveValue<#ty> + ),* } #[automatically_derived] diff --git a/sea-orm-macros/src/derives/entity_model.rs b/sea-orm-macros/src/derives/entity_model.rs index 2b27121b0..be5c4b285 100644 --- a/sea-orm-macros/src/derives/entity_model.rs +++ b/sea-orm-macros/src/derives/entity_model.rs @@ -43,6 +43,7 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res .as_ref() .map(|table_name| { quote! { + #[doc = " Generated by sea-orm-macros"] #[derive(Copy, Clone, Default, Debug, sea_orm::prelude::DeriveEntity)] pub struct Entity; @@ -72,6 +73,7 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res if let Some(table_name) = table_name { let table_field_name = Ident::new("Table", Span::call_site()); columns_enum.push(quote! { + #[doc = " Generated by sea-orm-macros"] #[sea_orm(table_name=#table_name)] #[strum(disabled)] #table_field_name @@ -226,8 +228,11 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res let variant_attrs = match &column_name { Some(column_name) => quote! { #[sea_orm(column_name = #column_name)] + #[doc = " Generated by sea-orm-macros"] + }, + None => quote! { + #[doc = " Generated by sea-orm-macros"] }, - None => quote! {}, }; if ignore { @@ -360,6 +365,7 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res quote! { (#primary_key_types) } }; quote! { + #[doc = " Generated by sea-orm-macros"] #[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)] pub enum PrimaryKey { #primary_keys @@ -377,6 +383,7 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res }; Ok(quote! { + #[doc = " Generated by sea-orm-macros"] #[derive(Copy, Clone, Debug, sea_orm::prelude::EnumIter, sea_orm::prelude::DeriveColumn)] pub enum Column { #columns_enum From ecf27453eba0047c6894cd1b2568e2c25822818a Mon Sep 17 00:00:00 2001 From: Lewin Probst Date: Thu, 9 Mar 2023 14:38:47 +0100 Subject: [PATCH 2/3] chore: Added deny(missing_docs) attribute to basic example --- examples/basic/src/main.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/basic/src/main.rs b/examples/basic/src/main.rs index ca2aee111..20c2642dc 100644 --- a/examples/basic/src/main.rs +++ b/examples/basic/src/main.rs @@ -1,3 +1,5 @@ +//! Basic sea-orm example. +#![deny(missing_docs)] use sea_orm::Database; mod entities; From 05ffeb6549069546361073f573d93a0fabeabb2f Mon Sep 17 00:00:00 2001 From: Lewin Probst Date: Fri, 10 Mar 2023 08:11:41 +0100 Subject: [PATCH 3/3] chore: Fix clippy errors --- sea-orm-macros/src/derives/active_model.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sea-orm-macros/src/derives/active_model.rs b/sea-orm-macros/src/derives/active_model.rs index 6fdb7282b..18a7579c4 100644 --- a/sea-orm-macros/src/derives/active_model.rs +++ b/sea-orm-macros/src/derives/active_model.rs @@ -38,11 +38,10 @@ pub fn expand_derive_active_model(ident: Ident, data: Data) -> syn::Result) -> syn::Result { let fields = all_fields.filter(field_not_ignored); - let field: Vec = fields.clone().into_iter().map(format_field_ident).collect(); + let field: Vec = fields.clone().map(format_field_ident).collect(); let name: Vec = fields .clone() - .into_iter() .map(|field| { let ident = field.ident.as_ref().unwrap().to_string(); let ident = trim_starting_raw_identifier(ident).to_camel_case(); @@ -177,11 +176,7 @@ fn derive_into_model(model_fields: IntoIter) -> syn::Result .into_iter() .map(format_field_ident) .collect(); - let model_field: Vec = model_fields - .clone() - .into_iter() - .map(format_field_ident) - .collect(); + let model_field: Vec = model_fields.clone().map(format_field_ident).collect(); let ignore_attr: Vec = model_fields .map(|field| !field_not_ignored(&field))