[MM-33198] - Portal: Send admin welcome email after the installation is complete (#17043)

* [MM-33198] - Portal: Send admin welcome email after the installation is complete

* Send cloud welcome email

* Feedback impl-2

* Fix template

* Temp undo

* Update

* make i18n-extract

* Translations

* Feedback impl-3

* More template fixes

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Allan Guwatudde
2021-03-10 20:39:21 +03:00
коммит произвёл GitHub
родитель 8248477319
Коммит 05720f627b
7 изменённых файлов: 287 добавлений и 10 удалений

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

@@ -3,11 +3,14 @@
package model
import "strings"
const (
EventTypeFailedPayment = "failed-payment"
EventTypeFailedPaymentNoCard = "failed-payment-no-card"
JoinLimitation = "join"
InviteLimitation = "invite"
EventTypeFailedPayment = "failed-payment"
EventTypeFailedPaymentNoCard = "failed-payment-no-card"
EventTypeSendAdminWelcomeEmail = "send-admin-welcome-email"
JoinLimitation = "join"
InviteLimitation = "invite"
)
// Product model represents a product on the cloud system.
@@ -94,6 +97,11 @@ type Subscription struct {
LastInvoice *Invoice `json:"last_invoice"`
}
// GetWorkSpaceNameFromDNS returns the work space name. For example from test.mattermost.cloud.com, it returns test
func (s *Subscription) GetWorkSpaceNameFromDNS() string {
return strings.Split(s.DNS, ".")[0]
}
// Invoice model represents a cloud invoice
type Invoice struct {
ID string `json:"id"`
@@ -121,8 +129,9 @@ type InvoiceLineItem struct {
}
type CWSWebhookPayload struct {
Event string `json:"event"`
FailedPayment *FailedPayment `json:"failed_payment"`
Event string `json:"event"`
FailedPayment *FailedPayment `json:"failed_payment"`
CloudWorkspaceOwner *CloudWorkspaceOwner `json:"cloud_workspace_owner"`
}
type FailedPayment struct {
@@ -131,6 +140,10 @@ type FailedPayment struct {
FailureMessage string `json:"failure_message"`
}
// CloudWorkspaceOwner is part of the CWS Webhook payload that contains information about the user that created the workspace from the CWS
type CloudWorkspaceOwner struct {
UserName string `json:"username"`
}
type SubscriptionStats struct {
RemainingSeats int `json:"remaining_seats"`
IsPaidTier string `json:"is_paid_tier"`