Skip to content

Commit

Permalink
TiptapCollabProvider: allow custom baseUrl
Browse files Browse the repository at this point in the history
  • Loading branch information
janthurau committed Jan 18, 2024
1 parent de5c2ac commit 0995832
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
10 changes: 8 additions & 2 deletions packages/provider/src/TiptapCollabProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,20 @@ export type TiptapCollabProviderConfiguration =
Required<Pick<HocuspocusProviderConfiguration, 'name'>> &
Partial<HocuspocusProviderConfiguration> &
(Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'websocketProvider'>> |
Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'appId'>>)
Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'appId'>>|
Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'baseUrl'>>)

export interface AdditionalTiptapCollabProviderConfiguration {
/**
* A Hocuspocus Cloud App ID, get one here: https://cloud.tiptap.dev
*/
appId?: string,

/**
* If you are using the on-premise version of TiptapCollab, put your baseUrl here (e.g. https://collab.yourdomain.com)
*/
baseUrl?: string

websocketProvider?: TiptapCollabProviderWebsocket
}

Expand All @@ -27,7 +33,7 @@ export class TiptapCollabProvider extends HocuspocusProvider {

constructor(configuration: TiptapCollabProviderConfiguration) {
if (!configuration.websocketProvider) {
configuration.websocketProvider = new TiptapCollabProviderWebsocket({ appId: (configuration as Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'appId'>>).appId })
configuration.websocketProvider = new TiptapCollabProviderWebsocket({ appId: (configuration as Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'appId'>>).appId, baseUrl: (configuration as Required<Pick<AdditionalTiptapCollabProviderConfiguration, 'baseUrl'>>).baseUrl })
}

if (!configuration.token) {
Expand Down
9 changes: 7 additions & 2 deletions packages/provider/src/TiptapCollabProviderWebsocket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,16 @@ export interface AdditionalTiptapCollabProviderWebsocketConfiguration {
/**
* A Hocuspocus Cloud App ID, get one here: https://cloud.tiptap.dev
*/
appId: string,
appId?: string,

/**
* If you are using the on-premise version of TiptapCollab, put your baseUrl here (e.g. https://collab.yourdomain.com)
*/
baseUrl?: string
}

export class TiptapCollabProviderWebsocket extends HocuspocusProviderWebsocket {
constructor(configuration: TiptapCollabProviderWebsocketConfiguration) {
super({ ...configuration as HocuspocusProviderWebsocketConfiguration, url: `wss://${configuration.appId}.collab.tiptap.cloud` })
super({ ...configuration as HocuspocusProviderWebsocketConfiguration, url: configuration.baseUrl ?? `wss://${configuration.appId}.collab.tiptap.cloud` })
}
}

0 comments on commit 0995832

Please sign in to comment.