Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf688e8d

Browse files
committed
updated
1 parentbaf5d47 commitf688e8d

File tree

8 files changed

+45
-6
lines changed

8 files changed

+45
-6
lines changed

‎.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ TODO.md
1818
logs.txt
1919
.idea/
2020
secret.md
21-
app.env
21+
app.env
22+
/temp
23+
temp/

‎controllers/auth.controller.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package controllers
33
import (
44
"fmt"
55
"net/http"
6+
"strings"
67

78
"github.com/gin-gonic/gin"
89
"github.com/wpcodevo/golang-mongodb/config"
@@ -37,6 +38,10 @@ func (ac *AuthController) SignUpUser(ctx *gin.Context) {
3738
newUser,err:=ac.authService.SignUpUser(user)
3839

3940
iferr!=nil {
41+
ifstrings.Contains(err.Error(),"email already exist") {
42+
ctx.JSON(http.StatusConflict, gin.H{"status":"error","message":err.Error()})
43+
return
44+
}
4045
ctx.JSON(http.StatusBadGateway, gin.H{"status":"error","message":err.Error()})
4146
return
4247
}
@@ -124,3 +129,11 @@ func (ac *AuthController) RefreshAccessToken(ctx *gin.Context) {
124129

125130
ctx.JSON(http.StatusOK, gin.H{"status":"success","access_token":access_token})
126131
}
132+
133+
func (ac*AuthController)LogoutUser(ctx*gin.Context) {
134+
ctx.SetCookie("access_token","",-1,"/","localhost",false,true)
135+
ctx.SetCookie("refresh_token","",-1,"/","localhost",false,true)
136+
ctx.SetCookie("logged_in","",-1,"/","localhost",false,true)
137+
138+
ctx.JSON(http.StatusOK, gin.H{"status":"success"})
139+
}

‎go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/wpcodevo/golang-mongodb
33
go1.18
44

55
require (
6+
github.com/gin-contrib/corsv1.3.1
67
github.com/gin-gonic/ginv1.7.7
7-
github.com/go-redis/redisv6.15.9+incompatible
88
github.com/go-redis/redis/v8v8.11.5
99
github.com/golang-jwt/jwtv3.2.2+incompatible
1010
github.com/spf13/viperv1.11.0

‎go.sum

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,26 +62,29 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m
6262
github.com/envoyproxy/protoc-gen-validatev0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
6363
github.com/fsnotify/fsnotifyv1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
6464
github.com/fsnotify/fsnotifyv1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
65+
github.com/gin-contrib/corsv1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA=
66+
github.com/gin-contrib/corsv1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk=
6567
github.com/gin-contrib/ssev0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
6668
github.com/gin-contrib/ssev0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
69+
github.com/gin-gonic/ginv1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do=
6770
github.com/gin-gonic/ginv1.7.7 h1:3DoBmSbJbZAWqXJC3SLjAPfutPJJRN1U5pALB7EeTTs=
6871
github.com/gin-gonic/ginv1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U=
6972
github.com/go-gl/glfwv0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
7073
github.com/go-gl/glfw/v3.3/glfwv0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
7174
github.com/go-gl/glfw/v3.3/glfwv0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
7275
github.com/go-playground/assert/v2v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
7376
github.com/go-playground/assert/v2v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
77+
github.com/go-playground/localesv0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
7478
github.com/go-playground/localesv0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
7579
github.com/go-playground/localesv0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU=
7680
github.com/go-playground/localesv0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
81+
github.com/go-playground/universal-translatorv0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
7782
github.com/go-playground/universal-translatorv0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
7883
github.com/go-playground/universal-translatorv0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
7984
github.com/go-playground/universal-translatorv0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
8085
github.com/go-playground/validator/v10v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
8186
github.com/go-playground/validator/v10v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw=
8287
github.com/go-playground/validator/v10v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU=
83-
github.com/go-redis/redisv6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg=
84-
github.com/go-redis/redisv6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
8588
github.com/go-redis/redis/v8v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
8689
github.com/go-redis/redis/v8v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
8790
github.com/go-stack/stackv1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
@@ -156,6 +159,7 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
156159
github.com/hashicorp/hclv1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
157160
github.com/ianlancetaylor/demanglev0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
158161
github.com/ianlancetaylor/demanglev0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
162+
github.com/json-iterator/gov1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
159163
github.com/json-iterator/gov1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
160164
github.com/json-iterator/gov1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
161165
github.com/json-iterator/gov1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
@@ -173,11 +177,13 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
173177
github.com/kr/textv0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
174178
github.com/kr/textv0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
175179
github.com/kr/textv0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
180+
github.com/leodido/go-urnv1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw=
176181
github.com/leodido/go-urnv1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
177182
github.com/leodido/go-urnv1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
178183
github.com/leodido/go-urnv1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
179184
github.com/magiconair/propertiesv1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
180185
github.com/magiconair/propertiesv1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
186+
github.com/mattn/go-isattyv0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
181187
github.com/mattn/go-isattyv0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
182188
github.com/mattn/go-isattyv0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
183189
github.com/mattn/go-isattyv0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
@@ -362,6 +368,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
362368
golang.org/x/sysv0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
363369
golang.org/x/sysv0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
364370
golang.org/x/sysv0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
371+
golang.org/x/sysv0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
365372
golang.org/x/sysv0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
366373
golang.org/x/sysv0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
367374
golang.org/x/sysv0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -559,6 +566,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8
559566
gopkg.in/check.v1v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
560567
gopkg.in/check.v1v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
561568
gopkg.in/errgo.v2v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
569+
gopkg.in/go-playground/assert.v1v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
570+
gopkg.in/go-playground/validator.v9v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
562571
gopkg.in/ini.v1v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
563572
gopkg.in/ini.v1v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
564573
gopkg.in/tomb.v1v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=

‎main.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"log"
77
"net/http"
88

9+
"github.com/gin-contrib/cors"
910
"github.com/gin-gonic/gin"
1011
"github.com/go-redis/redis/v8"
1112
"github.com/wpcodevo/golang-mongodb/config"
@@ -101,12 +102,18 @@ func main() {
101102
panic(err)
102103
}
103104

105+
corsConfig:=cors.DefaultConfig()
106+
corsConfig.AllowOrigins= []string{"http://localhost:8000","http://localhost:3000"}
107+
corsConfig.AllowCredentials=true
108+
109+
server.Use(cors.New(corsConfig))
110+
104111
router:=server.Group("/api")
105112
router.GET("/healthchecker",func(ctx*gin.Context) {
106113
ctx.JSON(http.StatusOK, gin.H{"status":"success","message":value})
107114
})
108115

109-
AuthRouteController.AuthRoute(router)
116+
AuthRouteController.AuthRoute(router,userService)
110117
UserRouteController.UserRoute(router,userService)
111118
log.Fatal(server.Run(":"+config.Port))
112119
}

‎models/user.model.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"go.mongodb.org/mongo-driver/bson/primitive"
77
)
88

9+
// 👈 SignUpInput struct
910
typeSignUpInputstruct {
1011
Namestring`json:"name" bson:"name" binding:"required"`
1112
Emailstring`json:"email" bson:"email" binding:"required"`
@@ -17,11 +18,13 @@ type SignUpInput struct {
1718
UpdatedAt time.Time`json:"updated_at" bson:"updated_at"`
1819
}
1920

21+
// 👈 SignInInput struct
2022
typeSignInInputstruct {
2123
Emailstring`json:"email" bson:"email" binding:"required"`
2224
Passwordstring`json:"password" bson:"password" binding:"required"`
2325
}
2426

27+
// 👈 DBResponse struct
2528
typeDBResponsestruct {
2629
ID primitive.ObjectID`json:"id" bson:"_id"`
2730
Namestring`json:"name" bson:"name"`
@@ -34,6 +37,7 @@ type DBResponse struct {
3437
UpdatedAt time.Time`json:"updated_at" bson:"updated_at"`
3538
}
3639

40+
// 👈 UserResponse struct
3741
typeUserResponsestruct {
3842
ID primitive.ObjectID`json:"id,omitempty" bson:"_id,omitempty"`
3943
Namestring`json:"name,omitempty" bson:"name,omitempty"`

‎routes/auth.routes.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package routes
33
import (
44
"github.com/gin-gonic/gin"
55
"github.com/wpcodevo/golang-mongodb/controllers"
6+
"github.com/wpcodevo/golang-mongodb/middleware"
7+
"github.com/wpcodevo/golang-mongodb/services"
68
)
79

810
typeAuthRouteControllerstruct {
@@ -13,10 +15,11 @@ func NewAuthRouteController(authController controllers.AuthController) AuthRoute
1315
returnAuthRouteController{authController}
1416
}
1517

16-
func (rc*AuthRouteController)AuthRoute(rg*gin.RouterGroup) {
18+
func (rc*AuthRouteController)AuthRoute(rg*gin.RouterGroup,userService services.UserService) {
1719
router:=rg.Group("/auth")
1820

1921
router.POST("/register",rc.authController.SignUpUser)
2022
router.POST("/login",rc.authController.SignInUser)
2123
router.GET("/refresh",rc.authController.RefreshAccessToken)
24+
router.GET("/logout",middleware.DeserializeUser(userService),rc.authController.LogoutUser)
2225
}

‎tmp/build-errors.log

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
exit status 1

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp