Skip to content

Commit 482045a

Browse files
committed
Merge branch 'master' of git.joinimpact.org:joinimpact/api
2 parents 12567a3 + e3d7e11 commit 482045a

23 files changed

+1285
-69
lines changed

cmd/server/main.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/joinimpact/api/internal/database/postgres"
1010
"github.com/joinimpact/api/internal/email"
1111
"github.com/joinimpact/api/internal/events"
12+
"github.com/joinimpact/api/internal/hours"
1213
"github.com/joinimpact/api/internal/models"
1314
"github.com/joinimpact/api/internal/opportunities"
1415
"github.com/joinimpact/api/internal/organizations"
@@ -86,6 +87,7 @@ func main() {
8687
&models.Tag{},
8788
&models.ThirdPartyIdentity{},
8889
&models.VolunteeringHourLog{},
90+
&models.VolunteeringHourLogRequest{},
8991
)
9092
if err != nil {
9193
// Error migrating the database, panic.
@@ -134,6 +136,8 @@ func main() {
134136
messageRepository := postgres.NewMessageRepository(db, &log.Logger)
135137
eventRepository := postgres.NewEventRepository(db, &log.Logger)
136138
eventResponseRepository := postgres.NewEventResponseRepository(db, &log.Logger)
139+
volunteeringHourLogRepository := postgres.NewVolunteeringHourLogRepository(db, &log.Logger)
140+
volunteeringHourLogRequestRepository := postgres.NewVolunteeringHourLogRequestRepository(db, &log.Logger)
137141

138142
// Elastic client
139143
elasticClient, err := search.NewElasticsearch(config.ElasticHost, config.ElasticPort)
@@ -156,8 +160,10 @@ func main() {
156160
organizationsService := organizations.NewService(organizationRepository, organizationMembershipRepository, organizationMembershipInviteRepository, organizationProfileFieldRepository, organizationTagRepository, userRepository, tagRepository, config, &log.Logger, snowflakeService, emailService, locationService)
157161
opportunitiesService := opportunities.NewService(opportunityRepository, opportunityRequirementsRepository, opportunityLimitsRepository, opportunityTagRepository, opportunityMembershipRepository, opportunityMembershipRequestRepository, opportunityMembershipInviteRepository, tagRepository, userRepository, userTagRepository, organizationRepository, config, &log.Logger, snowflakeService, emailService, opportunitiesSearchService, locationService)
158162
eventsService := events.NewService(eventRepository, eventResponseRepository, opportunityMembershipRepository, tagRepository, config, &log.Logger, snowflakeService, emailService, locationService)
159-
conversationsService := conversations.NewService(conversationRepository, conversationMembershipRepository, conversationOpportunityMembershipRequestRepository, conversationOrganizationMembershipRepository, messageRepository, opportunityRepository, userRepository, userProfileFieldRepository, userTagRepository, tagRepository, config, &log.Logger, snowflakeService, emailService, broker, locationService)
163+
conversationsService := conversations.NewService(conversationRepository, conversationMembershipRepository, conversationOpportunityMembershipRequestRepository, conversationOrganizationMembershipRepository, messageRepository, opportunityRepository, userRepository, userProfileFieldRepository, userTagRepository, tagRepository, volunteeringHourLogRequestRepository, config, &log.Logger, snowflakeService, emailService, broker, locationService)
160164
tagsService := tags.NewService(tagRepository, config, &log.Logger, snowflakeService)
165+
hoursService := hours.NewService(volunteeringHourLogRepository, volunteeringHourLogRequestRepository, opportunityRepository, organizationRepository,
166+
userRepository, eventRepository, config, &log.Logger, snowflakeService, emailService, broker, locationService)
161167

162168
// WebSocket services
163169
wsHub := hub.NewHub(hub.Options{})
@@ -167,7 +173,7 @@ func main() {
167173
websocketService := socketserver.NewService(wsManager)
168174

169175
// Create a new app using the new config.
170-
app := core.NewApp(config, &log.Logger, websocketService, authenticationService, usersService, organizationsService, tagsService, opportunitiesService, eventsService, conversationsService)
176+
app := core.NewApp(config, &log.Logger, websocketService, authenticationService, usersService, organizationsService, tagsService, opportunitiesService, eventsService, conversationsService, hoursService)
171177

172178
// Print a message.
173179
log.Info().Int("port", int(config.Port)).Str("version", APIVersion).Msg("Listening")

internal/conversations/message_types.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,21 @@ type MessageVolunteerRequestProfile struct {
1414
// MessageTypeVolunteerRequestAcceptance represents the message sent when a user is accepted to an opportunity.
1515
type MessageTypeVolunteerRequestAcceptance struct {
1616
UserID int64 `json:"userId"`
17+
AccepterID int64 `json:"accepterId"`
1718
OpportunityID int64 `json:"opportunityId"`
1819
}
20+
21+
// MessageTypeHoursRequested represents the message sent when a volunteer requests hours from an organization.
22+
type MessageTypeHoursRequested struct {
23+
VolunteeringHourLogRequestID int64 `json:"requestId"`
24+
}
25+
26+
// MessageTypeHoursAccepted represents the message sent when a volunteer's request is accepted.
27+
type MessageTypeHoursAccepted struct {
28+
VolunteeringHourLogRequestID int64 `json:"requestId"`
29+
}
30+
31+
// MessageTypeHoursDeclined represents the message sent when a volunteer's request is declined.
32+
type MessageTypeHoursDeclined struct {
33+
VolunteeringHourLogRequestID int64 `json:"requestId"`
34+
}

0 commit comments

Comments
 (0)