use crate::rubase::rutils::fileutils;
use crate::rudi::diconst;
use crate::rudi::dicontainer::direg;
use crate::rulog;
use ctor::ctor;
use heck::ToSnakeCase;
use rbatis::rbdc::Uuid;
use std::sync::Arc;
use serde::{Deserialize, Serialize};
use crate::rubase::ruentity;
#[derive(Clone,Debug,Default,Serialize,Deserialize)]
pub struct ParseTemplate {
Template: String,
SingleName: String,
}
impl ruentity::BaseEntity for ParseTemplate {
}
impl ParseTemplate {
pub fn new() -> ParseTemplate {
ParseTemplate {
Template: String::from(""),
SingleName: String::from(""),
}
}
pub fn parse_template_file() -> String {
fileutils::read_file(diconst::INIT_TEMPLATE_PATH).unwrap()
}
pub fn parse_template(template: &str) -> String {
let content = fileutils::read_file(diconst::INIT_TEMPLATE_PATH).unwrap();
rulog::info(content.as_str());
return content;
}
pub fn build_single_name(&self, single_name: &str) -> String {
let uuid = Uuid::new();
String::from(single_name) + ":" + &uuid.to_string()
}
pub fn build_single_file_name(&self, single_name: &str) -> String {
String::from(single_name.to_snake_case()) + "_init.rs"
}
pub fn FindFileExist() -> bool {
true
}
pub fn CreateFileInit() {}
}
const SingleBeanName: &str = "*dbentity.ParseTemplate-c4c86833-374b-4acb-8769-b5fa294cb7b3";
pub fn find_bean_pt() -> Option<Arc<ParseTemplate>> {
direg::get_bean::<ParseTemplate>(SingleBeanName)
}
#[ctor(unsafe)]
pub fn register_bean_pt() {
direg::register(SingleBeanName, ParseTemplate::new);
}