-function getPublicSettings (parameters: {
- url: string
- npmName: string
- expectedStatus?: HttpStatusCode
-}) {
- const { url, npmName, expectedStatus = HttpStatusCode.OK_200 } = parameters
- const path = '/api/v1/plugins/' + npmName + '/public-settings'
-
- return makeGetRequest({
- url,
- path,
- statusCodeExpected: expectedStatus
- })
-}
-
-function getPluginTranslations (parameters: {
- url: string
- locale: string
- expectedStatus?: HttpStatusCode
-}) {
- const { url, locale, expectedStatus = HttpStatusCode.OK_200 } = parameters
- const path = '/plugins/translations/' + locale + '.json'
-
- return makeGetRequest({
- url,
- path,
- statusCodeExpected: expectedStatus
- })
-}
-
-function installPlugin (parameters: {
- url: string
- accessToken: string
- path?: string
- npmName?: string
- expectedStatus?: HttpStatusCode
-}) {
- const { url, accessToken, npmName, path, expectedStatus = HttpStatusCode.OK_200 } = parameters
- const apiPath = '/api/v1/plugins/install'
-
- return makePostBodyRequest({
- url,
- path: apiPath,
- token: accessToken,
- fields: { npmName, path },
- statusCodeExpected: expectedStatus
- })
-}
-
-function updatePlugin (parameters: {
- url: string
- accessToken: string
- path?: string
- npmName?: string
- expectedStatus?: HttpStatusCode
-}) {
- const { url, accessToken, npmName, path, expectedStatus = HttpStatusCode.OK_200 } = parameters
- const apiPath = '/api/v1/plugins/update'
-
- return makePostBodyRequest({
- url,
- path: apiPath,
- token: accessToken,
- fields: { npmName, path },
- statusCodeExpected: expectedStatus
- })
-}
-
-function uninstallPlugin (parameters: {
- url: string
- accessToken: string
- npmName: string
- expectedStatus?: HttpStatusCode
-}) {
- const { url, accessToken, npmName, expectedStatus = HttpStatusCode.NO_CONTENT_204 } = parameters
- const apiPath = '/api/v1/plugins/uninstall'
-
- return makePostBodyRequest({
- url,
- path: apiPath,
- token: accessToken,
- fields: { npmName },
- statusCodeExpected: expectedStatus
- })
-}
-
-function getPluginsCSS (url: string) {
- const path = '/plugins/global.css'
-
- return makeGetRequest({
- url,
- path,
- statusCodeExpected: HttpStatusCode.OK_200
- })
-}
-
-function getPackageJSONPath (server: ServerInfo, npmName: string) {
- return buildServerDirectory(server, join('plugins', 'node_modules', npmName, 'package.json'))
-}
-
-function updatePluginPackageJSON (server: ServerInfo, npmName: string, json: any) {
- const path = getPackageJSONPath(server, npmName)
-
- return writeJSON(path, json)
-}
-
-function getPluginPackageJSON (server: ServerInfo, npmName: string) {
- const path = getPackageJSONPath(server, npmName)
-
- return readJSON(path)
-}
-
-function getPluginTestPath (suffix = '') {
- return join(root(), 'server', 'tests', 'fixtures', 'peertube-plugin-test' + suffix)
-}
-
-function getExternalAuth (options: {
- url: string
- npmName: string
- npmVersion: string
- authName: string
- query?: any
- statusCodeExpected?: HttpStatusCode
-}) {
- const { url, npmName, npmVersion, authName, statusCodeExpected, query } = options
-
- const path = '/plugins/' + npmName + '/' + npmVersion + '/auth/' + authName
-
- return makeGetRequest({
- url,
- path,
- query,
- statusCodeExpected: statusCodeExpected || HttpStatusCode.OK_200,
- redirects: 0
- })
-}
-