# set -ex sea-orm-cli generate entity -v -l --expanded-format -o ./crates/oswilno-contract/src -u postgres://postgres@localhost/oswilno for f in $( ls ./crates/oswilno-contract/src/*.rs ); do # bad generated code patch sed -i 's/db_type().def()/db_type()/g' $f done rm -Rf /tmp/ajosdfjosdpjfojsdfjpajpfa for f in $(ls crates/oswilno-contract/src/*.rs); do while read line; do case $line in "use sea_orm::entity::prelude::*;" ) echo "use actix_admin::prelude::*;" >> /tmp/ajosdfjosdpjfojsdfjpajpfa echo 'use sea_orm::Iterable;' >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"EntityName for Entity"* ) echo "impl ActixAdminModelValidationTrait for Entity {}" >> /tmp/ajosdfjosdpjfojsdfjpajpfa echo "impl ActixAdminModelFilterTrait for Entity {}" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub enum"* ) if [[ "$f" == "crates/oswilno-contract/src/sea_orm_active_enums.rs" ]]; then echo "#[derive(oswilno_actix_admin::ActixAdminEnum, serde::Serialize, DeriveActixAdminEnumSelectList)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa fi ;; *"struct Model"* ) echo "#[derive(DeriveActixAdmin, DeriveActixAdminModel, DeriveActixAdminViewModel)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub id: i32," ) echo "#[actix_admin(primary_key)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub location_id"* ) echo "#[actix_admin(select_list="crate::parking_space_locations::Entity")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; "pub state"* ) echo "#[actix_admin(select_list="crate::ParkingSpaceState")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"_at: DateTime," ) echo "#[actix_admin(list_hide_column)]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; *"parking_space_id"* ) echo "#[actix_admin(select_list="crate::parking_spaces::Entity")]" >> /tmp/ajosdfjosdpjfojsdfjpajpfa ;; esac echo $line >> /tmp/ajosdfjosdpjfojsdfjpajpfa done < $f cat /tmp/ajosdfjosdpjfojsdfjpajpfa mv /tmp/ajosdfjosdpjfojsdfjpajpfa $f done cargo fmt