package jp.co.y_net.amm.service;

import jp.co.y_net.amm.common.CalcHash;
import jp.co.y_net.amm.dao.OrgDao;
import jp.co.y_net.amm.dao.Usr;
import jp.co.y_net.amm.dao.UsrDao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

@Component("dataInitializer")
public class DataInitializer {
    
    public static boolean DONE = false;
    
    @Autowired(required = true)
    @Qualifier("usrDao")
    private UsrDao usrDao;
    
    @Autowired(required = true)
    @Qualifier("orgDao")
    private OrgDao orgDao;
    /**
     * アプリケーションに必要最低限のレコードを作成する
     */
    public void initializeData() {
        
        if(DONE) return;
        DONE = true;
        
        /* アプリケーションに運営管理者が1人もいなければレコードを作成する */
        Usr sysAdminCond = new Usr();
        sysAdminCond.setKind(Usr.KIND_運営管理者);
        if(usrDao.get(sysAdminCond).size() == 0) {
            Usr usrRoot = new Usr();
            usrRoot.setLoginid("root");
            usrRoot.setKind(Usr.KIND_運営管理者);
            String pwhash = CalcHash.passowrdHash("manager", usrRoot.getLoginid());
            usrRoot.setPwhash(pwhash);
        }
        

        
        
        
    }
}
