Replace SELECT * with explicit column lists in sqlstore (#31356)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
65d3d5984f
Коммит
2ddb8e5d0a
@@ -441,8 +441,9 @@ func (s *SqlRetentionPolicyStore) Delete(id string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *SqlRetentionPolicyStore) GetChannels(policyId string, offset, limit int) (model.ChannelListWithTeamData, error) {
|
func (s *SqlRetentionPolicyStore) GetChannels(policyId string, offset, limit int) (model.ChannelListWithTeamData, error) {
|
||||||
query := s.getQueryBuilder().Select(`Channels.*, Teams.DisplayName AS TeamDisplayName,
|
query := s.getQueryBuilder().
|
||||||
Teams.Name AS TeamName,Teams.UpdateAt AS TeamUpdateAt`).
|
Select("Teams.DisplayName AS TeamDisplayName", "Teams.Name AS TeamName", "Teams.UpdateAt AS TeamUpdateAt").
|
||||||
|
Columns(channelSliceColumns(true, "Channels")...).
|
||||||
From("RetentionPoliciesChannels").
|
From("RetentionPoliciesChannels").
|
||||||
InnerJoin("Channels ON RetentionPoliciesChannels.ChannelId = Channels.Id").
|
InnerJoin("Channels ON RetentionPoliciesChannels.ChannelId = Channels.Id").
|
||||||
InnerJoin("Teams ON Channels.TeamId = Teams.Id").
|
InnerJoin("Teams ON Channels.TeamId = Teams.Id").
|
||||||
@@ -550,7 +551,7 @@ func (s *SqlRetentionPolicyStore) RemoveChannels(policyId string, channelIds []s
|
|||||||
|
|
||||||
func (s *SqlRetentionPolicyStore) GetTeams(policyId string, offset, limit int) ([]*model.Team, error) {
|
func (s *SqlRetentionPolicyStore) GetTeams(policyId string, offset, limit int) ([]*model.Team, error) {
|
||||||
query := s.getQueryBuilder().
|
query := s.getQueryBuilder().
|
||||||
Select("Teams.*").
|
Select(teamSliceColumns()...).
|
||||||
From("RetentionPoliciesTeams").
|
From("RetentionPoliciesTeams").
|
||||||
InnerJoin("Teams ON RetentionPoliciesTeams.TeamId = Teams.Id").
|
InnerJoin("Teams ON RetentionPoliciesTeams.TeamId = Teams.Id").
|
||||||
Where(sq.Eq{"RetentionPoliciesTeams.PolicyId": policyId}).
|
Where(sq.Eq{"RetentionPoliciesTeams.PolicyId": policyId}).
|
||||||
@@ -858,7 +859,7 @@ func scanRetentionIdsForDeletion(rows *sql.Rows, isPostgres bool) ([]*model.Rete
|
|||||||
|
|
||||||
func (s *SqlRetentionPolicyStore) GetIdsForDeletionByTableName(tableName string, limit int) ([]*model.RetentionIdsForDeletion, error) {
|
func (s *SqlRetentionPolicyStore) GetIdsForDeletionByTableName(tableName string, limit int) ([]*model.RetentionIdsForDeletion, error) {
|
||||||
query := s.getQueryBuilder().
|
query := s.getQueryBuilder().
|
||||||
Select("*").
|
Select("Id", "TableName", "Ids").
|
||||||
From("RetentionIdsForDeletion").
|
From("RetentionIdsForDeletion").
|
||||||
Where(
|
Where(
|
||||||
sq.Eq{"TableName": tableName},
|
sq.Eq{"TableName": tableName},
|
||||||
|
|||||||
@@ -383,7 +383,18 @@ func (s *SqlRoleStore) ChannelHigherScopedPermissions(roleNames []string) (map[s
|
|||||||
|
|
||||||
func (s *SqlRoleStore) AllChannelSchemeRoles() ([]*model.Role, error) {
|
func (s *SqlRoleStore) AllChannelSchemeRoles() ([]*model.Role, error) {
|
||||||
query := s.getQueryBuilder().
|
query := s.getQueryBuilder().
|
||||||
Select("Roles.*").
|
Select(
|
||||||
|
"Roles.Id",
|
||||||
|
"Roles.Name",
|
||||||
|
"Roles.DisplayName",
|
||||||
|
"Roles.Description",
|
||||||
|
"Roles.CreateAt",
|
||||||
|
"Roles.UpdateAt",
|
||||||
|
"Roles.DeleteAt",
|
||||||
|
"Roles.Permissions",
|
||||||
|
"Roles.SchemeManaged",
|
||||||
|
"Roles.BuiltIn",
|
||||||
|
).
|
||||||
From("Schemes").
|
From("Schemes").
|
||||||
Join("Roles ON Schemes.DefaultChannelGuestRole = Roles.Name OR Schemes.DefaultChannelUserRole = Roles.Name OR Schemes.DefaultChannelAdminRole = Roles.Name").
|
Join("Roles ON Schemes.DefaultChannelGuestRole = Roles.Name OR Schemes.DefaultChannelUserRole = Roles.Name OR Schemes.DefaultChannelAdminRole = Roles.Name").
|
||||||
Where(sq.Eq{"Schemes.Scope": model.SchemeScopeChannel}).
|
Where(sq.Eq{"Schemes.Scope": model.SchemeScopeChannel}).
|
||||||
@@ -411,7 +422,18 @@ func (s *SqlRoleStore) AllChannelSchemeRoles() ([]*model.Role, error) {
|
|||||||
// ChannelRolesUnderTeamRole finds all of the channel-scheme roles under the team of the given team-scheme role.
|
// ChannelRolesUnderTeamRole finds all of the channel-scheme roles under the team of the given team-scheme role.
|
||||||
func (s *SqlRoleStore) ChannelRolesUnderTeamRole(roleName string) ([]*model.Role, error) {
|
func (s *SqlRoleStore) ChannelRolesUnderTeamRole(roleName string) ([]*model.Role, error) {
|
||||||
query := s.getQueryBuilder().
|
query := s.getQueryBuilder().
|
||||||
Select("ChannelSchemeRoles.*").
|
Select(
|
||||||
|
"ChannelSchemeRoles.Id",
|
||||||
|
"ChannelSchemeRoles.Name",
|
||||||
|
"ChannelSchemeRoles.DisplayName",
|
||||||
|
"ChannelSchemeRoles.Description",
|
||||||
|
"ChannelSchemeRoles.CreateAt",
|
||||||
|
"ChannelSchemeRoles.UpdateAt",
|
||||||
|
"ChannelSchemeRoles.DeleteAt",
|
||||||
|
"ChannelSchemeRoles.Permissions",
|
||||||
|
"ChannelSchemeRoles.SchemeManaged",
|
||||||
|
"ChannelSchemeRoles.BuiltIn",
|
||||||
|
).
|
||||||
From("Roles AS HigherScopedRoles").
|
From("Roles AS HigherScopedRoles").
|
||||||
Join("Schemes AS HigherScopedSchemes ON (HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelGuestRole OR HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelUserRole OR HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelAdminRole)").
|
Join("Schemes AS HigherScopedSchemes ON (HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelGuestRole OR HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelUserRole OR HigherScopedRoles.Name = HigherScopedSchemes.DefaultChannelAdminRole)").
|
||||||
Join("Teams ON Teams.SchemeId = HigherScopedSchemes.Id").
|
Join("Teams ON Teams.SchemeId = HigherScopedSchemes.Id").
|
||||||
|
|||||||
@@ -418,7 +418,26 @@ func (s *SqlSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*mod
|
|||||||
schemes := []*model.Scheme{}
|
schemes := []*model.Scheme{}
|
||||||
|
|
||||||
query := s.getQueryBuilder().
|
query := s.getQueryBuilder().
|
||||||
Select("*").
|
Select(
|
||||||
|
"Id",
|
||||||
|
"Name",
|
||||||
|
"DisplayName",
|
||||||
|
"Description",
|
||||||
|
"Scope",
|
||||||
|
"DefaultTeamAdminRole",
|
||||||
|
"DefaultTeamUserRole",
|
||||||
|
"DefaultTeamGuestRole",
|
||||||
|
"DefaultChannelAdminRole",
|
||||||
|
"DefaultChannelUserRole",
|
||||||
|
"DefaultChannelGuestRole",
|
||||||
|
"CreateAt",
|
||||||
|
"UpdateAt",
|
||||||
|
"DeleteAt",
|
||||||
|
"DefaultPlaybookAdminRole",
|
||||||
|
"DefaultPlaybookMemberRole",
|
||||||
|
"DefaultRunAdminRole",
|
||||||
|
"DefaultRunMemberRole",
|
||||||
|
).
|
||||||
From("Schemes").
|
From("Schemes").
|
||||||
Where(sq.Eq{"DeleteAt": 0}).
|
Where(sq.Eq{"DeleteAt": 0}).
|
||||||
OrderBy("CreateAt DESC").
|
OrderBy("CreateAt DESC").
|
||||||
|
|||||||
@@ -558,7 +558,23 @@ func (s SqlSharedChannelStore) HasRemote(channelID string, remoteId string) (boo
|
|||||||
// shared with the remote.
|
// shared with the remote.
|
||||||
func (s SqlSharedChannelStore) GetRemoteForUser(remoteId string, userId string) (*model.RemoteCluster, error) {
|
func (s SqlSharedChannelStore) GetRemoteForUser(remoteId string, userId string) (*model.RemoteCluster, error) {
|
||||||
builder := s.getQueryBuilder().
|
builder := s.getQueryBuilder().
|
||||||
Select("rc.*").
|
Select(
|
||||||
|
"rc.RemoteId",
|
||||||
|
"rc.RemoteTeamId",
|
||||||
|
"rc.Name",
|
||||||
|
"rc.DisplayName",
|
||||||
|
"rc.SiteURL",
|
||||||
|
"rc.DefaultTeamId",
|
||||||
|
"rc.CreateAt",
|
||||||
|
"rc.DeleteAt",
|
||||||
|
"rc.LastPingAt",
|
||||||
|
"rc.Token",
|
||||||
|
"rc.RemoteToken",
|
||||||
|
"rc.Topics",
|
||||||
|
"rc.CreatorId",
|
||||||
|
"rc.PluginID",
|
||||||
|
"rc.Options",
|
||||||
|
).
|
||||||
From("RemoteClusters AS rc").
|
From("RemoteClusters AS rc").
|
||||||
Join("SharedChannelRemotes AS scr ON rc.RemoteId = scr.RemoteId").
|
Join("SharedChannelRemotes AS scr ON rc.RemoteId = scr.RemoteId").
|
||||||
Join("ChannelMembers AS cm ON scr.ChannelId = cm.ChannelId").
|
Join("ChannelMembers AS cm ON scr.ChannelId = cm.ChannelId").
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ type teamMemberWithSchemeRolesList []teamMemberWithSchemeRoles
|
|||||||
func teamMemberSliceColumns() []string {
|
func teamMemberSliceColumns() []string {
|
||||||
return []string{"TeamId", "UserId", "Roles", "DeleteAt", "SchemeUser", "SchemeAdmin", "SchemeGuest", "CreateAt"}
|
return []string{"TeamId", "UserId", "Roles", "DeleteAt", "SchemeUser", "SchemeAdmin", "SchemeGuest", "CreateAt"}
|
||||||
}
|
}
|
||||||
|
|
||||||
func teamMemberToSlice(member *model.TeamMember) []any {
|
func teamMemberToSlice(member *model.TeamMember) []any {
|
||||||
resultSlice := []any{}
|
resultSlice := []any{}
|
||||||
resultSlice = append(resultSlice, member.TeamId)
|
resultSlice = append(resultSlice, member.TeamId)
|
||||||
@@ -207,31 +208,35 @@ func (db teamMemberWithSchemeRolesList) ToModel() []*model.TeamMember {
|
|||||||
return tms
|
return tms
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func teamSliceColumns() []string {
|
||||||
|
return []string{
|
||||||
|
"Teams.Id",
|
||||||
|
"Teams.CreateAt",
|
||||||
|
"Teams.UpdateAt",
|
||||||
|
"Teams.DeleteAt",
|
||||||
|
"Teams.DisplayName",
|
||||||
|
"Teams.Name",
|
||||||
|
"Teams.Description",
|
||||||
|
"Teams.Email",
|
||||||
|
"Teams.Type",
|
||||||
|
"Teams.CompanyName",
|
||||||
|
"Teams.AllowedDomains",
|
||||||
|
"Teams.InviteId",
|
||||||
|
"Teams.AllowOpenInvite",
|
||||||
|
"Teams.LastTeamIconUpdate",
|
||||||
|
"Teams.SchemeId",
|
||||||
|
"Teams.GroupConstrained",
|
||||||
|
"Teams.CloudLimitsArchived",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func newSqlTeamStore(sqlStore *SqlStore) store.TeamStore {
|
func newSqlTeamStore(sqlStore *SqlStore) store.TeamStore {
|
||||||
s := &SqlTeamStore{
|
s := &SqlTeamStore{
|
||||||
SqlStore: sqlStore,
|
SqlStore: sqlStore,
|
||||||
}
|
}
|
||||||
|
|
||||||
s.teamsQuery = s.getQueryBuilder().
|
s.teamsQuery = s.getQueryBuilder().
|
||||||
Select(
|
Select(teamSliceColumns()...).
|
||||||
"Teams.Id",
|
|
||||||
"Teams.CreateAt",
|
|
||||||
"Teams.UpdateAt",
|
|
||||||
"Teams.DeleteAt",
|
|
||||||
"Teams.DisplayName",
|
|
||||||
"Teams.Name",
|
|
||||||
"Teams.Description",
|
|
||||||
"Teams.Email",
|
|
||||||
"Teams.Type",
|
|
||||||
"Teams.CompanyName",
|
|
||||||
"Teams.AllowedDomains",
|
|
||||||
"Teams.InviteId",
|
|
||||||
"Teams.AllowOpenInvite",
|
|
||||||
"Teams.LastTeamIconUpdate",
|
|
||||||
"Teams.SchemeId",
|
|
||||||
"Teams.GroupConstrained",
|
|
||||||
"Teams.CloudLimitsArchived",
|
|
||||||
).
|
|
||||||
From("Teams")
|
From("Teams")
|
||||||
|
|
||||||
s.teamMembersQuery = s.getQueryBuilder().
|
s.teamMembersQuery = s.getQueryBuilder().
|
||||||
@@ -415,7 +420,6 @@ func (s SqlTeamStore) GetByNames(names []string) ([]*model.Team, error) {
|
|||||||
uniqueNames := utils.RemoveDuplicatesFromStringArray(names)
|
uniqueNames := utils.RemoveDuplicatesFromStringArray(names)
|
||||||
|
|
||||||
query, args, err := s.teamsQuery.Where(sq.Eq{"Name": uniqueNames}).ToSql()
|
query, args, err := s.teamsQuery.Where(sq.Eq{"Name": uniqueNames}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -597,7 +601,6 @@ func (s SqlTeamStore) GetAll() ([]*model.Team, error) {
|
|||||||
teams := []*model.Team{}
|
teams := []*model.Team{}
|
||||||
|
|
||||||
query, args, err := s.teamsQuery.OrderBy("DisplayName").ToSql()
|
query, args, err := s.teamsQuery.OrderBy("DisplayName").ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -639,7 +642,6 @@ func (s SqlTeamStore) GetAllPage(offset int, limit int, opts *model.TeamSearch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
query, args, err := builder.ToSql()
|
query, args, err := builder.ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -721,7 +723,6 @@ func (s SqlTeamStore) AnalyticsTeamCount(opts *model.TeamSearch) (int64, error)
|
|||||||
|
|
||||||
var c int64
|
var c int64
|
||||||
err = s.GetReplica().Get(&c, queryString, args...)
|
err = s.GetReplica().Get(&c, queryString, args...)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return int64(0), errors.Wrap(err, "failed to count Teams")
|
return int64(0), errors.Wrap(err, "failed to count Teams")
|
||||||
}
|
}
|
||||||
@@ -1170,13 +1171,11 @@ func (s SqlTeamStore) GetChannelUnreadsForAllTeams(excludeTeamId, userId string)
|
|||||||
Join("ChannelMembers ON Id = ChannelId").
|
Join("ChannelMembers ON Id = ChannelId").
|
||||||
Where(sq.Eq{"UserId": userId, "DeleteAt": 0}).
|
Where(sq.Eq{"UserId": userId, "DeleteAt": 0}).
|
||||||
Where(sq.NotEq{"TeamId": excludeTeamId}).ToSql()
|
Where(sq.NotEq{"TeamId": excludeTeamId}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
data := []*model.ChannelUnread{}
|
data := []*model.ChannelUnread{}
|
||||||
err = s.GetReplica().Select(&data, query, args...)
|
err = s.GetReplica().Select(&data, query, args...)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "failed to find Channels with userId=%s and teamId!=%s", userId, excludeTeamId)
|
return nil, errors.Wrapf(err, "failed to find Channels with userId=%s and teamId!=%s", userId, excludeTeamId)
|
||||||
}
|
}
|
||||||
@@ -1191,14 +1190,12 @@ func (s SqlTeamStore) GetChannelUnreadsForTeam(teamId, userId string) ([]*model.
|
|||||||
From("Channels").
|
From("Channels").
|
||||||
Join("ChannelMembers ON Id = ChannelId").
|
Join("ChannelMembers ON Id = ChannelId").
|
||||||
Where(sq.Eq{"UserId": userId, "TeamId": teamId, "DeleteAt": 0}).ToSql()
|
Where(sq.Eq{"UserId": userId, "TeamId": teamId, "DeleteAt": 0}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
|
|
||||||
channels := []*model.ChannelUnread{}
|
channels := []*model.ChannelUnread{}
|
||||||
err = s.GetReplica().Select(&channels, query, args...)
|
err = s.GetReplica().Select(&channels, query, args...)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "failed to find Channels with teamId=%s and userId=%s", teamId, userId)
|
return nil, errors.Wrapf(err, "failed to find Channels with teamId=%s and userId=%s", teamId, userId)
|
||||||
}
|
}
|
||||||
@@ -1283,7 +1280,6 @@ func (s SqlTeamStore) GetTeamsByScheme(schemeId string, offset int, limit int) (
|
|||||||
OrderBy("DisplayName").
|
OrderBy("DisplayName").
|
||||||
Limit(uint64(limit)).
|
Limit(uint64(limit)).
|
||||||
Offset(uint64(offset)).ToSql()
|
Offset(uint64(offset)).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -1454,7 +1450,6 @@ func (s SqlTeamStore) AnalyticsGetTeamCountForScheme(schemeId string) (int64, er
|
|||||||
Select("count(*)").
|
Select("count(*)").
|
||||||
From("Teams").
|
From("Teams").
|
||||||
Where(sq.Eq{"SchemeId": schemeId, "DeleteAt": 0}).ToSql()
|
Where(sq.Eq{"SchemeId": schemeId, "DeleteAt": 0}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, errors.Wrap(err, "team_tosql")
|
return 0, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -1472,13 +1467,13 @@ func (s SqlTeamStore) AnalyticsGetTeamCountForScheme(schemeId string) (int64, er
|
|||||||
func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, error) {
|
func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, error) {
|
||||||
data := []*model.TeamForExport{}
|
data := []*model.TeamForExport{}
|
||||||
query, args, err := s.getQueryBuilder().
|
query, args, err := s.getQueryBuilder().
|
||||||
Select("Teams.*", "Schemes.Name as SchemeName").
|
Select(teamSliceColumns()...).
|
||||||
|
Column("Schemes.Name as SchemeName").
|
||||||
From("Teams").
|
From("Teams").
|
||||||
LeftJoin("Schemes ON Teams.SchemeId = Schemes.Id").
|
LeftJoin("Schemes ON Teams.SchemeId = Schemes.Id").
|
||||||
Where(sq.Gt{"Teams.Id": afterId}).
|
Where(sq.Gt{"Teams.Id": afterId}).
|
||||||
OrderBy("Id").
|
OrderBy("Id").
|
||||||
Limit(uint64(limit)).ToSql()
|
Limit(uint64(limit)).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -1499,7 +1494,6 @@ func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) ([]stri
|
|||||||
From("TeamMembers").
|
From("TeamMembers").
|
||||||
Join("Teams ON TeamMembers.TeamId = Teams.Id").
|
Join("Teams ON TeamMembers.TeamId = Teams.Id").
|
||||||
Where(sq.Eq{"TeamMembers.UserId": userId, "TeamMembers.DeleteAt": 0, "Teams.DeleteAt": 0}).ToSql()
|
Where(sq.Eq{"TeamMembers.UserId": userId, "TeamMembers.DeleteAt": 0, "Teams.DeleteAt": 0}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []string{}, errors.Wrap(err, "team_tosql")
|
return []string{}, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
@@ -1589,7 +1583,6 @@ func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMembe
|
|||||||
From("TeamMembers").
|
From("TeamMembers").
|
||||||
Join("Teams ON TeamMembers.TeamId = Teams.Id").
|
Join("Teams ON TeamMembers.TeamId = Teams.Id").
|
||||||
Where(sq.Eq{"TeamMembers.UserId": userId, "Teams.DeleteAt": 0}).ToSql()
|
Where(sq.Eq{"TeamMembers.UserId": userId, "Teams.DeleteAt": 0}).ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "team_tosql")
|
return nil, errors.Wrap(err, "team_tosql")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,32 @@ import (
|
|||||||
|
|
||||||
type SqlUploadSessionStore struct {
|
type SqlUploadSessionStore struct {
|
||||||
*SqlStore
|
*SqlStore
|
||||||
|
|
||||||
|
uploadSessionQuery sq.SelectBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
func newSqlUploadSessionStore(sqlStore *SqlStore) store.UploadSessionStore {
|
func newSqlUploadSessionStore(sqlStore *SqlStore) store.UploadSessionStore {
|
||||||
return &SqlUploadSessionStore{
|
s := &SqlUploadSessionStore{
|
||||||
SqlStore: sqlStore,
|
SqlStore: sqlStore,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.uploadSessionQuery = s.getQueryBuilder().
|
||||||
|
Select(
|
||||||
|
"Id",
|
||||||
|
"Type",
|
||||||
|
"CreateAt",
|
||||||
|
"UserId",
|
||||||
|
"ChannelId",
|
||||||
|
"Filename",
|
||||||
|
"Path",
|
||||||
|
"FileSize",
|
||||||
|
"FileOffset",
|
||||||
|
"RemoteId",
|
||||||
|
"ReqFileId",
|
||||||
|
).
|
||||||
|
From("UploadSessions")
|
||||||
|
|
||||||
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
func (us SqlUploadSessionStore) Save(session *model.UploadSession) (*model.UploadSession, error) {
|
func (us SqlUploadSessionStore) Save(session *model.UploadSession) (*model.UploadSession, error) {
|
||||||
@@ -83,9 +103,7 @@ func (us SqlUploadSessionStore) Get(c request.CTX, id string) (*model.UploadSess
|
|||||||
if !model.IsValidId(id) {
|
if !model.IsValidId(id) {
|
||||||
return nil, errors.New("SqlUploadSessionStore.Get: id is not valid")
|
return nil, errors.New("SqlUploadSessionStore.Get: id is not valid")
|
||||||
}
|
}
|
||||||
query, args, err := us.getQueryBuilder().
|
query, args, err := us.uploadSessionQuery.
|
||||||
Select("*").
|
|
||||||
From("UploadSessions").
|
|
||||||
Where(sq.Eq{"Id": id}).
|
Where(sq.Eq{"Id": id}).
|
||||||
ToSql()
|
ToSql()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -102,9 +120,7 @@ func (us SqlUploadSessionStore) Get(c request.CTX, id string) (*model.UploadSess
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (us SqlUploadSessionStore) GetForUser(userId string) ([]*model.UploadSession, error) {
|
func (us SqlUploadSessionStore) GetForUser(userId string) ([]*model.UploadSession, error) {
|
||||||
query, args, err := us.getQueryBuilder().
|
query, args, err := us.uploadSessionQuery.
|
||||||
Select("*").
|
|
||||||
From("UploadSessions").
|
|
||||||
Where(sq.Eq{"UserId": userId}).
|
Where(sq.Eq{"UserId": userId}).
|
||||||
OrderBy("CreateAt ASC").
|
OrderBy("CreateAt ASC").
|
||||||
ToSql()
|
ToSql()
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user