Files
backend/internal/repository/membership_repo/update.go
T
2026-07-15 22:42:31 +08:00

57 lines
1.2 KiB
Go

package membership_repo
import (
"github.com/XingfenD/yoresee_doc/internal/model"
"gorm.io/gorm"
)
type UpdateUserGroupOperation struct {
repo *MembershipRepository
group *model.UserGroupMeta
tx *gorm.DB
}
func (r *MembershipRepository) UpdateUserGroup(group *model.UserGroupMeta) *UpdateUserGroupOperation {
return &UpdateUserGroupOperation{
repo: r,
group: group,
}
}
func (op *UpdateUserGroupOperation) WithTx(tx *gorm.DB) *UpdateUserGroupOperation {
op.tx = tx
return op
}
func (op *UpdateUserGroupOperation) Exec() error {
if op.tx != nil {
return op.tx.Save(op.group).Error
}
return op.repo.db.Save(op.group).Error
}
type UpdateOrgNodeOperation struct {
repo *MembershipRepository
orgNode *model.OrgNodeMeta
tx *gorm.DB
}
func (r *MembershipRepository) UpdateOrgNode(orgNode *model.OrgNodeMeta) *UpdateOrgNodeOperation {
return &UpdateOrgNodeOperation{
repo: r,
orgNode: orgNode,
}
}
func (op *UpdateOrgNodeOperation) WithTx(tx *gorm.DB) *UpdateOrgNodeOperation {
op.tx = tx
return op
}
func (op *UpdateOrgNodeOperation) Exec() error {
if op.tx != nil {
return op.tx.Save(op.orgNode).Error
}
return op.repo.db.Save(op.orgNode).Error
}