use proc_macro2::TokenStream;
use syn::LitStr;
use super::mutable_parts::MutablePartStreams;
pub(super) struct CrudEmitCtx<'a> {
pub struct_name: proc_macro2::Ident,
pub schema_struct_name: proc_macro2::Ident,
pub mutable_name: proc_macro2::Ident,
pub table_name_lit: &'a str,
pub version_lit: &'a str,
pub field_changes_name: proc_macro2::Ident,
pub unique_field_names: Vec<LitStr>,
pub parts: &'a MutablePartStreams,
pub composite_key_methods: TokenStream,
pub ownership_skip: bool,
pub deletion_skip: bool,
pub ownership_system_owned: bool,
pub ownership_resolver: Option<syn::Path>,
}