Add sms and email providers to app.

This commit is contained in:
Yang Luo
2021-05-24 01:02:38 +08:00
parent bd888fad38
commit dbf11d61a7
6 changed files with 64 additions and 51 deletions

View File

@ -68,7 +68,9 @@ func extendApplicationWithProviders(application *Application) {
application.ProviderObjs = []*Provider{}
for _, providerName := range application.Providers {
application.ProviderObjs = append(application.ProviderObjs, m[providerName])
if provider, ok := m[providerName]; ok {
application.ProviderObjs = append(application.ProviderObjs, provider)
}
}
}
@ -93,7 +95,7 @@ func getApplication(owner string, name string) *Application {
}
}
func getApplicationByOrganization(organization string) *Application {
func GetApplicationByOrganizationName(organization string) *Application {
application := Application{}
existed, err := adapter.Engine.Where("organization=?", organization).Get(&application)
if err != nil {
@ -110,7 +112,7 @@ func getApplicationByOrganization(organization string) *Application {
}
func GetApplicationByUser(user *User) *Application {
return getApplicationByOrganization(user.Owner)
return GetApplicationByOrganizationName(user.Owner)
}
func getApplicationByClientId(clientId string) *Application {
@ -168,3 +170,31 @@ func DeleteApplication(application *Application) bool {
return affected != 0
}
func (application *Application) getProviderByCategory(category string) *Provider {
providers := GetProviders(application.Owner)
m := map[string]*Provider{}
for _, provider := range providers {
if provider.Category != category {
continue
}
m[provider.Name] = provider
}
for _, providerName := range application.Providers {
if provider, ok := m[providerName]; ok {
return provider
}
}
return nil
}
func (application *Application) GetEmailProvider() *Provider {
return application.getProviderByCategory("Email")
}
func (application *Application) GetSmsProvider() *Provider {
return application.getProviderByCategory("SMS")
}