当前位置: 首页>>代码示例>>Golang>>正文


Golang xorm.Session类代码示例

本文整理汇总了Golang中github.com/go-xorm/xorm.Session的典型用法代码示例。如果您正苦于以下问题:Golang Session类的具体用法?Golang Session怎么用?Golang Session使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Session类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: createRecord

func createRecord(input interface{}, session *xorm.Session) (statusCode int, err error) {
	_, err = session.Insert(input)
	if err != nil {
		return http.StatusInternalServerError, err
	}
	return http.StatusOK, err
}
开发者ID:TritonHo,项目名称:meow,代码行数:7,代码来源:handler.go

示例2: GetPageQuery

func (f *searchADCFPagerFilter) GetPageQuery(tx *xorm.Session) *xorm.Session {
	tx = f.GetQuery(tx)

	offset := (f.Page - 1) * f.PageSize
	tx.Limit(f.PageSize, offset)
	return tx
}
开发者ID:suifengRock,项目名称:clown,代码行数:7,代码来源:a_d_c_f.go

示例3: updateRecordWithUserId

func updateRecordWithUserId(input interface{}, fieldNames map[string]bool, id, userId string, session *xorm.Session) (statusCode int, err error) {
	if _, err := uuid.FromString(id); err != nil {
		return http.StatusBadRequest, errUuidNotValid
	}
	if _, err := uuid.FromString(userId); err != nil {
		return http.StatusBadRequest, errUuidNotValid
	}

	//convert the fields set to array
	array := []string{}
	for k, _ := range fieldNames {
		array = append(array, k)
	}

	//update the database
	affected, err := session.Where("id = ? and user_id = ?", id, userId).Cols(array...).Update(input)
	if err != nil {
		return http.StatusInternalServerError, err
	}
	if affected == 0 {
		return http.StatusNotFound, errors.New("The record is not found.")
	}

	return http.StatusNoContent, nil
}
开发者ID:TritonHo,项目名称:meow,代码行数:25,代码来源:handler.go

示例4: GetQuery

func (f searchADCFFilter) GetQuery(tx *xorm.Session) *xorm.Session {
	f.CheckUnscoped(tx)

	if f.HasField("AAA") && len(f.AAA) > 0 {
		name := fmt.Sprintf("%%%s%%", f.AAA)
		tx.And("a_a_a like ?", f.AAA)
	}

	if f.HasField("BBB") && len(f.BBB) > 0 {
		name := fmt.Sprintf("%%%s%%", f.BBB)
		tx.And("b_b_b like ?", f.BBB)
	}

	if f.HasField("CCC") {
		tx.And("c_c_c = ?", f.CCC)
	}
	if f.HasField("CCC_In") && len(f.CCC) > 0 {
		tx.In("c_c_c", f.CCC_In)
	}

	if f.HasField("UpdateTime") && f.UpdateTime > 0 {
		tx.And("update_at > ?", utils.UnixtimeToDate(f.UpdateTime, ""))
	}
	return tx
}
开发者ID:suifengRock,项目名称:clown,代码行数:25,代码来源:a_d_c_f.go

示例5: SearchUserByName

// SearchUserByName takes keyword and part of user name to search,
// it returns results in given range and number of total results.
func SearchUserByName(opts *SearchUserOptions) (users []*User, _ int64, _ error) {
	if len(opts.Keyword) == 0 {
		return users, 0, nil
	}
	opts.Keyword = strings.ToLower(opts.Keyword)

	if opts.PageSize <= 0 || opts.PageSize > setting.ExplorePagingNum {
		opts.PageSize = setting.ExplorePagingNum
	}
	if opts.Page <= 0 {
		opts.Page = 1
	}

	searchQuery := "%" + opts.Keyword + "%"
	users = make([]*User, 0, opts.PageSize)
	// Append conditions
	sess := x.Where("LOWER(lower_name) LIKE ?", searchQuery).
		Or("LOWER(full_name) LIKE ?", searchQuery).
		And("type = ?", opts.Type)

	var countSess xorm.Session
	countSess = *sess
	count, err := countSess.Count(new(User))
	if err != nil {
		return nil, 0, fmt.Errorf("Count: %v", err)
	}

	if len(opts.OrderBy) > 0 {
		sess.OrderBy(opts.OrderBy)
	}
	return users, count, sess.Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).Find(&users)
}
开发者ID:jessezwd,项目名称:gogs,代码行数:34,代码来源:user.go

