Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/Description_box #45

Open
wants to merge 91 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
93116ed
[feature/addEmailAndNotification] added email for sender of appreciation
SamnitPatil9882 Aug 16, 2024
0c53cf7
[feature/addEmailAndNotification
SamnitPatil9882 Aug 18, 2024
724b518
Merge branch 'feature/addEmailAndNotification' of github.com:joshsoft…
SamnitPatil9882 Aug 18, 2024
955be3d
[feature/ResolveReport] updadated by added in badges
SharyuMarwadi Aug 20, 2024
4777626
updated by for grades and badges
SharyuMarwadi Aug 21, 2024
df1ee27
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SharyuMarwadi Aug 21, 2024
18edb00
[feature/ResolveReport] mail template fixes
SharyuMarwadi Aug 21, 2024
4876bc6
[feature/addEmailAndNotification] email templates changed
SamnitPatil9882 Aug 21, 2024
6d66339
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SharyuMarwadi Aug 21, 2024
bbd9afb
[Deployment] feature/addEmailandNotification merge
SamnitPatil9882 Aug 21, 2024
58a45e2
[Deployment] conflicts resolved
SamnitPatil9882 Aug 21, 2024
1f43ab8
Migration fix
SharyuMarwadi Aug 21, 2024
0a71fea
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SharyuMarwadi Aug 21, 2024
2308abb
[Deployment] IST time check
SamnitPatil9882 Aug 21, 2024
347ff22
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SamnitPatil9882 Aug 21, 2024
7ca7f13
[Deployment] IST time check
SamnitPatil9882 Aug 21, 2024
3932a24
[Deployment] ist check
SamnitPatil9882 Aug 21, 2024
6047383
admin access added to all routes
SharyuMarwadi Aug 21, 2024
a0082dd
[Deployment] ist check
SamnitPatil9882 Aug 21, 2024
b5db7d0
[Deployment] reset monthly an daily update data timing
SamnitPatil9882 Aug 21, 2024
5434583
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SharyuMarwadi Aug 22, 2024
d8d4559
[Deployment] migration updation
SharyuMarwadi Aug 22, 2024
075bc7f
[fix/adminAccess] admin access fixed
SharyuMarwadi Aug 22, 2024
4ee648a
Merge branch 'fix/adminAccess' of github.com:joshsoftware/peerly-back…
SharyuMarwadi Aug 22, 2024
6b3228d
[feature/UpdateLogs] added debug logs
SamnitPatil9882 Aug 23, 2024
4fba193
[feature/UpdateLogs] logs updated
SharyuMarwadi Aug 23, 2024
069f6c8
[feature/UpdateLogs] logs added
SamnitPatil9882 Aug 26, 2024
d200904
[Deployment] feature/UpdateLogs merged
SamnitPatil9882 Aug 26, 2024
b295e54
Merge branch 'Deployment' of github.com:joshsoftware/peerly-backend i…
SamnitPatil9882 Aug 26, 2024
a61d8ef
[ feature/UpdateLogs] main.go updated
SamnitPatil9882 Aug 26, 2024
7f313f1
Merge branch 'feature/UpdateLogs' of github.com:joshsoftware/peerly-b…
SamnitPatil9882 Aug 26, 2024
8aaf7ef
[feature/UpdateLogs] logs folder added
SamnitPatil9882 Aug 26, 2024
27405e4
Merge branch 'feature/UpdateLogs' of github.com:joshsoftware/peerly-b…
SamnitPatil9882 Aug 26, 2024
a03cd52
[feature/UpdateLogs] defer function changed
SamnitPatil9882 Aug 26, 2024
4d3573a
Merge branch 'feature/UpdateLogs' of github.com:joshsoftware/peerly-b…
SamnitPatil9882 Aug 26, 2024
14107e6
[Deployment] scheduler.Shutdown()
SamnitPatil9882 Aug 26, 2024
2f212e0
[Deployment] updated main.go
SamnitPatil9882 Aug 26, 2024
7ea5158
[fix/UpdateDailyDataQuery] updateDailyDataquery updated
SamnitPatil9882 Aug 26, 2024
ffd98ae
[Deployment] fix/UpdateDailyDataQuery
SamnitPatil9882 Aug 26, 2024
def9c72
[fix/UpdateDailyDataQuery] cronjob init fixed
SamnitPatil9882 Aug 26, 2024
0423235
Merge branch 'fix/UpdateDailyDataQuery' of github.com:joshsoftware/pe…
SamnitPatil9882 Aug 26, 2024
0ff798e
[fix/MonthlyCronJobDateAndTiming] monthly cronjob timing set to 1st o…
SamnitPatil9882 Aug 27, 2024
386aca4
[Deployment]fix/MonthlyCronJobDateAndTiming merged
SamnitPatil9882 Aug 27, 2024
327598a
[feature/addEmailAndNotification] image url changed as per env
SamnitPatil9882 Aug 28, 2024
442eefb
Merge branch 'feature/addEmailAndNotification' of github.com:joshsoft…
SamnitPatil9882 Aug 28, 2024
d128713
[feature/addEmailAndNotification] import cycle removed
SamnitPatil9882 Aug 28, 2024
07e217a
[feature/addEmailAndNotification] import cycle removed
SamnitPatil9882 Aug 28, 2024
2622091
Merge branch 'feature/addEmailAndNotification' of github.com:joshsoft…
SamnitPatil9882 Aug 28, 2024
182e74a
[feature/UpdateLogs] review comments resolved
SamnitPatil9882 Aug 29, 2024
d46c813
[feature/UpdateLogs] main merged in feature/UpdateLogs
SamnitPatil9882 Sep 2, 2024
3d087e0
[ fix/UpdateDailyDataQuery] main merged
SamnitPatil9882 Sep 2, 2024
133241b
[feature/UpdateLogs] main merged
SamnitPatil9882 Sep 3, 2024
58345ee
[fix/UpdateDailyDataQuery] main merged
SamnitPatil9882 Sep 3, 2024
061fd14
[feature/UpdateLogs] user_id key value added in log
SamnitPatil9882 Sep 4, 2024
c8b1612
main merged
SharyuMarwadi Sep 5, 2024
c66d818
Merge branch 'fix/UpdateDailyDataQuery' of github.com:joshsoftware/pe…
SharyuMarwadi Sep 5, 2024
d7817c1
[deployment] testing cron job
SharyuMarwadi Sep 5, 2024
7fdebed
[Deploymet] test cronjob
SharyuMarwadi Sep 5, 2024
2aae924
[feature/UpdateLogs] main merged
SamnitPatil Sep 5, 2024
699af4a
[feature/UpdateLogs] logs added
SamnitPatil Sep 6, 2024
6fd38e0
[feature/UpdateLogs] logs added
SamnitPatil Sep 6, 2024
8080998
[feature/UpdateLogs] req.Context() removed from logs
SamnitPatil Sep 6, 2024
dff6933
[feature/UpdateLogs] logs folder deleted
SamnitPatil Sep 9, 2024
728abd3
[Deployment] feature/UpdateLogs merged
SamnitPatil Sep 9, 2024
ca01ffa
[feature/UpdateLogs] log UserID contextKey type changed
SamnitPatil Sep 9, 2024
2beac58
[feature/UpdateLogs] logrus import removed in jwtMiddleware
SamnitPatil Sep 9, 2024
6e83c37
Merge branch 'feature/UpdateLogs' of github.com:joshsoftware/peerly-b…
SamnitPatil Sep 9, 2024
b2366b9
[Deployment] listappreciation query fixed:
SamnitPatil Sep 9, 2024
7c3dc73
check added for previous quarter reward
SamnitPatil Sep 26, 2024
7846dd7
query changed for current quarter only
SamnitPatil Sep 26, 2024
399a811
resolution comment length changed in db
SamnitPatil Sep 27, 2024
f3932f6
Merge branch 'fix/unableRewardForPreviousQuarter' of github.com:joshs…
SamnitPatil Sep 27, 2024
1e7bb2b
Merge branch 'fix/leadboardTop10List' of github.com:joshsoftware/peer…
SamnitPatil Sep 27, 2024
48338b4
list top10 users for valid appreciations
SamnitPatil Sep 27, 2024
83030fd
Merge branch 'fix/leadboardTop10List' of github.com:joshsoftware/peer…
SamnitPatil Sep 27, 2024
aa2f0bd
Merge branch 'fix/resolutionCommentLength' of github.com:joshsoftware…
SamnitPatil Sep 27, 2024
422bd81
error message changed
SamnitPatil Sep 27, 2024
64e0bfc
Merge branch 'fix/unableRewardForPreviousQuarter' of github.com:joshs…
SamnitPatil Sep 30, 2024
0ccd7a7
GetUserByID repo query changed
SamnitPatil Oct 4, 2024
6e423b1
profileImageUrl type changed to sqlNull string:
SamnitPatil Oct 9, 2024
1828b77
removed extra single line comment
SamnitPatil Oct 9, 2024
c04a76a
Merge branch 'fix/userProfile' of github.com:joshsoftware/peerly-back…
SamnitPatil Oct 9, 2024
d4fd572
Merge branch 'fix/RewardNotAllowedForReportedAppreciation' of github.…
SamnitPatil Nov 11, 2024
9a492e9
Merge branch 'fix/RewardNotAllowedForReportedAppreciation' of github.…
SamnitPatil Nov 11, 2024
f73184e
Merge branch 'fix/reportAppreciaton' of github.com:joshsoftware/peerl…
SamnitPatil Nov 11, 2024
dba5409
- removed the maximum limit for the description box
Smokashi23 Dec 18, 2024
607eb8a
- removed the maximum limit for the description box
Smokashi23 Dec 18, 2024
e9a65a7
- Added the validation for minimun character length
Smokashi23 Dec 19, 2024
329569c
Merge branch 'Fix/description_box' of https://github.com/Smokashi23/p…
Smokashi23 Dec 19, 2024
0180707
- Reframed the error message
Smokashi23 Dec 20, 2024
e198df5
Revert "Merge branch 'Fix/description_box' of https://github.com/Smok…
Smokashi23 Dec 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ go.work.sum
.env
.vscode
serviceAccountKey.json
logs/*
<<<<<<< HEAD
logs/*
=======
logs/*
>>>>>>> 1828b7728c5becfba917cec01f0afb82d92d097e
6 changes: 5 additions & 1 deletion cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,11 @@ func startApp() (err error) {
logger.WithField("err", err.Error()).Error("CronJob Initialize failed")
return
}
defer scheduler.Shutdown()
defer func() {
if err := scheduler.Shutdown(); err != nil {
log.Error(ctx, "Scheduler shutdown failed: %s", err.Error())
}
}()
//initialize router
router := api.NewRouter(services)

Expand Down
10 changes: 6 additions & 4 deletions internal/app/appreciation/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"github.com/joshsoftware/peerly-backend/internal/app/notification"
user "github.com/joshsoftware/peerly-backend/internal/app/users"
"github.com/joshsoftware/peerly-backend/internal/pkg/apperrors"
"github.com/joshsoftware/peerly-backend/internal/pkg/config"
"github.com/joshsoftware/peerly-backend/internal/pkg/constants"
"github.com/joshsoftware/peerly-backend/internal/pkg/dto"
"github.com/joshsoftware/peerly-backend/internal/pkg/utils"
Expand Down Expand Up @@ -41,6 +42,7 @@ func NewService(appreciationRepo repository.AppreciationStorer, coreValuesRepo r

func (apprSvc *service) CreateAppreciation(ctx context.Context, appreciation dto.Appreciation) (dto.Appreciation, error) {

logger.Debug(ctx, "svc: CreateAppreciation: appreciation: ", appreciation)
//add quarter
appreciation.Quarter = utils.GetQuarter()
logger.Debug(ctx, "appreciationService CreateAppreciation: appreciation: ", appreciation)
Expand Down Expand Up @@ -305,13 +307,13 @@ func (apprSvc *service) sendEmailForBadgeAllocation(userBadgeDetails []repositor
var badgeImageUrl string
switch userBadgeDetail.BadgeName.String {
case "Bronze":
badgeImageUrl = "bronzeBadge"
badgeImageUrl = fmt.Sprint(config.PeerlyBaseUrl() + constants.BronzeBadgeIconImagePath)
case "Silver":
badgeImageUrl = "silverBadge"
badgeImageUrl = fmt.Sprint(config.PeerlyBaseUrl() + constants.SilverBadgeIconImagePath)
case "Gold":
badgeImageUrl = "goldBadge"
badgeImageUrl = fmt.Sprint(config.PeerlyBaseUrl() + constants.GoldBadgeIconImagePath)
case "Platinum":
badgeImageUrl = "platinumBadge"
badgeImageUrl = fmt.Sprint(config.PeerlyBaseUrl() + constants.PlatinumIconImagePath)
}

// repository.UserBadgeDetails
Expand Down
8 changes: 8 additions & 0 deletions internal/app/badges/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package badges

import (
"context"
"time"

"github.com/joshsoftware/peerly-backend/internal/pkg/apperrors"
"github.com/joshsoftware/peerly-backend/internal/pkg/constants"
Expand Down Expand Up @@ -100,3 +101,10 @@ func mapDbToSvc(dbResp repository.Badge, user dto.GetUserByIdResp) (svcResp dto.
svcResp.UpdatedBy = user.FirstName + " " + user.LastName
return
}

func GetQuarterStartUnixTime() int64 {
// Example function to get the Unix timestamp of the start of the quarter
now := time.Now()
quarterStart := time.Date(now.Year(), (now.Month()-1)/3*3+1, 1, 0, 0, 0, 0, time.UTC)
return quarterStart.Unix() * 1000 // convert to milliseconds
}
10 changes: 4 additions & 6 deletions internal/app/cronjob/monthlyUpdateData.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ const MONTHLY_JOB = "MONTHLY_JOB"
var MONTHLY_CRON_JOB_INTERVAL_MONTHS = 1

var MonthlyJobTiming = JobTime{
hours: 23,
minutes: 59,
hours: 11,
minutes: 26,
seconds: 0,
}

Expand Down Expand Up @@ -60,7 +60,7 @@ func (cron *MonthlyJob) Schedule() error {
)
cron.scheduler.Start()
if err != nil {
logger.Warn(context.TODO(), fmt.Sprintf("error occurred while scheduling %s, message %+v", cron.name, err.Error()))
logger.Warn(context.Background(), fmt.Sprintf("error occurred while scheduling %s, message %+v", cron.name, err.Error()))
return err
}
return nil
Expand All @@ -72,22 +72,20 @@ func (cron *MonthlyJob) Task(ctx context.Context) {
for i := 0; i < 3; i++ {
logger.Info(ctx, "cron job attempt:", i+1)
err = cron.userService.UpdateRewardQuota(ctx)
logger.Error(ctx, "err: ", err)
if err == nil {
sendRewardQuotaRefilledNotificationToAll()
return
}
log.Info(ctx, fmt.Sprintf("cronjob fail error: %v", err.Error()))
}
// return err
return
}

func sendRewardQuotaRefilledNotificationToAll() {
msg := notification.Message{
Title: "Reward Quota is Refilled",
Body: "Your reward quota is reset! You now recognize your colleagues.",
}

logger.Debug(context.Background(), "msg:", msg)
msg.SendNotificationToTopic("peerly")
}
Expand Down
3 changes: 2 additions & 1 deletion internal/app/cronjob/updateDailyData.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"github.com/go-co-op/gocron/v2"
apprSvc "github.com/joshsoftware/peerly-backend/internal/app/appreciation"
orgSvc "github.com/joshsoftware/peerly-backend/internal/app/organizationConfig"
"github.com/joshsoftware/peerly-backend/internal/pkg/constants"
logger "github.com/joshsoftware/peerly-backend/internal/pkg/logger"
)

Expand Down Expand Up @@ -63,8 +64,8 @@ func (cron *DailyJob) Schedule() error {
}
return nil
}

func (cron *DailyJob) Task(ctx context.Context) {
ctx = context.WithValue(ctx, constants.RequestID, "dailyUpdate")
logger.Info(ctx, "in daily job task")

orgInfo, err := cron.organizationConfigService.GetOrganizationConfig(ctx)
Expand Down
8 changes: 8 additions & 0 deletions internal/app/grades/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package grades

import (
"context"
"time"

"github.com/joshsoftware/peerly-backend/internal/pkg/apperrors"
"github.com/joshsoftware/peerly-backend/internal/pkg/constants"
Expand Down Expand Up @@ -96,3 +97,10 @@ func mapDbToSvc(dbResp repository.Grade, user dto.GetUserByIdResp) (svcResp dto.
svcResp.UpdatedBy = user.FirstName + " " + user.LastName
return
}

func GetQuarterStartUnixTime() int64 {
// Example function to get the Unix timestamp of the start of the quarter
now := time.Now()
quarterStart := time.Date(now.Year(), (now.Month()-1)/3*3+1, 1, 0, 0, 0, 0, time.UTC)
return quarterStart.Unix() * 1000 // convert to milliseconds
}
5 changes: 4 additions & 1 deletion internal/app/reportAppreciations/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,19 +356,22 @@ func mapDbAppreciationsToSvcAppreciations(dbApp repository.ListReportedAppreciat

func sendReportEmail(senderEmail string, senderFirstName string, senderLastName string, apprSenderFirstName string, apprSenderLastName string, apprReceiverFirstName string, apprReceiverLastName string, reportingComment string) error {

ctx := context.Background()
ctx = context.WithValue(ctx, constants.RequestID, "reportEmail")
templateData := struct {
SenderName string
ReportingComment string
AppreciationSenderName string
AppreciationReceiverName string
ReportIconImageURL string
}{
SenderName: fmt.Sprint(senderFirstName, " ", senderLastName),
ReportingComment: reportingComment,
AppreciationSenderName: fmt.Sprint(apprSenderFirstName, " ", apprSenderLastName),
AppreciationReceiverName: fmt.Sprint(apprReceiverFirstName, " ", apprReceiverLastName),
ReportIconImageURL: fmt.Sprint(config.PeerlyBaseUrl() + constants.CheckIconLogo),
}

ctx := context.Background()
logger.Info(ctx, "report sender email: ---------> ", senderEmail)
mailReq := email.NewMail([]string{senderEmail}, []string{"dl_peerly.support@joshsoftware.com"}, []string{}, "🙏 Thanks for Your Feedback! We’re On It! 🔧")
mailReq.ParseTemplate("./internal/app/email/templates/reportAppreciation.html", templateData)
Expand Down
1 change: 1 addition & 0 deletions internal/app/reward/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ func (rwrdSvc *service) sendRewardNotificationToSender(ctx context.Context, user

logger.Debug(ctx, " rewardService: sendRewardNotificationToSender: user: ", user)
notificationTokens, err := rwrdSvc.userRepo.ListDeviceTokensByUserID(ctx, user.UserId)
logger.Debug(ctx, " notificationTokens: ", notificationTokens)
if err != nil {
logger.Errorf(ctx, "err in getting device tokens: %v", err)
return
Expand Down
2 changes: 1 addition & 1 deletion internal/pkg/apperrors/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ const (
InvalidRewardMultiplier = CustomError("Reward multiplier should greater than 1")
InvalidRewardQuotaRenewalFrequency = CustomError("Reward renewal frequency should greater than 1")
InvalidTimezone = CustomError("Enter valid timezone")
DescriptionLengthExceed = CustomError("Maximum character length of 500 exceeded")
DescriptionLengthExceed = CustomError("The description should be at least 150 characters long")
InvalidPageSize = CustomError("Invalid page size")
InvalidPage = CustomError("Invalid page value")
NegativeGradePoints = CustomError("Grade points cannot be negative")
Expand Down
11 changes: 11 additions & 0 deletions internal/pkg/constants/system.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,15 @@ const (

const DefaultOrgID = 1

// EmailTemplate Icon url
const (
BronzeBadgeIconImagePath = "/peerly/assets/bronzeBadge.png"
SilverBadgeIconImagePath = "/peerly/assets/silverBadge.png"
GoldBadgeIconImagePath = "/peerly/assets/goldBadge.png"
PlatinumIconImagePath = "/peerly/assets/platinumBadge.png"
CheckIconImagePath = "/peerly/assets/checkIcon.png"
ClosedEnvelopeIconImagePath = "/peerly/assets/closedEnvelopeIcon.png"
OpenEnvelopeIconImagePath = "/peerly/assets/openEnvelopeIcon.png"
RewardQuotaRenewalIconImagePath = "/peerly/assets/rewardQuotaRenewal.png"
)
const CheckIconLogo = "/peerly/assets/checkIcon.png"
2 changes: 1 addition & 1 deletion internal/pkg/dto/appreciation.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func (appr *Appreciation) ValidateCreateAppreciation() (err error) {
return apperrors.DescFieldBlank
}

if len(appr.Description) > 500 {
if len(appr.Description) < 150 {
return apperrors.DescriptionLengthExceed
}

Expand Down
1 change: 1 addition & 0 deletions internal/repository/mocks/UserStorer.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions logs/2024-08-26_13-15-07_peerly_backend.log
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
time="2024-08-26T13:15:07+05:30" level=info msg="req_id: [Starting Peerly Application...]"
Binary file added main
Binary file not shown.