Skip to content

Commit 7a65ee4

Browse files
Gaël PhilippeGaël Philippe
authored andcommitted
fix(expiry): nb days displayed in mail is incorrect
1 parent 269c8a4 commit 7a65ee4

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

api/internal/emailer/messages.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ The Keystone team
146146
</p>
147147
148148
<p>
149-
Some messages you haven't read yet will expire in {{.NbDays}} days.
149+
Some messages you haven't read yet will expire soon.
150150
</p>
151151
152152
<p>
@@ -155,7 +155,7 @@ The Keystone team
155155
156156
{{ range $groupedProject := .GroupedProjects}}
157157
<p>
158-
- Project: {{$groupedProject.Project.Name}}
158+
- Project: {{$groupedProject.Project.Name}}, in {{$groupedProject.Project.DaysBeforeTTLExpiry}} days
159159
</p>
160160
161161
<p>

api/internal/emailer/messages_test.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,8 @@ func TestMessageWillExpireMail(t *testing.T) {
403403
groupedProjects: map[uint]GroupedMessageProject{
404404
1: {
405405
Project: models.Project{
406-
Name: "that-one",
406+
Name: "that-one",
407+
DaysBeforeTTLExpiry: 3,
407408
},
408409
Environments: map[string]models.Environment{
409410
"dev": {
@@ -419,7 +420,8 @@ func TestMessageWillExpireMail(t *testing.T) {
419420
},
420421
2: {
421422
Project: models.Project{
422-
Name: "this-one",
423+
Name: "this-one",
424+
DaysBeforeTTLExpiry: 4,
423425
},
424426
Environments: map[string]models.Environment{
425427
"dev": {
@@ -435,7 +437,8 @@ func TestMessageWillExpireMail(t *testing.T) {
435437
},
436438
3: {
437439
Project: models.Project{
438-
Name: "that-one-too",
440+
Name: "that-one-too",
441+
DaysBeforeTTLExpiry: 5,
439442
},
440443
Environments: map[string]models.Environment{
441444
"dev": {
@@ -459,25 +462,25 @@ func TestMessageWillExpireMail(t *testing.T) {
459462
HtmlBody: "",
460463
TextBody: `Hello!
461464
462-
Some messages you haven't read yet will expire in 3 days.
465+
Some messages you haven't read yet will expire soon.
463466
464467
Related projects:
465468
466-
- Project: that-one
469+
- Project: that-one, in 3 days
467470
468471
Environments:
469472
470473
- dev - prod - staging
471474
472475
473-
- Project: this-one
476+
- Project: this-one, in 4 days
474477
475478
Environments:
476479
477480
- dev - prod - staging
478481
479482
480-
- Project: that-one-too
483+
- Project: that-one-too, in 5 days
481484
482485
Environments:
483486

api/pkg/notification/notification.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@ func SendExpireMessageToUsers(
4343
groupedMessageUser map[uint]emailer.GroupedMessagesUser,
4444
errors *[]error,
4545
) {
46+
4647
// For each recipients, send message.
4748
for _, groupedMessagesUser := range groupedMessageUser {
4849
email, err := emailer.MessageWillExpireMail(
49-
5,
50+
0,
5051
groupedMessagesUser.Projects,
5152
)
5253
if err != nil {

api/pkg/repo/messages.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,7 @@ func (repo *Repo) GetGroupedMessagesWillExpireByUser(
151151
Model(&models.Message{}).
152152
Joins("inner join environments on messages.environment_id = environments.environment_id").
153153
Joins("inner join projects on environments.project_id = projects.id").
154-
Where("date_trunc('day', messages.created_at) < date_trunc('day', now() - (projects.ttl - projects.days_before_ttl_expiry - 1 || ' days')::interval)").
155-
Where("date_trunc('day', messages.created_at) > date_trunc('day', now() - (projects.ttl - projects.days_before_ttl_expiry + 1 || ' days')::interval)").
154+
Where("date_trunc('day', messages.created_at) = date_trunc('day', now() - (projects.ttl - projects.days_before_ttl_expiry || ' days')::interval)").
156155
Preload("Sender").
157156
Preload("Recipient").
158157
Preload("Environment").
@@ -166,8 +165,7 @@ func (repo *Repo) GetGroupedMessagesWillExpireByUser(
166165
Model(&models.Message{}).
167166
Joins("inner join environments on messages.environment_id = environments.environment_id").
168167
Joins("inner join projects on environments.project_id = projects.id").
169-
Where("date(messages.created_at, 'start_of_day') < date('now', 'start_of_day', '-' || projects.ttl - projects.days_before_ttl_expiry - 1 || ' days')").
170-
Where("date(messages.created_at, 'start_of_day') > date('now', 'start_of_day', '-' || projects.ttl - projects.days_before_ttl_expiry + 1 || ' days')").
168+
Where("date(messages.created_at, 'start_of_day') = date('now', 'start_of_day', '-' || projects.ttl - projects.days_before_ttl_expiry || ' days')").
171169
Preload("Sender").
172170
Preload("Recipient").
173171
Preload("Environment").

0 commit comments

Comments
 (0)