示例6: AddForTrans

func (this *ContentPuzzleActivityComponentPuzzleDbModel) AddForTrans(sess *xorm.Session, data ContentPuzzleActivityComponentPuzzle) ContentPuzzleActivityComponentPuzzle {
	_, err := sess.Insert(&data)
	if err != nil {
		panic(err)
	}
	return data
}
开发者ID:fishedee,项目名称:BakeWebOut,代码行数:7,代码来源:puzzleactivitycomponentpuzzledb.go

示例7: MarkOldArticlesRead

// Mark old articles read.
func MarkOldArticlesRead(session *xorm.Session) (affected int64, err error) {

	list, err := GetFeedListWithAmount(session)
	if err != nil {
		return
	}

	for _, item := range list {
		if int(*item.MaxUnread) > 0 && item.Unread > uint64(*item.MaxUnread) {
			n := int(item.Unread) - int(*item.MaxUnread)

			sql := "update Item set read=1 where id in (select id from Item where Fid = ? and Read = 0 order by Id asc limit ?)"
			result, e := session.Exec(sql, item.Id, n)
			if e != nil {
				err = e
				return
			}
			num, e := result.RowsAffected()
			if e != nil {
				err = e
				return
			}
			global.Logger.Infof("[TRIM DATA] in transaction: mark old articles read: feed id: %d, affected: %d", item.Id, num)
			affected += num
		}
	}

	return
}
开发者ID:allengaller,项目名称:qreader,代码行数:30,代码来源:fetchfeed.go

示例8: DeleteOldArticles

// Delete old articles which read=1.
func DeleteOldArticles(session *xorm.Session) (affected int64, err error) {

	list, err := GetFeedListWithAmount(session)
	if err != nil {
		return
	}

	for _, item := range list {
		if int(*item.MaxKeep) > 0 && (item.Amount-item.Unread > uint64(*item.MaxKeep)) {
			n := int(item.Amount - item.Unread - uint64(*item.MaxKeep))

			sql := "delete from Item where id in (select id from Item where Fid = ? and Read = 1 and starred = 0 order by Id asc limit ?)"
			result, e := session.Exec(sql, item.Id, n)
			if e != nil {
				err = e
				return
			}
			num, e := result.RowsAffected()
			if e != nil {
				err = e
				return
			}
			global.Logger.Infof("[TRIM DATA] in transaction: delete old articles which is read: feed id: %d, affected: %d", item.Id, num)
			affected += num
		}
	}

	return
}
开发者ID:allengaller,项目名称:qreader,代码行数:30,代码来源:fetchfeed.go

示例9: deletePublicKey

func deletePublicKey(e *xorm.Session, keyID int64) error {
	sshOpLocker.Lock()
	defer sshOpLocker.Unlock()

	key := &PublicKey{ID: keyID}
	has, err := e.Get(key)
	if err != nil {
		return err
	} else if !has {
		return nil
	}

	if _, err = e.Id(key.ID).Delete(new(PublicKey)); err != nil {
		return err
	}

	fpath := filepath.Join(SSHPath, "authorized_keys")
	tmpPath := filepath.Join(SSHPath, "authorized_keys.tmp")
	if err = rewriteAuthorizedKeys(key, fpath, tmpPath); err != nil {
		return err
	} else if err = os.Remove(fpath); err != nil {
		return err
	}
	return os.Rename(tmpPath, fpath)
}
开发者ID:GoNuuts,项目名称:gogs,代码行数:25,代码来源:publickey.go

示例10: deletePublicKey

