@churchapps/content-providers 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -610,6 +610,77 @@ declare function servicesToInstances(services: MdnsService[], port?: number): Pr
610
610
  declare function networkInstanceToAuth(instance: NetworkInstance): ContentProviderAuthData;
611
611
  declare function authToNetworkInstance(auth?: ContentProviderAuthData | null): NetworkInstance | null;
612
612
 
613
+ interface GoCurriculumPlaylistItem {
614
+ title: string;
615
+ file: string;
616
+ url: string;
617
+ mediaType?: string;
618
+ duration?: number;
619
+ thumbnail?: string;
620
+ shareUrl?: string;
621
+ }
622
+ interface GoCurriculumResource {
623
+ title: string;
624
+ file: string;
625
+ url: string;
626
+ shareUrl?: string;
627
+ }
628
+ interface GoCurriculumLesson {
629
+ id: string;
630
+ name: string;
631
+ thumbnail?: string;
632
+ bigIdea?: string;
633
+ bibleBasis?: string;
634
+ keyVerse?: string;
635
+ playlist: GoCurriculumPlaylistItem[];
636
+ resources?: GoCurriculumResource[];
637
+ }
638
+ interface GoCurriculumCollection {
639
+ id: string;
640
+ name: string;
641
+ thumbnail?: string;
642
+ lessons: GoCurriculumLesson[];
643
+ }
644
+ interface GoCurriculumData {
645
+ generatedAt?: string;
646
+ provider?: {
647
+ name?: string;
648
+ };
649
+ catalog: GoCurriculumCollection[];
650
+ }
651
+
652
+ type GoCurriculumCatalogLoader = (groupId: string, auth: ContentProviderAuthData) => Promise<GoCurriculumData | null>;
653
+ declare class GoCurriculumProvider extends BaseProvider {
654
+ private readonly oauthHelper;
655
+ private readonly verifiedTokens;
656
+ readonly id = "gocurriculum";
657
+ readonly name = "Go Curriculum";
658
+ readonly logos: ProviderLogos;
659
+ readonly config: ContentProviderConfig;
660
+ private data;
661
+ private dataFetchedAt;
662
+ private loadCatalog;
663
+ setCatalogLoader(loader: GoCurriculumCatalogLoader): void;
664
+ private getData;
665
+ private getCollection;
666
+ getCatalog(groupId: string, auth?: ContentProviderAuthData | null): Promise<GoCurriculumData | null>;
667
+ readonly requiresAuth = true;
668
+ readonly authTypes: AuthType[];
669
+ readonly capabilities: ProviderCapabilities;
670
+ private verifyAuth;
671
+ browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;
672
+ private getLessonFiles;
673
+ getPlaylist(path: string, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null>;
674
+ getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
675
+ generateCodeVerifier(): string;
676
+ buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{
677
+ url: string;
678
+ challengeMethod: string;
679
+ }>;
680
+ buildAuthUrlFromChallenge(codeChallenge: string, redirectUri: string, state: string): string;
681
+ exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null>;
682
+ }
683
+
613
684
  /** Browses Life.Church's kids curriculum from a static catalog (series → units → lessons), plus a weekly scheduled lesson index. */
614
685
  declare class LifeChurchProvider extends BaseProvider {
615
686
  readonly id = "lifechurch";
@@ -653,4 +724,4 @@ declare function getAvailableProviders(ids?: string[]): ProviderInfo[];
653
724
  */
654
725
  declare const VERSION: string;
655
726
 
656
- export { APlayProvider, type AuthType, B1ChurchProvider, BaseProvider, BibleProjectProvider, CbnProvider, type ContentDownload, type ContentFile, type ContentFolder, type ContentItem, type ContentProviderAuthData, type ContentProviderConfig, type CurrentPlan, type DeviceAuthorizationResponse, DeviceFlowHelper, type DeviceFlowPollResult, type DeviceFlowState, DropboxProvider, type EndpointValue, type EndpointsConfig, FREESHOW_REST_PORT, type FeedActionInterface, type FeedDownloadInterface, type FeedFileInterface, type FeedSectionInterface, type FeedVenueInterface, type FreeShowDiscoverer, FreeShowProvider, HighVoltageKidsProvider, type IProvider, type InstructionItem, type Instructions, JesusFilmProvider, LessonsChurchProvider, LifeChurchProvider, type MdnsService, type MediaLicenseResult, type MediaLicenseStatus, type MessageFileInterface, type NetworkInstance, OAuthHelper, type Plan, type PlanPresentation, type PlanSection, type PlanTimelineItem, PlanningCenterProvider, type ProviderCapabilities, type ProviderInfo, type ProviderLogos, SignPresenterProvider, TokenHelper, VERSION, type VenueActionInterface, type VenueActionsResponseInterface, type VenueSectionActionsInterface, authIsExpired, authToNetworkInstance, servicesToInstances as freeShowServicesToInstances, getAllProviders, getAvailableProviders, getProvider, getProviderConfig, isContentFile, isContentFolder, navigateToPath, networkInstanceToAuth, registerProvider, setProviderSecret, toAuthData };
727
+ export { APlayProvider, type AuthType, B1ChurchProvider, BaseProvider, BibleProjectProvider, CbnProvider, type ContentDownload, type ContentFile, type ContentFolder, type ContentItem, type ContentProviderAuthData, type ContentProviderConfig, type CurrentPlan, type DeviceAuthorizationResponse, DeviceFlowHelper, type DeviceFlowPollResult, type DeviceFlowState, DropboxProvider, type EndpointValue, type EndpointsConfig, FREESHOW_REST_PORT, type FeedActionInterface, type FeedDownloadInterface, type FeedFileInterface, type FeedSectionInterface, type FeedVenueInterface, type FreeShowDiscoverer, FreeShowProvider, type GoCurriculumCatalogLoader, type GoCurriculumData, GoCurriculumProvider, HighVoltageKidsProvider, type IProvider, type InstructionItem, type Instructions, JesusFilmProvider, LessonsChurchProvider, LifeChurchProvider, type MdnsService, type MediaLicenseResult, type MediaLicenseStatus, type MessageFileInterface, type NetworkInstance, OAuthHelper, type Plan, type PlanPresentation, type PlanSection, type PlanTimelineItem, PlanningCenterProvider, type ProviderCapabilities, type ProviderInfo, type ProviderLogos, SignPresenterProvider, TokenHelper, VERSION, type VenueActionInterface, type VenueActionsResponseInterface, type VenueSectionActionsInterface, authIsExpired, authToNetworkInstance, servicesToInstances as freeShowServicesToInstances, getAllProviders, getAvailableProviders, getProvider, getProviderConfig, isContentFile, isContentFolder, navigateToPath, networkInstanceToAuth, registerProvider, setProviderSecret, toAuthData };
package/dist/index.d.ts CHANGED
@@ -610,6 +610,77 @@ declare function servicesToInstances(services: MdnsService[], port?: number): Pr
610
610
  declare function networkInstanceToAuth(instance: NetworkInstance): ContentProviderAuthData;
611
611
  declare function authToNetworkInstance(auth?: ContentProviderAuthData | null): NetworkInstance | null;
612
612
 
613
+ interface GoCurriculumPlaylistItem {
614
+ title: string;
615
+ file: string;
616
+ url: string;
617
+ mediaType?: string;
618
+ duration?: number;
619
+ thumbnail?: string;
620
+ shareUrl?: string;
621
+ }
622
+ interface GoCurriculumResource {
623
+ title: string;
624
+ file: string;
625
+ url: string;
626
+ shareUrl?: string;
627
+ }
628
+ interface GoCurriculumLesson {
629
+ id: string;
630
+ name: string;
631
+ thumbnail?: string;
632
+ bigIdea?: string;
633
+ bibleBasis?: string;
634
+ keyVerse?: string;
635
+ playlist: GoCurriculumPlaylistItem[];
636
+ resources?: GoCurriculumResource[];
637
+ }
638
+ interface GoCurriculumCollection {
639
+ id: string;
640
+ name: string;
641
+ thumbnail?: string;
642
+ lessons: GoCurriculumLesson[];
643
+ }
644
+ interface GoCurriculumData {
645
+ generatedAt?: string;
646
+ provider?: {
647
+ name?: string;
648
+ };
649
+ catalog: GoCurriculumCollection[];
650
+ }
651
+
652
+ type GoCurriculumCatalogLoader = (groupId: string, auth: ContentProviderAuthData) => Promise<GoCurriculumData | null>;
653
+ declare class GoCurriculumProvider extends BaseProvider {
654
+ private readonly oauthHelper;
655
+ private readonly verifiedTokens;
656
+ readonly id = "gocurriculum";
657
+ readonly name = "Go Curriculum";
658
+ readonly logos: ProviderLogos;
659
+ readonly config: ContentProviderConfig;
660
+ private data;
661
+ private dataFetchedAt;
662
+ private loadCatalog;
663
+ setCatalogLoader(loader: GoCurriculumCatalogLoader): void;
664
+ private getData;
665
+ private getCollection;
666
+ getCatalog(groupId: string, auth?: ContentProviderAuthData | null): Promise<GoCurriculumData | null>;
667
+ readonly requiresAuth = true;
668
+ readonly authTypes: AuthType[];
669
+ readonly capabilities: ProviderCapabilities;
670
+ private verifyAuth;
671
+ browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;
672
+ private getLessonFiles;
673
+ getPlaylist(path: string, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null>;
674
+ getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
675
+ generateCodeVerifier(): string;
676
+ buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{
677
+ url: string;
678
+ challengeMethod: string;
679
+ }>;
680
+ buildAuthUrlFromChallenge(codeChallenge: string, redirectUri: string, state: string): string;
681
+ exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null>;
682
+ }
683
+
613
684
  /** Browses Life.Church's kids curriculum from a static catalog (series → units → lessons), plus a weekly scheduled lesson index. */
614
685
  declare class LifeChurchProvider extends BaseProvider {
615
686
  readonly id = "lifechurch";
@@ -653,4 +724,4 @@ declare function getAvailableProviders(ids?: string[]): ProviderInfo[];
653
724
  */
654
725
  declare const VERSION: string;
655
726
 
656
- export { APlayProvider, type AuthType, B1ChurchProvider, BaseProvider, BibleProjectProvider, CbnProvider, type ContentDownload, type ContentFile, type ContentFolder, type ContentItem, type ContentProviderAuthData, type ContentProviderConfig, type CurrentPlan, type DeviceAuthorizationResponse, DeviceFlowHelper, type DeviceFlowPollResult, type DeviceFlowState, DropboxProvider, type EndpointValue, type EndpointsConfig, FREESHOW_REST_PORT, type FeedActionInterface, type FeedDownloadInterface, type FeedFileInterface, type FeedSectionInterface, type FeedVenueInterface, type FreeShowDiscoverer, FreeShowProvider, HighVoltageKidsProvider, type IProvider, type InstructionItem, type Instructions, JesusFilmProvider, LessonsChurchProvider, LifeChurchProvider, type MdnsService, type MediaLicenseResult, type MediaLicenseStatus, type MessageFileInterface, type NetworkInstance, OAuthHelper, type Plan, type PlanPresentation, type PlanSection, type PlanTimelineItem, PlanningCenterProvider, type ProviderCapabilities, type ProviderInfo, type ProviderLogos, SignPresenterProvider, TokenHelper, VERSION, type VenueActionInterface, type VenueActionsResponseInterface, type VenueSectionActionsInterface, authIsExpired, authToNetworkInstance, servicesToInstances as freeShowServicesToInstances, getAllProviders, getAvailableProviders, getProvider, getProviderConfig, isContentFile, isContentFolder, navigateToPath, networkInstanceToAuth, registerProvider, setProviderSecret, toAuthData };
727
+ export { APlayProvider, type AuthType, B1ChurchProvider, BaseProvider, BibleProjectProvider, CbnProvider, type ContentDownload, type ContentFile, type ContentFolder, type ContentItem, type ContentProviderAuthData, type ContentProviderConfig, type CurrentPlan, type DeviceAuthorizationResponse, DeviceFlowHelper, type DeviceFlowPollResult, type DeviceFlowState, DropboxProvider, type EndpointValue, type EndpointsConfig, FREESHOW_REST_PORT, type FeedActionInterface, type FeedDownloadInterface, type FeedFileInterface, type FeedSectionInterface, type FeedVenueInterface, type FreeShowDiscoverer, FreeShowProvider, type GoCurriculumCatalogLoader, type GoCurriculumData, GoCurriculumProvider, HighVoltageKidsProvider, type IProvider, type InstructionItem, type Instructions, JesusFilmProvider, LessonsChurchProvider, LifeChurchProvider, type MdnsService, type MediaLicenseResult, type MediaLicenseStatus, type MessageFileInterface, type NetworkInstance, OAuthHelper, type Plan, type PlanPresentation, type PlanSection, type PlanTimelineItem, PlanningCenterProvider, type ProviderCapabilities, type ProviderInfo, type ProviderLogos, SignPresenterProvider, TokenHelper, VERSION, type VenueActionInterface, type VenueActionsResponseInterface, type VenueSectionActionsInterface, authIsExpired, authToNetworkInstance, servicesToInstances as freeShowServicesToInstances, getAllProviders, getAvailableProviders, getProvider, getProviderConfig, isContentFile, isContentFolder, navigateToPath, networkInstanceToAuth, registerProvider, setProviderSecret, toAuthData };