From 06200f712b13fe1d73811e3f4a7819166576b153 Mon Sep 17 00:00:00 2001 From: geekH Date: Wed, 17 Jul 2019 17:09:42 +0900 Subject: [PATCH] member insert --- .gitignore | 198 +++++++++++ .../member/controller/MemberController.java | 15 +- .../totopia/member/dao/MemberRepository.java | 2 + .../loafle/totopia/member/model/Member.java | 307 ++++++++++++++++++ src/main/resources/application.properties | 13 +- target/classes/application.properties | 13 +- .../com/loafle/totopia/Application.class | Bin 725 -> 725 bytes .../exception/ResourceNotFoundException.class | Bin 701 -> 701 bytes .../member/controller/MemberController.class | Bin 5293 -> 5531 bytes .../totopia/member/dao/MemberRepository.class | Bin 358 -> 444 bytes .../loafle/totopia/member/model/Member.class | Bin 307 -> 7943 bytes 11 files changed, 531 insertions(+), 17 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5352456 --- /dev/null +++ b/.gitignore @@ -0,0 +1,198 @@ +# Created by .ignore support plugin (hsz.mobi) +### Maven template +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar + +### Windows template +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Eclipse template +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +### VisualStudioCode template +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### Java template +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + diff --git a/src/main/java/com/loafle/totopia/member/controller/MemberController.java b/src/main/java/com/loafle/totopia/member/controller/MemberController.java index 8752f1f..f25ca11 100644 --- a/src/main/java/com/loafle/totopia/member/controller/MemberController.java +++ b/src/main/java/com/loafle/totopia/member/controller/MemberController.java @@ -11,15 +11,9 @@ import com.loafle.totopia.member.dao.MemberRepository; import com.loafle.totopia.member.model.Member; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @@ -41,7 +35,7 @@ public class MemberController { return ResponseEntity.ok().body(member); } - @PostMapping("/members") + @PostMapping(path = "/members", produces = MediaType.APPLICATION_JSON_VALUE) public Member createMember(@Valid @RequestBody Member member) { return memberRepository.save(member); } @@ -53,8 +47,7 @@ public class MemberController { .orElseThrow(() -> new ResourceNotFoundException("Member not found for this id :: " + memberId)); member.setEmailId(memberDetails.getEmailId()); - member.setLastName(memberDetails.getLastName()); - member.setFirstName(memberDetails.getFirstName()); + final Member updatedMember = memberRepository.save(member); return ResponseEntity.ok(updatedMember); } diff --git a/src/main/java/com/loafle/totopia/member/dao/MemberRepository.java b/src/main/java/com/loafle/totopia/member/dao/MemberRepository.java index ce73c35..b985535 100644 --- a/src/main/java/com/loafle/totopia/member/dao/MemberRepository.java +++ b/src/main/java/com/loafle/totopia/member/dao/MemberRepository.java @@ -3,7 +3,9 @@ package com.loafle.totopia.member.dao; import com.loafle.totopia.member.model.Member; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +@Repository public interface MemberRepository extends JpaRepository { } diff --git a/src/main/java/com/loafle/totopia/member/model/Member.java b/src/main/java/com/loafle/totopia/member/model/Member.java index d794a5e..e209ffc 100644 --- a/src/main/java/com/loafle/totopia/member/model/Member.java +++ b/src/main/java/com/loafle/totopia/member/model/Member.java @@ -1,5 +1,312 @@ package com.loafle.totopia.member.model; +import javax.persistence.*; +import java.util.Objects; + +@Entity +@Table(name = "tbl_member") public class Member { + + private long memberSrl; + private String userId; + private String emailAddress; + private String password; + private String emailId; + private String emailHost; + private String userName; + private String nickName; + private Long findAccountQuestion; + private String findAccountAnswer; + private String homepage; + private String blog; + private String birthday; + private String allowMailing; + private String allowMessage; + private String denied; + private String limitDate; + private String regdate; + private String lastLogin; + private String changePasswordDate; + private String isAdmin; + private String description; + private String extraVars; + private long listOrder; + + public Member() {} + @Id + @Column(name = "member_srl", nullable = false) + public long getMemberSrl() { + return memberSrl; + } + + public void setMemberSrl(long memberSrl) { + this.memberSrl = memberSrl; + } + + @Basic + @Column(name = "user_id", nullable = false, length = 80) + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + @Basic + @Column(name = "email_address", nullable = false, length = 250) + public String getEmailAddress() { + return emailAddress; + } + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + @Basic + @Column(name = "password", nullable = false, length = 60) + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Basic + @Column(name = "email_id", nullable = false, length = 80) + public String getEmailId() { + return emailId; + } + + public void setEmailId(String emailId) { + this.emailId = emailId; + } + + @Basic + @Column(name = "email_host", nullable = true, length = 160) + public String getEmailHost() { + return emailHost; + } + + public void setEmailHost(String emailHost) { + this.emailHost = emailHost; + } + + @Basic + @Column(name = "user_name", nullable = false, length = 40) + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + @Basic + @Column(name = "nick_name", nullable = false, length = 40) + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + @Basic + @Column(name = "find_account_question", nullable = true) + public Long getFindAccountQuestion() { + return findAccountQuestion; + } + + public void setFindAccountQuestion(Long findAccountQuestion) { + this.findAccountQuestion = findAccountQuestion; + } + + @Basic + @Column(name = "find_account_answer", nullable = true, length = 250) + public String getFindAccountAnswer() { + return findAccountAnswer; + } + + public void setFindAccountAnswer(String findAccountAnswer) { + this.findAccountAnswer = findAccountAnswer; + } + + @Basic + @Column(name = "homepage", nullable = true, length = 250) + public String getHomepage() { + return homepage; + } + + public void setHomepage(String homepage) { + this.homepage = homepage; + } + + @Basic + @Column(name = "blog", nullable = true, length = 250) + public String getBlog() { + return blog; + } + + public void setBlog(String blog) { + this.blog = blog; + } + + @Basic + @Column(name = "birthday", nullable = true, length = 8) + public String getBirthday() { + return birthday; + } + + public void setBirthday(String birthday) { + this.birthday = birthday; + } + + @Basic + @Column(name = "allow_mailing", nullable = false, length = 1) + public String getAllowMailing() { + return allowMailing; + } + + public void setAllowMailing(String allowMailing) { + this.allowMailing = allowMailing; + } + + @Basic + @Column(name = "allow_message", nullable = false, length = 1) + public String getAllowMessage() { + return allowMessage; + } + + public void setAllowMessage(String allowMessage) { + this.allowMessage = allowMessage; + } + + @Basic + @Column(name = "denied", nullable = true, length = 1) + public String getDenied() { + return denied; + } + + public void setDenied(String denied) { + this.denied = denied; + } + + @Basic + @Column(name = "limit_date", nullable = true, length = 14) + public String getLimitDate() { + return limitDate; + } + + public void setLimitDate(String limitDate) { + this.limitDate = limitDate; + } + + @Basic + @Column(name = "regdate", nullable = true, length = 14) + public String getRegdate() { + return regdate; + } + + public void setRegdate(String regdate) { + this.regdate = regdate; + } + + @Basic + @Column(name = "last_login", nullable = true, length = 14) + public String getLastLogin() { + return lastLogin; + } + + public void setLastLogin(String lastLogin) { + this.lastLogin = lastLogin; + } + + @Basic + @Column(name = "change_password_date", nullable = true, length = 14) + public String getChangePasswordDate() { + return changePasswordDate; + } + + public void setChangePasswordDate(String changePasswordDate) { + this.changePasswordDate = changePasswordDate; + } + + @Basic + @Column(name = "is_admin", nullable = true, length = 1) + public String getIsAdmin() { + return isAdmin; + } + + public void setIsAdmin(String isAdmin) { + this.isAdmin = isAdmin; + } + + @Basic + @Column(name = "description", columnDefinition = "text") // nullable = true, length = -1 + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @Basic + @Column(name = "extra_vars", columnDefinition = "text") // nullable = true, length = -1 + public String getExtraVars() { + return extraVars; + } + + public void setExtraVars(String extraVars) { + this.extraVars = extraVars; + } + + @Basic + @Column(name = "list_order", nullable = false) + public long getListOrder() { + return listOrder; + } + + public void setListOrder(long listOrder) { + this.listOrder = listOrder; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Member xeMember = (Member) o; + return memberSrl == xeMember.memberSrl && + listOrder == xeMember.listOrder && + Objects.equals(userId, xeMember.userId) && + Objects.equals(emailAddress, xeMember.emailAddress) && + Objects.equals(password, xeMember.password) && + Objects.equals(emailId, xeMember.emailId) && + Objects.equals(emailHost, xeMember.emailHost) && + Objects.equals(userName, xeMember.userName) && + Objects.equals(nickName, xeMember.nickName) && + Objects.equals(findAccountQuestion, xeMember.findAccountQuestion) && + Objects.equals(findAccountAnswer, xeMember.findAccountAnswer) && + Objects.equals(homepage, xeMember.homepage) && + Objects.equals(blog, xeMember.blog) && + Objects.equals(birthday, xeMember.birthday) && + Objects.equals(allowMailing, xeMember.allowMailing) && + Objects.equals(allowMessage, xeMember.allowMessage) && + Objects.equals(denied, xeMember.denied) && + Objects.equals(limitDate, xeMember.limitDate) && + Objects.equals(regdate, xeMember.regdate) && + Objects.equals(lastLogin, xeMember.lastLogin) && + Objects.equals(changePasswordDate, xeMember.changePasswordDate) && + Objects.equals(isAdmin, xeMember.isAdmin) && + Objects.equals(description, xeMember.description) && + Objects.equals(extraVars, xeMember.extraVars); + } + + @Override + public int hashCode() { + return Objects.hash(memberSrl, userId, emailAddress, password, emailId, emailHost, userName, nickName, findAccountQuestion, findAccountAnswer, homepage, blog, birthday, allowMailing, allowMessage, denied, limitDate, regdate, lastLogin, changePasswordDate, isAdmin, description, extraVars, listOrder); + } } \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 250d69a..750e065 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,11 +1,18 @@ -spring.datasource.url=jdbc:postgresql://localhost:5432/employees +spring.datasource.url=jdbc:postgresql://localhost:54320/postgres spring.datasource.username=postgres spring.datasource.password=root spring.jpa.show-sql=true ## Hibernate Properties # The SQL dialect makes Hibernate generate better SQL for the chosen database -spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect +spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false # Hibernate ddl auto (create, create-drop, validate, update) -spring.jpa.hibernate.ddl-auto = update \ No newline at end of file +spring.jpa.hibernate.ddl-auto=update +spring.jpa.database=postgresql + +logging.level.root=info +logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n + +server.port=8282 \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index 250d69a..750e065 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -1,11 +1,18 @@ -spring.datasource.url=jdbc:postgresql://localhost:5432/employees +spring.datasource.url=jdbc:postgresql://localhost:54320/postgres spring.datasource.username=postgres spring.datasource.password=root spring.jpa.show-sql=true ## Hibernate Properties # The SQL dialect makes Hibernate generate better SQL for the chosen database -spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect +spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false # Hibernate ddl auto (create, create-drop, validate, update) -spring.jpa.hibernate.ddl-auto = update \ No newline at end of file +spring.jpa.hibernate.ddl-auto=update +spring.jpa.database=postgresql + +logging.level.root=info +logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n + +server.port=8282 \ No newline at end of file diff --git a/target/classes/com/loafle/totopia/Application.class b/target/classes/com/loafle/totopia/Application.class index 2da7a23ef70ff1df7c63775e70096e0811741b45..8daeaeb6d84c88da8621e4cce1c6adaa60d73012 100644 GIT binary patch delta 236 zcmYLCI|{;35S*9fy_Y-_qtW;m5gR`U3SuQT-a#)Aiy$b1m5pZzIfsRvSa<;Y)ZRqg zq)D-}GrKdp2~YU!^LxDkEYMXj;7imL>S#zb8N@0)hL<&iJ{)ZsjLj+7N5MJ1vOBlI zAtGlWS~l9~L~}p-PGXlG1p3fm#8a(zV-Gs5!6X!5gc25^opBC@0x65MLoP{tNj>$M no;H3$-{pBl8&E=0Ccj~#2$$w1D$Yox@5&i^s3;=o-zxA28ub`7 delta 254 zcmcc0dX<&;)W2Q(7#J8#7-ZQQm?j4^Dx0t{G6-ZPmL=-vB<7{-`zK|kCYLZWu-Rnh zWtP}6GB9gshA}d*IOnINaxpM7aPly)GO$fFDCFQ`5M&T$XAqj)F!yv*SI(ZLc z_QZv2*%%ZVfchruGRfC-Yy?`y#J~k4*?@u!4D1ZtK#~W{W(Cr`KprOp9|J#76+4h^ z2BbmiID{Crb}$HpBlL3tWf*`aflNS{!NDNLAPy9l0Af}~AO~cfB$$+9kcQbS!@vLl Dkt7}; diff --git a/target/classes/com/loafle/totopia/commons/exception/ResourceNotFoundException.class b/target/classes/com/loafle/totopia/commons/exception/ResourceNotFoundException.class index 9e3a1701d5607aca7cec68ad5b5ff935e6784a46..87da621688f6dca7c841f747c3b287085b831060 100644 GIT binary patch delta 191 zcmXAhK@!105JlgF$&{EN$RJqQvb9#_2zCxYIfgUjC|Rje6?+b){6uw4|Npz+bZu*! zf4Ql6tMYcP-WOv%J(4m#mZxxMLnHzW1zoH(R*GAjnjl)BnZo}nmot!VbQ<`}ztx-eUghnerZp0l^ z2qqu~P-u`1I*BHgC~MRvlZY(IjoJJOE3Y~oqOMYtw-#*r{=WqWT{`yRqQ{p!YQ=An TBuga@Fmxy^ZhcOWV1)4x*B=&N diff --git a/target/classes/com/loafle/totopia/member/controller/MemberController.class b/target/classes/com/loafle/totopia/member/controller/MemberController.class index 0a402ba4200b9c702af242f327b985a20509878f..fcbe4ac3bfcbfec03c981340ae0dde7176469283 100644 GIT binary patch literal 5531 zcmcIo`Bxj)75<)(5s0xZlOW=_cCbqvz=km~F)qSR492ljz%CG6H*M2F8eq(5MwuCb zX`1ePo9<1QbWNM?ThbI8yY1=EJ^h<{`n{QvG=d2cKBqtEy_vV%_ucQ_ckk8w`@eVp z31A5SNaGPa--;vnNE6fd^nV|XcrkEig7G&<$@CuRRB*?d|ypGhN&&!+IX6h1GIDeA=q z-I>u#wrhB{vo3IIGH(}E)7BPEUG;3wE*Y8{EK>`btxj#(krOyLQ?@*#sLva&v0&;K zEX(#Z&#*05;OwOBEU9kEF|4IUM=R=UwzHxx=$hrKi&|cuscO{?>V>jruNjVBpxEY7 z!!o?{0!=-=^8(3nyPyl~pEN9ex-4POX*^A!ebUZr=Dg+@@;w|(ddminAKpQmylr`o zZJN3hDm7jm;OTppbnk*`2I^8$dr$A=O>I?E%bsDXlZNYYQR}R+WNBX6A&k*&3r2T1 zyhvrt@Z8*aiW-U~YE55I7YwTq<>+bMo6<@p63T6RRyDKC(_2Ct5vfETz#dz_QV_`X z1i($rT2d!%ZtIObYuWQk>WuD|XgGa>7WLM7KuchIDJZj54s8_73iLFpt3Z0broLztUJ^J~@5WU~b^d%Nmby4IUDLefic^xu zgh2+CyrXNL9#}_UreW548>jb)#u3_X#FLUG0;au7j$J6{bs8c=FEfq2f0fmnu5Ae% zuIFfOy;OhQAM#z~mP)TQ3c<#C`A7m9$2FtBP}W^<%q~a=RLUhvs&ba!<{gbvvm3A9 z8~F7_-O~(H-l+gYp<=n0|Nkg<<;#snk89H?J%|C zLP6_}veo^#e}8=jqLDQwdvd7An5ycPxF@5mU3T*NwC!E8%T}Qp5lL|6u&CR24+>;M z5OvYL`xN8ptS{@5A(LT8V9Q!68;}U!E)U1WEn@R(+X*N>g~xC8FK#V6rBtnCsH=kt zy78!jE*wqa3ktr7lM23sFEhl@)}HG*S}Di_?*3+cC4;ZBdpU!zDfl|Rk-|3>d<)+e zI37c8a8cE0K26~}3cic)r|<&>Kg6pFeuN)W;!hO(6hBk&bG#!PW zElSs5>vYLtrpqXFjf`|D_yhhZn?EV|v(%;=uQ9mBAPSk;q0AxwH6T|PZt8hYVBqaV z#npf0X^{mAOC`nz`4ki#J<)p`h-TSQWBICI0BB||jlbXxfd?zqlYf`O4QZCiZwicY zE(X*t7^fFE@!kliQCMLuR0FkGw(_zrQD@6C^XU%vwb!OAm<8HwXTo&#xn;**6BrDI z`jz2!8KK%y#RMLUD~n?)FcuE>3J;XYu<9hr70c3{aZ__$nWu-zPlMvRBXX$R>HFBm zN_>G}1kOddteUt%i99^%YO9P`$7988^-KE65&V_Gj%J)FGAYY~wBBjLM8Y+0WKBm@ ze7K}{UP^n5 zXMtQZieatVE4n)A=S7BYE&MM>Ph}Zjc}w9Q6_~W`l``Y$f1(P60)nW2S+feJ?sf+& zqoqKoXGG1qjk5lXE^mA?ICAH`(Tf{O9@k8B*6{RP3V#=PbQ>XY`Uo7^c^!_@8z12} z0A6;PBiSG0TQmE2vu|b3^vU)(-&FR3{hq$t5O44yfyda&#Xtvo*ebyS^rDY%0w-`1 zP5$N~zR7jzzPFIrM3Z3ft(R~pA|V}0==awQ_@MT2zl3n=IS3bne0m(GdAfwQL@Z70 zk4ot$Hjzx=#9izGovHa>NKM^A%gIf&CL)LK3pOA_;hof0!tV;l0{9fi&n8dspiZQ5 z2E#n$ELSBtlEr)Yw1HV%6UbqevZFWF3z)i5>FAE#63ol3HJL!-01`e zcPleJKDcbKGGvB(d`O}Kw+bM-OKxGG=9KI|!(U*5$*KjWB-y^=xvJvy zzKY`61m~*;iE=QFtD#H1PG3k;^l%*q`zstw$zl3bCV_i6aN{=Gr~BI!q!);eC`hLrLB=DTir2O{zLB4;e r%I1ghJ-*9vn;%DCX>P@B+{GOnM1kWnn&|v3GCVDZPfqn|70dqv;qU2v literal 5293 zcmcInYj@mM72S92c~rqXKmPs3 zUjYo^^(-<1XG(5aw_Rh|mU`d@ZpAY6vMeu2PcOMn;JLQV+v#v+yuOe{yFl-CW8Khg z!&%WUFI|_VfJ>3;tgN`c6}aAp!0F!D2ppWPI)PP|3zly!*>coz+`tGd z*YO3;6ABHHGN4Mj;}8pCFN5$>I(X3HE?fOo-}E;W5jZ-;DSKg zz~F*F`?zb$9NN&Mp$j>IJw?lrGgYXd$4LTkl`KnwF7dD zqi011qqZGkN=tnMgT)ZaYGB!V(eeWdbnG)qMjPY`iqwNlE9!B+Ob?{j zR0?NPkx9$z6(d-!v6wJrEK_ChgoY<@k_lGXh~OVc?l&rGCZIvi%OSXiUFc&A(KVdL zlPo9lSwK&!#+hpY8=>ve{`RPa1)YYF=QrWov`2yFHVdiqyhz{Y1w*5bpY>&cKN;0$iFy5_U7IRFJZ>+PM9!pJ9SOH1q3Ov%>0_Ha=%?F`Y ztuV$qkfo&Eu>4xZt7YO6hFAapUhb)Hwtlo-sn!#n#d~?!Hz1$zJlE^Q`vm@V)$w>3 z*z3~Fvuji=J7ht=;<-Hk%l`R%u4{f(=Glu$>pc73MA@+HOXk2}-tzN2J0yE4m6u&F zA5bu0*76b8w`vv*KbT=xzYo<(%WGXXhecdd6V3+&_9fFd7pNJkphlsdsJ1W4fV)ve z$_awUO|3`|C)KvKc1{dr#?*h48A-I1*mYuM%yn(faN)c%+;aI|jKYjZmOjoWx+=L9 z4Xd!&vZ8Hl*>|loE@Z*R{XpaJnKJxUZYGE8=;?&RF(uMByHJ6b#S1m*uu$WOHTdA^ z*FHacm7RER%9gsZj+9Bb>swn0~%3*sC6BkeHj|=Q?SdEwxpO&5Y zq(EFwd43bH%vf@9v9bOvGk=~Xid(p*{ywGQ)A$T&Kz>Mvr`pLBkdsqGlQRw|x9~X) zpU11jIB=tv0uR=P@sI^ElXEzNYZQyId5WXxTsTusTIxGuUsOqr@2690hi~>VlXg&X zMhzP3Ol|v?trQYejzLVUG%2d1FDc&o z%gE)=$d?>PdgHd?`_j+iHv*4sOHdljS^Q4m(9WW)kSHh2WnwnPVeYSub3R90 z_0h*`mQU*1$!jOC{A}ibxB3>~Rq(p&_$IVJ@+O1b{8z%jL)gQAEfPR49^ezle(a_B z2YH{tzR>h;uJ-e{|9J=>2SUR`d{#Dc$N!9jckqzF>!C)&`r(B2T-|z};dkIs%C=Mg zNbKja6hFuCIHfe@W`Mu_J_bY2Ym7^6|FH6W;tq~yaN-S|0&e4}zvJBWUvU13J9tMX z5l|nUf#!0w)X(dFno?WOM~33yXcCinR{5gj6fV)xJ1MnGa9JVqE))s40$U+6tpsC4 zRHWT1A2YnUtRDCq<8y}B-Ep8-GGKgLVLBB?(jQ6IBiSAL7nr9$zwi5bQKsW?rg$rG z6$=bzE0oXG1AI?CzzE9z3>WH9Hpe}V^k`4!%fMS^<=AMW_vk7F1FCUJ&IS9CZYxvD2&nC~Jw zc~v>l%15};ph|B}H6OlIEI3EXs6sh#7e^NF;?`o{CpPi&@!NRiHa@$FFKp$*Ko|;n zLo4hw_i1IUW`$e&61`{eT;fdiEI&6##j0{Xb%nY=V0Z6g{NhStX1~xFw&cFer*?{t#3=9BNwI}fa delta 97 zcmdnP{ESK9)W2Q(7#J8#7`WLPm>3!KCgw;@He?i$WM^PuWDv+oEKAhSNz6;v_fN`7 sO)g<)V4EDlXfbiA`b5zQ3T%uFj10^`%nCGtfq{vE9ZYgCaDr(r0Bh$FssI20 diff --git a/target/classes/com/loafle/totopia/member/model/Member.class b/target/classes/com/loafle/totopia/member/model/Member.class index e9f8d95fd357227f88fefa84289366db53db39fc..f66190a93affd0e82a401c7703abffebc968eeff 100644 GIT binary patch literal 7943 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 H*pvSQ6eJ0b delta 167 zcmZp-+swp!>ff$?3=9k=3