share API stuff into share.go

This commit is contained in:
Daniel Ponte 2025-02-01 21:23:22 -05:00
parent cf498d241a
commit 40ca650895
2 changed files with 14 additions and 11 deletions

View file

@ -48,17 +48,7 @@ func New(baseURL url.URL) *api {
incidents: newIncidentsAPI(&baseURL),
users: new(usersAPI),
}
s.shares = newShareAPI(&baseURL,
ShareHandlers{
ShareRequestCall: s.calls.shareCallRoute,
ShareRequestCallInfo: respondShareHandler(s.calls.getCallInfo),
ShareRequestCallDL: s.calls.shareCallDLRoute,
ShareRequestIncident: respondShareHandler(s.incidents.getIncident),
ShareRequestIncidentM3U: s.incidents.getCallsM3U,
ShareRequestTalkgroups: s.tgs.getTGsShareRoute,
},
)
s.shares = newShareAPI(&baseURL, s.shareHandlers())
return s
}

View file

@ -31,6 +31,18 @@ const (
ShareRequestTalkgroups ShareRequestType = "talkgroups"
)
// shareHandlers returns a ShareHandlers map from the api.
func (s *api) shareHandlers() ShareHandlers {
return ShareHandlers{
ShareRequestCall: s.calls.shareCallRoute,
ShareRequestCallInfo: respondShareHandler(s.calls.getCallInfo),
ShareRequestCallDL: s.calls.shareCallDLRoute,
ShareRequestIncident: respondShareHandler(s.incidents.getIncident),
ShareRequestIncidentM3U: s.incidents.getCallsM3U,
ShareRequestTalkgroups: s.tgs.getTGsShareRoute,
}
}
func (rt ShareRequestType) IsValid() bool {
switch rt {
case ShareRequestCall, ShareRequestCallInfo, ShareRequestCallDL, ShareRequestIncident,
@ -94,6 +106,7 @@ func respondShareHandler(ie EntityFunc) ShareHandlerFunc {
}
}
func newShareAPI(baseURL *url.URL, shnd ShareHandlers) *shareAPI {
return &shareAPI{
baseURL: baseURL,