PLT-3143 Added serverside code for custom Emoji (#3311)

* Added model objects for emoji

* Added database tables for emoji

* Added settings for custom emoji

* Added serverside APIs and unit tests for custom emoji

* Added additional validation to catch duplicate emoji names earlier on

* Added additional validation to prevent users from adding emoji as another user
Этот коммит содержится в:
Harrison Healey
2016-06-14 09:38:19 -04:00
коммит произвёл Christopher Speller
родитель 661f221727
Коммит a0cc913b85
18 изменённых файлов: 1538 добавлений и 5 удалений

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

@@ -52,6 +52,7 @@ type SqlStore struct {
preference PreferenceStore
license LicenseStore
recovery PasswordRecoveryStore
emoji EmojiStore
SchemaVersion string
}
@@ -127,6 +128,7 @@ func NewSqlStore() Store {
sqlStore.preference = NewSqlPreferenceStore(sqlStore)
sqlStore.license = NewSqlLicenseStore(sqlStore)
sqlStore.recovery = NewSqlPasswordRecoveryStore(sqlStore)
sqlStore.emoji = NewSqlEmojiStore(sqlStore)
err := sqlStore.master.CreateTablesIfNotExists()
if err != nil {
@@ -149,6 +151,7 @@ func NewSqlStore() Store {
sqlStore.preference.(*SqlPreferenceStore).UpgradeSchemaIfNeeded()
sqlStore.license.(*SqlLicenseStore).UpgradeSchemaIfNeeded()
sqlStore.recovery.(*SqlPasswordRecoveryStore).UpgradeSchemaIfNeeded()
sqlStore.emoji.(*SqlEmojiStore).UpgradeSchemaIfNeeded()
sqlStore.team.(*SqlTeamStore).CreateIndexesIfNotExists()
sqlStore.channel.(*SqlChannelStore).CreateIndexesIfNotExists()
@@ -164,6 +167,7 @@ func NewSqlStore() Store {
sqlStore.preference.(*SqlPreferenceStore).CreateIndexesIfNotExists()
sqlStore.license.(*SqlLicenseStore).CreateIndexesIfNotExists()
sqlStore.recovery.(*SqlPasswordRecoveryStore).CreateIndexesIfNotExists()
sqlStore.emoji.(*SqlEmojiStore).CreateIndexesIfNotExists()
sqlStore.preference.(*SqlPreferenceStore).DeleteUnusedFeatures()
@@ -688,6 +692,10 @@ func (ss SqlStore) PasswordRecovery() PasswordRecoveryStore {
return ss.recovery
}
func (ss SqlStore) Emoji() EmojiStore {
return ss.emoji
}
func (ss SqlStore) DropAllTables() {
ss.master.TruncateTables()
}