func deletePublicKey(e *xorm.Session, keyID int64) error {
	sshOpLocker.Lock()
	defer sshOpLocker.Unlock()

	key := &PublicKey{ID: keyID}
	has, err := e.Get(key)
	if err != nil {
		return err
	} else if !has {
		return nil
	}

	if _, err = e.Id(key.ID).Delete(new(PublicKey)); err != nil {
		return err
	}

	// Don't need to rewrite this file if builtin SSH server is enabled.
	if setting.StartSSHServer {
		return nil
	}

	fpath := filepath.Join(setting.SSHRootPath, "authorized_keys")
	tmpPath := filepath.Join(setting.SSHRootPath, "authorized_keys.tmp")
	if err = rewriteAuthorizedKeys(key, fpath, tmpPath); err != nil {
		return err
	} else if err = os.Remove(fpath); err != nil {
		return err
	}
	return os.Rename(tmpPath, fpath)
}
开发者ID:cuteluo1983,项目名称:gogs,代码行数:30,代码来源:ssh_key.go

示例11: UpdateAccessWithSession

// UpdateAccess updates access information with session for rolling back.
func UpdateAccessWithSession(sess *xorm.Session, access *Access) error {
	if _, err := sess.Id(access.Id).Update(access); err != nil {
		sess.Rollback()
		return err
	}
	return nil
}
开发者ID:hilerchyn,项目名称:gogs,代码行数:8,代码来源:access.go

示例12: newIssueUsers

func newIssueUsers(e *xorm.Session, repo *Repository, issue *Issue) error {
	users, err := repo.GetAssignees()
	if err != nil {
		return err
	}

	iu := &IssueUser{
		IssueID: issue.ID,
		RepoID:  repo.ID,
	}

	// Poster can be anyone.
	isNeedAddPoster := true
	for _, u := range users {
		iu.ID = 0
		iu.UID = u.Id
		iu.IsPoster = iu.UID == issue.PosterID
		if isNeedAddPoster && iu.IsPoster {
			isNeedAddPoster = false
		}
		iu.IsAssigned = iu.UID == issue.AssigneeID
		if _, err = e.Insert(iu); err != nil {
			return err
		}
	}
	if isNeedAddPoster {
		iu.ID = 0
		iu.UID = issue.PosterID
		iu.IsPoster = true
		if _, err = e.Insert(iu); err != nil {
			return err
		}
	}
	return nil
}
开发者ID:chadoe,项目名称:gogs,代码行数:35,代码来源:issue.go

示例13: getOrgsByUserID

func getOrgsByUserID(sess *xorm.Session, userID int64, showAll bool) ([]*User, error) {
	orgs := make([]*User, 0, 10)
	if !showAll {
		sess.And("`org_user`.is_public=?", true)
	}
	return orgs, sess.And("`org_user`.uid=?", userID).
		Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id").Find(&orgs)
}
开发者ID:0rax,项目名称:gogs,代码行数:8,代码来源:org.go

示例14: deletePublicKeys

// deletePublicKeys does the actual key deletion but does not update authorized_keys file.
func deletePublicKeys(e *xorm.Session, keyIDs ...int64) error {
	if len(keyIDs) == 0 {
		return nil
	}

	_, err := e.In("id", strings.Join(base.Int64sToStrings(keyIDs), ",")).Delete(new(PublicKey))
	return err
}
开发者ID:andreynering,项目名称:gogs,代码行数:9,代码来源:ssh_key.go

示例15: GetByComponentIdForTrans

func (this *ContentPuzzleActivityComponentPuzzleDbModel) GetByComponentIdForTrans(sess *xorm.Session, componentId int) []ContentPuzzleActivityComponentPuzzle {
	result := []ContentPuzzleActivityComponentPuzzle{}
	err := sess.Sql("select * from t_content_puzzle_activity_component_puzzle where contentPuzzleActivityComponentId = ? for update", componentId).Find(&result)
	if err != nil {
		panic(err)
	}
	return result
}
开发者ID:fishedee,项目名称:BakeWebOut,代码行数:8,代码来源:puzzleactivitycomponentpuzzledb.go


注:本文中的github.com/go-xorm/xorm.Session类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。