PLT-7 adding loc db calls for team table

Этот коммит содержится в:
=Corey Hulen
2016-01-20 08:33:26 -06:00
родитель ca33812cb5
Коммит 5b2ec62347
12 изменённых файлов: 113 добавлений и 109 удалений

Просмотреть файл

@@ -387,7 +387,7 @@ func (c *Context) setTeamURL(url string, valid bool) {
} }
func (c *Context) SetTeamURLFromSession() { func (c *Context) SetTeamURLFromSession() {
if result := <-Srv.Store.Team().Get(c.Session.TeamId); result.Err == nil { if result := <-Srv.Store.Team().Get(c.T, c.Session.TeamId); result.Err == nil {
c.setTeamURL(c.GetSiteURL()+"/"+result.Data.(*model.Team).Name, true) c.setTeamURL(c.GetSiteURL()+"/"+result.Data.(*model.Team).Name, true)
} }
} }

Просмотреть файл

@@ -6,10 +6,12 @@ package api
import ( import (
"archive/zip" "archive/zip"
"encoding/json" "encoding/json"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
"io" "io"
"os" "os"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
goi18n "github.com/nicksnyder/go-i18n/i18n"
) )
const ( const (
@@ -51,19 +53,19 @@ func ExportOptionsFromJson(data io.Reader) *ExportOptions {
return &o return &o
} }
func ExportToFile(options *ExportOptions) (link string, err *model.AppError) { func ExportToFile(T goi18n.TranslateFunc, options *ExportOptions) (link string, err *model.AppError) {
// Open file for export // Open file for export
if file, err := openFileWriteStream(EXPORT_PATH + EXPORT_FILENAME); err != nil { if file, err := openFileWriteStream(EXPORT_PATH + EXPORT_FILENAME); err != nil {
return "", err return "", err
} else { } else {
defer closeFileWriteStream(file) defer closeFileWriteStream(file)
ExportToWriter(file, options) ExportToWriter(T, file, options)
} }
return "/api/v1/files/get_export", nil return "/api/v1/files/get_export", nil
} }
func ExportToWriter(w io.Writer, options *ExportOptions) *model.AppError { func ExportToWriter(T goi18n.TranslateFunc, w io.Writer, options *ExportOptions) *model.AppError {
// Open a writer to write to zip file // Open a writer to write to zip file
zipWriter := zip.NewWriter(w) zipWriter := zip.NewWriter(w)
defer zipWriter.Close() defer zipWriter.Close()
@@ -78,23 +80,23 @@ func ExportToWriter(w io.Writer, options *ExportOptions) *model.AppError {
} }
// Export Teams // Export Teams
ExportTeams(zipWriter, options) ExportTeams(T, zipWriter, options)
return nil return nil
} }
func ExportTeams(writer ExportWriter, options *ExportOptions) *model.AppError { func ExportTeams(T goi18n.TranslateFunc, writer ExportWriter, options *ExportOptions) *model.AppError {
// Get the teams // Get the teams
var teams []*model.Team var teams []*model.Team
if len(options.TeamsToExport) == 0 { if len(options.TeamsToExport) == 0 {
if result := <-Srv.Store.Team().GetAll(); result.Err != nil { if result := <-Srv.Store.Team().GetAll(T); result.Err != nil {
return result.Err return result.Err
} else { } else {
teams = result.Data.([]*model.Team) teams = result.Data.([]*model.Team)
} }
} else { } else {
for _, teamId := range options.TeamsToExport { for _, teamId := range options.TeamsToExport {
if result := <-Srv.Store.Team().Get(teamId); result.Err != nil { if result := <-Srv.Store.Team().Get(T, teamId); result.Err != nil {
return result.Err return result.Err
} else { } else {
team := result.Data.(*model.Team) team := result.Data.(*model.Team)

Просмотреть файл

@@ -205,7 +205,7 @@ func CreateWebhookPost(c *Context, channelId, text, overrideUsername, overrideIc
func handlePostEventsAndForget(c *Context, post *model.Post, triggerWebhooks bool) { func handlePostEventsAndForget(c *Context, post *model.Post, triggerWebhooks bool) {
go func() { go func() {
tchan := Srv.Store.Team().Get(c.Session.TeamId) tchan := Srv.Store.Team().Get(c.T, c.Session.TeamId)
cchan := Srv.Store.Channel().Get(post.ChannelId) cchan := Srv.Store.Channel().Get(post.ChannelId)
uchan := Srv.Store.User().Get(post.UserId) uchan := Srv.Store.User().Get(post.UserId)

Просмотреть файл

@@ -128,7 +128,7 @@ func createTeamFromSSO(c *Context, w http.ResponseWriter, r *http.Request) {
} }
} }
if result := <-Srv.Store.Team().Save(team); result.Err != nil { if result := <-Srv.Store.Team().Save(c.T, team); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -209,7 +209,7 @@ func createTeamFromSignup(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
if result := <-Srv.Store.Team().Save(&teamSignup.Team); result.Err != nil { if result := <-Srv.Store.Team().Save(c.T, &teamSignup.Team); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -264,7 +264,7 @@ func CreateTeam(c *Context, team *model.Team) *model.Team {
return nil return nil
} }
if result := <-Srv.Store.Team().Save(team); result.Err != nil { if result := <-Srv.Store.Team().Save(c.T, team); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return nil return nil
} else { } else {
@@ -313,7 +313,7 @@ func getAll(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
if result := <-Srv.Store.Team().GetAll(); result.Err != nil { if result := <-Srv.Store.Team().GetAll(c.T); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -382,7 +382,7 @@ func FindTeamByName(c *Context, name string, all string) bool {
return false return false
} }
if result := <-Srv.Store.Team().GetByName(name); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, name); result.Err != nil {
return false return false
} else { } else {
return true return true
@@ -402,7 +402,7 @@ func findTeams(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
if result := <-Srv.Store.Team().GetTeamsForEmail(email); result.Err != nil { if result := <-Srv.Store.Team().GetTeamsForEmail(c.T, email); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -433,7 +433,7 @@ func emailTeams(c *Context, w http.ResponseWriter, r *http.Request) {
bodyPage := NewServerTemplatePage("find_teams_body") bodyPage := NewServerTemplatePage("find_teams_body")
bodyPage.ClientCfg["SiteURL"] = c.GetSiteURL() bodyPage.ClientCfg["SiteURL"] = c.GetSiteURL()
if result := <-Srv.Store.Team().GetTeamsForEmail(email); result.Err != nil { if result := <-Srv.Store.Team().GetTeamsForEmail(c.T, email); result.Err != nil {
c.Err = result.Err c.Err = result.Err
} else { } else {
teams := result.Data.([]*model.Team) teams := result.Data.([]*model.Team)
@@ -461,7 +461,7 @@ func inviteMembers(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
tchan := Srv.Store.Team().Get(c.Session.TeamId) tchan := Srv.Store.Team().Get(c.T, c.Session.TeamId)
uchan := Srv.Store.User().Get(c.Session.UserId) uchan := Srv.Store.User().Get(c.Session.UserId)
var team *model.Team var team *model.Team
@@ -561,7 +561,7 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) {
} }
var oldTeam *model.Team var oldTeam *model.Team
if result := <-Srv.Store.Team().Get(team.Id); result.Err != nil { if result := <-Srv.Store.Team().Get(c.T, team.Id); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -576,7 +576,7 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) {
oldTeam.AllowedDomains = team.AllowedDomains oldTeam.AllowedDomains = team.AllowedDomains
//oldTeam.Type = team.Type //oldTeam.Type = team.Type
if result := <-Srv.Store.Team().Update(oldTeam); result.Err != nil { if result := <-Srv.Store.Team().Update(c.T, oldTeam); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} }
@@ -592,7 +592,7 @@ func PermanentDeleteTeam(c *Context, team *model.Team) *model.AppError {
c.LogAuditWithUserId("", fmt.Sprintf("attempt teamId=%v", team.Id)) c.LogAuditWithUserId("", fmt.Sprintf("attempt teamId=%v", team.Id))
team.DeleteAt = model.GetMillis() team.DeleteAt = model.GetMillis()
if result := <-Srv.Store.Team().Update(team); result.Err != nil { if result := <-Srv.Store.Team().Update(c.T, team); result.Err != nil {
return result.Err return result.Err
} }
@@ -609,7 +609,7 @@ func PermanentDeleteTeam(c *Context, team *model.Team) *model.AppError {
return result.Err return result.Err
} }
if result := <-Srv.Store.Team().PermanentDelete(team.Id); result.Err != nil { if result := <-Srv.Store.Team().PermanentDelete(c.T, team.Id); result.Err != nil {
return result.Err return result.Err
} }
@@ -625,7 +625,7 @@ func getMyTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
if result := <-Srv.Store.Team().Get(c.Session.TeamId); result.Err != nil { if result := <-Srv.Store.Team().Get(c.T, c.Session.TeamId); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else if HandleEtag(result.Data.(*model.Team).Etag(), w, r) { } else if HandleEtag(result.Data.(*model.Team).Etag(), w, r) {
@@ -714,7 +714,7 @@ func exportTeam(c *Context, w http.ResponseWriter, r *http.Request) {
options := ExportOptionsFromJson(r.Body) options := ExportOptionsFromJson(r.Body)
if link, err := ExportToFile(options); err != nil { if link, err := ExportToFile(c.T, options); err != nil {
c.Err = err c.Err = err
return return
} else { } else {

Просмотреть файл

@@ -84,7 +84,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().Get(user.TeamId); result.Err != nil { if result := <-Srv.Store.Team().Get(c.T, user.TeamId); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -264,7 +264,7 @@ func CreateOAuthUser(c *Context, w http.ResponseWriter, r *http.Request, service
if team.Email == "" { if team.Email == "" {
team.Email = user.Email team.Email = user.Email
if result := <-Srv.Store.Team().Update(team); result.Err != nil { if result := <-Srv.Store.Team().Update(c.T, team); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return nil return nil
} }
@@ -404,7 +404,7 @@ func LoginById(c *Context, w http.ResponseWriter, r *http.Request, userId, passw
func LoginByEmail(c *Context, w http.ResponseWriter, r *http.Request, email, name, password, deviceId string) *model.User { func LoginByEmail(c *Context, w http.ResponseWriter, r *http.Request, email, name, password, deviceId string) *model.User {
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().GetByName(name); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, name); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return nil return nil
} else { } else {
@@ -659,7 +659,7 @@ func loginLdap(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} }
teamc := Srv.Store.Team().GetByName(teamName) teamc := Srv.Store.Team().GetByName(c.T, teamName)
ldapInterface := einterfaces.GetLdapInterface() ldapInterface := einterfaces.GetLdapInterface()
if ldapInterface == nil { if ldapInterface == nil {
@@ -1134,7 +1134,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
rusers := result.Data.([2]*model.User) rusers := result.Data.([2]*model.User)
if rusers[0].Email != rusers[1].Email { if rusers[0].Email != rusers[1].Email {
if tresult := <-Srv.Store.Team().Get(rusers[1].TeamId); tresult.Err != nil { if tresult := <-Srv.Store.Team().Get(c.T, rusers[1].TeamId); tresult.Err != nil {
l4g.Error(tresult.Err.Message) l4g.Error(tresult.Err.Message)
} else { } else {
team := tresult.Data.(*model.Team) team := tresult.Data.(*model.Team)
@@ -1195,7 +1195,7 @@ func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) {
user := result.Data.(*model.User) user := result.Data.(*model.User)
tchan := Srv.Store.Team().Get(user.TeamId) tchan := Srv.Store.Team().Get(c.T, user.TeamId)
if user.AuthData != "" { if user.AuthData != "" {
c.LogAudit("failed - tried to update user password who was logged in through oauth") c.LogAudit("failed - tried to update user password who was logged in through oauth")
@@ -1494,7 +1494,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) {
} }
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().GetByName(name); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, name); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -1583,7 +1583,7 @@ func resetPassword(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAuditWithUserId(userId, "attempt") c.LogAuditWithUserId(userId, "attempt")
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().GetByName(name); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, name); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -1822,7 +1822,7 @@ func GetAuthorizationCode(c *Context, service, teamName string, props map[string
return authUrl, nil return authUrl, nil
} }
func AuthorizeOAuthUser(service, code, state, redirectUri string) (io.ReadCloser, *model.Team, map[string]string, *model.AppError) { func AuthorizeOAuthUser(T goi18n.TranslateFunc, service, code, state, redirectUri string) (io.ReadCloser, *model.Team, map[string]string, *model.AppError) {
sso := utils.Cfg.GetSSOService(service) sso := utils.Cfg.GetSSOService(service)
if sso == nil || !sso.Enable { if sso == nil || !sso.Enable {
return nil, nil, nil, model.NewAppError("AuthorizeOAuthUser", "Unsupported OAuth service provider", "service="+service) return nil, nil, nil, model.NewAppError("AuthorizeOAuthUser", "Unsupported OAuth service provider", "service="+service)
@@ -1847,7 +1847,7 @@ func AuthorizeOAuthUser(service, code, state, redirectUri string) (io.ReadCloser
return nil, nil, nil, model.NewAppError("AuthorizeOAuthUser", "Invalid state; missing team name", "") return nil, nil, nil, model.NewAppError("AuthorizeOAuthUser", "Invalid state; missing team name", "")
} }
tchan := Srv.Store.Team().GetByName(teamName) tchan := Srv.Store.Team().GetByName(T, teamName)
p := url.Values{} p := url.Values{}
p.Set("client_id", sso.Id) p.Set("client_id", sso.Id)
@@ -1945,7 +1945,7 @@ func switchToSSO(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("attempt") c.LogAudit("attempt")
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().GetByName(teamName); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, teamName); result.Err != nil {
c.LogAudit("fail - couldn't get team") c.LogAudit("fail - couldn't get team")
c.Err = result.Err c.Err = result.Err
return return
@@ -2049,7 +2049,7 @@ func switchToEmail(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("attempt") c.LogAudit("attempt")
var team *model.Team var team *model.Team
if result := <-Srv.Store.Team().GetByName(teamName); result.Err != nil { if result := <-Srv.Store.Team().GetByName(c.T, teamName); result.Err != nil {
c.LogAudit("fail - couldn't get team") c.LogAudit("fail - couldn't get team")
c.Err = result.Err c.Err = result.Err
return return

Просмотреть файл

@@ -70,7 +70,7 @@ func manualTest(c *api.Context, w http.ResponseWriter, r *http.Request) {
Type: model.TEAM_OPEN, Type: model.TEAM_OPEN,
} }
if result := <-api.Srv.Store.Team().Save(team); result.Err != nil { if result := <-api.Srv.Store.Team().Save(c.T, team); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {

Просмотреть файл

@@ -301,7 +301,7 @@ func cmdCreateUser() {
splits := strings.Split(strings.Replace(flagEmail, "@", " ", -1), " ") splits := strings.Split(strings.Replace(flagEmail, "@", " ", -1), " ")
user.Username = splits[0] user.Username = splits[0]
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(utils.T, flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {
@@ -358,7 +358,7 @@ func cmdAssignRole() {
c.IpAddress = "cmd_line" c.IpAddress = "cmd_line"
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(utils.T, flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {
@@ -412,7 +412,7 @@ func cmdResetPassword() {
c.IpAddress = "cmd_line" c.IpAddress = "cmd_line"
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(utils.T, flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {
@@ -455,7 +455,7 @@ func cmdPermDeleteUser() {
c.IpAddress = "cmd_line" c.IpAddress = "cmd_line"
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(utils.T, flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {
@@ -506,7 +506,7 @@ func cmdPermDeleteTeam() {
c.IpAddress = "cmd_line" c.IpAddress = "cmd_line"
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(utils.T, flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {

Просмотреть файл

@@ -765,7 +765,7 @@ func TestUserCountsWithPostsByDay(t *testing.T) {
t1.Name = "a" + model.NewId() + "b" t1.Name = "a" + model.NewId() + "b"
t1.Email = model.NewId() + "@nowhere.com" t1.Email = model.NewId() + "@nowhere.com"
t1.Type = model.TEAM_OPEN t1.Type = model.TEAM_OPEN
t1 = Must(store.Team().Save(t1)).(*model.Team) t1 = Must(store.Team().Save(utils.T, t1)).(*model.Team)
c1 := &model.Channel{} c1 := &model.Channel{}
c1.TeamId = t1.Id c1.TeamId = t1.Id
@@ -825,7 +825,7 @@ func TestPostCountsByDay(t *testing.T) {
t1.Name = "a" + model.NewId() + "b" t1.Name = "a" + model.NewId() + "b"
t1.Email = model.NewId() + "@nowhere.com" t1.Email = model.NewId() + "@nowhere.com"
t1.Type = model.TEAM_OPEN t1.Type = model.TEAM_OPEN
t1 = Must(store.Team().Save(t1)).(*model.Team) t1 = Must(store.Team().Save(utils.T, t1)).(*model.Team)
c1 := &model.Channel{} c1 := &model.Channel{}
c1.TeamId = t1.Id c1.TeamId = t1.Id

Просмотреть файл

@@ -6,6 +6,7 @@ package store
import ( import (
"github.com/mattermost/platform/model" "github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils" "github.com/mattermost/platform/utils"
goi18n "github.com/nicksnyder/go-i18n/i18n"
) )
type SqlTeamStore struct { type SqlTeamStore struct {
@@ -37,7 +38,7 @@ func (s SqlTeamStore) CreateIndexesIfNotExists() {
s.CreateIndexIfNotExists("idx_teams_invite_id", "Teams", "InviteId") s.CreateIndexIfNotExists("idx_teams_invite_id", "Teams", "InviteId")
} }
func (s SqlTeamStore) Save(team *model.Team) StoreChannel { func (s SqlTeamStore) Save(T goi18n.TranslateFunc, team *model.Team) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -76,7 +77,7 @@ func (s SqlTeamStore) Save(team *model.Team) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) Update(team *model.Team) StoreChannel { func (s SqlTeamStore) Update(T goi18n.TranslateFunc, team *model.Team) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
@@ -117,7 +118,7 @@ func (s SqlTeamStore) Update(team *model.Team) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) UpdateDisplayName(name string, teamId string) StoreChannel { func (s SqlTeamStore) UpdateDisplayName(T goi18n.TranslateFunc, name string, teamId string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
@@ -137,7 +138,7 @@ func (s SqlTeamStore) UpdateDisplayName(name string, teamId string) StoreChannel
return storeChannel return storeChannel
} }
func (s SqlTeamStore) Get(id string) StoreChannel { func (s SqlTeamStore) Get(T goi18n.TranslateFunc, id string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -163,7 +164,7 @@ func (s SqlTeamStore) Get(id string) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) GetByInviteId(inviteId string) StoreChannel { func (s SqlTeamStore) GetByInviteId(T goi18n.TranslateFunc, inviteId string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -192,7 +193,7 @@ func (s SqlTeamStore) GetByInviteId(inviteId string) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) GetByName(name string) StoreChannel { func (s SqlTeamStore) GetByName(T goi18n.TranslateFunc, name string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -217,7 +218,7 @@ func (s SqlTeamStore) GetByName(name string) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) GetTeamsForEmail(email string) StoreChannel { func (s SqlTeamStore) GetTeamsForEmail(T goi18n.TranslateFunc, email string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -243,7 +244,7 @@ func (s SqlTeamStore) GetTeamsForEmail(email string) StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) GetAll() StoreChannel { func (s SqlTeamStore) GetAll(T goi18n.TranslateFunc) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -269,7 +270,7 @@ func (s SqlTeamStore) GetAll() StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) GetAllTeamListing() StoreChannel { func (s SqlTeamStore) GetAllTeamListing(T goi18n.TranslateFunc) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {
@@ -301,7 +302,7 @@ func (s SqlTeamStore) GetAllTeamListing() StoreChannel {
return storeChannel return storeChannel
} }
func (s SqlTeamStore) PermanentDelete(teamId string) StoreChannel { func (s SqlTeamStore) PermanentDelete(T goi18n.TranslateFunc, teamId string) StoreChannel {
storeChannel := make(StoreChannel) storeChannel := make(StoreChannel)
go func() { go func() {

Просмотреть файл

@@ -5,6 +5,7 @@ package store
import ( import (
"github.com/mattermost/platform/model" "github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
"testing" "testing"
"time" "time"
) )
@@ -18,16 +19,16 @@ func TestTeamStoreSave(t *testing.T) {
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if err := (<-store.Team().Save(&o1)).Err; err != nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err != nil {
t.Fatal("couldn't save item", err) t.Fatal("couldn't save item", err)
} }
if err := (<-store.Team().Save(&o1)).Err; err == nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err == nil {
t.Fatal("shouldn't be able to update from save") t.Fatal("shouldn't be able to update from save")
} }
o1.Id = "" o1.Id = ""
if err := (<-store.Team().Save(&o1)).Err; err == nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err == nil {
t.Fatal("should be unique domain") t.Fatal("should be unique domain")
} }
} }
@@ -40,23 +41,23 @@ func TestTeamStoreUpdate(t *testing.T) {
o1.Name = "a" + model.NewId() + "b" o1.Name = "a" + model.NewId() + "b"
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if err := (<-store.Team().Save(&o1)).Err; err != nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
if err := (<-store.Team().Update(&o1)).Err; err != nil { if err := (<-store.Team().Update(utils.T, &o1)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
o1.Id = "missing" o1.Id = "missing"
if err := (<-store.Team().Update(&o1)).Err; err == nil { if err := (<-store.Team().Update(utils.T, &o1)).Err; err == nil {
t.Fatal("Update should have failed because of missing key") t.Fatal("Update should have failed because of missing key")
} }
o1.Id = model.NewId() o1.Id = model.NewId()
if err := (<-store.Team().Update(&o1)).Err; err == nil { if err := (<-store.Team().Update(utils.T, &o1)).Err; err == nil {
t.Fatal("Update should have faile because id change") t.Fatal("Update should have faile because id change")
} }
} }
@@ -69,15 +70,15 @@ func TestTeamStoreUpdateDisplayName(t *testing.T) {
o1.Name = "a" + model.NewId() + "b" o1.Name = "a" + model.NewId() + "b"
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
o1 = (<-store.Team().Save(o1)).Data.(*model.Team) o1 = (<-store.Team().Save(utils.T, o1)).Data.(*model.Team)
newDisplayName := "NewDisplayName" newDisplayName := "NewDisplayName"
if err := (<-store.Team().UpdateDisplayName(newDisplayName, o1.Id)).Err; err != nil { if err := (<-store.Team().UpdateDisplayName(utils.T, newDisplayName, o1.Id)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
ro1 := (<-store.Team().Get(o1.Id)).Data.(*model.Team) ro1 := (<-store.Team().Get(utils.T, o1.Id)).Data.(*model.Team)
if ro1.DisplayName != newDisplayName { if ro1.DisplayName != newDisplayName {
t.Fatal("DisplayName not updated") t.Fatal("DisplayName not updated")
} }
@@ -91,9 +92,9 @@ func TestTeamStoreGet(t *testing.T) {
o1.Name = "a" + model.NewId() + "b" o1.Name = "a" + model.NewId() + "b"
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
Must(store.Team().Save(&o1)) Must(store.Team().Save(utils.T, &o1))
if r1 := <-store.Team().Get(o1.Id); r1.Err != nil { if r1 := <-store.Team().Get(utils.T, o1.Id); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() { if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
@@ -101,7 +102,7 @@ func TestTeamStoreGet(t *testing.T) {
} }
} }
if err := (<-store.Team().Get("")).Err; err == nil { if err := (<-store.Team().Get(utils.T, "")).Err; err == nil {
t.Fatal("Missing id should have failed") t.Fatal("Missing id should have failed")
} }
} }
@@ -115,11 +116,11 @@ func TestTeamStoreGetByName(t *testing.T) {
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if err := (<-store.Team().Save(&o1)).Err; err != nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
if r1 := <-store.Team().GetByName(o1.Name); r1.Err != nil { if r1 := <-store.Team().GetByName(utils.T, o1.Name); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() { if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
@@ -127,7 +128,7 @@ func TestTeamStoreGetByName(t *testing.T) {
} }
} }
if err := (<-store.Team().GetByName("")).Err; err == nil { if err := (<-store.Team().GetByName(utils.T, "")).Err; err == nil {
t.Fatal("Missing id should have failed") t.Fatal("Missing id should have failed")
} }
} }
@@ -142,7 +143,7 @@ func TestTeamStoreGetByIniviteId(t *testing.T) {
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
o1.InviteId = model.NewId() o1.InviteId = model.NewId()
if err := (<-store.Team().Save(&o1)).Err; err != nil { if err := (<-store.Team().Save(utils.T, &o1)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -152,11 +153,11 @@ func TestTeamStoreGetByIniviteId(t *testing.T) {
o2.Email = model.NewId() + "@nowhere.com" o2.Email = model.NewId() + "@nowhere.com"
o2.Type = model.TEAM_OPEN o2.Type = model.TEAM_OPEN
if err := (<-store.Team().Save(&o2)).Err; err != nil { if err := (<-store.Team().Save(utils.T, &o2)).Err; err != nil {
t.Fatal(err) t.Fatal(err)
} }
if r1 := <-store.Team().GetByInviteId(o1.InviteId); r1.Err != nil { if r1 := <-store.Team().GetByInviteId(utils.T, o1.InviteId); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() { if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
@@ -165,9 +166,9 @@ func TestTeamStoreGetByIniviteId(t *testing.T) {
} }
o2.InviteId = "" o2.InviteId = ""
<-store.Team().Update(&o2) <-store.Team().Update(utils.T, &o2)
if r1 := <-store.Team().GetByInviteId(o2.Id); r1.Err != nil { if r1 := <-store.Team().GetByInviteId(utils.T, o2.Id); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
if r1.Data.(*model.Team).Id != o2.Id { if r1.Data.(*model.Team).Id != o2.Id {
@@ -175,7 +176,7 @@ func TestTeamStoreGetByIniviteId(t *testing.T) {
} }
} }
if err := (<-store.Team().GetByInviteId("")).Err; err == nil { if err := (<-store.Team().GetByInviteId(utils.T, "")).Err; err == nil {
t.Fatal("Missing id should have failed") t.Fatal("Missing id should have failed")
} }
} }
@@ -188,14 +189,14 @@ func TestTeamStoreGetForEmail(t *testing.T) {
o1.Name = "a" + model.NewId() + "b" o1.Name = "a" + model.NewId() + "b"
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
Must(store.Team().Save(&o1)) Must(store.Team().Save(utils.T, &o1))
u1 := model.User{} u1 := model.User{}
u1.TeamId = o1.Id u1.TeamId = o1.Id
u1.Email = model.NewId() u1.Email = model.NewId()
Must(store.User().Save(&u1)) Must(store.User().Save(&u1))
if r1 := <-store.Team().GetTeamsForEmail(u1.Email); r1.Err != nil { if r1 := <-store.Team().GetTeamsForEmail(utils.T, u1.Email); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
teams := r1.Data.([]*model.Team) teams := r1.Data.([]*model.Team)
@@ -205,7 +206,7 @@ func TestTeamStoreGetForEmail(t *testing.T) {
} }
} }
if r1 := <-store.Team().GetTeamsForEmail("missing"); r1.Err != nil { if r1 := <-store.Team().GetTeamsForEmail(utils.T, "missing"); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} }
} }
@@ -219,16 +220,16 @@ func TestAllTeamListing(t *testing.T) {
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
o1.AllowTeamListing = true o1.AllowTeamListing = true
Must(store.Team().Save(&o1)) Must(store.Team().Save(utils.T, &o1))
o2 := model.Team{} o2 := model.Team{}
o2.DisplayName = "DisplayName" o2.DisplayName = "DisplayName"
o2.Name = "a" + model.NewId() + "b" o2.Name = "a" + model.NewId() + "b"
o2.Email = model.NewId() + "@nowhere.com" o2.Email = model.NewId() + "@nowhere.com"
o2.Type = model.TEAM_OPEN o2.Type = model.TEAM_OPEN
Must(store.Team().Save(&o2)) Must(store.Team().Save(utils.T, &o2))
if r1 := <-store.Team().GetAllTeamListing(); r1.Err != nil { if r1 := <-store.Team().GetAllTeamListing(utils.T); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
teams := r1.Data.([]*model.Team) teams := r1.Data.([]*model.Team)
@@ -248,16 +249,16 @@ func TestDelete(t *testing.T) {
o1.Email = model.NewId() + "@nowhere.com" o1.Email = model.NewId() + "@nowhere.com"
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
o1.AllowTeamListing = true o1.AllowTeamListing = true
Must(store.Team().Save(&o1)) Must(store.Team().Save(utils.T, &o1))
o2 := model.Team{} o2 := model.Team{}
o2.DisplayName = "DisplayName" o2.DisplayName = "DisplayName"
o2.Name = "a" + model.NewId() + "b" o2.Name = "a" + model.NewId() + "b"
o2.Email = model.NewId() + "@nowhere.com" o2.Email = model.NewId() + "@nowhere.com"
o2.Type = model.TEAM_OPEN o2.Type = model.TEAM_OPEN
Must(store.Team().Save(&o2)) Must(store.Team().Save(utils.T, &o2))
if r1 := <-store.Team().PermanentDelete(o1.Id); r1.Err != nil { if r1 := <-store.Team().PermanentDelete(utils.T, o1.Id); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} }
} }

Просмотреть файл

@@ -45,16 +45,16 @@ type Store interface {
} }
type TeamStore interface { type TeamStore interface {
Save(team *model.Team) StoreChannel Save(T goi18n.TranslateFunc, team *model.Team) StoreChannel
Update(team *model.Team) StoreChannel Update(T goi18n.TranslateFunc, team *model.Team) StoreChannel
UpdateDisplayName(name string, teamId string) StoreChannel UpdateDisplayName(T goi18n.TranslateFunc, name string, teamId string) StoreChannel
Get(id string) StoreChannel Get(T goi18n.TranslateFunc, id string) StoreChannel
GetByName(name string) StoreChannel GetByName(T goi18n.TranslateFunc, name string) StoreChannel
GetTeamsForEmail(domain string) StoreChannel GetTeamsForEmail(T goi18n.TranslateFunc, domain string) StoreChannel
GetAll() StoreChannel GetAll(T goi18n.TranslateFunc) StoreChannel
GetAllTeamListing() StoreChannel GetAllTeamListing(T goi18n.TranslateFunc) StoreChannel
GetByInviteId(inviteId string) StoreChannel GetByInviteId(T goi18n.TranslateFunc, inviteId string) StoreChannel
PermanentDelete(teamId string) StoreChannel PermanentDelete(T goi18n.TranslateFunc, teamId string) StoreChannel
} }
type ChannelStore interface { type ChannelStore interface {

Просмотреть файл

@@ -167,7 +167,7 @@ func root(c *api.Context, w http.ResponseWriter, r *http.Request) {
if len(c.Session.UserId) == 0 { if len(c.Session.UserId) == 0 {
page := NewHtmlTemplatePage("signup_team", "Signup") page := NewHtmlTemplatePage("signup_team", "Signup")
if result := <-api.Srv.Store.Team().GetAllTeamListing(); result.Err != nil { if result := <-api.Srv.Store.Team().GetAllTeamListing(c.T); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -184,7 +184,7 @@ func root(c *api.Context, w http.ResponseWriter, r *http.Request) {
page.Render(c, w) page.Render(c, w)
} else { } else {
teamChan := api.Srv.Store.Team().Get(c.Session.TeamId) teamChan := api.Srv.Store.Team().Get(c.T, c.Session.TeamId)
userChan := api.Srv.Store.User().Get(c.Session.UserId) userChan := api.Srv.Store.User().Get(c.Session.UserId)
var team *model.Team var team *model.Team
@@ -229,7 +229,7 @@ func login(c *api.Context, w http.ResponseWriter, r *http.Request) {
teamName := params["team"] teamName := params["team"]
var team *model.Team var team *model.Team
if tResult := <-api.Srv.Store.Team().GetByName(teamName); tResult.Err != nil { if tResult := <-api.Srv.Store.Team().GetByName(c.T, teamName); tResult.Err != nil {
l4g.Error("Couldn't find team name=%v, err=%v", teamName, tResult.Err.Message) l4g.Error("Couldn't find team name=%v, err=%v", teamName, tResult.Err.Message)
http.Redirect(w, r, api.GetProtocol(r)+"://"+r.Host, http.StatusTemporaryRedirect) http.Redirect(w, r, api.GetProtocol(r)+"://"+r.Host, http.StatusTemporaryRedirect)
return return
@@ -305,7 +305,7 @@ func signupUserComplete(c *api.Context, w http.ResponseWriter, r *http.Request)
if len(id) > 0 { if len(id) > 0 {
props = make(map[string]string) props = make(map[string]string)
if result := <-api.Srv.Store.Team().GetByInviteId(id); result.Err != nil { if result := <-api.Srv.Store.Team().GetByInviteId(c.T, id); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -486,7 +486,7 @@ func joinOpenChannel(c *api.Context, w http.ResponseWriter, r *http.Request, cha
func checkSessionSwitch(c *api.Context, w http.ResponseWriter, r *http.Request, teamName string) *model.Team { func checkSessionSwitch(c *api.Context, w http.ResponseWriter, r *http.Request, teamName string) *model.Team {
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(teamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(c.T, teamName); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return nil return nil
} else { } else {
@@ -543,7 +543,7 @@ func verifyEmail(c *api.Context, w http.ResponseWriter, r *http.Request) {
userId := r.URL.Query().Get("uid") userId := r.URL.Query().Get("uid")
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(name); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(c.T, name); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -626,7 +626,7 @@ func resetPassword(c *api.Context, w http.ResponseWriter, r *http.Request) {
teamDisplayName := "Developer/Beta" teamDisplayName := "Developer/Beta"
var team *model.Team var team *model.Team
if tResult := <-api.Srv.Store.Team().GetByName(teamName); tResult.Err != nil { if tResult := <-api.Srv.Store.Team().GetByName(c.T, teamName); tResult.Err != nil {
c.Err = tResult.Err c.Err = tResult.Err
return return
} else { } else {
@@ -668,7 +668,7 @@ func signupWithOAuth(c *api.Context, w http.ResponseWriter, r *http.Request) {
hash := r.URL.Query().Get("h") hash := r.URL.Query().Get("h")
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().GetByName(teamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(c.T, teamName); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -716,7 +716,7 @@ func completeOAuth(c *api.Context, w http.ResponseWriter, r *http.Request) {
uri := c.GetSiteURL() + "/signup/" + service + "/complete" // Remove /signup after a few releases (~1.8) uri := c.GetSiteURL() + "/signup/" + service + "/complete" // Remove /signup after a few releases (~1.8)
if body, team, props, err := api.AuthorizeOAuthUser(service, code, state, uri); err != nil { if body, team, props, err := api.AuthorizeOAuthUser(c.T, service, code, state, uri); err != nil {
c.Err = err c.Err = err
return return
} else { } else {
@@ -769,7 +769,7 @@ func loginWithOAuth(c *api.Context, w http.ResponseWriter, r *http.Request) {
} }
// Make sure team exists // Make sure team exists
if result := <-api.Srv.Store.Team().GetByName(teamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(c.T, teamName); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} }
@@ -791,7 +791,7 @@ func adminConsole(c *api.Context, w http.ResponseWriter, r *http.Request) {
return return
} }
teamChan := api.Srv.Store.Team().Get(c.Session.TeamId) teamChan := api.Srv.Store.Team().Get(c.T, c.Session.TeamId)
userChan := api.Srv.Store.User().Get(c.Session.UserId) userChan := api.Srv.Store.User().Get(c.Session.UserId)
var team *model.Team var team *model.Team
@@ -854,7 +854,7 @@ func authorizeOAuth(c *api.Context, w http.ResponseWriter, r *http.Request) {
} }
var team *model.Team var team *model.Team
if result := <-api.Srv.Store.Team().Get(c.Session.TeamId); result.Err != nil { if result := <-api.Srv.Store.Team().Get(c.T, c.Session.TeamId); result.Err != nil {
c.Err = result.Err c.Err = result.Err
return return
} else { } else {
@@ -1125,7 +1125,7 @@ func claimAccount(c *api.Context, w http.ResponseWriter, r *http.Request) {
newType := r.URL.Query().Get("new_type") newType := r.URL.Query().Get("new_type")
var team *model.Team var team *model.Team
if tResult := <-api.Srv.Store.Team().GetByName(teamName); tResult.Err != nil { if tResult := <-api.Srv.Store.Team().GetByName(c.T, teamName); tResult.Err != nil {
l4g.Error("Couldn't find team name=%v, err=%v", teamName, tResult.Err.Message) l4g.Error("Couldn't find team name=%v, err=%v", teamName, tResult.Err.Message)
http.Redirect(w, r, api.GetProtocol(r)+"://"+r.Host, http.StatusTemporaryRedirect) http.Redirect(w, r, api.GetProtocol(r)+"://"+r.Host, http.StatusTemporaryRedirect)
return return