oblecto 0.2.9 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/Oblecto-Web/dist/web/index.html +24 -3
  2. package/Oblecto-Web/dist/web/static/index-C-JsqHHk.css +1 -0
  3. package/Oblecto-Web/dist/web/static/index-DSZgpOOu.js +576 -0
  4. package/README.md +43 -7
  5. package/dist/bin/oblecto.js +12468 -61
  6. package/dist/index.js +10676 -6
  7. package/package.json +67 -39
  8. package/res/AGENTS.md +8 -0
  9. package/res/config.json +29 -7
  10. package/Oblecto-Web/dist/web/static/css/app.ef5965dbd50e69a7544e200a3f21fbaf.css +0 -1
  11. package/Oblecto-Web/dist/web/static/css/app.ef5965dbd50e69a7544e200a3f21fbaf.css.map +0 -1
  12. package/Oblecto-Web/dist/web/static/js/app.1352bf3c311f0e7ab716.js +0 -7150
  13. package/Oblecto-Web/dist/web/static/js/app.1352bf3c311f0e7ab716.js.map +0 -1
  14. package/Oblecto-Web/dist/web/static/js/manifest.b8404c3e329d75bb51fd.js +0 -154
  15. package/Oblecto-Web/dist/web/static/js/manifest.b8404c3e329d75bb51fd.js.map +0 -1
  16. package/Oblecto-Web/dist/web/static/js/vendor.521641a02e42750ba5a7.js +0 -32455
  17. package/Oblecto-Web/dist/web/static/js/vendor.521641a02e42750ba5a7.js.map +0 -1
  18. package/dist/bin/oblecto.d.ts +0 -2
  19. package/dist/bin/scripts/adduser.d.ts +0 -2
  20. package/dist/bin/scripts/adduser.js +0 -50
  21. package/dist/bin/scripts/changepassword.d.ts +0 -2
  22. package/dist/bin/scripts/changepassword.js +0 -48
  23. package/dist/bin/scripts/deluser.d.ts +0 -2
  24. package/dist/bin/scripts/deluser.js +0 -34
  25. package/dist/bin/scripts/helpers/argumentError.d.ts +0 -2
  26. package/dist/bin/scripts/helpers/argumentError.js +0 -12
  27. package/dist/bin/scripts/helpers/generateAssetDirectories.d.ts +0 -1
  28. package/dist/bin/scripts/helpers/generateAssetDirectories.js +0 -37
  29. package/dist/bin/scripts/init/assets.d.ts +0 -2
  30. package/dist/bin/scripts/init/assets.js +0 -24
  31. package/dist/bin/scripts/init/database.d.ts +0 -2
  32. package/dist/bin/scripts/init/database.js +0 -21
  33. package/dist/bin/scripts/init/general.d.ts +0 -2
  34. package/dist/bin/scripts/init/general.js +0 -54
  35. package/dist/bin/scripts/init/index.d.ts +0 -2
  36. package/dist/bin/scripts/init/index.js +0 -26
  37. package/dist/bin/scripts/removepassword.d.ts +0 -2
  38. package/dist/bin/scripts/removepassword.js +0 -42
  39. package/dist/config.d.ts +0 -7
  40. package/dist/config.js +0 -45
  41. package/dist/core/graphical.d.ts +0 -17
  42. package/dist/core/graphical.js +0 -179
  43. package/dist/core/index.d.ts +0 -9
  44. package/dist/core/index.js +0 -24
  45. package/dist/index.d.ts +0 -1
  46. package/dist/lib/artwork/ArtworkScaler.d.ts +0 -5
  47. package/dist/lib/artwork/ArtworkScaler.js +0 -31
  48. package/dist/lib/artwork/ArtworkUtils.d.ts +0 -8
  49. package/dist/lib/artwork/ArtworkUtils.js +0 -35
  50. package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.d.ts +0 -8
  51. package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.js +0 -58
  52. package/dist/lib/artwork/movies/MovieArtworkCollector.d.ts +0 -35
  53. package/dist/lib/artwork/movies/MovieArtworkCollector.js +0 -93
  54. package/dist/lib/artwork/movies/MovieArtworkDownloader.d.ts +0 -8
  55. package/dist/lib/artwork/movies/MovieArtworkDownloader.js +0 -65
  56. package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.d.ts +0 -6
  57. package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.js +0 -57
  58. package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.d.ts +0 -6
  59. package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.js +0 -47
  60. package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.d.ts +0 -8
  61. package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.js +0 -58
  62. package/dist/lib/artwork/series/SeriesArtworkCollector.d.ts +0 -37
  63. package/dist/lib/artwork/series/SeriesArtworkCollector.js +0 -95
  64. package/dist/lib/artwork/series/SeriesArtworkDownloader.d.ts +0 -8
  65. package/dist/lib/artwork/series/SeriesArtworkDownloader.js +0 -62
  66. package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.d.ts +0 -6
  67. package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.js +0 -44
  68. package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.d.ts +0 -16
  69. package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.js +0 -64
  70. package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.d.ts +0 -16
  71. package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.js +0 -51
  72. package/dist/lib/cleaners/FileCleaner.d.ts +0 -6
  73. package/dist/lib/cleaners/FileCleaner.js +0 -68
  74. package/dist/lib/cleaners/MovieCleaner.d.ts +0 -8
  75. package/dist/lib/cleaners/MovieCleaner.js +0 -48
  76. package/dist/lib/cleaners/SeriesCleaner.d.ts +0 -10
  77. package/dist/lib/cleaners/SeriesCleaner.js +0 -88
  78. package/dist/lib/common/AggregateIdentifier.d.ts +0 -9
  79. package/dist/lib/common/AggregateIdentifier.js +0 -57
  80. package/dist/lib/common/AggregateUpdateRetriever.d.ts +0 -5
  81. package/dist/lib/common/AggregateUpdateRetriever.js +0 -46
  82. package/dist/lib/downloader/index.d.ts +0 -6
  83. package/dist/lib/downloader/index.js +0 -83
  84. package/dist/lib/errors/DebugExtendableError.d.ts +0 -5
  85. package/dist/lib/errors/DebugExtendableError.js +0 -20
  86. package/dist/lib/errors/ExtendableError.d.ts +0 -3
  87. package/dist/lib/errors/ExtendableError.js +0 -22
  88. package/dist/lib/errors/FileExistsError.d.ts +0 -4
  89. package/dist/lib/errors/FileExistsError.js +0 -14
  90. package/dist/lib/errors/IdentificationError.d.ts +0 -4
  91. package/dist/lib/errors/IdentificationError.js +0 -14
  92. package/dist/lib/errors/InfoExtendableError.d.ts +0 -5
  93. package/dist/lib/errors/InfoExtendableError.js +0 -20
  94. package/dist/lib/errors/VideoAnalysisError.d.ts +0 -4
  95. package/dist/lib/errors/VideoAnalysisError.js +0 -14
  96. package/dist/lib/errors/VideoIdentificationError.d.ts +0 -4
  97. package/dist/lib/errors/VideoIdentificationError.js +0 -9
  98. package/dist/lib/errors/WarnExtendableError.d.ts +0 -5
  99. package/dist/lib/errors/WarnExtendableError.js +0 -20
  100. package/dist/lib/federation/client/FederationClient.d.ts +0 -31
  101. package/dist/lib/federation/client/FederationClient.js +0 -127
  102. package/dist/lib/federation/client/FederationClientController.d.ts +0 -9
  103. package/dist/lib/federation/client/FederationClientController.js +0 -45
  104. package/dist/lib/federation/client/FederationDataClient.d.ts +0 -11
  105. package/dist/lib/federation/client/FederationDataClient.js +0 -56
  106. package/dist/lib/federation/client/FederationMediaClient.d.ts +0 -12
  107. package/dist/lib/federation/client/FederationMediaClient.js +0 -70
  108. package/dist/lib/federation/server/FederationController.d.ts +0 -10
  109. package/dist/lib/federation/server/FederationController.js +0 -32
  110. package/dist/lib/federation/server/FederationDataServer.d.ts +0 -4
  111. package/dist/lib/federation/server/FederationDataServer.js +0 -22
  112. package/dist/lib/federation/server/FederationDataServerConnection.d.ts +0 -8
  113. package/dist/lib/federation/server/FederationDataServerConnection.js +0 -96
  114. package/dist/lib/federation/server/FederationMediaServer.d.ts +0 -4
  115. package/dist/lib/federation/server/FederationMediaServer.js +0 -22
  116. package/dist/lib/federation/server/FederationMediaServerConnection.d.ts +0 -11
  117. package/dist/lib/federation/server/FederationMediaServerConnection.js +0 -83
  118. package/dist/lib/federation/server/FederationServer.d.ts +0 -11
  119. package/dist/lib/federation/server/FederationServer.js +0 -40
  120. package/dist/lib/federation/server/FederationServerConnection.d.ts +0 -18
  121. package/dist/lib/federation/server/FederationServerConnection.js +0 -97
  122. package/dist/lib/federationindexer/FederationEpisodeIndexer.d.ts +0 -5
  123. package/dist/lib/federationindexer/FederationEpisodeIndexer.js +0 -65
  124. package/dist/lib/federationindexer/FederationMovieIndexer.d.ts +0 -5
  125. package/dist/lib/federationindexer/FederationMovieIndexer.js +0 -48
  126. package/dist/lib/federationv2/federationController/index.js +0 -13
  127. package/dist/lib/indexers/MediaIdentifier.d.ts +0 -5
  128. package/dist/lib/indexers/MediaIdentifier.js +0 -15
  129. package/dist/lib/indexers/files/FileIndexer.d.ts +0 -10
  130. package/dist/lib/indexers/files/FileIndexer.js +0 -103
  131. package/dist/lib/indexers/movies/MovieCollector.d.ts +0 -25
  132. package/dist/lib/indexers/movies/MovieCollector.js +0 -65
  133. package/dist/lib/indexers/movies/MovieIdentifier.d.ts +0 -10
  134. package/dist/lib/indexers/movies/MovieIdentifier.js +0 -22
  135. package/dist/lib/indexers/movies/MovieIndexer.d.ts +0 -11
  136. package/dist/lib/indexers/movies/MovieIndexer.js +0 -64
  137. package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.d.ts +0 -4
  138. package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.js +0 -52
  139. package/dist/lib/indexers/series/EpisodeIdentifier.d.ts +0 -12
  140. package/dist/lib/indexers/series/EpisodeIdentifier.js +0 -25
  141. package/dist/lib/indexers/series/SeriesCollector.d.ts +0 -25
  142. package/dist/lib/indexers/series/SeriesCollector.js +0 -69
  143. package/dist/lib/indexers/series/SeriesIdentifer.d.ts +0 -11
  144. package/dist/lib/indexers/series/SeriesIdentifer.js +0 -24
  145. package/dist/lib/indexers/series/SeriesIndexer.d.ts +0 -11
  146. package/dist/lib/indexers/series/SeriesIndexer.js +0 -140
  147. package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.d.ts +0 -4
  148. package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.js +0 -48
  149. package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.d.ts +0 -6
  150. package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.js +0 -90
  151. package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.d.ts +0 -7
  152. package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.js +0 -87
  153. package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.d.ts +0 -10
  154. package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.js +0 -82
  155. package/dist/lib/oblecto/index.d.ts +0 -68
  156. package/dist/lib/oblecto/index.js +0 -125
  157. package/dist/lib/queue/index.d.ts +0 -32
  158. package/dist/lib/queue/index.js +0 -96
  159. package/dist/lib/realtime/RealtimeClient.d.ts +0 -27
  160. package/dist/lib/realtime/RealtimeClient.js +0 -137
  161. package/dist/lib/realtime/RealtimeController.d.ts +0 -12
  162. package/dist/lib/realtime/RealtimeController.js +0 -50
  163. package/dist/lib/redisQueue/index.js +0 -109
  164. package/dist/lib/sets/tv/MovieSetCollector.d.ts +0 -6
  165. package/dist/lib/sets/tv/MovieSetCollector.js +0 -49
  166. package/dist/lib/streamSessions/StreamSession.d.ts +0 -41
  167. package/dist/lib/streamSessions/StreamSession.js +0 -146
  168. package/dist/lib/streamSessions/StreamSessionController.d.ts +0 -19
  169. package/dist/lib/streamSessions/StreamSessionController.js +0 -78
  170. package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.d.ts +0 -5
  171. package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.js +0 -116
  172. package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.d.ts +0 -5
  173. package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.js +0 -41
  174. package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.d.ts +0 -15
  175. package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.js +0 -148
  176. package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.d.ts +0 -9
  177. package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.js +0 -72
  178. package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.d.ts +0 -6
  179. package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.js +0 -96
  180. package/dist/lib/updaters/files/FileUpdateCollector.d.ts +0 -20
  181. package/dist/lib/updaters/files/FileUpdateCollector.js +0 -44
  182. package/dist/lib/updaters/files/FileUpdater.d.ts +0 -49
  183. package/dist/lib/updaters/files/FileUpdater.js +0 -194
  184. package/dist/lib/updaters/movies/MovieUpdateCollector.d.ts +0 -20
  185. package/dist/lib/updaters/movies/MovieUpdateCollector.js +0 -48
  186. package/dist/lib/updaters/movies/MovieUpdater.d.ts +0 -12
  187. package/dist/lib/updaters/movies/MovieUpdater.js +0 -49
  188. package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.d.ts +0 -20
  189. package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.js +0 -45
  190. package/dist/lib/updaters/series/SeriesUpdateCollector.d.ts +0 -37
  191. package/dist/lib/updaters/series/SeriesUpdateCollector.js +0 -79
  192. package/dist/lib/updaters/series/SeriesUpdater.d.ts +0 -22
  193. package/dist/lib/updaters/series/SeriesUpdater.js +0 -84
  194. package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.d.ts +0 -11
  195. package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.js +0 -70
  196. package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.d.ts +0 -21
  197. package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.js +0 -68
  198. package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.d.ts +0 -5
  199. package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.js +0 -38
  200. package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.d.ts +0 -21
  201. package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.js +0 -50
  202. package/dist/models/episode.d.ts +0 -76
  203. package/dist/models/episode.js +0 -62
  204. package/dist/models/episodeFiles.d.ts +0 -5
  205. package/dist/models/episodeFiles.js +0 -14
  206. package/dist/models/file.d.ts +0 -26
  207. package/dist/models/file.js +0 -32
  208. package/dist/models/movie.d.ts +0 -30
  209. package/dist/models/movie.js +0 -36
  210. package/dist/models/movieFiles.d.ts +0 -5
  211. package/dist/models/movieFiles.js +0 -14
  212. package/dist/models/movieSet.d.ts +0 -20
  213. package/dist/models/movieSet.js +0 -26
  214. package/dist/models/series.d.ts +0 -59
  215. package/dist/models/series.js +0 -50
  216. package/dist/models/seriesSet.d.ts +0 -9
  217. package/dist/models/seriesSet.js +0 -17
  218. package/dist/models/stream.d.ts +0 -73
  219. package/dist/models/stream.js +0 -81
  220. package/dist/models/trackEpisode.d.ts +0 -9
  221. package/dist/models/trackEpisode.js +0 -17
  222. package/dist/models/trackMovie.d.ts +0 -9
  223. package/dist/models/trackMovie.js +0 -17
  224. package/dist/models/user.d.ts +0 -19
  225. package/dist/models/user.js +0 -26
  226. package/dist/submodules/REST/index.d.ts +0 -9
  227. package/dist/submodules/REST/index.js +0 -59
  228. package/dist/submodules/REST/middleware/auth.d.ts +0 -5
  229. package/dist/submodules/REST/middleware/auth.js +0 -28
  230. package/dist/submodules/REST/routes/auth.d.ts +0 -2
  231. package/dist/submodules/REST/routes/auth.js +0 -48
  232. package/dist/submodules/REST/routes/clients.d.ts +0 -2
  233. package/dist/submodules/REST/routes/clients.js +0 -54
  234. package/dist/submodules/REST/routes/episodes.d.ts +0 -2
  235. package/dist/submodules/REST/routes/episodes.js +0 -275
  236. package/dist/submodules/REST/routes/files.d.ts +0 -2
  237. package/dist/submodules/REST/routes/files.js +0 -53
  238. package/dist/submodules/REST/routes/index.d.ts +0 -2
  239. package/dist/submodules/REST/routes/index.js +0 -49
  240. package/dist/submodules/REST/routes/movies.d.ts +0 -2
  241. package/dist/submodules/REST/routes/movies.js +0 -303
  242. package/dist/submodules/REST/routes/sets.d.ts +0 -2
  243. package/dist/submodules/REST/routes/sets.js +0 -35
  244. package/dist/submodules/REST/routes/settings/index.d.ts +0 -2
  245. package/dist/submodules/REST/routes/settings/index.js +0 -22
  246. package/dist/submodules/REST/routes/settings/maintenance.d.ts +0 -2
  247. package/dist/submodules/REST/routes/settings/maintenance.js +0 -87
  248. package/dist/submodules/REST/routes/settings/misc.d.ts +0 -2
  249. package/dist/submodules/REST/routes/settings/misc.js +0 -38
  250. package/dist/submodules/REST/routes/settings/sources.d.ts +0 -2
  251. package/dist/submodules/REST/routes/settings/sources.js +0 -61
  252. package/dist/submodules/REST/routes/streaming.js +0 -91
  253. package/dist/submodules/REST/routes/tvshows.d.ts +0 -2
  254. package/dist/submodules/REST/routes/tvshows.js +0 -137
  255. package/dist/submodules/REST/routes/users.d.ts +0 -2
  256. package/dist/submodules/REST/routes/users.js +0 -107
  257. package/dist/submodules/REST/routes/web.d.ts +0 -2
  258. package/dist/submodules/REST/routes/web.js +0 -43
  259. package/dist/submodules/axiosTimeout.d.ts +0 -1
  260. package/dist/submodules/axiosTimeout.js +0 -31
  261. package/dist/submodules/database.d.ts +0 -1
  262. package/dist/submodules/database.js +0 -180
  263. package/dist/submodules/ffmpeg.d.ts +0 -1
  264. package/dist/submodules/ffmpeg.js +0 -23
  265. package/dist/submodules/ffprobe.d.ts +0 -1
  266. package/dist/submodules/ffprobe.js +0 -22
  267. package/dist/submodules/guessit.d.ts +0 -5
  268. package/dist/submodules/guessit.js +0 -48
  269. package/dist/submodules/logger/index.d.ts +0 -7
  270. package/dist/submodules/logger/index.js +0 -43
  271. package/dist/submodules/promiseTimeout.d.ts +0 -1
  272. package/dist/submodules/promiseTimeout.js +0 -28
  273. package/dist/submodules/zeroconf.js +0 -19
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _logger = _interopRequireDefault(require("../../submodules/logger"));
9
-
10
- var _IdentificationError = _interopRequireDefault(require("../errors/IdentificationError"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class AggregateUpdateRetriever {
15
- /**
16
- * Wrapper class to combine multiple entity updaters and return information as a combined json output
17
- */
18
- constructor() {
19
- this.retrievers = [];
20
- }
21
-
22
- loadRetriever(retriever) {
23
- this.retrievers.push(retriever);
24
- }
25
-
26
- async retrieveInformation(...args) {
27
- let information = {};
28
-
29
- for (let retriever of this.retrievers) {
30
- try {
31
- let currentInformation = await retriever.retrieveInformation(...args);
32
- information = { ...information,
33
- ...currentInformation
34
- };
35
- } catch (e) {
36
- _logger.default.log(e);
37
- }
38
- }
39
-
40
- if (Object.keys(information).length === 0) throw new _IdentificationError.default('No identification match could be found');
41
- return information;
42
- }
43
-
44
- }
45
-
46
- exports.default = AggregateUpdateRetriever;
@@ -1,6 +0,0 @@
1
- export default class Downloader {
2
- static download(url: any, dest: any, overwrite: any): Promise<void>;
3
- static attemptDownload(urls: any, path: any): Promise<void>;
4
- constructor(oblecto: any);
5
- oblecto: any;
6
- }
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _fs = require("fs");
9
-
10
- var _axiosTimeout = _interopRequireDefault(require("../../submodules/axiosTimeout"));
11
-
12
- var _logger = _interopRequireDefault(require("../../submodules/logger"));
13
-
14
- var _DebugExtendableError = _interopRequireDefault(require("../errors/DebugExtendableError"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- class Downloader {
19
- /**
20
- * Downloader module for oblecto
21
- *
22
- * @param { Oblecto } oblecto
23
- */
24
- constructor(oblecto) {
25
- this.oblecto = oblecto;
26
- this.oblecto.queue.registerJob('downloadFile', async job => {
27
- await Downloader.download(job.url, job.dest, job.overwrite);
28
- });
29
- }
30
- /**
31
- * Download a file
32
- *
33
- * @param { String } url - URL to download
34
- * @param { String } dest - Destination path for file
35
- * @param { Boolean } overwrite - Overwrite if it it exists
36
- * @returns {Promise<void>}
37
- */
38
-
39
-
40
- static async download(url, dest, overwrite) {
41
- let flags = 'wx';
42
-
43
- if (overwrite) {
44
- flags = 'w';
45
- }
46
-
47
- let {
48
- data
49
- } = await (0, _axiosTimeout.default)({
50
- method: 'get',
51
- url,
52
- responseType: 'arraybuffer',
53
- responseEncoding: 'binary'
54
- });
55
- await _fs.promises.writeFile(dest, data, {
56
- flags
57
- });
58
- }
59
- /**
60
- * Download the first url which doesn't return an error code
61
- *
62
- * @param { [String] } urls - Array of urls to attempt
63
- * @param { String } path - Destination path for file
64
- * @returns {Promise<void>}
65
- */
66
-
67
-
68
- static async attemptDownload(urls, path) {
69
- for (let url of urls) {
70
- try {
71
- await Downloader.download(url, path);
72
- return;
73
- } catch (err) {
74
- _logger.default.log('DEBUG', `Error while downloading ${url}. Continuing to next url`);
75
- }
76
- }
77
-
78
- throw new _DebugExtendableError.default('Failed to download any url from array');
79
- }
80
-
81
- }
82
-
83
- exports.default = Downloader;
@@ -1,5 +0,0 @@
1
- export default class DebugExtendableError extends ExtendableError {
2
- constructor(message: any);
3
- level: string;
4
- }
5
- import ExtendableError from "./ExtendableError";
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _ExtendableError = _interopRequireDefault(require("./ExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class DebugExtendableError extends _ExtendableError.default {
13
- constructor(message) {
14
- super(message);
15
- this.level = 'DEBUG';
16
- }
17
-
18
- }
19
-
20
- exports.default = DebugExtendableError;
@@ -1,3 +0,0 @@
1
- export default class ExtendableError extends Error {
2
- constructor(message: any);
3
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- class ExtendableError extends Error {
9
- constructor(message) {
10
- super(message);
11
- this.name = this.constructor.name;
12
-
13
- if (typeof Error.captureStackTrace === 'function') {
14
- Error.captureStackTrace(this, this.constructor);
15
- } else {
16
- this.stack = new Error(message).stack;
17
- }
18
- }
19
-
20
- }
21
-
22
- exports.default = ExtendableError;
@@ -1,4 +0,0 @@
1
- export default class FileExistsError extends DebugExtendableError {
2
- constructor(message: any);
3
- }
4
- import DebugExtendableError from "./DebugExtendableError";
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _DebugExtendableError = _interopRequireDefault(require("./DebugExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class FileExistsError extends _DebugExtendableError.default {}
13
-
14
- exports.default = FileExistsError;
@@ -1,4 +0,0 @@
1
- export default class IdentificationError extends InfoExtendableError {
2
- constructor(message: any);
3
- }
4
- import InfoExtendableError from "./InfoExtendableError";
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _InfoExtendableError = _interopRequireDefault(require("./InfoExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class IdentificationError extends _InfoExtendableError.default {}
13
-
14
- exports.default = IdentificationError;
@@ -1,5 +0,0 @@
1
- export default class InfoExtendableError extends ExtendableError {
2
- constructor(message: any);
3
- level: string;
4
- }
5
- import ExtendableError from "./ExtendableError";
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _ExtendableError = _interopRequireDefault(require("./ExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class InfoExtendableError extends _ExtendableError.default {
13
- constructor(message) {
14
- super(message);
15
- this.level = 'INFO';
16
- }
17
-
18
- }
19
-
20
- exports.default = InfoExtendableError;
@@ -1,4 +0,0 @@
1
- export default class VideoAnalysisError extends WarnExtendableError {
2
- constructor(message: any);
3
- }
4
- import WarnExtendableError from "./WarnExtendableError";
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _WarnExtendableError = _interopRequireDefault(require("./WarnExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class VideoAnalysisError extends _WarnExtendableError.default {}
13
-
14
- exports.default = VideoAnalysisError;
@@ -1,4 +0,0 @@
1
- export default class VideoIdentificationError extends ExtendableError {
2
- constructor(message: any);
3
- }
4
- import ExtendableError from "./ExtendableError";
@@ -1,9 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ExtendableError_1 = __importDefault(require("./ExtendableError"));
7
- class VideoIdentificationError extends ExtendableError_1.default {
8
- }
9
- exports.default = VideoIdentificationError;
@@ -1,5 +0,0 @@
1
- export default class WarnExtendableError extends ExtendableError {
2
- constructor(message: any);
3
- level: string;
4
- }
5
- import ExtendableError from "./ExtendableError";
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _ExtendableError = _interopRequireDefault(require("./ExtendableError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class WarnExtendableError extends _ExtendableError.default {
13
- constructor(message) {
14
- super(message);
15
- this.level = 'WARN';
16
- }
17
-
18
- }
19
-
20
- exports.default = WarnExtendableError;
@@ -1,31 +0,0 @@
1
- /// <reference types="node" />
2
- export default class FederationClient {
3
- /**
4
- *
5
- * @param {Oblecto} oblecto
6
- * @param {string} server
7
- */
8
- constructor(oblecto: any, server: string);
9
- oblecto: any;
10
- serverName: string;
11
- host: any;
12
- port: number;
13
- isSecure: boolean;
14
- authenticated: boolean;
15
- eventEmitter: any;
16
- dataRead: string;
17
- connect(): Promise<void>;
18
- socket: tls.TLSSocket | undefined;
19
- write(header: any, content: any): void;
20
- dataHandler(chunk: any): void;
21
- headerHandler(data: any): void;
22
- challengeHandler(data: any): Promise<void>;
23
- authAcceptHandler(data: any): Promise<void>;
24
- secureConnectHandler(): void;
25
- errorHandler(error: any): void;
26
- closeHandler(): void;
27
- waitForSecure(): Promise<any>;
28
- waitForAuth(): Promise<any>;
29
- close(): void;
30
- }
31
- import tls from "tls";
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _tls = _interopRequireDefault(require("tls"));
9
-
10
- var _fs = require("fs");
11
-
12
- var _nodeRsa = _interopRequireDefault(require("node-rsa"));
13
-
14
- var _events = _interopRequireDefault(require("events"));
15
-
16
- var _logger = _interopRequireDefault(require("../../../submodules/logger"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- class FederationClient {
21
- /**
22
- *
23
- * @param {Oblecto} oblecto
24
- * @param {string} server
25
- */
26
- constructor(oblecto, server) {
27
- this.oblecto = oblecto;
28
- this.serverName = server;
29
- this.host = oblecto.config.federation.servers[server].address;
30
- this.port = 9131;
31
- this.isSecure = false;
32
- this.authenticated = false;
33
- this.eventEmitter = new _events.default();
34
- this.dataRead = '';
35
- }
36
-
37
- async connect() {
38
- _logger.default.log('INFO', 'Connecting to federation master:', this.serverName);
39
-
40
- this.socket = _tls.default.connect({
41
- host: this.host,
42
- port: this.port,
43
- ca: [(0, _fs.readFileSync)(this.oblecto.config.federation.servers[this.serverName].ca)]
44
- });
45
- this.socket.on('data', chunk => this.dataHandler(chunk));
46
- this.socket.on('secureConnect', () => this.secureConnectHandler());
47
- this.socket.on('error', error => this.errorHandler(error));
48
- this.socket.on('close', () => this.closeHandler());
49
- if (!this.isSecure) await this.waitForSecure();
50
- this.socket.write(`IAM:${this.oblecto.config.federation.uuid}\n`);
51
- await this.waitForAuth();
52
- }
53
-
54
- write(header, content) {
55
- this.socket.write(`${header}:${content}\n`);
56
- }
57
-
58
- dataHandler(chunk) {
59
- this.dataRead += chunk.toString();
60
- let split = this.dataRead.split('\n');
61
- if (split.length < 2) return;
62
-
63
- for (let item of split) {
64
- if (item === '') continue;
65
- this.dataRead = this.dataRead.replace(item + '\n', '');
66
- this.headerHandler(item);
67
- }
68
- }
69
-
70
- headerHandler(data) {
71
- let split = data.split(':');
72
-
73
- switch (split[0]) {
74
- case 'CHALLENGE':
75
- this.challengeHandler(split[1]);
76
- break;
77
-
78
- case 'AUTH':
79
- this.authAcceptHandler(split[1]);
80
- break;
81
- }
82
- }
83
-
84
- async challengeHandler(data) {
85
- const pemKey = await _fs.promises.readFile(this.oblecto.config.federation.key);
86
- const key = (0, _nodeRsa.default)(pemKey);
87
- const decrypted = key.decrypt(data, 'ascii');
88
- this.write('CHALLENGE', decrypted);
89
- }
90
-
91
- async authAcceptHandler(data) {
92
- if (data === 'ACCEPTED') {
93
- this.authenticated = true;
94
- this.eventEmitter.emit('auth');
95
- return;
96
- }
97
-
98
- delete this;
99
- }
100
-
101
- secureConnectHandler() {
102
- this.isSecure = true;
103
- }
104
-
105
- errorHandler(error) {}
106
-
107
- closeHandler() {}
108
-
109
- waitForSecure() {
110
- return new Promise((resolve, reject) => {
111
- this.socket.once('secureConnect', resolve);
112
- });
113
- }
114
-
115
- waitForAuth() {
116
- return new Promise((resolve, reject) => {
117
- this.eventEmitter.once('auth', resolve);
118
- });
119
- }
120
-
121
- close() {
122
- this.socket.destroy();
123
- }
124
-
125
- }
126
-
127
- exports.default = FederationClient;
@@ -1,9 +0,0 @@
1
- export default class FederationClientController {
2
- constructor(oblecto: any);
3
- oblecto: any;
4
- syncServers: any[];
5
- addAllSyncMasters(): Promise<void>;
6
- addSyncMaster(server: any): Promise<void>;
7
- requestFullSync(): void;
8
- close(): void;
9
- }
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _FederationDataClient = _interopRequireDefault(require("./FederationDataClient"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class FederationClientController {
13
- constructor(oblecto) {
14
- this.oblecto = oblecto;
15
- this.syncServers = [];
16
- }
17
-
18
- async addAllSyncMasters() {
19
- for (let server in this.oblecto.config.federation.servers) {
20
- await this.addSyncMaster(server);
21
- }
22
- }
23
-
24
- async addSyncMaster(server) {
25
- let client = new _FederationDataClient.default(this.oblecto, server);
26
- await client.connect();
27
- await client.requestFullSync();
28
- this.syncServers.push(client);
29
- }
30
-
31
- requestFullSync() {
32
- for (let server of this.syncServers) {
33
- server.requestFullSync();
34
- }
35
- }
36
-
37
- close() {
38
- for (let server of this.syncServers) {
39
- server.close();
40
- }
41
- }
42
-
43
- }
44
-
45
- exports.default = FederationClientController;
@@ -1,11 +0,0 @@
1
- export default class FederationDataClient extends FederationClient {
2
- /**
3
- *
4
- * @param {Oblecto} oblecto
5
- * @param {string} server
6
- */
7
- constructor(oblecto: any, server: string);
8
- requestFullSync(): void;
9
- fileHandler(data: any): Promise<void>;
10
- }
11
- import FederationClient from "./FederationClient";
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _FederationClient = _interopRequireDefault(require("./FederationClient"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class FederationDataClient extends _FederationClient.default {
13
- /**
14
- *
15
- * @param {Oblecto} oblecto
16
- * @param {string} server
17
- */
18
- constructor(oblecto, server) {
19
- super(oblecto, server);
20
- this.port = oblecto.config.federation.servers[server].dataPort;
21
- }
22
-
23
- headerHandler(data) {
24
- super.headerHandler(data);
25
- let split = data.split(':');
26
-
27
- switch (split[0]) {
28
- case 'FILE':
29
- this.fileHandler(split[1]);
30
- break;
31
- }
32
- }
33
-
34
- requestFullSync() {
35
- this.write('SYNC', 'FULL');
36
- }
37
-
38
- async fileHandler(data) {
39
- let input = Buffer.from(data, 'base64').toString();
40
- let file = JSON.parse(input);
41
- file.host = this.serverName;
42
-
43
- switch (file.fileInfo.type) {
44
- case 'episode':
45
- this.oblecto.queue.queueJob('federationIndexEpisode', file);
46
- break;
47
-
48
- case 'movie':
49
- this.oblecto.queue.queueJob('federationIndexMovie', file);
50
- break;
51
- }
52
- }
53
-
54
- }
55
-
56
- exports.default = FederationDataClient;
@@ -1,12 +0,0 @@
1
- export default class FederationMediaClient extends FederationClient {
2
- constructor(oblecto: any, server: any);
3
- fileId: any;
4
- streamDestination: any;
5
- startStreamFile(fileId: any): Promise<void>;
6
- setStreamDestination(dest: any): Promise<void>;
7
- readyHandler(data: any): Promise<void>;
8
- startStream(): Promise<void>;
9
- setStreamOffset(offset: any): Promise<void>;
10
- closeConnection(): Promise<void>;
11
- }
12
- import FederationClient from "./FederationClient";