소스 검색

move: move selfhosting-related services to a module

KernelDeimos 10 달 전
부모
커밋
654e0b9333

+ 1 - 1
src/backend/exports.js

@@ -20,7 +20,7 @@ const CoreModule = require("./src/CoreModule.js");
 const { Kernel } = require("./src/Kernel.js");
 const DatabaseModule = require("./src/DatabaseModule.js");
 const LocalDiskStorageModule = require("./src/LocalDiskStorageModule.js");
-const SelfHostedModule = require("./src/SelfHostedModule.js");
+const SelfHostedModule = require("./src/modules/selfhosted/SelfHostedModule.js");
 const PuterDriversModule = require("./src/PuterDriversModule.js");
 const { testlaunch } = require("./src/index.js");
 const BaseService = require("./src/services/BaseService.js");

+ 2 - 2
src/backend/src/services/ComplainAboutVersionsService.js → src/backend/src/modules/selfhosted/ComplainAboutVersionsService.js

@@ -16,8 +16,8 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const { BaseService } = require("../../exports");
-const { surrounding_box } = require("../fun/dev-console-ui-utils");
+const { BaseService } = require("../../../exports");
+const { surrounding_box } = require("../../fun/dev-console-ui-utils");
 
 class ComplainAboutVersionsService extends BaseService {
     static DESCRIPTION = `

+ 11 - 11
src/backend/src/services/DefaultUserService.js → src/backend/src/modules/selfhosted/DefaultUserService.js

@@ -16,17 +16,17 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const { QuickMkdir } = require("../filesystem/hl_operations/hl_mkdir");
-const { HLWrite } = require("../filesystem/hl_operations/hl_write");
-const { NodePathSelector } = require("../filesystem/node/selectors");
-const { surrounding_box } = require("../fun/dev-console-ui-utils");
-const { get_user, generate_system_fsentries, invalidate_cached_user } = require("../helpers");
-const { Context } = require("../util/context");
-const { asyncSafeSetInterval } = require("../util/promise");
-const { buffer_to_stream } = require("../util/streamutil");
-const BaseService = require("./BaseService");
-const { Actor, UserActorType } = require("./auth/Actor");
-const { DB_WRITE } = require("./database/consts");
+const { QuickMkdir } = require("../../filesystem/hl_operations/hl_mkdir");
+const { HLWrite } = require("../../filesystem/hl_operations/hl_write");
+const { NodePathSelector } = require("../../filesystem/node/selectors");
+const { surrounding_box } = require("../../fun/dev-console-ui-utils");
+const { get_user, generate_system_fsentries, invalidate_cached_user } = require("../../helpers");
+const { Context } = require("../../util/context");
+const { asyncSafeSetInterval } = require("../../util/promise");
+const { buffer_to_stream } = require("../../util/streamutil");
+const BaseService = require("../../services/BaseService");
+const { Actor, UserActorType } = require("../../services/auth/Actor");
+const { DB_WRITE } = require("../../services/database/consts");
 
 const USERNAME = 'admin';
 

+ 1 - 1
src/backend/src/services/DevWatcherService.js → src/backend/src/modules/selfhosted/DevWatcherService.js

@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const BaseService = require("./BaseService");
+const BaseService = require("../../services/BaseService");
 
 class ProxyLogger {
     constructor (log) {

+ 18 - 14
src/backend/src/SelfHostedModule.js → src/backend/src/modules/selfhosted/SelfHostedModule.js

@@ -17,27 +17,30 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 const { AdvancedBase } = require("@heyputer/puter-js-common");
-const config = require("./config");
+const config = require("../../config");
 
 class SelfHostedModule extends AdvancedBase {
     async install (context) {
         const services = context.get('services');
 
-        const { SelfhostedService } = require('./services/SelfhostedService');
+        const { SelfhostedService } = require('./SelfhostedService');
         services.registerService('__selfhosted', SelfhostedService);
 
-        const DefaultUserService = require('./services/DefaultUserService');
+        const DefaultUserService = require('./DefaultUserService');
         services.registerService('__default-user', DefaultUserService);
 
-        const ComplainAboutVersionsService = require('./services/ComplainAboutVersionsService');
+        const ComplainAboutVersionsService = require('./ComplainAboutVersionsService');
         services.registerService('complain-about-versions', ComplainAboutVersionsService);
 
-        const DevWatcherService = require('./services/DevWatcherService');
+        const DevWatcherService = require('./DevWatcherService');
         const path_ = require('path');
 
+        // TODO: sucks
+        const RELATIVE_PATH = '../../../../../';
+
         if ( ! config.no_devwatch )
         services.registerService('__dev-watcher', DevWatcherService, {
-            root: path_.resolve(__dirname, '../../../'),
+            root: path_.resolve(__dirname, RELATIVE_PATH),
             commands: [
                 {
                     name: 'puter.js:webpack-watch',
@@ -75,36 +78,37 @@ class SelfHostedModule extends AdvancedBase {
             ],
         });
 
-        const { ServeStaticFilesService } = require("./services/ServeStaticFilesService");
+        const { ServeStaticFilesService } = require("./ServeStaticFilesService");
         services.registerService('__serve-puterjs', ServeStaticFilesService, {
             directories: [
                 {
                     prefix: '/sdk',
-                    path: path_.resolve(__dirname, '../../../src/puter-js/dist'),
+                    path: path_.resolve(__dirname, RELATIVE_PATH, 'src/puter-js/dist'),
                 },
                 {
                     prefix: '/builtin/terminal',
-                    path: path_.resolve(__dirname, '../../../src/terminal/dist'),
+                    path: path_.resolve(__dirname, RELATIVE_PATH, 'src/terminal/dist'),
                 },
                 {
                     prefix: '/builtin/phoenix',
-                    path: path_.resolve(__dirname, '../../../src/phoenix/dist'),
+                    path: path_.resolve(__dirname, RELATIVE_PATH, 'src/phoenix/dist'),
                 },
                 {
                     prefix: '/builtin/git',
-                    path: path_.resolve(__dirname, '../../../src/git/dist'),
+                    path: path_.resolve(__dirname, RELATIVE_PATH, 'src/git/dist'),
                 },
                 {
                     prefix: '/builtin/dev-center',
-                    path: path_.resolve(__dirname, '../../../src/dev-center'),
+                    path: path_.resolve(__dirname, RELATIVE_PATH, 'src/dev-center'),
                 },
             ],
         });
         
-        const { ServeSingleFileService } = require('./services/ServeSingeFileService');
+        const { ServeSingleFileService } = require('./ServeSingeFileService');
         services.registerService('__serve-puterjs-new', ServeSingleFileService, {
             path: path_.resolve(__dirname,
-                '../../../src/puter-js/dist/puter.dev.js'),
+                RELATIVE_PATH,
+                'src/puter-js/dist/puter.dev.js'),
             route: '/puter.js/v2',
         });
     }

+ 4 - 4
src/backend/src/services/SelfhostedService.js → src/backend/src/modules/selfhosted/SelfhostedService.js

@@ -16,10 +16,10 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const { DBKVStore } = require("../drivers/DBKVStore");
-const { EntityStoreImplementation } = require("../drivers/EntityStoreImplementation");
-const { HelloWorld } = require("../drivers/HelloWorld");
-const BaseService = require("./BaseService");
+const { DBKVStore } = require("../../drivers/DBKVStore");
+const { EntityStoreImplementation } = require("../../drivers/EntityStoreImplementation");
+const { HelloWorld } = require("../../drivers/HelloWorld");
+const BaseService = require("../../services/BaseService");
 
 class SelfhostedService extends BaseService {
     static description = `

+ 1 - 1
src/backend/src/services/ServeSingeFileService.js → src/backend/src/modules/selfhosted/ServeSingeFileService.js

@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const BaseService = require("./BaseService");
+const BaseService = require("../../services/BaseService");
 
 class ServeSingleFileService extends BaseService {
     async _init (args) {

+ 1 - 1
src/backend/src/services/ServeStaticFilesService.js → src/backend/src/modules/selfhosted/ServeStaticFilesService.js

@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-const BaseService = require("./BaseService");
+const BaseService = require("../../services/BaseService");
 
 class ServeStaticFilesService extends BaseService {
     async _init (args) {