Fix BASE_URL config loading, add tasks/projects; robust .env path resolution
- Config: try ENV_FILE, .env, ../.env for loading; trim trailing slash from BaseURL - Log BASE_URL at server startup for verification - .env.example: document BASE_URL - Tasks, projects, tags, migrations and related API/handlers Made-with: Cursor
This commit is contained in:
@@ -25,6 +25,7 @@ import (
|
||||
|
||||
func main() {
|
||||
cfg := config.Load()
|
||||
log.Printf("BASE_URL=%s", cfg.BaseURL)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
@@ -86,19 +87,36 @@ func main() {
|
||||
reminderSvc := service.NewReminderService(queries, calSvc, sched)
|
||||
attendeeSvc := service.NewAttendeeService(queries, calSvc)
|
||||
|
||||
taskWebhookSvc := service.NewTaskWebhookService(queries)
|
||||
taskSvc := service.NewTaskService(queries, auditSvc, taskWebhookSvc)
|
||||
projectSvc := service.NewProjectService(queries, auditSvc)
|
||||
tagSvc := service.NewTagService(queries)
|
||||
taskDepSvc := service.NewTaskDependencyService(queries)
|
||||
var taskReminderScheduler service.TaskReminderScheduler = scheduler.NoopScheduler{}
|
||||
if realSched, ok := sched.(*scheduler.Scheduler); ok {
|
||||
taskReminderScheduler = realSched
|
||||
}
|
||||
taskReminderSvc := service.NewTaskReminderService(queries, taskReminderScheduler)
|
||||
|
||||
h := api.Handlers{
|
||||
Auth: handlers.NewAuthHandler(authSvc, userSvc),
|
||||
User: handlers.NewUserHandler(userSvc),
|
||||
Calendar: handlers.NewCalendarHandler(calSvc),
|
||||
Sharing: handlers.NewSharingHandler(calSvc),
|
||||
Event: handlers.NewEventHandler(eventSvc),
|
||||
Reminder: handlers.NewReminderHandler(reminderSvc),
|
||||
Attendee: handlers.NewAttendeeHandler(attendeeSvc),
|
||||
Contact: handlers.NewContactHandler(contactSvc),
|
||||
Availability: handlers.NewAvailabilityHandler(availSvc),
|
||||
Booking: handlers.NewBookingHandler(bookingSvc),
|
||||
APIKey: handlers.NewAPIKeyHandler(apiKeySvc),
|
||||
ICS: handlers.NewICSHandler(calSvc, eventSvc, queries),
|
||||
Auth: handlers.NewAuthHandler(authSvc, userSvc),
|
||||
User: handlers.NewUserHandler(userSvc),
|
||||
Calendar: handlers.NewCalendarHandler(calSvc),
|
||||
Sharing: handlers.NewSharingHandler(calSvc),
|
||||
Event: handlers.NewEventHandler(eventSvc),
|
||||
Reminder: handlers.NewReminderHandler(reminderSvc),
|
||||
Attendee: handlers.NewAttendeeHandler(attendeeSvc),
|
||||
Contact: handlers.NewContactHandler(contactSvc),
|
||||
Availability: handlers.NewAvailabilityHandler(availSvc),
|
||||
Booking: handlers.NewBookingHandler(bookingSvc),
|
||||
APIKey: handlers.NewAPIKeyHandler(apiKeySvc),
|
||||
ICS: handlers.NewICSHandler(calSvc, eventSvc, queries),
|
||||
Task: handlers.NewTaskHandler(taskSvc),
|
||||
Project: handlers.NewProjectHandler(projectSvc),
|
||||
Tag: handlers.NewTagHandler(tagSvc),
|
||||
TaskDependency: handlers.NewTaskDependencyHandler(taskDepSvc),
|
||||
TaskReminder: handlers.NewTaskReminderHandler(taskReminderSvc),
|
||||
TaskWebhook: handlers.NewTaskWebhookHandler(taskWebhookSvc),
|
||||
}
|
||||
|
||||
authMW := middleware.NewAuthMiddleware(jwtManager, queries)
|
||||
|
||||
Reference in New Issue
Block a user