diff --git a/model/account.go b/model/account.go index f76c9b1..cd2e70d 100644 --- a/model/account.go +++ b/model/account.go @@ -2,6 +2,7 @@ package model import ( "database/sql" + "errors" "time" ) @@ -35,3 +36,26 @@ func GetAccount(account string) (acc *Account, err error) { } return } + +// CreateAccount - +func CreateAccount(account, password string) (acc *Account, err error) { + acc = &Account{} + err = x.Get(acc, `insert into "public"."account" ("account", "password", "ctime", "mtime") values ($1, $2, now(), now())`, account, password) + if err == sql.ErrNoRows { + return nil, nil + } + if err != nil { + return nil, err + } + return +} + +// ChangePassword - +func (p *Account) ChangePassword(password string) (err error) { + if len(password) == 0 { + return errors.New("password is empty") + } + _, err = x.Exec(`update "public"."account" set "password" = $1, "mtime" = now() where "id" = $2`, password, p.ID) + p.Password = password + return +}