Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-04-21 18:30:14 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-04-21 18:30:14 +0300
commitb0f974a94db8508c7c77db18c89cd0ef3497f879 (patch)
tree74bc894455da45eab58a051a81b1ae320ea09254 /web/service/user.go
parent6bebde410529c068b2458ee21a03127728a8c6ae (diff)
secret token thanks to @HarlyquinForest
Diffstat (limited to 'web/service/user.go')
-rw-r--r--web/service/user.go33
1 files changed, 31 insertions, 2 deletions
diff --git a/web/service/user.go b/web/service/user.go
index 6da8bd1e..f1868424 100644
--- a/web/service/user.go
+++ b/web/service/user.go
@@ -25,12 +25,12 @@ func (s *UserService) GetFirstUser() (*model.User, error) {
return user, nil
}
-func (s *UserService) CheckUser(username string, password string) *model.User {
+func (s *UserService) CheckUser(username string, password string, secret string) *model.User {
db := database.GetDB()
user := &model.User{}
err := db.Model(model.User{}).
- Where("username = ? and password = ?", username, password).
+ Where("username = ? and password = ? and login_secret = ?", username, password, secret).
First(user).
Error
if err == gorm.ErrRecordNotFound {
@@ -50,6 +50,35 @@ func (s *UserService) UpdateUser(id int, username string, password string) error
Error
}
+func (s *UserService) UpdateUserSecret(id int, secret string) error {
+ db := database.GetDB()
+ return db.Model(model.User{}).
+ Where("id = ?", id).
+ Update("login_secret", secret).
+ Error
+}
+
+func (s *UserService) RemoveUserSecret() error {
+ db := database.GetDB()
+ return db.Model(model.User{}).
+ Where("1 = 1").
+ Update("login_secret", "").
+ Error
+}
+
+func (s *UserService) GetUserSecret(id int) *model.User {
+ db := database.GetDB()
+ user := &model.User{}
+ err := db.Model(model.User{}).
+ Where("id = ?", id).
+ First(user).
+ Error
+ if err == gorm.ErrRecordNotFound {
+ return nil
+ }
+ return user
+}
+
func (s *UserService) UpdateFirstUser(username string, password string) error {
if username == "" {
return errors.New("username can not be empty")