authorizer/server/db/models/email_templates.go

34 lines
1.2 KiB
Go
Raw Normal View History

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 {
Key string `json:"_key,omitempty" bson:"_key,omitempty" cql:"_key,omitempty"` // for arangodb
ID string `gorm:"primaryKey;type:char(36)" json:"_id" bson:"_id" cql:"id"`
EventName string `gorm:"unique" json:"event_name" bson:"event_name" cql:"event_name"`
Template string `gorm:"type:text" json:"endpoint" bson:"endpoint" cql:"endpoint"`
CreatedAt int64 `json:"created_at" bson:"created_at" cql:"created_at"`
UpdatedAt int64 `json:"updated_at" bson:"updated_at" cql:"updated_at"`
}
// 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,
Template: e.Template,
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
}
}