mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Move db related basic functions to models/db (#17075)
* Move db related basic functions to models/db * Fix lint * Fix lint * Fix test * Fix lint * Fix lint * revert unnecessary change * Fix test * Fix wrong replace string * Use *Context * Correct committer spelling and fix wrong replaced words Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"net/mail"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
@@ -28,6 +29,10 @@ type EmailAddress struct {
|
||||
IsPrimary bool `xorm:"DEFAULT(false) NOT NULL"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
db.RegisterModel(new(EmailAddress))
|
||||
}
|
||||
|
||||
// BeforeInsert will be invoked by XORM before inserting a record
|
||||
func (email *EmailAddress) BeforeInsert() {
|
||||
if email.LowerEmail == "" {
|
||||
@@ -53,7 +58,7 @@ func ValidateEmail(email string) error {
|
||||
// GetEmailAddresses returns all email addresses belongs to given user.
|
||||
func GetEmailAddresses(uid int64) ([]*EmailAddress, error) {
|
||||
emails := make([]*EmailAddress, 0, 5)
|
||||
if err := x.
|
||||
if err := db.DefaultContext().Engine().
|
||||
Where("uid=?", uid).
|
||||
Asc("id").
|
||||
Find(&emails); err != nil {
|
||||
@@ -66,7 +71,7 @@ func GetEmailAddresses(uid int64) ([]*EmailAddress, error) {
|
||||
func GetEmailAddressByID(uid, id int64) (*EmailAddress, error) {
|
||||
// User ID is required for security reasons
|
||||
email := &EmailAddress{UID: uid}
|
||||
if has, err := x.ID(id).Get(email); err != nil {
|
||||
if has, err := db.DefaultContext().Engine().ID(id).Get(email); err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, nil
|
||||
@@ -75,7 +80,7 @@ func GetEmailAddressByID(uid, id int64) (*EmailAddress, error) {
|
||||
}
|
||||
|
||||
// isEmailActive check if email is activated with a different emailID
|
||||
func isEmailActive(e Engine, email string, excludeEmailID int64) (bool, error) {
|
||||
func isEmailActive(e db.Engine, email string, excludeEmailID int64) (bool, error) {
|
||||
if len(email) == 0 {
|
||||
return true, nil
|
||||
}
|
||||
@@ -99,7 +104,7 @@ func isEmailActive(e Engine, email string, excludeEmailID int64) (bool, error) {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func isEmailUsed(e Engine, email string) (bool, error) {
|
||||
func isEmailUsed(e db.Engine, email string) (bool, error) {
|
||||
if len(email) == 0 {
|
||||
return true, nil
|
||||
}
|
||||
@@ -109,10 +114,10 @@ func isEmailUsed(e Engine, email string) (bool, error) {
|
||||
|
||||
// IsEmailUsed returns true if the email has been used.
|
||||
func IsEmailUsed(email string) (bool, error) {
|
||||
return isEmailUsed(x, email)
|
||||
return isEmailUsed(db.DefaultContext().Engine(), email)
|
||||
}
|
||||
|
||||
func addEmailAddress(e Engine, email *EmailAddress) error {
|
||||
func addEmailAddress(e db.Engine, email *EmailAddress) error {
|
||||
email.Email = strings.TrimSpace(email.Email)
|
||||
used, err := isEmailUsed(e, email.Email)
|
||||
if err != nil {
|
||||
@@ -131,7 +136,7 @@ func addEmailAddress(e Engine, email *EmailAddress) error {
|
||||
|
||||
// AddEmailAddress adds an email address to given user.
|
||||
func AddEmailAddress(email *EmailAddress) error {
|
||||
return addEmailAddress(x, email)
|
||||
return addEmailAddress(db.DefaultContext().Engine(), email)
|
||||
}
|
||||
|
||||
// AddEmailAddresses adds an email address to given user.
|
||||
@@ -154,7 +159,7 @@ func AddEmailAddresses(emails []*EmailAddress) error {
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := x.Insert(emails); err != nil {
|
||||
if _, err := db.DefaultContext().Engine().Insert(emails); err != nil {
|
||||
return fmt.Errorf("Insert: %v", err)
|
||||
}
|
||||
|
||||
@@ -163,7 +168,7 @@ func AddEmailAddresses(emails []*EmailAddress) error {
|
||||
|
||||
// Activate activates the email address to given user.
|
||||
func (email *EmailAddress) Activate() error {
|
||||
sess := x.NewSession()
|
||||
sess := db.DefaultContext().NewSession()
|
||||
defer sess.Close()
|
||||
if err := sess.Begin(); err != nil {
|
||||
return err
|
||||
@@ -174,7 +179,7 @@ func (email *EmailAddress) Activate() error {
|
||||
return sess.Commit()
|
||||
}
|
||||
|
||||
func (email *EmailAddress) updateActivation(e Engine, activate bool) error {
|
||||
func (email *EmailAddress) updateActivation(e db.Engine, activate bool) error {
|
||||
user, err := getUserByID(e, email.UID)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -201,12 +206,12 @@ func DeleteEmailAddress(email *EmailAddress) (err error) {
|
||||
UID: email.UID,
|
||||
}
|
||||
if email.ID > 0 {
|
||||
deleted, err = x.ID(email.ID).Delete(&address)
|
||||
deleted, err = db.DefaultContext().Engine().ID(email.ID).Delete(&address)
|
||||
} else {
|
||||
if email.Email != "" && email.LowerEmail == "" {
|
||||
email.LowerEmail = strings.ToLower(email.Email)
|
||||
}
|
||||
deleted, err = x.
|
||||
deleted, err = db.DefaultContext().Engine().
|
||||
Where("lower_email=?", email.LowerEmail).
|
||||
Delete(&address)
|
||||
}
|
||||
@@ -232,7 +237,7 @@ func DeleteEmailAddresses(emails []*EmailAddress) (err error) {
|
||||
|
||||
// MakeEmailPrimary sets primary email address of given user.
|
||||
func MakeEmailPrimary(email *EmailAddress) error {
|
||||
has, err := x.Get(email)
|
||||
has, err := db.DefaultContext().Engine().Get(email)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if !has {
|
||||
@@ -244,14 +249,14 @@ func MakeEmailPrimary(email *EmailAddress) error {
|
||||
}
|
||||
|
||||
user := &User{}
|
||||
has, err = x.ID(email.UID).Get(user)
|
||||
has, err = db.DefaultContext().Engine().ID(email.UID).Get(user)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if !has {
|
||||
return ErrUserNotExist{email.UID, "", 0}
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
sess := db.DefaultContext().NewSession()
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
@@ -341,7 +346,7 @@ func SearchEmails(opts *SearchEmailOptions) ([]*SearchEmailResult, int64, error)
|
||||
cond = cond.And(builder.Eq{"email_address.is_activated": false})
|
||||
}
|
||||
|
||||
count, err := x.Join("INNER", "`user`", "`user`.ID = email_address.uid").
|
||||
count, err := db.DefaultContext().Engine().Join("INNER", "`user`", "`user`.ID = email_address.uid").
|
||||
Where(cond).Count(new(EmailAddress))
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("Count: %v", err)
|
||||
@@ -355,7 +360,7 @@ func SearchEmails(opts *SearchEmailOptions) ([]*SearchEmailResult, int64, error)
|
||||
opts.setDefaultValues()
|
||||
|
||||
emails := make([]*SearchEmailResult, 0, opts.PageSize)
|
||||
err = x.Table("email_address").
|
||||
err = db.DefaultContext().Engine().Table("email_address").
|
||||
Select("email_address.*, `user`.name, `user`.full_name").
|
||||
Join("INNER", "`user`", "`user`.ID = email_address.uid").
|
||||
Where(cond).
|
||||
@@ -369,7 +374,7 @@ func SearchEmails(opts *SearchEmailOptions) ([]*SearchEmailResult, int64, error)
|
||||
// ActivateUserEmail will change the activated state of an email address,
|
||||
// either primary or secondary (all in the email_address table)
|
||||
func ActivateUserEmail(userID int64, email string, activate bool) (err error) {
|
||||
sess := x.NewSession()
|
||||
sess := db.DefaultContext().NewSession()
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
|
Reference in New Issue
Block a user