]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/types/register-client-option.model.ts
Add ability for plugins to register ws routes
[github/Chocobozzz/PeerTube.git] / client / src / types / register-client-option.model.ts
CommitLineData
3c47fa3b
C
1import {
2 RegisterClientFormFieldOptions,
3 RegisterClientHookOptions,
d63e6d46
C
4 RegisterClientRouteOptions,
5 RegisterClientSettingsScriptOptions,
3c47fa3b 6 RegisterClientVideoFieldOptions,
d2d4a5a9 7 ServerConfig, SettingEntries
3c47fa3b 8} from '@shared/models'
bfa1a32b
C
9
10export type RegisterClientOptions = {
11 registerHook: (options: RegisterClientHookOptions) => void
12
7294aab0
C
13 registerVideoField: (commonOptions: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void
14
d63e6d46
C
15 registerSettingsScript: (options: RegisterClientSettingsScriptOptions) => void
16
17 registerClientRoute: (options: RegisterClientRouteOptions) => void
3c47fa3b 18
d75db01f
C
19 peertubeHelpers: RegisterClientHelpers
20}
21
22export type RegisterClientHelpers = {
23 getBaseStaticRoute: () => string
24
9777fe9e
JL
25 getBaseRouterRoute: () => string
26
9d4c60dc
C
27 // PeerTube >= 5.0
28 getBaseWebSocketRoute: () => string
29
d63e6d46
C
30 getBasePluginClientPath: () => string
31
eb8f702c
RK
32 isLoggedIn: () => boolean
33
4eca42ff
C
34 getAuthHeader: () => { 'Authorization': string } | undefined
35
d2d4a5a9 36 getSettings: () => Promise<SettingEntries>
23bdacf8 37
faeec106
C
38 getServerConfig: () => Promise<ServerConfig>
39
f757be65 40 notifier: {
9df52d66
C
41 info: (text: string, title?: string, timeout?: number) => void
42 error: (text: string, title?: string, timeout?: number) => void
f757be65
C
43 success: (text: string, title?: string, timeout?: number) => void
44 }
74c2dece 45
437e8e06 46 showModal: (input: {
9df52d66
C
47 title: string
48 content: string
49 close?: boolean
50 cancel?: { value: string, action?: () => void }
437e8e06
K
51 confirm?: { value: string, action?: () => void }
52 }) => void
53
8c7725dc
K
54 markdownRenderer: {
55 textMarkdownToHTML: (textMarkdown: string) => Promise<string>
56 enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise<string>
57 }
58
d75db01f 59 translate: (toTranslate: string) => Promise<string>
bfa1a32b 60}