oblecto 0.2.8 → 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 (167) 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 +68 -36
  8. package/res/AGENTS.md +8 -0
  9. package/res/config.json +34 -7
  10. package/Oblecto-Web/LICENSE +0 -674
  11. package/Oblecto-Web/README.md +0 -20
  12. package/Oblecto-Web/dist/web/static/css/app.921835f8c2878caee6d1085d9982fa86.css +0 -1
  13. package/Oblecto-Web/dist/web/static/css/app.921835f8c2878caee6d1085d9982fa86.css.map +0 -1
  14. package/Oblecto-Web/dist/web/static/js/app.758b833f6395444695b6.js +0 -6896
  15. package/Oblecto-Web/dist/web/static/js/app.758b833f6395444695b6.js.map +0 -1
  16. package/Oblecto-Web/dist/web/static/js/manifest.d327d604ee57c29a75d0.js +0 -154
  17. package/Oblecto-Web/dist/web/static/js/manifest.d327d604ee57c29a75d0.js.map +0 -1
  18. package/Oblecto-Web/dist/web/static/js/vendor.84f1e8002f100f63d6ef.js +0 -32455
  19. package/Oblecto-Web/dist/web/static/js/vendor.84f1e8002f100f63d6ef.js.map +0 -1
  20. package/Oblecto-Web/package.json +0 -118
  21. package/dist/bin/cliManager.js +0 -102
  22. package/dist/bin/scripts/adduser.js +0 -50
  23. package/dist/bin/scripts/changepassword.js +0 -48
  24. package/dist/bin/scripts/deluser.js +0 -34
  25. package/dist/bin/scripts/helpers/argumentError.js +0 -12
  26. package/dist/bin/scripts/helpers/generateAssetDirectories.js +0 -37
  27. package/dist/bin/scripts/init/assets.js +0 -24
  28. package/dist/bin/scripts/init/database.js +0 -21
  29. package/dist/bin/scripts/init/general.js +0 -54
  30. package/dist/bin/scripts/init/index.js +0 -26
  31. package/dist/bin/scripts/removepassword.js +0 -42
  32. package/dist/config.js +0 -45
  33. package/dist/core/graphical.js +0 -179
  34. package/dist/core/index.js +0 -24
  35. package/dist/lib/artwork/ArtworkScaler.js +0 -31
  36. package/dist/lib/artwork/ArtworkUtils.js +0 -35
  37. package/dist/lib/artwork/movies/AggregateMovieArtworkRetriever.js +0 -58
  38. package/dist/lib/artwork/movies/MovieArtworkCollector.js +0 -93
  39. package/dist/lib/artwork/movies/MovieArtworkDownloader.js +0 -65
  40. package/dist/lib/artwork/movies/artworkRetrievers/FanarttvMovieArtworkRetriever.js +0 -57
  41. package/dist/lib/artwork/movies/artworkRetrievers/TmdbMovieArtworkRetriever.js +0 -47
  42. package/dist/lib/artwork/series/AggregateSeriesArtworkRetriever.js +0 -58
  43. package/dist/lib/artwork/series/SeriesArtworkCollector.js +0 -95
  44. package/dist/lib/artwork/series/SeriesArtworkDownloader.js +0 -62
  45. package/dist/lib/artwork/series/artworkRetrievers/FanarttvSeriesArtworkRetriever.js +0 -44
  46. package/dist/lib/artwork/series/artworkRetrievers/TmdbSeriesArtworkRetriever.js +0 -64
  47. package/dist/lib/artwork/series/artworkRetrievers/TvdbSeriesArtworkRetriever.js +0 -51
  48. package/dist/lib/cleaners/FileCleaner.js +0 -56
  49. package/dist/lib/cleaners/MovieCleaner.js +0 -42
  50. package/dist/lib/cleaners/SeriesCleaner.js +0 -70
  51. package/dist/lib/common/AggregateIdentifier.js +0 -53
  52. package/dist/lib/common/AggregateUpdateRetriever.js +0 -43
  53. package/dist/lib/downloader/index.js +0 -59
  54. package/dist/lib/errors/DebugExtendableError.js +0 -20
  55. package/dist/lib/errors/ExtendableError.js +0 -22
  56. package/dist/lib/errors/FileExistsError.js +0 -14
  57. package/dist/lib/errors/IdentificationError.js +0 -14
  58. package/dist/lib/errors/InfoExtendableError.js +0 -20
  59. package/dist/lib/errors/VideoAnalysisError.js +0 -14
  60. package/dist/lib/errors/VideoIdentificationError.js +0 -14
  61. package/dist/lib/errors/WarnExtendableError.js +0 -20
  62. package/dist/lib/federation/client/FederationClient.js +0 -127
  63. package/dist/lib/federation/client/FederationClientController.js +0 -45
  64. package/dist/lib/federation/client/FederationDataClient.js +0 -56
  65. package/dist/lib/federation/client/FederationMediaClient.js +0 -70
  66. package/dist/lib/federation/server/FederationController.js +0 -32
  67. package/dist/lib/federation/server/FederationDataServer.js +0 -22
  68. package/dist/lib/federation/server/FederationDataServerConnection.js +0 -96
  69. package/dist/lib/federation/server/FederationMediaServer.js +0 -22
  70. package/dist/lib/federation/server/FederationMediaServerConnection.js +0 -83
  71. package/dist/lib/federation/server/FederationServer.js +0 -40
  72. package/dist/lib/federation/server/FederationServerConnection.js +0 -97
  73. package/dist/lib/federationindexer/FederationEpisodeIndexer.js +0 -65
  74. package/dist/lib/federationindexer/FederationMovieIndexer.js +0 -48
  75. package/dist/lib/indexers/MediaIdentifier.js +0 -15
  76. package/dist/lib/indexers/files/FileIndexer.js +0 -103
  77. package/dist/lib/indexers/files/cleaner.js +0 -43
  78. package/dist/lib/indexers/movies/AggregateMovieIdentifier.js +0 -45
  79. package/dist/lib/indexers/movies/MovieCollector.js +0 -65
  80. package/dist/lib/indexers/movies/MovieIdentifier.js +0 -22
  81. package/dist/lib/indexers/movies/MovieIndexer.js +0 -47
  82. package/dist/lib/indexers/movies/identifiers/TmdbMovieidentifier.js +0 -50
  83. package/dist/lib/indexers/series/AggregateEpisodeIdentifier.js +0 -46
  84. package/dist/lib/indexers/series/AggregateSeriesIdentifier.js +0 -46
  85. package/dist/lib/indexers/series/EpisodeIdentifier.js +0 -24
  86. package/dist/lib/indexers/series/SeriesCollector.js +0 -65
  87. package/dist/lib/indexers/series/SeriesIdentifer.js +0 -23
  88. package/dist/lib/indexers/series/SeriesIndexer.js +0 -134
  89. package/dist/lib/indexers/series/identifiers/TmdbEpisodeIdentifier.js +0 -38
  90. package/dist/lib/indexers/series/identifiers/TmdbSeriesIdentifier.js +0 -66
  91. package/dist/lib/indexers/series/identifiers/TvdbEpisodeIdentifier.js +0 -71
  92. package/dist/lib/indexers/series/identifiers/TvdbSeriesIdentifier.js +0 -82
  93. package/dist/lib/oblecto/index.js +0 -125
  94. package/dist/lib/queue/index.js +0 -82
  95. package/dist/lib/realtime/RealtimeClient.js +0 -137
  96. package/dist/lib/realtime/RealtimeController.js +0 -50
  97. package/dist/lib/sets/tv/MovieSetCollector.js +0 -49
  98. package/dist/lib/streamSessions/StreamSession.js +0 -148
  99. package/dist/lib/streamSessions/StreamSessionController.js +0 -78
  100. package/dist/lib/streamSessions/StreamSessionTypes/DirectHttpStreamSession.js +0 -105
  101. package/dist/lib/streamSessions/StreamSessionTypes/DirectStreamSession.js +0 -47
  102. package/dist/lib/streamSessions/StreamSessionTypes/HLSStreamer.js +0 -126
  103. package/dist/lib/streamSessions/StreamSessionTypes/RecodeFederationStreamSession.js +0 -72
  104. package/dist/lib/streamSessions/StreamSessionTypes/RecodeStreamSession.js +0 -65
  105. package/dist/lib/updaters/files/FileUpdateCollector.js +0 -44
  106. package/dist/lib/updaters/files/FileUpdater.js +0 -194
  107. package/dist/lib/updaters/movies/AggregateMovieUpdateRetriever.js +0 -44
  108. package/dist/lib/updaters/movies/MovieUpdateCollector.js +0 -48
  109. package/dist/lib/updaters/movies/MovieUpdater.js +0 -38
  110. package/dist/lib/updaters/movies/informationRetrievers/TmdbMovieRetriever.js +0 -42
  111. package/dist/lib/updaters/series/AggregateEpisodeUpdateRetriever.js +0 -41
  112. package/dist/lib/updaters/series/AggregateSeriesUpdateRetriever.js +0 -44
  113. package/dist/lib/updaters/series/SeriesUpdateCollector.js +0 -79
  114. package/dist/lib/updaters/series/SeriesUpdater.js +0 -84
  115. package/dist/lib/updaters/series/informationRetrievers/TmdbEpisodeRetriever.js +0 -66
  116. package/dist/lib/updaters/series/informationRetrievers/TmdbSeriesRetriever.js +0 -63
  117. package/dist/lib/updaters/series/informationRetrievers/TvdbEpisodeRetriever.js +0 -38
  118. package/dist/lib/updaters/series/informationRetrievers/TvdbSeriesRetriever.js +0 -50
  119. package/dist/models/episode.js +0 -62
  120. package/dist/models/episodeFiles.js +0 -14
  121. package/dist/models/file.js +0 -32
  122. package/dist/models/movie.js +0 -35
  123. package/dist/models/movieFiles.js +0 -14
  124. package/dist/models/movieSet.js +0 -26
  125. package/dist/models/series.js +0 -55
  126. package/dist/models/seriesSet.js +0 -17
  127. package/dist/models/stream.js +0 -81
  128. package/dist/models/trackEpisode.js +0 -17
  129. package/dist/models/trackEpisodes.js +0 -8
  130. package/dist/models/trackMovie.js +0 -17
  131. package/dist/models/trackMovies.js +0 -8
  132. package/dist/models/tvshow.js +0 -46
  133. package/dist/models/tvshowSet.js +0 -8
  134. package/dist/models/user.js +0 -26
  135. package/dist/submodules/REST/index.js +0 -59
  136. package/dist/submodules/REST/middleware/auth.js +0 -28
  137. package/dist/submodules/REST/routes/auth.js +0 -48
  138. package/dist/submodules/REST/routes/clients.js +0 -54
  139. package/dist/submodules/REST/routes/episodes.js +0 -275
  140. package/dist/submodules/REST/routes/files.js +0 -92
  141. package/dist/submodules/REST/routes/index.js +0 -48
  142. package/dist/submodules/REST/routes/movies.js +0 -305
  143. package/dist/submodules/REST/routes/sets.js +0 -35
  144. package/dist/submodules/REST/routes/settings/index.js +0 -22
  145. package/dist/submodules/REST/routes/settings/maintenance.js +0 -87
  146. package/dist/submodules/REST/routes/settings/misc.js +0 -38
  147. package/dist/submodules/REST/routes/settings/sources.js +0 -61
  148. package/dist/submodules/REST/routes/tvshows.js +0 -140
  149. package/dist/submodules/REST/routes/users.js +0 -107
  150. package/dist/submodules/REST/routes/web.js +0 -43
  151. package/dist/submodules/axiosTimeout.js +0 -30
  152. package/dist/submodules/database.js +0 -180
  153. package/dist/submodules/ffmpeg.js +0 -23
  154. package/dist/submodules/ffprobe.js +0 -22
  155. package/dist/submodules/guessit.js +0 -48
  156. package/dist/submodules/handlers/DirectStreamer.js +0 -68
  157. package/dist/submodules/handlers/FFMPEGHandlers/DvdStreamer.js +0 -52
  158. package/dist/submodules/handlers/FFMPEGHandlers/RemuxStreamer.js +0 -33
  159. package/dist/submodules/handlers/FFMPEGHandlers/TranscodeStreamer.js +0 -33
  160. package/dist/submodules/handlers/FFMPEGStreamer.js +0 -56
  161. package/dist/submodules/handlers/FederationStreamer.js +0 -23
  162. package/dist/submodules/handlers/HLSSessionHandler.js +0 -141
  163. package/dist/submodules/logger/index.js +0 -43
  164. package/dist/submodules/promiseTimeout.js +0 -28
  165. package/dist/submodules/zeroconf.js +0 -19
  166. package/dist/transcoders/dvd.js +0 -26
  167. package/dist/transcoders/index.js +0 -42
