From 428ccb8b7a44ce60cabb7401a5464cf5fcbd4dba Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 12:04:47 +0200 Subject: [PATCH] Reorganize plugin models --- .../plugin-list-installed.component.ts | 3 +- .../plugin-search/plugin-search.component.ts | 3 +- .../shared/video-edit.component.ts | 11 +++++-- client/src/root-helpers/plugins.ts | 7 ++-- server/controllers/api/plugins.ts | 33 ++++++++++--------- server/lib/plugins/hooks.ts | 6 ++-- server/lib/plugins/plugin-index.ts | 20 +++++------ server/lib/plugins/plugin-manager.ts | 14 +++----- server/lib/plugins/register-helpers.ts | 4 +-- server/middlewares/validators/plugins.ts | 14 ++++---- server/models/server/plugin.ts | 4 +-- server/tests/api/check-params/plugins.ts | 12 +++---- server/tests/api/server/plugins.ts | 10 ++---- server/tools/peertube-plugins.ts | 3 +- shared/extra-utils/server/plugins.ts | 4 +-- .../plugins/{ => client}/client-hook.model.ts | 0 shared/models/plugins/client/index.ts | 6 ++++ .../{ => client}/plugin-client-scope.type.ts | 0 .../plugin-element-placeholder.type.ts | 0 .../register-client-form-field.model.ts | 0 .../register-client-hook.model.ts | 0 .../register-client-settings-script.model.ts | 2 +- shared/models/plugins/index.ts | 28 ++-------------- shared/models/plugins/plugin-index/index.ts | 3 ++ .../peertube-plugin-index-list.model.ts | 2 +- .../peertube-plugin-index.model.ts | 0 .../peertube-plugin-latest-version.model.ts | 0 .../plugins/plugin-package-json.model.ts | 2 +- shared/models/plugins/server/api/index.ts | 3 ++ .../{ => server/api}/install-plugin.model.ts | 0 .../{ => server/api}/manage-plugin.model.ts | 0 .../{ => server/api}/peertube-plugin.model.ts | 2 +- shared/models/plugins/server/index.ts | 6 ++++ .../models/plugins/server/managers/index.ts | 9 +++++ .../plugin-playlist-privacy-manager.model.ts | 2 +- .../plugin-settings-manager.model.ts | 0 .../managers}/plugin-storage-manager.model.ts | 0 .../plugin-transcoding-manager.model.ts | 2 +- .../plugin-video-category-manager.model.ts | 0 .../plugin-video-language-manager.model.ts | 0 .../plugin-video-licence-manager.model.ts | 0 .../plugin-video-privacy-manager.model.ts | 2 +- .../{ => server}/plugin-translation.model.ts | 0 .../register-server-hook.model.ts | 0 .../plugins/{ => server}/server-hook.model.ts | 0 .../models/plugins/server/settings/index.ts | 2 ++ .../settings}/public-server.setting.ts | 0 .../register-server-setting.model.ts | 2 +- 48 files changed, 111 insertions(+), 110 deletions(-) rename shared/models/plugins/{ => client}/client-hook.model.ts (100%) create mode 100644 shared/models/plugins/client/index.ts rename shared/models/plugins/{ => client}/plugin-client-scope.type.ts (100%) rename shared/models/plugins/{ => client}/plugin-element-placeholder.type.ts (100%) rename shared/models/plugins/{ => client}/register-client-form-field.model.ts (100%) rename shared/models/plugins/{ => client}/register-client-hook.model.ts (100%) rename shared/models/plugins/{ => client}/register-client-settings-script.model.ts (69%) create mode 100644 shared/models/plugins/plugin-index/index.ts rename shared/models/plugins/{ => plugin-index}/peertube-plugin-index-list.model.ts (79%) rename shared/models/plugins/{ => plugin-index}/peertube-plugin-index.model.ts (100%) rename shared/models/plugins/{ => plugin-index}/peertube-plugin-latest-version.model.ts (100%) create mode 100644 shared/models/plugins/server/api/index.ts rename shared/models/plugins/{ => server/api}/install-plugin.model.ts (100%) rename shared/models/plugins/{ => server/api}/manage-plugin.model.ts (100%) rename shared/models/plugins/{ => server/api}/peertube-plugin.model.ts (86%) create mode 100644 shared/models/plugins/server/index.ts create mode 100644 shared/models/plugins/server/managers/index.ts rename shared/models/plugins/{ => server/managers}/plugin-playlist-privacy-manager.model.ts (65%) rename shared/models/plugins/{ => server/managers}/plugin-settings-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-storage-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-transcoding-manager.model.ts (85%) rename shared/models/plugins/{ => server/managers}/plugin-video-category-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-language-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-licence-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-privacy-manager.model.ts (72%) rename shared/models/plugins/{ => server}/plugin-translation.model.ts (100%) rename shared/models/plugins/{ => server}/register-server-hook.model.ts (100%) rename shared/models/plugins/{ => server}/server-hook.model.ts (100%) create mode 100644 shared/models/plugins/server/settings/index.ts rename shared/models/plugins/{ => server/settings}/public-server.setting.ts (100%) rename shared/models/plugins/{ => server/settings}/register-server-setting.model.ts (83%) diff --git a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts index 1a95980ae..6af224920 100644 --- a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts +++ b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts @@ -5,8 +5,7 @@ import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' import { ComponentPagination, ConfirmService, hasMoreItems, Notifier } from '@app/core' import { PluginService } from '@app/core/plugins/plugin.service' import { compareSemVer } from '@shared/core-utils/miscs/miscs' -import { PeerTubePlugin } from '@shared/models/plugins/peertube-plugin.model' -import { PluginType } from '@shared/models/plugins/plugin.type' +import { PeerTubePlugin, PluginType } from '@shared/models' @Component({ selector: 'my-plugin-list-installed', diff --git a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts index d2c179aba..0a6e57904 100644 --- a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts +++ b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts @@ -4,8 +4,7 @@ import { Component, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService } from '@app/core' -import { PeerTubePluginIndex } from '@shared/models/plugins/peertube-plugin-index.model' -import { PluginType } from '@shared/models/plugins/plugin.type' +import { PeerTubePluginIndex, PluginType } from '@shared/models' @Component({ selector: 'my-plugin-search', diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts index 34119f7ab..3d916dbce 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts @@ -21,8 +21,15 @@ import { import { FormReactiveValidationMessages, FormValidatorService } from '@app/shared/shared-forms' import { InstanceService } from '@app/shared/shared-instance' import { VideoCaptionEdit, VideoEdit, VideoService } from '@app/shared/shared-main' -import { LiveVideo, ServerConfig, VideoConstant, VideoDetails, VideoPrivacy } from '@shared/models' -import { RegisterClientFormFieldOptions, RegisterClientVideoFieldOptions } from '@shared/models/plugins/register-client-form-field.model' +import { + LiveVideo, + RegisterClientFormFieldOptions, + RegisterClientVideoFieldOptions, + ServerConfig, + VideoConstant, + VideoDetails, + VideoPrivacy +} from '@shared/models' import { I18nPrimengCalendarService } from './i18n-primeng-calendar.service' import { VideoCaptionAddModalComponent } from './video-caption-add-modal.component' import { VideoEditType } from './video-edit.type' diff --git a/client/src/root-helpers/plugins.ts b/client/src/root-helpers/plugins.ts index 5344c0468..8c1c858b7 100644 --- a/client/src/root-helpers/plugins.ts +++ b/client/src/root-helpers/plugins.ts @@ -1,14 +1,15 @@ import { RegisterClientHelpers } from 'src/types/register-client-option.model' import { getHookType, internalRunHook } from '@shared/core-utils/plugins/hooks' -import { RegisterClientFormFieldOptions, RegisterClientVideoFieldOptions } from '@shared/models/plugins/register-client-form-field.model' import { ClientHookName, clientHookObject, ClientScript, PluginType, + RegisterClientFormFieldOptions, RegisterClientHookOptions, - ServerConfigPlugin, - RegisterClientSettingsScript + RegisterClientSettingsScript, + RegisterClientVideoFieldOptions, + ServerConfigPlugin } from '../../../shared/models' import { ClientScript as ClientScriptModule } from '../types/client-script.model' import { importModule } from './utils' diff --git a/server/controllers/api/plugins.ts b/server/controllers/api/plugins.ts index a186de010..e18eed332 100644 --- a/server/controllers/api/plugins.ts +++ b/server/controllers/api/plugins.ts @@ -1,16 +1,18 @@ import * as express from 'express' -import { getFormattedObjects } from '../../helpers/utils' +import { logger } from '@server/helpers/logger' +import { getFormattedObjects } from '@server/helpers/utils' +import { listAvailablePluginsFromIndex } from '@server/lib/plugins/plugin-index' +import { PluginManager } from '@server/lib/plugins/plugin-manager' import { asyncMiddleware, authenticate, + availablePluginsSortValidator, ensureUserHasRight, paginationValidator, + pluginsSortValidator, setDefaultPagination, setDefaultSort -} from '../../middlewares' -import { availablePluginsSortValidator, pluginsSortValidator } from '../../middlewares/validators' -import { PluginModel } from '../../models/server/plugin' -import { UserRight } from '../../../shared/models/users' +} from '@server/middlewares' import { existingPluginValidator, installOrUpdatePluginValidator, @@ -18,16 +20,17 @@ import { listPluginsValidator, uninstallPluginValidator, updatePluginSettingsValidator -} from '../../middlewares/validators/plugins' -import { PluginManager } from '../../lib/plugins/plugin-manager' -import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/install-plugin.model' -import { ManagePlugin } from '../../../shared/models/plugins/manage-plugin.model' -import { logger } from '../../helpers/logger' -import { listAvailablePluginsFromIndex } from '../../lib/plugins/plugin-index' -import { PeertubePluginIndexList } from '../../../shared/models/plugins/peertube-plugin-index-list.model' -import { RegisteredServerSettings } from '../../../shared/models/plugins/register-server-setting.model' -import { PublicServerSetting } from '../../../shared/models/plugins/public-server.setting' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +} from '@server/middlewares/validators/plugins' +import { PluginModel } from '@server/models/server/plugin' +import { HttpStatusCode } from '@shared/core-utils' +import { + InstallOrUpdatePlugin, + ManagePlugin, + PeertubePluginIndexList, + PublicServerSetting, + RegisteredServerSettings, + UserRight +} from '@shared/models' const pluginRouter = express.Router() diff --git a/server/lib/plugins/hooks.ts b/server/lib/plugins/hooks.ts index aa92f03cc..5e97b52a0 100644 --- a/server/lib/plugins/hooks.ts +++ b/server/lib/plugins/hooks.ts @@ -1,7 +1,7 @@ -import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models/plugins/server-hook.model' -import { PluginManager } from './plugin-manager' -import { logger } from '../../helpers/logger' import * as Bluebird from 'bluebird' +import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models' +import { logger } from '../../helpers/logger' +import { PluginManager } from './plugin-manager' type PromiseFunction = (params: U) => Promise | Bluebird type RawFunction = (params: U) => T diff --git a/server/lib/plugins/plugin-index.ts b/server/lib/plugins/plugin-index.ts index 165bc91b3..119cee8e0 100644 --- a/server/lib/plugins/plugin-index.ts +++ b/server/lib/plugins/plugin-index.ts @@ -1,16 +1,16 @@ import { sanitizeUrl } from '@server/helpers/core-utils' -import { ResultList } from '../../../shared/models' -import { PeertubePluginIndexList } from '../../../shared/models/plugins/peertube-plugin-index-list.model' -import { PeerTubePluginIndex } from '../../../shared/models/plugins/peertube-plugin-index.model' +import { logger } from '@server/helpers/logger' +import { doJSONRequest } from '@server/helpers/requests' +import { CONFIG } from '@server/initializers/config' +import { PEERTUBE_VERSION } from '@server/initializers/constants' +import { PluginModel } from '@server/models/server/plugin' import { + PeerTubePluginIndex, + PeertubePluginIndexList, PeertubePluginLatestVersionRequest, - PeertubePluginLatestVersionResponse -} from '../../../shared/models/plugins/peertube-plugin-latest-version.model' -import { logger } from '../../helpers/logger' -import { doJSONRequest } from '../../helpers/requests' -import { CONFIG } from '../../initializers/config' -import { PEERTUBE_VERSION } from '../../initializers/constants' -import { PluginModel } from '../../models/server/plugin' + PeertubePluginLatestVersionResponse, + ResultList +} from '@shared/models' import { PluginManager } from './plugin-manager' async function listAvailablePluginsFromIndex (options: PeertubePluginIndexList) { diff --git a/server/lib/plugins/plugin-manager.ts b/server/lib/plugins/plugin-manager.ts index ba9814383..6b9a255a4 100644 --- a/server/lib/plugins/plugin-manager.ts +++ b/server/lib/plugins/plugin-manager.ts @@ -4,16 +4,11 @@ import { createReadStream, createWriteStream } from 'fs' import { ensureDir, outputFile, readJSON } from 'fs-extra' import { basename, join } from 'path' import { MOAuthTokenUser, MUser } from '@server/types/models' -import { RegisterServerHookOptions } from '@shared/models/plugins/register-server-hook.model' +import { getCompleteLocale } from '@shared/core-utils' +import { ClientScript, PluginPackageJson, PluginTranslation, PluginTranslationPaths, RegisterServerHookOptions } from '@shared/models' import { getHookType, internalRunHook } from '../../../shared/core-utils/plugins/hooks' -import { - ClientScript, - PluginPackageJson, - PluginTranslationPaths as PackagePluginTranslations -} from '../../../shared/models/plugins/plugin-package-json.model' -import { PluginTranslation } from '../../../shared/models/plugins/plugin-translation.model' import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { ServerHook, ServerHookName } from '../../../shared/models/plugins/server-hook.model' +import { ServerHook, ServerHookName } from '../../../shared/models/plugins/server/server-hook.model' import { isLibraryCodeValid, isPackageJSONValid } from '../../helpers/custom-validators/plugins' import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' @@ -23,7 +18,6 @@ import { PluginLibrary, RegisterServerAuthExternalOptions, RegisterServerAuthPas import { ClientHtml } from '../client-html' import { RegisterHelpers } from './register-helpers' import { installNpmPlugin, installNpmPluginFromDisk, removeNpmPlugin } from './yarn' -import { getCompleteLocale } from '@shared/core-utils' export interface RegisteredPlugin { npmName: string @@ -443,7 +437,7 @@ export class PluginManager implements ServerHook { // ###################### Translations ###################### - private async addTranslations (plugin: PluginModel, npmName: string, translationPaths: PackagePluginTranslations) { + private async addTranslations (plugin: PluginModel, npmName: string, translationPaths: PluginTranslationPaths) { for (const locale of Object.keys(translationPaths)) { const path = translationPaths[locale] const json = await readJSON(join(this.getPluginPath(plugin.name, plugin.type), path)) diff --git a/server/lib/plugins/register-helpers.ts b/server/lib/plugins/register-helpers.ts index 203217b70..f5b573370 100644 --- a/server/lib/plugins/register-helpers.ts +++ b/server/lib/plugins/register-helpers.ts @@ -26,9 +26,9 @@ import { PluginVideoLicenceManager, PluginVideoPrivacyManager, RegisterServerHookOptions, - RegisterServerSettingOptions + RegisterServerSettingOptions, + serverHookObject } from '@shared/models' -import { serverHookObject } from '@shared/models/plugins/server-hook.model' import { VideoTranscodingProfilesManager } from '../transcoding/video-transcoding-profiles' import { buildPluginHelpers } from './plugin-helpers-builder' diff --git a/server/middlewares/validators/plugins.ts b/server/middlewares/validators/plugins.ts index ab87fe720..2c47ec5bb 100644 --- a/server/middlewares/validators/plugins.ts +++ b/server/middlewares/validators/plugins.ts @@ -1,15 +1,15 @@ import * as express from 'express' import { body, param, query, ValidationChain } from 'express-validator' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' +import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { PluginType } from '../../../shared/models/plugins/plugin.type' +import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/server/api/install-plugin.model' +import { exists, isBooleanValid, isSafePath, toBooleanOrNull, toIntOrNull } from '../../helpers/custom-validators/misc' import { isNpmPluginNameValid, isPluginNameValid, isPluginTypeValid, isPluginVersionValid } from '../../helpers/custom-validators/plugins' +import { logger } from '../../helpers/logger' +import { CONFIG } from '../../initializers/config' import { PluginManager } from '../../lib/plugins/plugin-manager' -import { isBooleanValid, isSafePath, toBooleanOrNull, exists, toIntOrNull } from '../../helpers/custom-validators/misc' import { PluginModel } from '../../models/server/plugin' -import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/install-plugin.model' -import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { CONFIG } from '../../initializers/config' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { areValidationErrors } from './utils' const getPluginValidator = (pluginType: PluginType, withVersion = true) => { const validators: (ValidationChain | express.Handler)[] = [ diff --git a/server/models/server/plugin.ts b/server/models/server/plugin.ts index 82387af6a..94c9b04bf 100644 --- a/server/models/server/plugin.ts +++ b/server/models/server/plugin.ts @@ -1,9 +1,7 @@ import { FindAndCountOptions, json, QueryTypes } from 'sequelize' import { AllowNull, Column, CreatedAt, DataType, DefaultScope, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MPlugin, MPluginFormattable } from '@server/types/models' -import { PeerTubePlugin } from '../../../shared/models/plugins/peertube-plugin.model' -import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { RegisterServerSettingOptions } from '../../../shared/models/plugins/register-server-setting.model' +import { PeerTubePlugin, PluginType, RegisterServerSettingOptions } from '../../../shared/models' import { isPluginDescriptionValid, isPluginHomepage, diff --git a/server/tests/api/check-params/plugins.ts b/server/tests/api/check-params/plugins.ts index 6e540bcbb..a833fe6ff 100644 --- a/server/tests/api/check-params/plugins.ts +++ b/server/tests/api/check-params/plugins.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' - +import { HttpStatusCode } from '@shared/core-utils' import { checkBadCountPagination, checkBadSortPagination, @@ -11,14 +11,14 @@ import { flushAndRunServer, immutableAssign, installPlugin, - makeGetRequest, makePostBodyRequest, makePutBodyRequest, + makeGetRequest, + makePostBodyRequest, + makePutBodyRequest, ServerInfo, setAccessTokensToServers, userLogin -} from '../../../../shared/extra-utils' -import { PluginType } from '../../../../shared/models/plugins/plugin.type' -import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugin.model' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +} from '@shared/extra-utils' +import { PeerTubePlugin, PluginType } from '@shared/models' describe('Test server plugins API validators', function () { let server: ServerInfo diff --git a/server/tests/api/server/plugins.ts b/server/tests/api/server/plugins.ts index 1c6eabe6d..3c09acc9a 100644 --- a/server/tests/api/server/plugins.ts +++ b/server/tests/api/server/plugins.ts @@ -28,14 +28,8 @@ import { updatePluginSettings, wait, waitUntilLog -} from '../../../../shared/extra-utils' -import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' -import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugin.model' -import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' -import { PluginType } from '../../../../shared/models/plugins/plugin.type' -import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting' -import { ServerConfig } from '../../../../shared/models/server' -import { User } from '../../../../shared/models/users' +} from '@shared/extra-utils' +import { PeerTubePlugin, PeerTubePluginIndex, PluginPackageJson, PluginType, PublicServerSetting, ServerConfig, User } from '@shared/models' const expect = chai.expect diff --git a/server/tools/peertube-plugins.ts b/server/tools/peertube-plugins.ts index c8a576844..cb591377b 100644 --- a/server/tools/peertube-plugins.ts +++ b/server/tools/peertube-plugins.ts @@ -4,10 +4,9 @@ import { registerTSPaths } from '../helpers/register-ts-paths' registerTSPaths() import * as program from 'commander' -import { PluginType } from '../../shared/models/plugins/plugin.type' import { installPlugin, listPlugins, uninstallPlugin, updatePlugin } from '../../shared/extra-utils/server/plugins' import { getAdminTokenOrDie, getServerCredentials } from './cli' -import { PeerTubePlugin } from '../../shared/models/plugins/peertube-plugin.model' +import { PeerTubePlugin, PluginType } from '../../shared/models' import { isAbsolute } from 'path' import * as CliTable3 from 'cli-table3' import commander = require('commander') diff --git a/shared/extra-utils/server/plugins.ts b/shared/extra-utils/server/plugins.ts index 864954ee7..d53e5b382 100644 --- a/shared/extra-utils/server/plugins.ts +++ b/shared/extra-utils/server/plugins.ts @@ -4,12 +4,12 @@ import { expect } from 'chai' import { readJSON, writeJSON } from 'fs-extra' import { join } from 'path' import { RegisteredServerSettings } from '@shared/models' -import { PeertubePluginIndexList } from '../../models/plugins/peertube-plugin-index-list.model' +import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { PeertubePluginIndexList } from '../../models/plugins/plugin-index/peertube-plugin-index-list.model' import { PluginType } from '../../models/plugins/plugin.type' import { buildServerDirectory, root } from '../miscs/miscs' import { makeGetRequest, makePostBodyRequest, makePutBodyRequest } from '../requests/requests' import { ServerInfo } from './servers' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' function listPlugins (parameters: { url: string diff --git a/shared/models/plugins/client-hook.model.ts b/shared/models/plugins/client/client-hook.model.ts similarity index 100% rename from shared/models/plugins/client-hook.model.ts rename to shared/models/plugins/client/client-hook.model.ts diff --git a/shared/models/plugins/client/index.ts b/shared/models/plugins/client/index.ts new file mode 100644 index 000000000..6dfc6351f --- /dev/null +++ b/shared/models/plugins/client/index.ts @@ -0,0 +1,6 @@ +export * from './client-hook.model' +export * from './plugin-client-scope.type' +export * from './plugin-element-placeholder.type' +export * from './register-client-form-field.model' +export * from './register-client-hook.model' +export * from './register-client-settings-script.model' diff --git a/shared/models/plugins/plugin-client-scope.type.ts b/shared/models/plugins/client/plugin-client-scope.type.ts similarity index 100% rename from shared/models/plugins/plugin-client-scope.type.ts rename to shared/models/plugins/client/plugin-client-scope.type.ts diff --git a/shared/models/plugins/plugin-element-placeholder.type.ts b/shared/models/plugins/client/plugin-element-placeholder.type.ts similarity index 100% rename from shared/models/plugins/plugin-element-placeholder.type.ts rename to shared/models/plugins/client/plugin-element-placeholder.type.ts diff --git a/shared/models/plugins/register-client-form-field.model.ts b/shared/models/plugins/client/register-client-form-field.model.ts similarity index 100% rename from shared/models/plugins/register-client-form-field.model.ts rename to shared/models/plugins/client/register-client-form-field.model.ts diff --git a/shared/models/plugins/register-client-hook.model.ts b/shared/models/plugins/client/register-client-hook.model.ts similarity index 100% rename from shared/models/plugins/register-client-hook.model.ts rename to shared/models/plugins/client/register-client-hook.model.ts diff --git a/shared/models/plugins/register-client-settings-script.model.ts b/shared/models/plugins/client/register-client-settings-script.model.ts similarity index 69% rename from shared/models/plugins/register-client-settings-script.model.ts rename to shared/models/plugins/client/register-client-settings-script.model.ts index ac16af366..481ceef96 100644 --- a/shared/models/plugins/register-client-settings-script.model.ts +++ b/shared/models/plugins/client/register-client-settings-script.model.ts @@ -1,4 +1,4 @@ -import { RegisterServerSettingOptions } from "./register-server-setting.model" +import { RegisterServerSettingOptions } from '../server' export interface RegisterClientSettingsScript { isSettingHidden (options: { diff --git a/shared/models/plugins/index.ts b/shared/models/plugins/index.ts index 03b27f907..cbbe4916e 100644 --- a/shared/models/plugins/index.ts +++ b/shared/models/plugins/index.ts @@ -1,28 +1,6 @@ -export * from './client-hook.model' +export * from './client' +export * from './plugin-index' +export * from './server' export * from './hook-type.enum' -export * from './install-plugin.model' -export * from './manage-plugin.model' -export * from './peertube-plugin-index-list.model' -export * from './peertube-plugin-index.model' -export * from './peertube-plugin-latest-version.model' -export * from './peertube-plugin.model' -export * from './plugin-client-scope.type' -export * from './plugin-element-placeholder.type' export * from './plugin-package-json.model' -export * from './plugin-playlist-privacy-manager.model' -export * from './plugin-settings-manager.model' -export * from './plugin-storage-manager.model' -export * from './plugin-transcoding-manager.model' -export * from './plugin-translation.model' -export * from './plugin-video-category-manager.model' -export * from './plugin-video-language-manager.model' -export * from './plugin-video-licence-manager.model' -export * from './plugin-video-privacy-manager.model' export * from './plugin.type' -export * from './public-server.setting' -export * from './register-client-hook.model' -export * from './register-client-settings-script.model' -export * from './register-client-form-field.model' -export * from './register-server-hook.model' -export * from './register-server-setting.model' -export * from './server-hook.model' diff --git a/shared/models/plugins/plugin-index/index.ts b/shared/models/plugins/plugin-index/index.ts new file mode 100644 index 000000000..913846638 --- /dev/null +++ b/shared/models/plugins/plugin-index/index.ts @@ -0,0 +1,3 @@ +export * from './peertube-plugin-index-list.model' +export * from './peertube-plugin-index.model' +export * from './peertube-plugin-latest-version.model' diff --git a/shared/models/plugins/peertube-plugin-index-list.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts similarity index 79% rename from shared/models/plugins/peertube-plugin-index-list.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts index 817bac31e..ecb46482e 100644 --- a/shared/models/plugins/peertube-plugin-index-list.model.ts +++ b/shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts @@ -1,4 +1,4 @@ -import { PluginType } from './plugin.type' +import { PluginType } from '../plugin.type' export interface PeertubePluginIndexList { start: number diff --git a/shared/models/plugins/peertube-plugin-index.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-index.model.ts similarity index 100% rename from shared/models/plugins/peertube-plugin-index.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-index.model.ts diff --git a/shared/models/plugins/peertube-plugin-latest-version.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-latest-version.model.ts similarity index 100% rename from shared/models/plugins/peertube-plugin-latest-version.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-latest-version.model.ts diff --git a/shared/models/plugins/plugin-package-json.model.ts b/shared/models/plugins/plugin-package-json.model.ts index c26e9ae5b..b2f92af80 100644 --- a/shared/models/plugins/plugin-package-json.model.ts +++ b/shared/models/plugins/plugin-package-json.model.ts @@ -1,4 +1,4 @@ -import { PluginClientScope } from './plugin-client-scope.type' +import { PluginClientScope } from './client/plugin-client-scope.type' export type PluginTranslationPaths = { [ locale: string ]: string diff --git a/shared/models/plugins/server/api/index.ts b/shared/models/plugins/server/api/index.ts new file mode 100644 index 000000000..eb59a03f0 --- /dev/null +++ b/shared/models/plugins/server/api/index.ts @@ -0,0 +1,3 @@ +export * from './install-plugin.model' +export * from './manage-plugin.model' +export * from './peertube-plugin.model' diff --git a/shared/models/plugins/install-plugin.model.ts b/shared/models/plugins/server/api/install-plugin.model.ts similarity index 100% rename from shared/models/plugins/install-plugin.model.ts rename to shared/models/plugins/server/api/install-plugin.model.ts diff --git a/shared/models/plugins/manage-plugin.model.ts b/shared/models/plugins/server/api/manage-plugin.model.ts similarity index 100% rename from shared/models/plugins/manage-plugin.model.ts rename to shared/models/plugins/server/api/manage-plugin.model.ts diff --git a/shared/models/plugins/peertube-plugin.model.ts b/shared/models/plugins/server/api/peertube-plugin.model.ts similarity index 86% rename from shared/models/plugins/peertube-plugin.model.ts rename to shared/models/plugins/server/api/peertube-plugin.model.ts index 2b0bb8cfa..54c383f57 100644 --- a/shared/models/plugins/peertube-plugin.model.ts +++ b/shared/models/plugins/server/api/peertube-plugin.model.ts @@ -1,4 +1,4 @@ -import { PluginType } from './plugin.type' +import { PluginType } from '../../plugin.type' export interface PeerTubePlugin { name: string diff --git a/shared/models/plugins/server/index.ts b/shared/models/plugins/server/index.ts new file mode 100644 index 000000000..d3ff49d3b --- /dev/null +++ b/shared/models/plugins/server/index.ts @@ -0,0 +1,6 @@ +export * from './api' +export * from './managers' +export * from './settings' +export * from './plugin-translation.model' +export * from './register-server-hook.model' +export * from './server-hook.model' diff --git a/shared/models/plugins/server/managers/index.ts b/shared/models/plugins/server/managers/index.ts new file mode 100644 index 000000000..49365a854 --- /dev/null +++ b/shared/models/plugins/server/managers/index.ts @@ -0,0 +1,9 @@ + +export * from './plugin-playlist-privacy-manager.model' +export * from './plugin-settings-manager.model' +export * from './plugin-storage-manager.model' +export * from './plugin-transcoding-manager.model' +export * from './plugin-video-category-manager.model' +export * from './plugin-video-language-manager.model' +export * from './plugin-video-licence-manager.model' +export * from './plugin-video-privacy-manager.model' diff --git a/shared/models/plugins/plugin-playlist-privacy-manager.model.ts b/shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts similarity index 65% rename from shared/models/plugins/plugin-playlist-privacy-manager.model.ts rename to shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts index d1823ef4e..4703c0a8b 100644 --- a/shared/models/plugins/plugin-playlist-privacy-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts @@ -1,4 +1,4 @@ -import { VideoPlaylistPrivacy } from '../videos/playlist/video-playlist-privacy.model' +import { VideoPlaylistPrivacy } from '../../../videos/playlist/video-playlist-privacy.model' export interface PluginPlaylistPrivacyManager { // PUBLIC = 1, diff --git a/shared/models/plugins/plugin-settings-manager.model.ts b/shared/models/plugins/server/managers/plugin-settings-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-settings-manager.model.ts rename to shared/models/plugins/server/managers/plugin-settings-manager.model.ts diff --git a/shared/models/plugins/plugin-storage-manager.model.ts b/shared/models/plugins/server/managers/plugin-storage-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-storage-manager.model.ts rename to shared/models/plugins/server/managers/plugin-storage-manager.model.ts diff --git a/shared/models/plugins/plugin-transcoding-manager.model.ts b/shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts similarity index 85% rename from shared/models/plugins/plugin-transcoding-manager.model.ts rename to shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts index 8babccd4e..a0422a460 100644 --- a/shared/models/plugins/plugin-transcoding-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts @@ -1,4 +1,4 @@ -import { EncoderOptionsBuilder } from '../videos/video-transcoding.model' +import { EncoderOptionsBuilder } from '../../../videos/video-transcoding.model' export interface PluginTranscodingManager { addLiveProfile (encoder: string, profile: string, builder: EncoderOptionsBuilder): boolean diff --git a/shared/models/plugins/plugin-video-category-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-category-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-category-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-category-manager.model.ts diff --git a/shared/models/plugins/plugin-video-language-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-language-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-language-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-language-manager.model.ts diff --git a/shared/models/plugins/plugin-video-licence-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-licence-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-licence-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-licence-manager.model.ts diff --git a/shared/models/plugins/plugin-video-privacy-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts similarity index 72% rename from shared/models/plugins/plugin-video-privacy-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts index 3ada99608..7717115e3 100644 --- a/shared/models/plugins/plugin-video-privacy-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts @@ -1,4 +1,4 @@ -import { VideoPrivacy } from '../videos/video-privacy.enum' +import { VideoPrivacy } from '../../../videos/video-privacy.enum' export interface PluginVideoPrivacyManager { // PUBLIC = 1 diff --git a/shared/models/plugins/plugin-translation.model.ts b/shared/models/plugins/server/plugin-translation.model.ts similarity index 100% rename from shared/models/plugins/plugin-translation.model.ts rename to shared/models/plugins/server/plugin-translation.model.ts diff --git a/shared/models/plugins/register-server-hook.model.ts b/shared/models/plugins/server/register-server-hook.model.ts similarity index 100% rename from shared/models/plugins/register-server-hook.model.ts rename to shared/models/plugins/server/register-server-hook.model.ts diff --git a/shared/models/plugins/server-hook.model.ts b/shared/models/plugins/server/server-hook.model.ts similarity index 100% rename from shared/models/plugins/server-hook.model.ts rename to shared/models/plugins/server/server-hook.model.ts diff --git a/shared/models/plugins/server/settings/index.ts b/shared/models/plugins/server/settings/index.ts new file mode 100644 index 000000000..b456de019 --- /dev/null +++ b/shared/models/plugins/server/settings/index.ts @@ -0,0 +1,2 @@ +export * from './public-server.setting' +export * from './register-server-setting.model' diff --git a/shared/models/plugins/public-server.setting.ts b/shared/models/plugins/server/settings/public-server.setting.ts similarity index 100% rename from shared/models/plugins/public-server.setting.ts rename to shared/models/plugins/server/settings/public-server.setting.ts diff --git a/shared/models/plugins/register-server-setting.model.ts b/shared/models/plugins/server/settings/register-server-setting.model.ts similarity index 83% rename from shared/models/plugins/register-server-setting.model.ts rename to shared/models/plugins/server/settings/register-server-setting.model.ts index 9f45c3c37..d9a798cac 100644 --- a/shared/models/plugins/register-server-setting.model.ts +++ b/shared/models/plugins/server/settings/register-server-setting.model.ts @@ -1,4 +1,4 @@ -import { RegisterClientFormFieldOptions } from './register-client-form-field.model' +import { RegisterClientFormFieldOptions } from '../../client' export type RegisterServerSettingOptions = RegisterClientFormFieldOptions & { // If the setting is not private, anyone can view its value (client code included) -- 2.41.0