From fac4e2d4df2b8166108416c51894d907fe62ab73 Mon Sep 17 00:00:00 2001 From: liosha84 <138026690+liosha84@users.noreply.github.com> Date: Fri, 22 Aug 2025 18:57:24 +0300 Subject: [PATCH] fix --- META-INF/MANIFEST.MF | 12 + build.gradle | 3 + .../file-browser-with-tree-component.html | 196 ++++++++ .../file-browser-with-tree-component.scss | 407 +++++++++++++++ .../file-browser-with-tree-component.spec.ts | 23 + .../file-browser-with-tree-component.ts | 375 ++++++++++++++ .../file-system-tree-component.html | 35 ++ .../file-system-tree-component.scss | 81 +++ .../file-system-tree-component.spec.ts | 23 + .../file-system-tree-component.ts | 237 +++++++++ .../admin-welcome.component.html | 7 + .../app/modules/admin-module/admin.module.ts | 11 +- .../app/modules/admin-module/admin.routing.ts | 5 + .../hard-drive-browser.component.html | 1 + .../hard-drive-browser.component.scss | 0 .../hard-drive-browser.component.spec.ts | 23 + .../hard-drive-browser.component.ts | 16 + .../dialog-signup.component.ts | 3 +- .../docker-management-component.html | 109 ++++ .../docker-management-component.scss | 0 .../docker-management-component.spec.ts | 23 + .../docker-management-component.ts | 171 +++++++ .../user-module/docker.service.spec.ts | 16 + .../app/modules/user-module/docker.service.ts | 471 ++++++++++++++++++ .../app/modules/user-module/user.routing.ts | 5 + .../file-browser-tree.service.spec.ts | 16 + .../app/services/file-browser-tree.service.ts | 92 ++++ src/DevOps/Dockerfile | 4 + src/DevOps/docker-compose.yml | 10 +- .../controllers/DockerController.java | 140 ++++++ .../FileBrowserTreeController.java | 154 ++++++ .../jambotron/docker/ContainerRunRequest.java | 21 + .../jambotron/docker/DockerResult.java | 29 ++ .../jambotron/docker/DockerService.java | 159 ++++++ .../fileBrowserTree/CreateFolderRequest.java | 31 ++ .../FileBrowserTreeService.java | 410 +++++++++++++++ .../fileBrowserTree/FileItemDto.java | 67 +++ .../jambotron/initData/InitDataService.java | 2 +- .../jambotron/security/WebSecurityConfig.java | 9 +- .../application_development.yml | 5 + .../yml_properties/application_production.yml | 6 + 41 files changed, 3401 insertions(+), 7 deletions(-) create mode 100644 META-INF/MANIFEST.MF create mode 100644 jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.html create mode 100644 jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.scss create mode 100644 jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.spec.ts create mode 100644 jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.ts create mode 100644 jambotron-ui/src/app/components/file-system-tree-component/file-system-tree-component.html create mode 100644 jambotron-ui/src/app/components/file-system-tree-component/file-system-tree-component.scss create mode 100644 jambotron-ui/src/app/components/file-system-tree-component/file-system-tree-component.spec.ts create mode 100644 jambotron-ui/src/app/components/file-system-tree-component/file-system-tree-component.ts create mode 100644 jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.html create mode 100644 jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.scss create mode 100644 jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.spec.ts create mode 100644 jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.ts create mode 100644 jambotron-ui/src/app/modules/user-module/docker-management-component/docker-management-component.html create mode 100644 jambotron-ui/src/app/modules/user-module/docker-management-component/docker-management-component.scss create mode 100644 jambotron-ui/src/app/modules/user-module/docker-management-component/docker-management-component.spec.ts create mode 100644 jambotron-ui/src/app/modules/user-module/docker-management-component/docker-management-component.ts create mode 100644 jambotron-ui/src/app/modules/user-module/docker.service.spec.ts create mode 100644 jambotron-ui/src/app/modules/user-module/docker.service.ts create mode 100644 jambotron-ui/src/app/services/file-browser-tree.service.spec.ts create mode 100644 jambotron-ui/src/app/services/file-browser-tree.service.ts create mode 100644 src/main/java/com/jambotronGroup/jambotron/controllers/DockerController.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/controllers/FileBrowserTreeController.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/docker/ContainerRunRequest.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/docker/DockerResult.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/docker/DockerService.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/fileBrowserTree/CreateFolderRequest.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/fileBrowserTree/FileBrowserTreeService.java create mode 100644 src/main/java/com/jambotronGroup/jambotron/fileBrowserTree/FileItemDto.java diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e64ef45 --- /dev/null +++ b/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Main-Class: org.springframework.boot.loader.launch.JarLauncher +Start-Class: com.jambotronGroup.jambotron.JambotronApplication +Spring-Boot-Version: 3.5.0 +Spring-Boot-Classes: BOOT-INF/classes/ +Spring-Boot-Lib: BOOT-INF/lib/ +Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx +Spring-Boot-Layers-Index: BOOT-INF/layers.idx +Build-Jdk-Spec: 24 +Implementation-Title: jambotron +Implementation-Version: 0.0.1-SNAPSHOT + diff --git a/build.gradle b/build.gradle index b5d91fe..3c71298 100644 --- a/build.gradle +++ b/build.gradle @@ -39,6 +39,9 @@ dependencies { implementation 'org.springframework.ai:spring-ai-zhipuai-spring-boot-starter:1.0.0-M6' implementation 'org.springframework:spring-mock:2.0.8' + // Apache Commons Exec for process execution + implementation 'org.apache.commons:commons-exec:1.3' + implementation 'com.google.guava:guava:33.4.8-jre' implementation 'io.micrometer:micrometer-core:1.12.0' implementation 'org.springframework.boot:spring-boot-starter-actuator' diff --git a/jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.html b/jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.html new file mode 100644 index 0000000..c43553b --- /dev/null +++ b/jambotron-ui/src/app/components/file-browser-with-tree-component/file-browser-with-tree-component.html @@ -0,0 +1,196 @@ +
|
+ |
+
+ |
+ + |
+ |
+ Name | ++ {{ file.name }} + | +Size | ++ {{ file.type === 'directory' ? '-' : formatFileSize(file.size) }} + | +Last Modified | ++ {{ file.lastModified | date:'short' }} + | ++ + | ++ + + | +
|---|
{{ searchQuery ? 'Try adjusting your search terms' : 'Upload files or create folders to get started.' }}
+admin-welcome.component works!
+admin-welcome.component works!
+ +admin-welcome.component works!
+admin-welcome.component works!
admin-welcome.component works!
+ + +admin-welcome.component works!
admin-welcome.component works!
admin-welcome.component works!
admin-welcome.component works!
diff --git a/jambotron-ui/src/app/modules/admin-module/admin.module.ts b/jambotron-ui/src/app/modules/admin-module/admin.module.ts index 1b9fc4e..5affbbd 100644 --- a/jambotron-ui/src/app/modules/admin-module/admin.module.ts +++ b/jambotron-ui/src/app/modules/admin-module/admin.module.ts @@ -2,12 +2,21 @@ import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {AdminComponent} from './admin.component/admin.component'; import {adminRouting} from './admin.routing'; +import {MatTreeModule} from '@angular/material/tree'; +import {MatIconModule} from '@angular/material/icon'; +import {MatButtonModule} from '@angular/material/button'; +import {MatProgressSpinnerModule} from '@angular/material/progress-spinner'; @NgModule({ declarations: [ ], - imports: [adminRouting, AdminComponent], + imports: [adminRouting, AdminComponent, + MatTreeModule, + MatIconModule, + MatButtonModule, + MatProgressSpinnerModule + ], exports: [RouterModule], schemas:[CUSTOM_ELEMENTS_SCHEMA] }) diff --git a/jambotron-ui/src/app/modules/admin-module/admin.routing.ts b/jambotron-ui/src/app/modules/admin-module/admin.routing.ts index 2b9dfb8..68bb0ac 100644 --- a/jambotron-ui/src/app/modules/admin-module/admin.routing.ts +++ b/jambotron-ui/src/app/modules/admin-module/admin.routing.ts @@ -28,6 +28,11 @@ export const ADMIN_ROUTES: Routes = [ loadComponent: () => import('../admin-module/users.component/users.component').then((c) => c.UsersComponent), data:{title: 'Users', icon:'', nav:true} }, + { + path: 'hard-drive-browser', + loadComponent: () => import('../admin-module/hard-drive-browser.component/hard-drive-browser.component').then((c)=> c.HardDriveBrowserComponent), + data:{title: 'Hard Drive', icon:'hard_drive', nav:true} + }, { path:"data-base", loadComponent: () => import('../admin-module/data-base.component/data-base.component').then((c) => c.DataBaseComponent), diff --git a/jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.html b/jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.html new file mode 100644 index 0000000..cdc5540 --- /dev/null +++ b/jambotron-ui/src/app/modules/admin-module/hard-drive-browser.component/hard-drive-browser.component.html @@ -0,0 +1 @@ +No containers found
+{{getOutputText(lastCommandResult.output)}}
+