@@ -1,118 +0,0 @@
1
- {
2
- "name": "Oblecto-Web",
3
- "version": "1.0.0",
4
- "description": "The default PWA SPA frontend for Oblecto",
5
- "author": "Robin <robin@decker.cx>",
6
- "private": true,
7
- "scripts": {
8
- "dev": "node build/dev-server.js",
9
- "start": "node build/dev-server.js",
10
- "build": "node build/build.js",
11
- "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
12
- "e2e": "node test/e2e/runner.js",
13
- "test": "npm run unit && npm run e2e",
14
- "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
15
- },
16
- "files": [
17
- "dist/"
18
- ],
19
- "dependencies": {
20
- "@fortawesome/fontawesome": "^1.1.8",
21
- "@fortawesome/fontawesome-free-solid": "^5.0.13",
22
- "@fortawesome/vue-fontawesome": "0.0.23",
23
- "acorn": "^7.4.1",
24
- "acorn-dynamic-import": "^4.0.0",
25
- "ajv": "^6.12.6",
26
- "axios": "^0.18.1",
27
- "oblectoclient": "0.0.5",
28
- "velocity-animate": "^1.5.2",
29
- "vue": "^2.6.12",
30
- "vue-axios": "^2.1.4",
31
- "vue-js-modal": "^1.3.31",
32
- "vue-notification": "^1.3.16",
33
- "vue-router": "^2.8.1",
34
- "vue-socket.io": "^2.1.1",
35
- "vue-tabs-component": "^1.5.0",
36
- "vuex": "^2.5.0"
37
- },
38
- "devDependencies": {
39
- "autoprefixer": "^7.2.4",
40
- "babel-core": "^6.22.1",
41
- "babel-eslint": "^7.1.1",
42
- "babel-loader": "^7.1.5",
43
- "babel-plugin-istanbul": "^4.1.1",
44
- "babel-plugin-transform-runtime": "^6.22.0",
45
- "babel-preset-env": "^1.6.1",
46
- "babel-preset-stage-2": "^6.22.0",
47
- "babel-register": "^6.22.0",
48
- "chai": "^3.5.0",
49
- "chalk": "^2.4.2",
50
- "chromedriver": "^2.46.0",
51
- "connect-history-api-fallback": "^1.6.0",
52
- "copy-webpack-plugin": "^4.6.0",
53
- "cross-env": "^5.2.0",
54
- "cross-spawn": "^5.0.1",
55
- "css-loader": "^0.28.8",
56
- "cssnano": "^3.10.0",
57
- "eslint": "^5.16.0",
58
- "eslint-config-standard": "^12.0.0",
59
- "eslint-friendly-formatter": "^3.0.0",
60
- "eslint-loader": "^1.7.1",
61
- "eslint-plugin-html": "^3.0.0",
62
- "eslint-plugin-import": "^2.22.1",
63
- "eslint-plugin-node": "^8.0.1",
64
- "eslint-plugin-promise": "^4.2.1",
65
- "eslint-plugin-standard": "^4.0.2",
66
- "eventsource-polyfill": "^0.9.6",
67
- "express": "^4.17.1",
68
- "extract-text-webpack-plugin": "^2.1.2",
69
- "file-loader": "^0.11.1",
70
- "friendly-errors-webpack-plugin": "^1.1.3",
71
- "html-webpack-plugin": "^2.28.0",
72
- "http-proxy-middleware": "^0.19.1",
73
- "inject-loader": "^3.0.0",
74
- "karma": "^1.4.1",
75
- "karma-coverage": "^1.1.1",
76
- "karma-mocha": "^1.3.0",
77
- "karma-phantomjs-launcher": "^1.0.2",
78
- "karma-phantomjs-shim": "^1.4.0",
79
- "karma-sinon-chai": "^1.3.3",
80
- "karma-sourcemap-loader": "^0.3.8",
81
- "karma-spec-reporter": "0.0.31",
82
- "karma-webpack": "^2.0.9",
83
- "mocha": "^3.2.0",
84
- "nightwatch": "^0.9.19",
85
- "node-sass": "^4.12.0",
86
- "opn": "^5.5.0",
87
- "optimize-css-assets-webpack-plugin": "^2.0.0",
88
- "ora": "^1.2.0",
89
- "phantomjs-prebuilt": "^2.1.16",
90
- "rimraf": "^2.7.1",
91
- "sass-loader": "^6.0.6",
92
- "selenium-server": "^3.141.59",
93
- "semver": "^5.7.1",
94
- "shelljs": "^0.7.8",
95
- "sinon": "^2.1.0",
96
- "sinon-chai": "^2.8.0",
97
- "style-loader": "^0.18.2",
98
- "terser-webpack-plugin": "^4.2.3",
99
- "url-loader": "^0.5.8",
100
- "vue-loader": "^13.7.3",
101
- "vue-style-loader": "^3.0.1",
102
- "vue-template-compiler": "^2.6.12",
103
- "webpack": "^2.7.0",
104
- "webpack-bundle-analyzer": "^3.9.0",
105
- "webpack-dev-middleware": "^1.12.2",
106
- "webpack-hot-middleware": "^2.25.0",
107
- "webpack-merge": "^4.2.1"
108
- },
109
- "engines": {
110
- "node": ">= 4.0.0",
111
- "npm": ">= 3.0.0"
112
- },
113
- "browserslist": [
114
- "> 1%",
115
- "last 2 versions",
116
- "not ie <= 8"
117
- ]
118
- }
@@ -1,102 +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
- class cliManager {
11
- constructor() {
12
- this.commands = {};
13
- this.commandCategories = {};
14
- }
15
-
16
- registerCommand(command) {
17
- let currentPath = this.commands;
18
-
19
- for (let part of command.args) {
20
- if (part.includes('[')) {
21
- break;
22
- }
23
-
24
- if (!currentPath[part]) {
25
- currentPath[part] = {};
26
- }
27
-
28
- currentPath = currentPath[part];
29
- }
30
-
31
- if (command.category) {
32
- if (!this.commandCategories[command.category]) {
33
- this.commandCategories[command.category] = [];
34
- }
35
-
36
- this.commandCategories[command.category].push(command);
37
- }
38
-
39
- currentPath['_default'] = command;
40
- }
41
-
42
- execute(args) {
43
- let currentCommandPath = this.commands;
44
-
45
- for (let part of args) {
46
- if (currentCommandPath[part]) {
47
- currentCommandPath = currentCommandPath[part];
48
- } else {
49
- // This is where it gets spicy
50
- if (currentCommandPath['_default']) {
51
- if (currentCommandPath['_default'].args.length == args.length) {
52
- break;
53
- } else {
54
- console.log(`The ${args[0]} command was expecting ${currentCommandPath['_default'].args.length - 1} arguments like so: oblecto ${currentCommandPath['_default'].args.join(" ")}`);
55
- return;
56
- }
57
- }
58
- }
59
- }
60
-
61
- if (currentCommandPath['_default']) {
62
- currentCommandPath = currentCommandPath['_default'];
63
-
64
- switch (currentCommandPath.runType) {
65
- case 'start':
66
- require(currentCommandPath.executePath).default.start();
67
-
68
- break;
69
-
70
- case 'default':
71
- require(currentCommandPath.executePath).default(args);
72
-
73
- break;
74
-
75
- case 'help':
76
- this.help();
77
- break;
78
- }
79
- } else {
80
- this.help();
81
- }
82
- }
83
-
84
- async help() {
85
- let packageInfo = JSON.parse(await _fs.promises.readFile(__dirname + '/../../package.json'));
86
- console.log(`Oblecto ${packageInfo.version}`);
87
- console.log();
88
-
89
- for (const [categoryName, commands] of Object.entries(this.commandCategories)) {
90
- console.log(`${categoryName}:`);
91
-
92
- for (let command of commands) {
93
- console.log(`"oblecto ${command.args.join(" ")}" - ${command.description}`);
94
- }
95
-
96
- console.log();
97
- }
98
- }
99
-
100
- }
101
-
102
- exports.default = cliManager;
@@ -1,50 +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 _bcrypt = _interopRequireDefault(require("bcrypt"));
11
-
12
- var _user = require("../../models/user");
13
-
14
- var _database = require("../../submodules/database");
15
-
16
- var _argumentError = _interopRequireDefault(require("./helpers/argumentError"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- var _default = async args => {
21
- const sequelize = (0, _database.initDatabase)();
22
- let config = JSON.parse(await _fs.promises.readFile('/etc/oblecto/config.json'));
23
-
24
- if (args.length < 5) {
25
- (0, _argumentError.default)('adduser', ['username', 'password', 'realname', 'email']);
26
- return;
27
- }
28
-
29
- let hash = await _bcrypt.default.hash(args[2], config.authentication.saltRounds);
30
- let [user, inserted] = await _user.User.findOrCreate({
31
- where: {
32
- username: args[1]
33
- },
34
- defaults: {
35
- name: args[3],
36
- email: args[4],
37
- password: hash
38
- }
39
- });
40
-
41
- if (inserted) {
42
- console.log('User has been created');
43
- } else {
44
- console.log('A user that with username already exists!');
45
- }
46
-
47
- sequelize.close();
48
- };
49
-
50
- exports.default = _default;
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _user = require("../../models/user");
9
-
10
- var _database = require("../../submodules/database");
11
-
12
- var _argumentError = _interopRequireDefault(require("./helpers/argumentError"));
13
-
14
- var _bcrypt = _interopRequireDefault(require("bcrypt"));
15
-
16
- var _fs = require("fs");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- var _default = async args => {
21
- const sequelize = (0, _database.initDatabase)();
22
- let config = JSON.parse(await _fs.promises.readFile('/etc/oblecto/config.json'));
23
-
24
- if (args.length < 3) {
25
- (0, _argumentError.default)('changepassword', ['username', 'password']);
26
- return;
27
- }
28
-
29
- let user = await _user.User.findOne({
30
- where: {
31
- username: args[1]
32
- }
33
- });
34
-
35
- if (user == null) {
36
- console.log(`User ${args[1]} was not found, please check your spelling`);
37
- } else {
38
- let hash = await _bcrypt.default.hash(args[2], config.authentication.saltRounds);
39
- await user.update({
40
- password: hash
41
- });
42
- console.log(`User ${args[1]}'s password has been changed`);
43
- }
44
-
45
- sequelize.close();
46
- };
47
-
48
- exports.default = _default;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _user = require("../../models/user");
9
-
10
- var _database = require("../../submodules/database");
11
-
12
- var _argumentError = _interopRequireDefault(require("./helpers/argumentError"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- var _default = async args => {
17
- const sequelize = (0, _database.initDatabase)();
18
-
19
- if (args.length < 2) {
20
- (0, _argumentError.default)('deluser', ['username']);
21
- return;
22
- }
23
-
24
- let user = await _user.User.findOne({
25
- where: {
26
- username: args[1]
27
- }
28
- });
29
- await user.destroy();
30
- console.log('User has been deleted');
31
- sequelize.close();
32
- };
33
-
34
- exports.default = _default;
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _default = (command, args) => {
9
- console.log(`Invalid number of arguments: please use "oblecto ${command} ${args.map(a => `[${a}]`).join(' ')}"`);
10
- };
11
-
12
- exports.default = _default;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
-
8
- var _mkdirp = _interopRequireDefault(require("mkdirp"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- let createDirectory = function (dir) {
13
- console.log(`Creating directory ${dir}`);
14
- (0, _mkdirp.default)(dir);
15
- };
16
-
17
- function _default(config) {
18
- // Create directories for image assets
19
- for (let size in config.artwork.fanart) {
20
- createDirectory(`${config.assets.movieFanartLocation}/${size}`);
21
- }
22
-
23
- for (let size in config.artwork.poster) {
24
- createDirectory(`${config.assets.moviePosterLocation}/${size}`);
25
- createDirectory(`${config.assets.showPosterLocation}/${size}`);
26
- }
27
-
28
- for (let size in config.artwork.banner) {
29
- createDirectory(`${config.assets.episodeBannerLocation}/${size}`);
30
- }
31
-
32
- let size = 'original';
33
- createDirectory(`${config.assets.movieFanartLocation}/${size}`);
34
- createDirectory(`${config.assets.moviePosterLocation}/${size}`);
35
- createDirectory(`${config.assets.showPosterLocation}/${size}`);
36
- createDirectory(`${config.assets.episodeBannerLocation}/${size}`);
37
- }
@@ -1,24 +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 _generateAssetDirectories = _interopRequireDefault(require("../helpers/generateAssetDirectories"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- var _default = async args => {
15
- try {
16
- let config = JSON.parse(await _fs.promises.readFile('/etc/oblecto/config.json'));
17
- (0, _generateAssetDirectories.default)(config);
18
- } catch (e) {
19
- console.log('Could not find config file');
20
- console.log('Make sure oblecto has been initialized before regenerating asset directories');
21
- }
22
- };
23
-
24
- exports.default = _default;
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _database = require("../../../submodules/database");
9
-
10
- var _default = async args => {
11
- const sequelize = (0, _database.initDatabase)();
12
- let options = {};
13
- if ('--alter' in args) options = {
14
- alter: true
15
- };
16
- await sequelize.authenticate();
17
- await sequelize.sync(options);
18
- await sequelize.close();
19
- };
20
-
21
- exports.default = _default;
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _uuid = require("uuid");
9
-
10
- var _fs = require("fs");
11
-
12
- var _nodeRsa = _interopRequireDefault(require("node-rsa"));
13
-
14
- var _generateAssetDirectories = _interopRequireDefault(require("../helpers/generateAssetDirectories"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var _default = async args => {
19
- let config = JSON.parse(await _fs.promises.readFile(__dirname + '/../../../../res/config.json'));
20
-
21
- try {
22
- await _fs.promises.mkdir('/etc/oblecto');
23
- } catch (e) {
24
- if (e.code !== 'EEXIST') {
25
- console.log('Unable to create Oblecto data directory. Aborting');
26
- console.log('Please create the directory "/etc/oblecto" and give current user read/write permissions');
27
- return;
28
- }
29
- }
30
-
31
- (0, _generateAssetDirectories.default)(config);
32
- config.authentication.secret = (0, _uuid.v4)();
33
- console.log('Generating federation UUID');
34
- config.federation.uuid = (0, _uuid.v4)();
35
- console.log('Creating config file');
36
-
37
- try {
38
- await _fs.promises.writeFile('/etc/oblecto/config.json', JSON.stringify(config, null, 4));
39
- } catch (e) {
40
- console.log(e);
41
- }
42
-
43
- console.log('Generating federation authentication keys');
44
- const key = new _nodeRsa.default({
45
- b: 2048
46
- });
47
- await _fs.promises.writeFile('/etc/oblecto/id_rsa', key.exportKey('pkcs1-private-pem'));
48
- await _fs.promises.writeFile('/etc/oblecto/id_rsa.pub', key.exportKey('pkcs1-public-pem'));
49
- console.log('Federation TLS keys will need to be generated manually');
50
- console.log('Please refer to the Oblecto wiki for instructions');
51
- console.log('https://github.com/robinp7720/Oblecto/wiki/Federation');
52
- };
53
-
54
- exports.default = _default;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _default = async args => {
9
- if (args.length === 1) args[1] = 'oblecto';
10
-
11
- switch (args[1]) {
12
- case 'oblecto':
13
- await require('./general').default(args);
14
- break;
15
-
16
- case 'database':
17
- await require('./database').default(args);
18
- break;
19
-
20
- case 'assets':
21
- await require('./assets').default(args);
22
- break;
23
- }
24
- };
25
-
26
- exports.default = _default;
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _user = require("../../models/user");
9
-
10
- var _database = require("../../submodules/database");
11
-
12
- var _argumentError = _interopRequireDefault(require("./helpers/argumentError"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- var _default = async args => {
17
- const sequelize = (0, _database.initDatabase)();
18
-
19
- if (args.length < 2) {
20
- (0, _argumentError.default)('removepassword', ['username']);
21
- return;
22
- }
23
-
24
- let user = await _user.User.findOne({
25
- where: {
26
- username: args[1]
27
- }
28
- });
29
-
30
- if (user == null) {
31
- console.log(`User ${args[1]} was not found, please check your spelling`);
32
- } else {
33
- await user.update({
34
- password: ''
35
- });
36
- console.log(`User ${args[1]}'s password has been removed`);
37
- }
38
-
39
- sequelize.close();
40
- };
41
-
42
- exports.default = _default;
package/dist/config.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ConfigManager = exports.default = void 0;
7
-
8
- var _os = _interopRequireDefault(require("os"));
9
-
10
- var _fs = _interopRequireDefault(require("fs"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- let config = {};
15
- const ConfigManager = {
16
- loadFile: function loadFile(file) {
17
- try {
18
- return JSON.parse(_fs.default.readFileSync(file, 'utf8'));
19
- } catch (ex) {
20
- if (ex.code === 'ENOENT') {
21
- console.log(`No config file at ${file}, continuing to next file`);
22
- return {};
23
- }
24
-
25
- console.log(`There is an error with the config file located at ${file}:`);
26
- console.log(ex.message);
27
- return {};
28
- }
29
- },
30
- loadConfigFiles: function loadConfigs() {
31
- config = { ...this.loadFile('/etc/oblecto/config.json')
32
- };
33
- },
34
- saveConfig: function saveConfig() {
35
- _fs.default.writeFile('/etc/oblecto/config.json', JSON.stringify(config, null, 4), (stat, err) => {
36
- if (err) {
37
- console.log('An error has occurred while writing the config file: ', err);
38
- }
39
- });
40
- }
41
- };
42
- exports.ConfigManager = ConfigManager;
43
- ConfigManager.loadConfigFiles();
44
- var _default = config;
45
- exports.default = _default;