2022-07-15 04:42:24 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
"github.com/authorizerdev/authorizer/server/graph/model"
|
2022-07-15 16:43:00 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/refs"
|
2022-07-15 04:42:24 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// EmailTemplate model for database
|
|
|
|
type EmailTemplate struct {
|
2022-10-02 19:38:12 +00:00
|
|
|
Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty" dynamo:"key,omitempty"` // for arangodb
|
|
|
|
ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id" dynamo:"id,hash"`
|
2022-10-05 10:02:32 +00:00
|
|
|
EventName string `gorm:"unique" json:"event_name" bson:"event_name" cql:"event_name" dynamo:"event_name" index:"event_name,hash"`
|
2022-10-08 10:37:07 +00:00
|
|
|
Subject string `json:"subject" bson:"subject" cql:"subject" dynamo:"subject"`
|
|
|
|
Template string `json:"template" bson:"template" cql:"template" dynamo:"template"`
|
|
|
|
Design string `json:"design" bson:"design" cql:"design" dynamo:"design"`
|
2022-10-02 19:38:12 +00:00
|
|
|
CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at" dynamo:"created_at"`
|
|
|
|
UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at" dynamo:"updated_at"`
|
2022-07-15 04:42:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// AsAPIEmailTemplate to return email template as graphql response object
|
|
|
|
func (e *EmailTemplate) AsAPIEmailTemplate() *model.EmailTemplate {
|
|
|
|
id := e.ID
|
|
|
|
if strings.Contains(id, Collections.EmailTemplate+"/") {
|
|
|
|
id = strings.TrimPrefix(id, Collections.EmailTemplate+"/")
|
|
|
|
}
|
|
|
|
return &model.EmailTemplate{
|
|
|
|
ID: id,
|
|
|
|
EventName: e.EventName,
|
2022-07-29 10:45:57 +00:00
|
|
|
Subject: e.Subject,
|
2022-07-15 04:42:24 +00:00
|
|
|
Template: e.Template,
|
2022-08-11 11:15:59 +00:00
|
|
|
Design: e.Design,
|
2022-07-15 16:43:00 +00:00
|
|
|
CreatedAt: refs.NewInt64Ref(e.CreatedAt),
|
|
|
|
UpdatedAt: refs.NewInt64Ref(e.UpdatedAt),
|
2022-07-15 04:42:24 +00:00
|
|
|
}
|
|
|
|
}
|