Move createTorrent in webtorrent utils
authorChocobozzz <me@florianbigard.com>
Mon, 15 Jul 2019 07:22:57 +0000 (09:22 +0200)
committerChocobozzz <chocobozzz@cpy.re>
Wed, 24 Jul 2019 08:58:16 +0000 (10:58 +0200)
server/helpers/core-utils.ts
server/helpers/webtorrent.ts
server/models/video/video.ts
shared/models/plugins/peertube-plugin.model.ts

index 64818d036ef095a185c8efb8ab52dc74630cbcb3..9771351e18733119a80dd8a51c72765635147b6a 100644 (file)
@@ -3,7 +3,6 @@
   Useful to avoid circular dependencies.
 */
 
-import * as createTorrent from 'create-torrent'
 import { createHash, HexBase64Latin1Encoding, pseudoRandomBytes } from 'crypto'
 import { isAbsolute, join } from 'path'
 import * as pem from 'pem'
@@ -257,7 +256,6 @@ function promisify2WithVoid<T, U> (func: (arg1: T, arg2: U, cb: (err: any) => vo
 const pseudoRandomBytesPromise = promisify1<number, Buffer>(pseudoRandomBytes)
 const createPrivateKey = promisify1<number, { key: string }>(pem.createPrivateKey)
 const getPublicKey = promisify1<string, { publicKey: string }>(pem.getPublicKey)
-const createTorrentPromise = promisify2<string, any, any>(createTorrent)
 const execPromise2 = promisify2<string, any, string>(exec)
 const execPromise = promisify1<string, string>(exec)
 
@@ -288,7 +286,6 @@ export {
   pseudoRandomBytesPromise,
   createPrivateKey,
   getPublicKey,
-  createTorrentPromise,
   execPromise2,
   execPromise
 }
index 14dfe0d28c2bc89a182069b7c35a667841519fdb..d2a22e8f0e9b79ffbc75d3ae2ff3f27a6618a547 100644 (file)
@@ -4,6 +4,8 @@ import * as WebTorrent from 'webtorrent'
 import { createWriteStream, ensureDir, remove } from 'fs-extra'
 import { CONFIG } from '../initializers/config'
 import { dirname, join } from 'path'
+import * as createTorrent from 'create-torrent'
+import { promisify2 } from './core-utils'
 
 async function downloadWebTorrentVideo (target: { magnetUri: string, torrentName?: string }, timeout: number) {
   const id = target.magnetUri || target.torrentName
@@ -57,9 +59,12 @@ async function downloadWebTorrentVideo (target: { magnetUri: string, torrentName
   })
 }
 
+const createTorrentPromise = promisify2<string, any, any>(createTorrent)
+
 // ---------------------------------------------------------------------------
 
 export {
+  createTorrentPromise,
   downloadWebTorrentVideo
 }
 
index 92d07b5bccba9528e2795fcc1d7daa5ce030e543..ec3d5ddb06cb22fb772fd73092ee0e85f50240e2 100644 (file)
@@ -40,7 +40,7 @@ import { UserRight, VideoPrivacy, VideoState } from '../../../shared'
 import { VideoTorrentObject } from '../../../shared/models/activitypub/objects'
 import { Video, VideoDetails, VideoFile } from '../../../shared/models/videos'
 import { VideoFilter } from '../../../shared/models/videos/video-query.type'
-import { createTorrentPromise, peertubeTruncate } from '../../helpers/core-utils'
+import { peertubeTruncate } from '../../helpers/core-utils'
 import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc'
 import { isArray, isBooleanValid } from '../../helpers/custom-validators/misc'
 import {
@@ -117,6 +117,7 @@ import { VideoPlaylistElementModel } from './video-playlist-element'
 import { CONFIG } from '../../initializers/config'
 import { ThumbnailModel } from './thumbnail'
 import { ThumbnailType } from '../../../shared/models/videos/thumbnail.type'
+import { createTorrentPromise } from '../../helpers/webtorrent'
 
 // FIXME: Define indexes here because there is an issue with TS and Sequelize.literal when called directly in the annotation
 const indexes: (ModelIndexesOptions & { where?: WhereOptions })[] = [
index e3c10002736b1d377ff0191616776a9c55ac3727..2b0bb8cfa2ba284ded61a732995809fae2c12672 100644 (file)
@@ -1,6 +1,8 @@
+import { PluginType } from './plugin.type'
+
 export interface PeerTubePlugin {
   name: string
-  type: number
+  type: PluginType
   latestVersion: string
   version: string
   enabled: boolean