package member import ( "encoding/json" "git.loafle.net/overflow/encryption_go" "git.loafle.net/overflow/overflow_proxy_service/proxy" "log" ) type MemberService struct { Id json.Number `json:"id,Number,omitempty"` Email string `json:"email"` PwSalt string `json:"pwSalt"` Digest string `json:"digest"` Name string `json:"name"` Company string `json:"company"` Phone string `json:"phone"` AuthorizedDate json.Number `json:"id,Number"` } var TARGET_DAO = "member" func NewMember() *MemberService { m := MemberService{} return &m } func (m *MemberService) getMemberMap() map[string]string { memMap := make(map[string]string) str, err := json.Marshal(m) if err != nil { log.Fatal("Json Marshal Error: ", err) } memMap["com.loafle.overflow.member.model.Member"] = string(str) return memMap } func (m *MemberService) Login() string { result := m.ReadByEmail() if result == "" { return "login reject" } temp := MemberService{} err := json.Unmarshal([]byte(result), &temp) if err != nil { return err.Error() } if temp.AuthorizedDate == "" { return "Not authenticated." } b := encryption.Check(m.PwSalt, temp.PwSalt, temp.Digest) if !b { return "login reject" } return "login success" } func (m *MemberService) Regist() string { log.Println("Call Regist", m.Email, m.PwSalt) pwSalt, digest, err := encryption.Encrypt(m.PwSalt) if err != nil { log.Fatal("encryption Encrypt Error: ", err) } m.PwSalt = pwSalt m.Digest = digest memMap := m.getMemberMap() re := proxy.InvokeDB(TARGET_DAO, "create", memMap) return re } func (m *MemberService) ReadByEmail() string { log.Println("Call ReadByEmail", m.Email) memMap := m.getMemberMap() re := proxy.InvokeDB(TARGET_DAO, "findByEmail", memMap) return re } func (m *MemberService) Read() string { log.Println("Call Read", m.Email) // Todo Call DB Gateway m.Digest = "qwer5795" //memMap := m.getMemberMap() mm := make(map[string]string) mm["id"] = string(m.Id) log.Println("Read Member", m) re := proxy.InvokeDB(TARGET_DAO, "find", mm) return re } func (m *MemberService) Modify() string { log.Println("Call Modify", m.Email, "::", m.PwSalt) // Todo Call DB Gateway m.Digest = "read" memMap := m.getMemberMap() re := proxy.InvokeDB(TARGET_DAO, "update", memMap) return re } func (m *MemberService) Remove() string { log.Println("Call Remove", m.Email) // Todo Call DB Gateway m.Digest = "read" memMap := m.getMemberMap() re := proxy.InvokeDB(TARGET_DAO, "delete", memMap) return re }