@@ -12,16 +12,14 @@ import (
1212)
1313
1414// AddEmailTemplate to add EmailTemplate
15- func (p * provider ) AddEmailTemplate (ctx context.Context , emailTemplate models.EmailTemplate ) (* model.EmailTemplate , error ) {
15+ func (p * provider ) AddEmailTemplate (ctx context.Context , emailTemplate * models.EmailTemplate ) (* model.EmailTemplate , error ) {
1616 if emailTemplate .ID == "" {
1717 emailTemplate .ID = uuid .New ().String ()
1818 emailTemplate .Key = emailTemplate .ID
1919 }
20-
2120 emailTemplate .Key = emailTemplate .ID
2221 emailTemplate .CreatedAt = time .Now ().Unix ()
2322 emailTemplate .UpdatedAt = time .Now ().Unix ()
24-
2523 emailTemplateCollection , _ := p .db .Collection (ctx , models .Collections .EmailTemplate )
2624 _ , err := emailTemplateCollection .CreateDocument (ctx , emailTemplate )
2725 if err != nil {
@@ -31,74 +29,63 @@ func (p *provider) AddEmailTemplate(ctx context.Context, emailTemplate models.Em
3129}
3230
3331// UpdateEmailTemplate to update EmailTemplate
34- func (p * provider ) UpdateEmailTemplate (ctx context.Context , emailTemplate models.EmailTemplate ) (* model.EmailTemplate , error ) {
32+ func (p * provider ) UpdateEmailTemplate (ctx context.Context , emailTemplate * models.EmailTemplate ) (* model.EmailTemplate , error ) {
3533 emailTemplate .UpdatedAt = time .Now ().Unix ()
36-
3734 emailTemplateCollection , _ := p .db .Collection (ctx , models .Collections .EmailTemplate )
3835 meta , err := emailTemplateCollection .UpdateDocument (ctx , emailTemplate .Key , emailTemplate )
3936 if err != nil {
4037 return nil , err
4138 }
42-
4339 emailTemplate .Key = meta .Key
4440 emailTemplate .ID = meta .ID .String ()
4541 return emailTemplate .AsAPIEmailTemplate (), nil
4642}
4743
4844// ListEmailTemplates to list EmailTemplate
49- func (p * provider ) ListEmailTemplate (ctx context.Context , pagination model.Pagination ) (* model.EmailTemplates , error ) {
45+ func (p * provider ) ListEmailTemplate (ctx context.Context , pagination * model.Pagination ) (* model.EmailTemplates , error ) {
5046 emailTemplates := []* model.EmailTemplate {}
51-
5247 query := fmt .Sprintf ("FOR d in %s SORT d.created_at DESC LIMIT %d, %d RETURN d" , models .Collections .EmailTemplate , pagination .Offset , pagination .Limit )
53-
5448 sctx := arangoDriver .WithQueryFullCount (ctx )
5549 cursor , err := p .db .Query (sctx , query , nil )
5650 if err != nil {
5751 return nil , err
5852 }
5953 defer cursor .Close ()
60-
6154 paginationClone := pagination
6255 paginationClone .Total = cursor .Statistics ().FullCount ()
63-
6456 for {
65- var emailTemplate models.EmailTemplate
57+ var emailTemplate * models.EmailTemplate
6658 meta , err := cursor .ReadDocument (ctx , & emailTemplate )
67-
6859 if arangoDriver .IsNoMoreDocuments (err ) {
6960 break
7061 } else if err != nil {
7162 return nil , err
7263 }
73-
7464 if meta .Key != "" {
7565 emailTemplates = append (emailTemplates , emailTemplate .AsAPIEmailTemplate ())
7666 }
7767 }
78-
7968 return & model.EmailTemplates {
80- Pagination : & paginationClone ,
69+ Pagination : paginationClone ,
8170 EmailTemplates : emailTemplates ,
8271 }, nil
8372}
8473
8574// GetEmailTemplateByID to get EmailTemplate by id
8675func (p * provider ) GetEmailTemplateByID (ctx context.Context , emailTemplateID string ) (* model.EmailTemplate , error ) {
87- var emailTemplate models.EmailTemplate
76+ var emailTemplate * models.EmailTemplate
8877 query := fmt .Sprintf ("FOR d in %s FILTER d._key == @email_template_id RETURN d" , models .Collections .EmailTemplate )
8978 bindVars := map [string ]interface {}{
9079 "email_template_id" : emailTemplateID ,
9180 }
92-
9381 cursor , err := p .db .Query (ctx , query , bindVars )
9482 if err != nil {
9583 return nil , err
9684 }
9785 defer cursor .Close ()
98-
9986 for {
10087 if ! cursor .HasMore () {
101- if emailTemplate . Key == "" {
88+ if emailTemplate == nil {
10289 return nil , fmt .Errorf ("email template not found" )
10390 }
10491 break
@@ -113,21 +100,19 @@ func (p *provider) GetEmailTemplateByID(ctx context.Context, emailTemplateID str
113100
114101// GetEmailTemplateByEventName to get EmailTemplate by event_name
115102func (p * provider ) GetEmailTemplateByEventName (ctx context.Context , eventName string ) (* model.EmailTemplate , error ) {
116- var emailTemplate models.EmailTemplate
103+ var emailTemplate * models.EmailTemplate
117104 query := fmt .Sprintf ("FOR d in %s FILTER d.event_name == @event_name RETURN d" , models .Collections .EmailTemplate )
118105 bindVars := map [string ]interface {}{
119106 "event_name" : eventName ,
120107 }
121-
122108 cursor , err := p .db .Query (ctx , query , bindVars )
123109 if err != nil {
124110 return nil , err
125111 }
126112 defer cursor .Close ()
127-
128113 for {
129114 if ! cursor .HasMore () {
130- if emailTemplate . Key == "" {
115+ if emailTemplate == nil {
131116 return nil , fmt .Errorf ("email template not found" )
132117 }
133118 break
0 commit comments