Skip to content

Commit 5a1f4fa

Browse files
Review calendar (#92)
* Tidy up calendar * Remove JSONB * More cleanup
1 parent 4a8bb52 commit 5a1f4fa

File tree

89 files changed

+419
-564
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+419
-564
lines changed

domain/integrations/planningcenter/calendar/attachment.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88
"github.com/getparable/parable-api/domain/integrations/planningcenter/calendar/attachment"
99
)
1010

11-
func (s *Service) ListAttachments(ctx context.Context) (attachment.Attachments, error) {
11+
func (s *Service) ListAttachments(ctx context.Context, includes ...string) (attachment.Attachments, error) {
1212
var nextURI *url.URL
13-
nextURI, err := attachment.URL(attachment.IncludeEvent)
13+
nextURI, err := attachment.URL(includes...)
1414
if err != nil {
1515
return nil, err
1616
}

domain/integrations/planningcenter/calendar/attachment/attachment.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"slices"
88
"strings"
99
"time"
10+
11+
"github.com/getparable/parable-api/domain"
1012
)
1113

1214
const (
@@ -17,7 +19,17 @@ const (
1719

1820
var validIncludes = []string{IncludeEvent}
1921

22+
var requiredIncludes = []string{IncludeEvent}
23+
2024
func URL(includes ...string) (*url.URL, error) {
25+
if len(includes) == 1 && includes[0] == domain.Wildcard {
26+
includes = validIncludes
27+
}
28+
for _, requiredInclude := range requiredIncludes {
29+
if !slices.Contains(includes, requiredInclude) {
30+
includes = append(includes, requiredInclude)
31+
}
32+
}
2133
for _, include := range includes {
2234
if !slices.Contains(validIncludes, include) {
2335
return nil, fmt.Errorf("invalid include: %s", include)

domain/integrations/planningcenter/calendar/conflict.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88
"github.com/getparable/parable-api/domain/integrations/planningcenter/calendar/conflict"
99
)
1010

11-
func (s *Service) ListConflicts(ctx context.Context) (conflict.Conflicts, error) {
11+
func (s *Service) ListConflicts(ctx context.Context, includes ...string) (conflict.Conflicts, error) {
1212
var nextURI *url.URL
13-
nextURI, err := conflict.URL(conflict.IncludeResource, conflict.IncludeResolvedBy, conflict.IncludeWinner)
13+
nextURI, err := conflict.URL(includes...)
1414
if err != nil {
1515
return nil, err
1616
}

domain/integrations/planningcenter/calendar/conflict/conflict.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"slices"
88
"strings"
99
"time"
10+
11+
"github.com/getparable/parable-api/domain"
1012
)
1113

1214
const (
@@ -19,7 +21,17 @@ const (
1921

2022
var validIncludes = []string{IncludeResolvedBy, IncludeResource, IncludeWinner}
2123

24+
var requiredIncludes = []string{IncludeResource, IncludeResolvedBy, IncludeWinner}
25+
2226
func URL(includes ...string) (*url.URL, error) {
27+
if len(includes) == 1 && includes[0] == domain.Wildcard {
28+
includes = validIncludes
29+
}
30+
for _, requiredInclude := range requiredIncludes {
31+
if !slices.Contains(includes, requiredInclude) {
32+
includes = append(includes, requiredInclude)
33+
}
34+
}
2335
for _, include := range includes {
2436
if !slices.Contains(validIncludes, include) {
2537
return nil, fmt.Errorf("invalid include: %s", include)

domain/integrations/planningcenter/calendar/event.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88
"github.com/getparable/parable-api/domain/integrations/planningcenter/calendar/event"
99
)
1010

11-
func (s *Service) ListEvents(ctx context.Context) (event.Events, error) {
11+
func (s *Service) ListEvents(ctx context.Context, includes ...string) (event.Events, error) {
1212
var nextURI *url.URL
13-
nextURI, err := event.URL(event.IncludeAttachments, event.IncludeFeed, event.IncludeOwner, event.IncludeTags)
13+
nextURI, err := event.URL(includes...)
1414
if err != nil {
1515
return nil, err
1616
}

domain/integrations/planningcenter/calendar/event/event.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"slices"
88
"strings"
99
"time"
10+
11+
"github.com/getparable/parable-api/domain"
1012
)
1113

1214
const (
@@ -20,7 +22,17 @@ const (
2022

2123
var validIncludes = []string{IncludeAttachments, IncludeFeed, IncludeOwner, IncludeTags}
2224

25+
var requiredIncludes = []string{IncludeFeed, IncludeOwner, IncludeTags}
26+
2327
func URL(includes ...string) (*url.URL, error) {
28+
if len(includes) == 1 && includes[0] == domain.Wildcard {
29+
includes = validIncludes
30+
}
31+
for _, requiredInclude := range requiredIncludes {
32+
if !slices.Contains(includes, requiredInclude) {
33+
includes = append(includes, requiredInclude)
34+
}
35+
}
2436
for _, include := range includes {
2537
if !slices.Contains(validIncludes, include) {
2638
return nil, fmt.Errorf("invalid include: %s", include)

domain/integrations/planningcenter/calendar/eventconnection/eventconnection.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"net/url"
77
"slices"
88
"strings"
9+
10+
"github.com/getparable/parable-api/domain"
911
)
1012

1113
const (
@@ -17,6 +19,9 @@ const (
1719
var validIncludes = []string{IncludeEvent}
1820

1921
func URL(eventID string, includes ...string) (*url.URL, error) {
22+
if len(includes) == 1 && includes[0] == domain.Wildcard {
23+
includes = validIncludes
24+
}
2025
for _, include := range includes {
2126
if !slices.Contains(validIncludes, include) {
2227
return nil, fmt.Errorf("invalid include: %s", include)

domain/integrations/planningcenter/calendar/eventinstance.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ type EventInstanceResult struct {
2020
Tags tag.Tags
2121
}
2222

23-
func (s *Service) ListEventInstances(ctx context.Context) (*EventInstanceResult, error) {
23+
func (s *Service) ListEventInstances(ctx context.Context, includes ...string) (*EventInstanceResult, error) {
2424
var nextURI *url.URL
25-
nextURI, err := eventinstance.URL(eventinstance.IncludeEvent, eventinstance.IncludeEventTimes, eventinstance.IncludeResourceBookings, eventinstance.IncludeTags)
25+
nextURI, err := eventinstance.URL(includes...)
2626
if err != nil {
2727
return nil, err
2828
}

domain/integrations/planningcenter/calendar/eventinstance/eventinstance.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"slices"
88
"strings"
99
"time"
10+
11+
"github.com/getparable/parable-api/domain"
1012
)
1113

1214
const (
@@ -20,7 +22,17 @@ const (
2022

2123
var validIncludes = []string{IncludeEvent, IncludeEventTimes, IncludeResourceBookings, IncludeTags}
2224

25+
var requiredIncludes = []string{IncludeEvent, IncludeEventTimes, IncludeResourceBookings, IncludeTags}
26+
2327
func URL(includes ...string) (*url.URL, error) {
28+
if len(includes) == 1 && includes[0] == domain.Wildcard {
29+
includes = validIncludes
30+
}
31+
for _, requiredInclude := range requiredIncludes {
32+
if !slices.Contains(includes, requiredInclude) {
33+
includes = append(includes, requiredInclude)
34+
}
35+
}
2436
for _, include := range includes {
2537
if !slices.Contains(validIncludes, include) {
2638
return nil, fmt.Errorf("invalid include: %s", include)

domain/integrations/planningcenter/calendar/eventresourceanswer.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"net/http"
66
"net/url"
7-
"os"
87

98
"github.com/getparable/parable-api/domain/integrations/planningcenter/calendar/eventresourceanswer"
109
)
@@ -23,7 +22,6 @@ func (s *Service) ListEventResourceAnswers(ctx context.Context, eventResourceReq
2322
return nil, err
2423
}
2524
req = req.WithContext(s.ctx)
26-
req.Header.Set("X-PCO-API-Version", os.Getenv("PLANNING_CENTER_PEOPLE_API_VERSION"))
2725

2826
result := &eventresourceanswer.EventResourceAnswerResponse{}
2927

0 commit comments

Comments
 (0)