-
Notifications
You must be signed in to change notification settings - Fork 0
/
gcfHandler.go
42 lines (38 loc) · 1.09 KB
/
gcfHandler.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package login
import (
"encoding/json"
"net/http"
"os"
intermoni "github.com/intern-monitoring/backend-intermoni"
)
var (
Credential intermoni.Credential
Response intermoni.Response
user intermoni.User
)
func Post(PASETOPRIVATEKEYENV, MONGOCONNSTRINGENV, dbname string, r *http.Request) string {
conn := intermoni.MongoConnect(MONGOCONNSTRINGENV, dbname)
Response.Status = false
//
err := json.NewDecoder(r.Body).Decode(&user)
if err != nil {
Response.Message = "error parsing application/json: " + err.Error()
return intermoni.GCFReturnStruct(Response)
}
user, err := LogIn(conn, user)
if err != nil {
Response.Message = err.Error()
return intermoni.GCFReturnStruct(Response)
}
tokenstring, err := intermoni.Encode(user.ID, user.Role, os.Getenv(PASETOPRIVATEKEYENV))
if err != nil {
Response.Message = "Gagal Encode Token : " + err.Error()
return intermoni.GCFReturnStruct(Response)
}
//
Credential.Message = "Selamat Datang " + user.Email
Credential.Token = tokenstring
Credential.Role = user.Role
Credential.Status = true
return intermoni.GCFReturnStruct(Credential)
}