aboutsummaryrefslogtreecommitdiff
path: root/cmd/mi/services/events/flyghttracker.go
blob: fce3f70cb7b871c4bf41b20c62dadf1736f24c3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package events

import (
	"context"
	"log/slog"

	"within.website/x/cmd/mi/services/events/flyghttracker"
	pb "within.website/x/proto/mi"
)

func (e *Events) syndicateToFlyghtTracker(ctx context.Context, ev *pb.Event) error {
	if !ev.GetSyndicate() {
		slog.Debug("not syndicating event to flyght tracker", "event", ev)
		return nil
	}

	ftev := flyghttracker.Event{
		Name: ev.GetName(),
		URL:  ev.GetUrl(),
		StartDate: flyghttracker.Date{
			Time: ev.GetStartDate().AsTime(),
		},
		Location: ev.GetLocation(),
		People:   []string{"Xe"},
	}

	if ev.GetStartDate().Seconds != ev.GetEndDate().Seconds {
		ftev.EndDate = flyghttracker.Date{
			Time: ev.GetEndDate().AsTime(),
		}
	}

	if err := e.flyghtTracker.Create(ctx, ftev); err != nil {
		return err
	}

	return nil
}