diff --git a/.gitignore b/.gitignore
index 0fd53fb..8fd54ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,3 +48,5 @@ out/
/logs/
+/.idea/
+
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index fdc392f..f5a0c5d 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -16,5 +16,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 6eda973..8627d74 100644
--- a/build.gradle
+++ b/build.gradle
@@ -37,20 +37,6 @@ dependencies {
implementation("org.flywaydb:flyway-database-postgresql:10.4.1")
implementation 'org.springframework.ai:spring-ai-zhipuai-spring-boot-starter:1.0.0-M6'
-
-
-
-
- //implementation 'org.springframework.ai:spring-ai-starter-model-zhipuai'
- //implementation 'org.springframework.ai:spring-ai-zhipuai-spring-boot-starter'
- //implementation platform("org.springframework.ai:spring-ai-bom:1.0.0-SNAPSHOT")
- // Replace the following with the starter dependencies of specific modules you wish to use
- //implementation 'org.springframework.ai:spring-ai-zhipuai'
- //implementation 'org.springframework.boot:spring-boot-starter-webflux'
- //implementation("org.springframework.ai:spring-ai-spring-boot-autoconfigure:1.0.0-M6")
- // https://mvnrepository.com/artifact/org.springframework.ai/spring-ai-retry
- //implementation("org.springframework.ai:spring-ai-retry:1.0.0")
- //implementation group: 'org.springframework.ai', name: 'spring-ai-spring-boot-autoconfigure', version: '1.0.0-M6'
}
apply plugin: 'io.spring.dependency-management'
@@ -60,67 +46,50 @@ apply plugin: 'io.spring.dependency-management'
}
}
-// copyResouces( type:Copy
-
-//tasks copyResouces( type:Copy){
-//
-// def buildDir = "${project.buildDir}"
-//
-// from "{$buildDir}/jambotron-ui/dist/jambotron-ui/browser" // Source directory
-// into "{$buildDir}/build/resources" // Target directory
-// include '**/*'
-//}
-
apply plugin: 'java'
-/*tasks.register('copyResources', Copy) {
- from 'jambotron-ui/dist/jambotron-ui/browser'
- into 'src/main/resources/public'
-}*/
-//processResources.dependsOn(copyResources)
-//compileJava.dependsOn(copyResources)
-//bootRun.dependsOn("flywayMigrate")
-
-//flyway {
-// user='admin'
-// password= 'postgrespw'
-// url = 'jdbc:postgresql://localhost:5432/jambotronDB'
-// driver = 'org.postgresql.Driver'
-// baselineOnMigrate = true
-// locations = ['filesystem:src/main/resources/db.migration/']
-//}
-
-/*sourceSets {
- main {
- resources {
- srcDir 'jambotron-ui/dist/jambotron-ui/browser'
+tasks.register("bootRun_Dev") {
+ group = "_jambotron_build"
+ description = "Runs the Spring Boot application with the dev profile"
+ doFirst {
+ tasks.bootRun.configure {
+ systemProperty("spring.profiles.active", "dev")
}
}
-}*/
+ finalizedBy("bootRun")
+}
+
+
tasks.register('buildAngular_dev', Exec) {
- //dependsOn deleteStaticFolder
+ group = "_jambotron_build"
+ description = "Builds the Angular application in development mode"
+
workingDir './jambotron-ui' // Path to your Angular project (e.g., './angular-app')
executable 'npm.cmd' // Use 'npm' for Unix-like systems or 'npm.cmd' for Windows
// Your Angular build command
- args = ['run', 'build_dev']//do not forget build_dev used port 8080 for connect to backend rest api
+ //do not forget build_dev used port 8082 with proxy for connect to backend rest api
+ args = ['run', 'build_dev']
}
-tasks.register('buildAngular', Exec) {
- //dependsOn deleteStaticFolder
+tasks.register('buildAngular_prod', Exec) {
+ group = "_jambotron_build"
+
workingDir './jambotron-ui' // Path to your Angular project (e.g., './angular-app')
executable 'npm.cmd' // Use 'npm' for Unix-like systems or 'npm.cmd' for Windows
// Your Angular build command
- args = ['run', 'build']//do not forget build_dev used port 8080 for connect to backend rest api
+ args = ['run', 'build']
}
-tasks.register('deleteStaticFolder', Delete) {
- dependsOn buildAngular
+tasks.register('deleteStaticFolder_prod', Delete) {
+ group = "_jambotron_build"
+
+ dependsOn buildAngular_prod
def dirName = "src/main/resources/static"
file(dirName).list().each {
f ->
@@ -129,6 +98,8 @@ tasks.register('deleteStaticFolder', Delete) {
}
tasks.register('deleteStaticFolder_dev', Delete) {
+ group = "_jambotron_build"
+
dependsOn buildAngular_dev
def dirName = "src/main/resources/static"
file(dirName).list().each {
@@ -137,12 +108,15 @@ tasks.register('deleteStaticFolder_dev', Delete) {
}
}
-tasks.register('copyAngularBuild', Copy) {
- dependsOn deleteStaticFolder
+tasks.register('copyAngularBuild_prod', Copy) {
+ group = "_jambotron_build"
+
+ dependsOn deleteStaticFolder_prod
from 'jambotron-ui/dist/jambotron-ui' // Path to your Angular dist folder
into "src/main/resources/static" // Path INSIDE the WAR
}
tasks.register('copyAngularBuild_dev', Copy) {
+ group = "_jambotron_build"
dependsOn deleteStaticFolder_dev
from 'jambotron-ui/dist/jambotron-ui' // Path to your Angular dist folder
into "src/main/resources/static" // Path INSIDE the WAR
diff --git a/jambotron-ui/angular.json b/jambotron-ui/angular.json
index cd85683..dce0468 100644
--- a/jambotron-ui/angular.json
+++ b/jambotron-ui/angular.json
@@ -76,15 +76,15 @@
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.development.ts"
}
- ]
+ ],
+ "index": "src/index_dev.html"
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
-
- "configurations": {
+ "configurations": {
"production": {
"buildTarget": "jambotron-ui:build:production"
},
diff --git a/jambotron-ui/package.json b/jambotron-ui/package.json
index d22578b..12eda64 100644
--- a/jambotron-ui/package.json
+++ b/jambotron-ui/package.json
@@ -3,7 +3,7 @@
"version": "0.0.0",
"scripts": {
"ng": "ng",
- "start": "ng serve",
+ "start": "ng serve --proxy-config src/proxy.conf.json",
"start_prod": "ng serve --configuration production",
"build": "ng build",
"watch": "ng build --watch --configuration development",
diff --git a/jambotron-ui/src/app/admin-module/admin.component/admin.component.html b/jambotron-ui/src/app/admin-module/admin.component/admin.component.html
index a2adc38..ef736f1 100644
--- a/jambotron-ui/src/app/admin-module/admin.component/admin.component.html
+++ b/jambotron-ui/src/app/admin-module/admin.component/admin.component.html
@@ -3,33 +3,8 @@
>
-
-
-
-
-
-
-
diff --git a/jambotron-ui/src/app/admin-module/admin.component/admin.component.ts b/jambotron-ui/src/app/admin-module/admin.component/admin.component.ts
index 7b2330a..bd93db9 100644
--- a/jambotron-ui/src/app/admin-module/admin.component/admin.component.ts
+++ b/jambotron-ui/src/app/admin-module/admin.component/admin.component.ts
@@ -1,32 +1,15 @@
import {Component, CUSTOM_ELEMENTS_SCHEMA, inject, OnInit} from '@angular/core';
-import {BreadcrumbComponent} from "../../components/breadcrumb/breadcrumb.component";
-import {NavBarComponent} from "../../layouts/admin-layout/nav-bar/nav-bar.component";
-import {NavigationComponent} from "../../layouts/admin-layout/navigation/navigation.component";
-import {Router, RouterLink, RouterOutlet} from "@angular/router";
-import {DOCUMENT, NgClass, NgStyle} from '@angular/common';
-import {MatDrawerContainer, MatSidenavModule} from '@angular/material/sidenav';
-import {MatButton} from '@angular/material/button';
+import {Router, RouterOutlet} from "@angular/router";
+import {DOCUMENT} from '@angular/common';
import { ScrollPanelModule } from 'primeng/scrollpanel';
import {MenuItem} from 'primeng/api';
-import {PanelMenu} from 'primeng/panelmenu';
import {SideBarAdminComponent} from '../side-bar-admin.component/side-bar-admin.component';
@Component({
selector: 'app-admin.component',
imports: [
- BreadcrumbComponent,
- NavBarComponent,
- NavigationComponent,
RouterOutlet,
- NgClass,
- MatDrawerContainer,
- MatSidenavModule,
ScrollPanelModule,
- MatButton,
- RouterLink,
- PanelMenu,
- NgStyle,
- SideBarAdminComponent,
-
+ SideBarAdminComponent
],
schemas:[CUSTOM_ELEMENTS_SCHEMA],
templateUrl: './admin.component.html',
@@ -38,11 +21,9 @@ export class AdminComponent implements OnInit {
items: MenuItem[] | undefined;
-
constructor(private router: Router) {
this.height = 0
-
}
// public props
diff --git a/jambotron-ui/src/app/admin-module/system.component/system.component.ts b/jambotron-ui/src/app/admin-module/system.component/system.component.ts
index 115c92d..2f07b2c 100644
--- a/jambotron-ui/src/app/admin-module/system.component/system.component.ts
+++ b/jambotron-ui/src/app/admin-module/system.component/system.component.ts
@@ -1,5 +1,5 @@
import {Component, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
-import {MatCard, MatCardContent, MatCardHeader} from '@angular/material/card';
+import {MatCard, MatCardContent} from '@angular/material/card';
import {MatDivider} from '@angular/material/divider';
import {MatTab, MatTabGroup} from '@angular/material/tabs';
import {
@@ -22,7 +22,6 @@ import {MatIcon} from '@angular/material/icon';
selector: 'app-system.component',
imports: [
MatCard,
- MatCardHeader,
MatCardContent,
MatDivider,
MatTabGroup,
diff --git a/jambotron-ui/src/app/admin-module/users.component/users.component.ts b/jambotron-ui/src/app/admin-module/users.component/users.component.ts
index 5c45ed2..1a72747 100644
--- a/jambotron-ui/src/app/admin-module/users.component/users.component.ts
+++ b/jambotron-ui/src/app/admin-module/users.component/users.component.ts
@@ -1,4 +1,4 @@
-import {ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, model} from '@angular/core';
+import {Component, CUSTOM_ELEMENTS_SCHEMA, model} from '@angular/core';
import {UserService} from '../../services/user.service';
import {RolesService} from '../../services/roles.service';
import {Role} from '../../models/role';
@@ -56,9 +56,6 @@ import {AdminModuleService} from '../admin-module.service';
MatAutocomplete,
MatOption,
MatFormField,
- MatSelect,
- MatSelectTrigger,
- MatChip,
MatChipsModule
],
templateUrl: './users.component.html',
diff --git a/jambotron-ui/src/app/app.routes.ts b/jambotron-ui/src/app/app.routes.ts
index 8e98b95..e93be04 100644
--- a/jambotron-ui/src/app/app.routes.ts
+++ b/jambotron-ui/src/app/app.routes.ts
@@ -1,6 +1,4 @@
import {RouterModule, Routes} from '@angular/router';
-import {AdminComponent} from './layouts/admin-layout/admin-layout.component';
-import {MainComponent} from './main-module/main.component/main.component';
import {NgModule} from '@angular/core';
export const routes: Routes = [
@@ -14,7 +12,6 @@ export const routes: Routes = [
loadChildren: () =>
import('./main-module/main.module').then((m) => m.MainModule),
}
-
];
@NgModule({
imports: [RouterModule.forRoot(routes, { useHash: true}) ],
diff --git a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.html b/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.html
deleted file mode 100644
index 2942a01..0000000
--- a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.html
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Add tutorial
-
-
-
- Title
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tutorial was submitted successfully!
-
-
-
-
diff --git a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.scss b/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.scss
deleted file mode 100644
index 2c829bf..0000000
--- a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-.submit-form {
- max-width: 400px;
- margin: auto;
-}
-
-mat-card{
- margin: 20px;
-}
-mat-card-title{
- color: cyan;
-}
-
-.example-form {
- min-width: 150px;
- max-width: 500px;
- width: 100%;
-}
-
-.example-full-width {
- width: 100%;
-}
-
-
-.variable-binding,
-.variable-textarea {
- width: 49%;
-}
-
-.variable-textarea {
- border-radius: 5px;
- box-shadow: 0 1px 2px rgba(0,0,0,.07);
- min-height: 420px;
- padding: 8px;
- transition: all 300ms ease-out;
-}
-
-.variable-textarea:hover {
- box-shadow: 0 6px 12px 3px rgba(0,0,0,.09),
- 0 2px 3px 1px rgba(0,0,0,.06);
-}
-
-.variable-binding {
- display: block;
- float: right;
-}
-
-.preview {
-/* display: block;
- float: right;*/
-}
-
-
diff --git a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.spec.ts b/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.spec.ts
deleted file mode 100644
index b6a07c8..0000000
--- a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { AddTutorialComponent } from './add-tutorial.component';
-
-describe('AddTutorialComponent', () => {
- let component: AddTutorialComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ AddTutorialComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(AddTutorialComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.ts b/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.ts
deleted file mode 100644
index be8a111..0000000
--- a/jambotron-ui/src/app/components/add-tutorial/add-tutorial.component.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import {Component, CUSTOM_ELEMENTS_SCHEMA, OnInit} from '@angular/core';
-import {Tutorial} from '../../models/tutorial.model';
-import {TutorialService} from '../../services/tutorial.service';
-import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from '@angular/material/card';
-import {FormsModule} from '@angular/forms';
-import {MatButton} from '@angular/material/button';
-import {MatFormField, MatInput, MatLabel} from '@angular/material/input';
-import {NgIf} from '@angular/common';
-import {MatTab, MatTabGroup} from '@angular/material/tabs';
-import {MarkdownComponent} from 'ngx-markdown';
-
-@Component({
- selector: 'app-add-tutorial',
- templateUrl: './add-tutorial.component.html',
- styleUrls: ['./add-tutorial.component.scss'],
- imports: [
- MatCardActions,
- FormsModule,
- MatCard,
- MatCardHeader,
- MatCardContent,
- MatFormField,
- MatLabel,
-
- MatButton,
- MatInput,
- NgIf,
- MatLabel,
- MatTabGroup,
- MatTab,
- MarkdownComponent,
-
- ],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
-})
-export class AddTutorialComponent implements OnInit {
-
- tutorial: Tutorial = {
- title: '',
- description: '',
- published: false
- };
- submitted = false
-
- markdown = `## Markdown __rulez__!
----
-
-### Syntax highlight
-\`\`\`typescript
-const language = 'typescript';
-\`\`\`
-
-### Lists
-1. Ordered list
-2. Another bullet point
- - Unordered list
- - Another unordered bullet
-
-### Blockquote
-> Blockquote to the max`;
-
-
-
- constructor(private tutorialService: TutorialService) {
- this.tutorial.description = this.markdown;
- }
-
- ngOnInit(): void {
- }
-
- saveTutorial(): void {
- const data = {
- title: this.tutorial.title,
- description: this.tutorial.description
- };
-
-/* this.tutorialService.create(data)
- .subscribe(
- response => {
- console.log(response);
- this.submitted = true;
- },
- error => {
- console.log(error);
- });*/
- }
-
- newTutorial(): void {
- this.submitted = false;
- this.tutorial = {
- title: '',
- description: '',
- published: false
- };
- }
-}
diff --git a/jambotron-ui/src/app/components/article-comments/article-comments.html b/jambotron-ui/src/app/components/article-comments/article-comments.html
deleted file mode 100644
index dfba77e..0000000
--- a/jambotron-ui/src/app/components/article-comments/article-comments.html
+++ /dev/null
@@ -1,10 +0,0 @@
-Comments
-
-
-
diff --git a/jambotron-ui/src/app/components/article-comments/article-comments.scss b/jambotron-ui/src/app/components/article-comments/article-comments.scss
deleted file mode 100644
index efc2191..0000000
--- a/jambotron-ui/src/app/components/article-comments/article-comments.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-.comment {
- padding: 15px;
- margin-left: 30px;
- background-color: paleturquoise;
- border-radius: 20px;
-}
diff --git a/jambotron-ui/src/app/components/article-comments/article-comments.spec.ts b/jambotron-ui/src/app/components/article-comments/article-comments.spec.ts
deleted file mode 100644
index 35dbfc8..0000000
--- a/jambotron-ui/src/app/components/article-comments/article-comments.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { ArticleComments } from './article-comments';
-
-describe('ArticleComments', () => {
- let component: ArticleComments;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [ArticleComments]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(ArticleComments);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/article-comments/article-comments.ts b/jambotron-ui/src/app/components/article-comments/article-comments.ts
deleted file mode 100644
index 958bf9e..0000000
--- a/jambotron-ui/src/app/components/article-comments/article-comments.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-article-comments',
- imports: [],
- templateUrl: './article-comments.html',
- styleUrl: './article-comments.scss'
-})
-export class ArticleComments {
-
-}
diff --git a/jambotron-ui/src/app/components/board-admin/board-admin.component.html b/jambotron-ui/src/app/components/board-admin/board-admin.component.html
deleted file mode 100644
index c986337..0000000
--- a/jambotron-ui/src/app/components/board-admin/board-admin.component.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
Users List
-
- -
- {{ row.username }}
-
- {{ row.email}}
- {{ row.password}}
-
-
-
-
-
-
-
-
diff --git a/jambotron-ui/src/app/components/board-admin/board-admin.component.scss b/jambotron-ui/src/app/components/board-admin/board-admin.component.scss
deleted file mode 100644
index fecda9c..0000000
--- a/jambotron-ui/src/app/components/board-admin/board-admin.component.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-.example-chip-list {
- width: 100%;
-}
diff --git a/jambotron-ui/src/app/components/board-admin/board-admin.component.spec.ts b/jambotron-ui/src/app/components/board-admin/board-admin.component.spec.ts
deleted file mode 100644
index ebd5d54..0000000
--- a/jambotron-ui/src/app/components/board-admin/board-admin.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { BoardAdminComponent } from './board-admin.component';
-
-describe('BoardAdminComponent', () => {
- let component: BoardAdminComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ BoardAdminComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(BoardAdminComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/board-admin/board-admin.component.ts b/jambotron-ui/src/app/components/board-admin/board-admin.component.ts
deleted file mode 100644
index b2471d6..0000000
--- a/jambotron-ui/src/app/components/board-admin/board-admin.component.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import {Component, computed, CUSTOM_ELEMENTS_SCHEMA, model, OnInit} from '@angular/core';
-
-import {User} from "../../models/user.model";
-import {MatChipGrid, MatChipInput, MatChipInputEvent, MatChipRow} from "@angular/material/chips";
-import {
- MatAutocomplete,
- MatAutocompleteSelectedEvent,
- MatAutocompleteTrigger,
- MatOption
-} from "@angular/material/autocomplete";
-import {COMMA, ENTER} from "@angular/cdk/keycodes";
-import {AsyncPipe, NgForOf} from "@angular/common";
-import {FormControl, ReactiveFormsModule} from "@angular/forms";
-import {Observable, startWith} from "rxjs";
-import {map} from "rxjs/operators";
-import {UserService} from '../../services/user.service';
-import {RolesService} from '../../services/roles.service';
-import {Role} from '../../models/role';
-import {MatIcon} from '@angular/material/icon';
-import {MatFormField} from '@angular/material/form-field';
-
-
-
-@Component({
- selector: 'app-board-admin',
- templateUrl: './board-admin.component.html',
- styleUrls: ['./board-admin.component.scss'],
-
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- imports: [
- MatAutocomplete,
- ReactiveFormsModule,
- MatOption,
- NgForOf,
- MatFormField,
- MatChipGrid,
-
- MatChipRow,
- MatIcon,
- MatChipInput,
- MatAutocompleteTrigger
- ]
-})
-export class BoardAdminComponent implements OnInit {
- private gridApi: any;
-
- readonly separatorKeysCodes: number[] = [ENTER, COMMA];
- rowData?: User[];
- allRoles: any;
-
- readonly currentRole = model('');
-
- protected myControl = new FormControl('');
- protected ac = new FormControl('');
-
-
- constructor(private userService: UserService, private roleService: RolesService ) {
- this.getAllRoles();
- }
-
- ngOnInit(): void {
-
- //this.myControl.valueChanges.pipe(
- // startWith(''),
- // map(value => this._filter(value || '')),
- //);
-
- this.userService.getAdminBoard().subscribe(
- (data : any) => {
- this.rowData = data;
- },
- (err : any)=> {
- this.rowData = JSON.parse(err.error).message;
- }
-
- );
- }
-
- filteredRoles(roles : Role[]):any {
- return this.allRoles.filter(
- (r:Role) => !roles.some((item) => item.id === r.id),
- );
- }
-
- // private _filter(value: string): string[] {
- // const filterValue = value.toLowerCase();
- // this.ac.
- // return this.options.filter(option => option.toLowerCase().includes(filterValue));
- //}
-
- getAllRoles():any{
- this.roleService.getAllRoles().subscribe(
- (data : any) => {
- this.allRoles = data;
- },
- (err : any)=> {
- this.allRoles = JSON.parse(err.error).message;
- }
- );
- }
-
- remove(role: string): void {
- // this.fruits.update(fruits => {
- // const index = fruits.indexOf(fruit);
- // if (index < 0) {
- // return fruits;
- // }
-
- // fruits.splice(index, 1);
- // this.announcer.announce(`Removed ${fruit}`);
- // return [...fruits];
-
- }
-
-
-
- add(event: MatChipInputEvent): void {
- const value = (event.value || '').trim();
-
- // Add our fruit
- if (value) {
- // this.fruits.update(fruits => [...fruits, value]);
- }
-
- // Clear the input value
- this.currentRole.set('');
- }
-
- selected(roles : Role[], event: MatAutocompleteSelectedEvent): void {
-
- roles.push(event.option.value);
- this.currentRole.set('');
- event.option.deselect();
- }
-
-
- change($event: Event, roles: Role[]) {
-
- roles.filter(
- (r:Role) => !roles.some((item) => item.name?.toLowerCase() === r.id),
- )
- }
-}
diff --git a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.html b/jambotron-ui/src/app/components/board-moderator/board-moderator.component.html
deleted file mode 100644
index 16287a2..0000000
--- a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.html
+++ /dev/null
@@ -1 +0,0 @@
-board-moderator works!
diff --git a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.scss b/jambotron-ui/src/app/components/board-moderator/board-moderator.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.spec.ts b/jambotron-ui/src/app/components/board-moderator/board-moderator.component.spec.ts
deleted file mode 100644
index dff7faa..0000000
--- a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { BoardModeratorComponent } from './board-moderator.component';
-
-describe('BoardModeratorComponent', () => {
- let component: BoardModeratorComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ BoardModeratorComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(BoardModeratorComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.ts b/jambotron-ui/src/app/components/board-moderator/board-moderator.component.ts
deleted file mode 100644
index daad28f..0000000
--- a/jambotron-ui/src/app/components/board-moderator/board-moderator.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-board-moderator',
- templateUrl: './board-moderator.component.html',
- styleUrls: ['./board-moderator.component.scss'],
- standalone: false
-})
-export class BoardModeratorComponent implements OnInit {
-
- constructor() { }
-
- ngOnInit(): void {
- }
-
-}
diff --git a/jambotron-ui/src/app/components/board-user/board-user.component.html b/jambotron-ui/src/app/components/board-user/board-user.component.html
deleted file mode 100644
index 76c5fa7..0000000
--- a/jambotron-ui/src/app/components/board-user/board-user.component.html
+++ /dev/null
@@ -1 +0,0 @@
-board-user works!
diff --git a/jambotron-ui/src/app/components/board-user/board-user.component.scss b/jambotron-ui/src/app/components/board-user/board-user.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/components/board-user/board-user.component.spec.ts b/jambotron-ui/src/app/components/board-user/board-user.component.spec.ts
deleted file mode 100644
index 23555bb..0000000
--- a/jambotron-ui/src/app/components/board-user/board-user.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { BoardUserComponent } from './board-user.component';
-
-describe('BoardUserComponent', () => {
- let component: BoardUserComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ BoardUserComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(BoardUserComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/board-user/board-user.component.ts b/jambotron-ui/src/app/components/board-user/board-user.component.ts
deleted file mode 100644
index 487eddf..0000000
--- a/jambotron-ui/src/app/components/board-user/board-user.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-board-user',
- templateUrl: './board-user.component.html',
- styleUrls: ['./board-user.component.scss'],
- standalone: false
-})
-export class BoardUserComponent implements OnInit {
-
- constructor() { }
-
- ngOnInit(): void {
- }
-
-}
diff --git a/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.html b/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.html
deleted file mode 100644
index 77f0cb0..0000000
--- a/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.html
+++ /dev/null
@@ -1,43 +0,0 @@
-@for (breadcrumb of navigationList; track breadcrumb; let last = $last) {
- @if (last && breadcrumb.breadcrumbs !== false) {
-
- }
-}
diff --git a/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.scss b/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.ts b/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.ts
deleted file mode 100644
index d119640..0000000
--- a/jambotron-ui/src/app/components/breadcrumb/breadcrumb.component.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-// Angular Import
-import { Component, Input, inject, input } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { NavigationEnd, Router, RouterModule, Event } from '@angular/router';
-import { Title } from '@angular/platform-browser';
-
-// project import
-//import { NavigationItem, NavigationItems } from 'src/app/theme/layouts/admin-layout/navigation/navigation';
-
-// icons
-import { IconService } from '@ant-design/icons-angular';
-import { GlobalOutline, NodeExpandOutline } from '@ant-design/icons-angular/icons';
-import {NavigationItem, NavigationItems} from '../../layouts/admin-layout/navigation/navigation';
-
-interface titleType {
- // eslint-disable-next-line
- url: any;
- title: string;
- breadcrumbs: unknown;
- type: string;
- link?: string | undefined;
- description?: string | undefined;
- path?: string | undefined;
-}
-
-@Component({
- selector: 'app-breadcrumb',
- imports: [CommonModule, RouterModule],
- templateUrl: './breadcrumb.component.html',
- styleUrls: ['./breadcrumb.component.scss']
-})
-export class BreadcrumbComponent {
- private route = inject(Router);
- private titleService = inject(Title);
- private iconService = inject(IconService);
-
- // public props
- @Input() type: string;
- dashboard = input(true);
- Component = input(false);
-
- navigations: NavigationItem[];
- ComponentNavigations: NavigationItem[] = [];
- breadcrumbList: Array = [];
- navigationList!: titleType[];
- componentList!: titleType[];
-
- // constructor
- constructor() {
- this.navigations = NavigationItems;
- this.type = 'theme1';
- this.setBreadcrumb();
- this.iconService.addIcon(...[GlobalOutline, NodeExpandOutline]);
- }
-
- // public method
- setBreadcrumb() {
- this.route.events.subscribe((router: Event) => {
- if (router instanceof NavigationEnd) {
- const activeLink = router.url;
- const breadcrumbList = this.filterNavigation(this.navigations, activeLink);
-
- this.navigationList = breadcrumbList;//breadcrumbList.slice(breadcrumbList.length - 1, breadcrumbList.length);
- const title = breadcrumbList[breadcrumbList.length - 1]?.title || 'Welcome';
- this.titleService.setTitle(title );
- }
- });
- }
-
- filterNavigation(navItems: NavigationItem[], activeLink: string): titleType[] {
- for (const navItem of navItems) {
- if (navItem.type === 'item' && 'url' in navItem && navItem.url === activeLink) {
- return [
- {
- url: 'url' in navItem ? navItem.url : false,
- title: navItem.title,
- link: navItem.link,
- description: navItem.description,
- path: navItem.path,
- breadcrumbs: 'breadcrumbs' in navItem ? navItem.breadcrumbs : true,
- type: navItem.type
- }
- ];
- }
- if ((navItem.type === 'group' || navItem.type === 'collapse') && 'children' in navItem) {
- const breadcrumbList = this.filterNavigation(navItem.children!, activeLink);
- if (breadcrumbList.length > 0) {
- breadcrumbList.unshift({
- url: 'url' in navItem ? navItem.url : false,
- title: navItem.title,
- link: navItem.link,
- path: navItem.path,
- description: navItem.description,
- breadcrumbs: 'breadcrumbs' in navItem ? navItem.breadcrumbs : true,
- type: navItem.type
- });
- return breadcrumbList;
- }
- }
- }
- return [];
- }
-}
diff --git a/jambotron-ui/src/app/components/card/card.component.html b/jambotron-ui/src/app/components/card/card.component.html
deleted file mode 100644
index 2716fa8..0000000
--- a/jambotron-ui/src/app/components/card/card.component.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
- @if (showHeader()) {
-
- }
- @if (showContent()) {
-
-
-
- }
-
diff --git a/jambotron-ui/src/app/components/card/card.component.scss b/jambotron-ui/src/app/components/card/card.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/components/card/card.component.ts b/jambotron-ui/src/app/components/card/card.component.ts
deleted file mode 100644
index 85f8cd3..0000000
--- a/jambotron-ui/src/app/components/card/card.component.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-// Angular import
-import { Component, ContentChild, ElementRef, TemplateRef, input } from '@angular/core';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'app-card',
- standalone: true,
- imports: [CommonModule],
- templateUrl: './card.component.html',
- styleUrls: ['./card.component.scss']
-})
-export class CardComponent {
- // public props
- /**
- * Title of card. It will be visible at left side of card header
- */
- cardTitle = input();
-
- /**
- * Class to be applied at card level
- */
- cardClass = input();
-
- /**
- * To hide content from card
- */
- showContent = input(true);
-
- /**
- * Class to be applied at card content.
- */
- blockClass = input();
-
- /**
- * Class to be applied on card header
- */
- headerClass = input();
-
- /**
- * To hide header from card
- */
- showHeader = input(true);
-
- /**
- * padding around card content. default in px
- */
- padding = input(20); // set default to 24 px
-
- /**
- * Template reference of header actions on custom header
- */
- @ContentChild('headerOptionsTemplate') headerOptionsTemplate!: TemplateRef;
-
- /**
- * Template reference of header actions besides title at left
- */
- @ContentChild('headerTitleTemplate') headerTitleTemplate!: TemplateRef;
-}
diff --git a/jambotron-ui/src/app/components/generate-image.component/generate-image.component.ts b/jambotron-ui/src/app/components/generate-image.component/generate-image.component.ts
index 53e58dc..38a5c5b 100644
--- a/jambotron-ui/src/app/components/generate-image.component/generate-image.component.ts
+++ b/jambotron-ui/src/app/components/generate-image.component/generate-image.component.ts
@@ -1,9 +1,9 @@
-import {Component, CUSTOM_ELEMENTS_SCHEMA, Input, OnInit, Renderer2} from '@angular/core';
+import {Component, CUSTOM_ELEMENTS_SCHEMA, OnInit, Renderer2} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {MatButton} from '@angular/material/button';
import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from '@angular/material/card';
import {MatFormField, MatInput, MatLabel} from '@angular/material/input';
-import {AsyncPipe, NgIf, NgOptimizedImage} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {Image} from '../../models/image';
import {ZhipuaiImageService} from '../../services/zhipuai-image.service';
import {MatProgressSpinner} from '@angular/material/progress-spinner';
@@ -25,9 +25,7 @@ import Viewer from 'viewerjs';
MatInput,
MatLabel,
MatProgressSpinner,
- AsyncPipe,
-
-
+ AsyncPipe
],
templateUrl: './generate-image.component.html',
styleUrl: './generate-image.component.scss',
diff --git a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.html b/jambotron-ui/src/app/components/side-bar.component/side-bar.component.html
deleted file mode 100644
index 00d2c21..0000000
--- a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.html
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
diff --git a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.scss b/jambotron-ui/src/app/components/side-bar.component/side-bar.component.scss
deleted file mode 100644
index 52e31bf..0000000
--- a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-.entry{
- display: flex;
- align-items: center;
- gap: 1rem;
- padding:0.75rem;
-}
-
-
-
-.example-action-buttons {
- padding-bottom: 20px;
-}
-
-.example-headers-align .mat-expansion-panel-header-description {
- justify-content: space-between;
- align-items: center;
-}
-
-.example-headers-align .mat-mdc-form-field + .mat-mdc-form-field {
- margin-left: 8px;
-}
diff --git a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.spec.ts b/jambotron-ui/src/app/components/side-bar.component/side-bar.component.spec.ts
deleted file mode 100644
index b2bc9bf..0000000
--- a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { SideBarComponent } from './side-bar.component';
-
-describe('SideBarComponent', () => {
- let component: SideBarComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [SideBarComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(SideBarComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.ts b/jambotron-ui/src/app/components/side-bar.component/side-bar.component.ts
deleted file mode 100644
index ec8cf0b..0000000
--- a/jambotron-ui/src/app/components/side-bar.component/side-bar.component.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import {ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, viewChild} from '@angular/core';
-import {MatTree, MatTreeNode} from '@angular/material/tree';
-import {MatFormField, MatInput, MatLabel} from '@angular/material/input';
-import {MatDivider, MatListItem, MatNavList} from '@angular/material/list';
-import {MatIcon} from '@angular/material/icon';
-import {RouterLink} from '@angular/router';
-import {
- MatAccordion, MatExpansionModule,
- MatExpansionPanel,
- MatExpansionPanelDescription,
- MatExpansionPanelTitle
-} from '@angular/material/expansion';
-import {MatDatepicker, MatDatepickerInput} from '@angular/material/datepicker';
-import {provideNativeDateAdapter} from '@angular/material/core';
-import {MatButton} from '@angular/material/button';
-
-@Component({
- selector: 'app-side-bar',
- imports: [
- MatTree,
- MatTreeNode,
- MatLabel,
- MatNavList,
- MatListItem,
- MatIcon,
- RouterLink,
- MatExpansionPanel,
- MatExpansionPanelTitle,
- MatExpansionPanelDescription,
- MatFormField,
- MatInput,
- MatDatepickerInput,
- MatDatepicker,
- MatDivider,
- MatAccordion,
- MatButton,
- MatExpansionModule
- ],
- templateUrl: './side-bar.component.html',
- styleUrl: './side-bar.component.scss',
- schemas:[CUSTOM_ELEMENTS_SCHEMA],
- changeDetection: ChangeDetectionStrategy.OnPush,
- providers: [provideNativeDateAdapter()],
-})
-
-
-
-export class SideBarComponent {
- isCollapsed = false;
-
- accordion = viewChild.required(MatAccordion);
-}
-
-const TREE_DATA: TreeNode[] = [
- {
- name: 'Fruit',
- children: [{name: 'Apple'}, {name: 'Banana'}, {name: 'Fruit loops'}],
- },
- {
- name: 'Vegetables',
- children: [
- {
- name: 'Green',
- children: [{name: 'Broccoli'}, {name: 'Brussels sprouts'}],
- },
- {
- name: 'Orange',
- children: [{name: 'Pumpkins'}, {name: 'Carrots'}],
- },
- ],
- },
-];
-
-interface TreeNode {
- name: string;
- children?: TreeNode[];
-}
-
-
diff --git a/jambotron-ui/src/app/components/system.component/system.component.html b/jambotron-ui/src/app/components/system.component/system.component.html
deleted file mode 100644
index e42981e..0000000
--- a/jambotron-ui/src/app/components/system.component/system.component.html
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
- System
-
-
-
-
-
- Content 1
-
- @for (column of displayedColumns; track column) {
-
- | {{column}} |
- {{element[column]}} |
-
- }
-
- |
-
-
- |
-
-
-
-
-
-
-
-
-
- Name: {{element.name}}
- Type: {{element.type}}
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
- Content 2
-
- @for (column of displayedColumns; track column) {
-
- | {{column}} |
- {{element[column]}} |
-
- }
-
- |
-
-
- |
-
-
-
-
-
-
-
-
-
- Name: {{element.name}}
- Type: {{element.type}}
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jambotron-ui/src/app/components/system.component/system.component.scss b/jambotron-ui/src/app/components/system.component/system.component.scss
deleted file mode 100644
index b4c141e..0000000
--- a/jambotron-ui/src/app/components/system.component/system.component.scss
+++ /dev/null
@@ -1,113 +0,0 @@
-mat-card{
- margin: 20px;
- background-color: rgba(240, 248, 255, 0.7);
- backdrop-filter: blur(8px);
-}
-
-mat-card-title{
- color: cyan;
-}
-
-mat-card-subtitle{
- color: #009dff;
-}
-
-mat-tab{
- color:black;
-}
-
-
-table {
- width: 100%;
- margin-top: 20px;
- color:lightgrey;
-}
-
-
-mat-list{
- //background-color: #1389d3;
- color:black;
- width: 100%;
-}
-
-mat-list-item{
- margin: 10px 10px 10px 10px;
- background-color: #447694;
-
- color: #009dff;
-}
-
-tr.example-detail-row {
- height: 0;
- background: #fffdfd;
-}
-
-tr.example-element-row {
- cursor: pointer;
- color: #1389d3;
- background: #fffdfd;
-}
-
-tr.example-element-row:not(.example-expanded-row):hover {
- background: whitesmoke;
-}
-
-tr.example-element-row:not(.example-expanded-row):active {
- background: #efefef;
-}
-
-.example-element-row td {
- border-bottom-width: 0;
-}
-
-.example-element-detail-wrapper {
- overflow: hidden;
- display: grid;
- grid-template-rows: 0fr;
- grid-template-columns: 100%;
- transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.example-element-detail-wrapper-expanded {
- grid-template-rows: 1fr;
-
-}
-
-.example-element-detail {
- display: flex;
- min-height: 0;
-}
-
-.example-element-diagram {
- min-width: 80px;
- border: 2px solid black;
- padding: 8px;
- font-weight: lighter;
- margin: 8px 0;
- height: 104px;
-}
-
-.example-element-symbol {
- font-weight: bold;
- font-size: 40px;
- line-height: normal;
-}
-
-.example-element-description {
- padding: 16px;
-}
-
-.example-element-description-attribution {
- opacity: 0.5;
-}
-
-.example-toggle-button {
- transition: transform 225ms cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.example-toggle-button-expanded {
- transform: rotate(180deg);
-}
-
-
-
diff --git a/jambotron-ui/src/app/components/system.component/system.component.spec.ts b/jambotron-ui/src/app/components/system.component/system.component.spec.ts
deleted file mode 100644
index bae84c7..0000000
--- a/jambotron-ui/src/app/components/system.component/system.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { SystemComponent } from './system.component';
-
-describe('SystemComponent', () => {
- let component: SystemComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [SystemComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(SystemComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/system.component/system.component.ts b/jambotron-ui/src/app/components/system.component/system.component.ts
deleted file mode 100644
index f5f4699..0000000
--- a/jambotron-ui/src/app/components/system.component/system.component.ts
+++ /dev/null
@@ -1,148 +0,0 @@
-import { Component } from '@angular/core';
-import {Bean} from '../../models/Bean';
-import {SystemService} from '../../services/system.service';
-import {
- MatCard,
- MatCardContent,
- MatCardHeader,
- MatCardSubtitle,
- MatCardTitle,
- MatCardTitleGroup
-} from '@angular/material/card';
-import {MatDivider} from '@angular/material/divider';
-import {
- MatCell,
- MatCellDef,
- MatColumnDef,
- MatHeaderCell,
- MatHeaderCellDef, MatHeaderRow,
- MatHeaderRowDef, MatRow, MatRowDef,
- MatTable
-} from '@angular/material/table';
-import {MatIconButton} from '@angular/material/button';
-import {MatIcon} from '@angular/material/icon';
-import {MatList, MatListItem} from '@angular/material/list';
-import {MatTab, MatTabGroup} from '@angular/material/tabs';
-
-@Component({
- selector: 'app-system.component',
- imports: [
- MatCard,
- MatCardSubtitle,
- MatCardContent,
- MatCardHeader,
- MatCardTitle,
- MatDivider,
- MatTable,
- MatColumnDef,
- MatHeaderCell,
- MatCell,
- MatIconButton,
- MatIcon,
- MatHeaderCellDef,
- MatCellDef,
- MatHeaderRowDef,
- MatRowDef,
- MatRow,
- MatHeaderRow,
- MatList,
- MatListItem,
- MatTabGroup,
- MatTab
- ],
- templateUrl: './system.component.html',
- styleUrl: './system.component.scss'
-})
-export class SystemComponent {
-
- // @ViewChild(MatPaginator) paginator: MatPaginator;
- // @ViewChild(MatSort) sort: MatSort;
-
- customBeans:Bean[] = [] ;
- allBeans:Bean[] = [] ;
- displayedColumns: string[] = ['shortName', 'typeShortName', 'scope'];
-
- columnsToDisplayWithExpand = [...this.displayedColumns, 'expand'];
-
- expandedElement: Bean | null = null;
-
- resultsLength = 0;
- isLoadingResults = true;
- isRateLimitReached = false;
-
- constructor(private systemService: SystemService) { }
-
- ngOnInit(): void {
- this.retrieveBeans();
- }
-
- retrieveBeans(): void {
- this.systemService.getCustomBeans()
- .subscribe(
- (data: Bean[]) => {
- this.customBeans = data;
- console.log(data);
- },
- (error: any) => {
- console.log(error);
- });
- this.systemService.getAllBeans()
- .subscribe(
- (data: Bean[]) => {
- this.allBeans = data;
- console.log(data);
- },
- (error: any) => {
- console.log(error);
- });
- }
-
- /** Checks whether an element is expanded. */
- isExpanded(element: Bean) {
- return this.expandedElement === element;
- }
-
- /** Toggles the expanded state of an element. */
- toggle(element: Bean) {
- this.expandedElement = this.isExpanded(element) ? null : element;
- }
-
-
-
- ngAfterViewInit() {
- //this.exampleDatabase = new ExampleHttpDatabase(this._httpClient);
-
- // If the user changes the sort order, reset back to the first page.
- /* this.sort.sortChange.subscribe(() => (this.paginator.pageIndex = 0));
-
- merge(this.sort.sortChange, this.paginator.page)
- .pipe(
- startWith({}),
- switchMap(() => {
- this.isLoadingResults = true;
- return this.exampleDatabase!.getRepoIssues(
- this.sort.active,
- this.sort.direction,
- this.paginator.pageIndex,
- ).pipe(catchError(() => observableOf(null)));
- }),
- map(data => {
- // Flip flag to show that loading has finished.
- this.isLoadingResults = false;
- this.isRateLimitReached = data === null;
-
- if (data === null) {
- return [];
- }
-
- // Only refresh the result length if there is new data. In case of rate
- // limit errors, we do not want to reset the paginator to zero, as that
- // would prevent users from re-triggering requests.
- this.resultsLength = data.total_count;
- return data.items;
- }),
- )
- .subscribe(data => (this.data = data));*/
- }
-
-}
diff --git a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.html b/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.html
deleted file mode 100644
index ef9cf6b..0000000
--- a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
Cannot access this Tutorial...
-
-
\ No newline at end of file
diff --git a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.scss b/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.scss
deleted file mode 100644
index 0f56416..0000000
--- a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-.edit-form {
- max-width: 400px;
- margin: auto;
-}
\ No newline at end of file
diff --git a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.spec.ts b/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.spec.ts
deleted file mode 100644
index 7bc4afd..0000000
--- a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { TutorialDetailsComponent } from './tutorial-details.component';
-
-describe('TutorialDetailsComponent', () => {
- let component: TutorialDetailsComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ TutorialDetailsComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(TutorialDetailsComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.ts b/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.ts
deleted file mode 100644
index 3991df1..0000000
--- a/jambotron-ui/src/app/components/tutorial-details/tutorial-details.component.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-import { ActivatedRoute, Router } from '@angular/router';
-import {Tutorial} from '../../models/tutorial.model';
-import {TutorialService} from '../../services/tutorial.service';
-import {FormsModule} from '@angular/forms';
-import {NgIf} from '@angular/common';
-
-
-@Component({
- selector: 'app-tutorial-details',
- templateUrl: './tutorial-details.component.html',
- imports: [
- FormsModule,
- NgIf
- ],
- styleUrls: ['./tutorial-details.component.scss']
-})
-export class TutorialDetailsComponent implements OnInit {
-
- currentTutorial: Tutorial = {
- title: '',
- description: '',
- published: false
- };
- message = '';
-
- constructor(
- private tutorialService: TutorialService,
- private route: ActivatedRoute,
- private router: Router) { }
-
- ngOnInit(): void {
- this.message = '';
- this.getTutorial(this.route.snapshot.params['id']);
- }
-
- getTutorial(id: string): void {
-/* this.tutorialService.get(id)
- .subscribe(
- data => {
- this.currentTutorial = data;
- console.log(data);
- },
- error => {
- console.log(error);
- });*/
- }
-
- updatePublished(status: boolean): void {
- const data = {
- title: this.currentTutorial.title,
- description: this.currentTutorial.description,
- published: status
- };
-
- this.message = '';
-
-/* this.tutorialService.update(this.currentTutorial.id, data)
- .subscribe(
- response => {
- this.currentTutorial.published = status;
- console.log(response);
- this.message = response.message ? response.message : 'The status was updated successfully!';
- },
- error => {
- console.log(error);
- });*/
- }
-
- updateTutorial(): void {
- /* this.message = '';
-
- this.tutorialService.update(this.currentTutorial.id, this.currentTutorial)
- .subscribe(
- response => {
- console.log(response);
- this.message = response.message ? response.message : 'This tutorial was updated successfully!';
- },
- error => {
- console.log(error);
- });*/
- }
-
- deleteTutorial(): void {
- /* this.tutorialService.delete(this.currentTutorial.id)
- .subscribe(
- response => {
- console.log(response);
- this.router.navigate(['/tutorials']);
- },
- error => {
- console.log(error);
- });*/
- }
-}
diff --git a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.html b/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.html
deleted file mode 100644
index a83a76a..0000000
--- a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.html
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
Tutorials List
-
- -
- {{ tutorial.title }}
-
-
-
-
-
-
-
-
Tutorial
-
- {{ currentTutorial.title }}
-
-
-
- {{ currentTutorial.description }}
-
-
-
- {{ currentTutorial.published ? "Published" : "Pending" }}
-
-
-
- Edit
-
-
-
-
-
-
Please click on a Tutorial...
-
-
-
\ No newline at end of file
diff --git a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.scss b/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.scss
deleted file mode 100644
index 9dc0d33..0000000
--- a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-.list {
- text-align: left;
- max-width: 750px;
- margin: auto;
-}
-
diff --git a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.spec.ts b/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.spec.ts
deleted file mode 100644
index a757a41..0000000
--- a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { TutorialsListComponent } from './tutorials-list.component';
-
-describe('TutorialsListComponent', () => {
- let component: TutorialsListComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ TutorialsListComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(TutorialsListComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.ts b/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.ts
deleted file mode 100644
index 0442b48..0000000
--- a/jambotron-ui/src/app/components/tutorials-list/tutorials-list.component.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-
-import {Tutorial} from '../../models/tutorial.model';
-import {TutorialService} from '../../services/tutorial.service';
-import {FormsModule} from '@angular/forms';
-import {RouterLink} from '@angular/router';
-import {NgIf} from '@angular/common';
-
-@Component({
- selector: 'app-tutorials-list',
- templateUrl: './tutorials-list.component.html',
- imports: [
- FormsModule,
- RouterLink,
- NgIf
- ],
- styleUrls: ['./tutorials-list.component.scss']
-})
-export class TutorialsListComponent implements OnInit {
-
- tutorials?: Tutorial[];
- currentTutorial: Tutorial = {};
- currentIndex = -1;
- title = '';
-
- constructor(private tutorialService: TutorialService) { }
-
- ngOnInit(): void {
- this.retrieveTutorials();
- }
-
- retrieveTutorials(): void {
- this.tutorialService.getAllPublic()
- .subscribe(
- (data: Tutorial[] ) => {
- this.tutorials = data;
- console.log(data);
- },
- error => {
- console.log(error);
- });
- }
-
- refreshList(): void {
- this.retrieveTutorials();
- this.currentTutorial = {};
- this.currentIndex = -1;
- }
-
- setActiveTutorial(tutorial: Tutorial, index: number): void {
- this.currentTutorial = tutorial;
- this.currentIndex = index;
- }
-
- removeAllTutorials(): void {
- /* this.tutorialService.deleteAll()
- .subscribe(
- response => {
- console.log(response);
- this.refreshList();
- },
- error => {
- console.log(error);
- });*/
- }
-
- searchTitle(): void {
- this.currentTutorial = {};
- this.currentIndex = -1;
-
- this.tutorialService.findByTitle(this.title)
- .subscribe(
- data => {
- this.tutorials = data;
- console.log(data);
- },
- error => {
- console.log(error);
- });
- }
-}
diff --git a/jambotron-ui/src/app/global-constants.ts b/jambotron-ui/src/app/global-constants.ts
index fe73560..b5bd4e4 100644
--- a/jambotron-ui/src/app/global-constants.ts
+++ b/jambotron-ui/src/app/global-constants.ts
@@ -8,7 +8,8 @@ export class GlobalConstants {
if(environment.production) {
return `${environment.host_name}/api`;
}else {
- return `${environment.host_name}:${environment.port}/api`;
+ //return `${environment.host_name}:${environment.port}/api`;
+ return `/api`; // in serve mode used proxy (proxy.conf.json)
}
})();
diff --git a/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.html b/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.html
deleted file mode 100644
index e36c8f4..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.scss b/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.ts b/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.ts
deleted file mode 100644
index 597a5b6..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/admin-layout.component.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Angular import
-import { Component } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { RouterModule } from '@angular/router';
-
-// Project import
-
-import { NavBarComponent } from './nav-bar/nav-bar.component';
-import { NavigationComponent } from './navigation/navigation.component';
-import { ConfigurationComponent } from './configuration/configuration.component';
-import {BreadcrumbComponent} from '../../components/breadcrumb/breadcrumb.component';
-//import { BreadcrumbComponent } from 'src/app/theme/shared/components/breadcrumb/breadcrumb.component';
-
-@Component({
- selector: 'app-admin',
- imports: [CommonModule, BreadcrumbComponent, NavigationComponent, NavBarComponent, RouterModule, ConfigurationComponent, NavigationComponent],
- templateUrl: './admin-layout.component.html',
- styleUrls: ['./admin-layout.component.scss']
-})
-export class AdminComponent {
- // public props
- navCollapsed: boolean = true;
- navCollapsedMob: boolean = true;
-
- // public method
- navMobClick() {
- if (this.navCollapsedMob && !document.querySelector('app-navigation.pc-sidebar')?.classList.contains('mob-open')) {
- this.navCollapsedMob = !this.navCollapsedMob;
- setTimeout(() => {
- this.navCollapsedMob = !this.navCollapsedMob;
- }, 100);
- } else {
- this.navCollapsedMob = !this.navCollapsedMob;
- }
- if (document.querySelector('app-navigation.pc-sidebar')?.classList.contains('navbar-collapsed')) {
- document.querySelector('app-navigation.pc-sidebar')?.classList.remove('navbar-collapsed');
- }
- }
-
- handleKeyDown(event: KeyboardEvent): void {
- if (event.key === 'Escape') {
- this.closeMenu();
- }
- }
-
- closeMenu() {
- if (document.querySelector('app-navigation.pc-sidebar')?.classList.contains('mob-open')) {
- document.querySelector('app-navigation.pc-sidebar')?.classList.remove('mob-open');
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.html b/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.html
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.scss b/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.ts b/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.ts
deleted file mode 100644
index abfc887..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/configuration/configuration.component.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-configuration',
- imports: [],
- templateUrl: './configuration.component.html',
- styleUrl: './configuration.component.scss'
-})
-export class ConfigurationComponent {}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.html b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.html
deleted file mode 100644
index 99f375e..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.scss b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.scss
deleted file mode 100644
index e4f45fd..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-.pc-header{
- left: 0;
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.ts b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.ts
deleted file mode 100644
index 7c7ebaf..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-bar.component.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-// angular import
-import {Component, inject, OnInit, output} from '@angular/core';
-
-// project import
-
-import { NavLeftComponent } from './nav-left/nav-left.component';
-import { NavRightComponent } from './nav-right/nav-right.component';
-import {DOCUMENT} from '@angular/common';
-
-@Component({
- selector: 'app-nav-bar',
- imports: [NavLeftComponent, NavRightComponent],
- templateUrl: './nav-bar.component.html',
- styleUrls: ['./nav-bar.component.scss']
-})
-export class NavBarComponent implements OnInit{
- private document = inject(DOCUMENT);
- // public props
- NavCollapse = output();
- NavCollapsedMob = output();
-
- navCollapsed: boolean = false;
- windowWidth: number | undefined = 1000;
- navCollapsedMob: boolean;
-
- // Constructor
- constructor() {
-
- this.navCollapsedMob = false;
- }
-
- ngOnInit(): void {
- this.windowWidth = this.document.defaultView?.innerWidth;
- }
-
- // public method
- navCollapse() {
- if (!!this.windowWidth && this.windowWidth >= 1025) {
- this.navCollapsed = !this.navCollapsed;
- this.NavCollapse.emit();
- }
- }
-
- navCollapseMob() {
- if (!!this.windowWidth && this.windowWidth < 1025) {
- this.NavCollapsedMob.emit();
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.html b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.html
deleted file mode 100644
index d7991d8..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.scss b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.ts b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.ts
deleted file mode 100644
index 4dfb288..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-left/nav-left.component.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-// Angular import
-import {CommonModule, DOCUMENT} from '@angular/common';
-import { Component, inject, input, output } from '@angular/core';
-
-// project import
-
-// icons
-import { IconService, IconDirective } from '@ant-design/icons-angular';
-import { MenuUnfoldOutline, MenuFoldOutline, SearchOutline } from '@ant-design/icons-angular/icons';
-
-@Component({
- selector: 'app-nav-left',
- imports: [IconDirective, CommonModule],
- templateUrl: './nav-left.component.html',
- styleUrls: ['./nav-left.component.scss']
-})
-export class NavLeftComponent {
- private iconService = inject(IconService);
- private document = inject(DOCUMENT);
-
- // public props
- navCollapsed = input.required();
- NavCollapse = output();
- NavCollapsedMob = output();
- windowWidth: number | undefined = 1000;
-
- // Constructor
- constructor() {
- this.windowWidth = this.document.defaultView?.innerWidth;
- this.iconService.addIcon(...[MenuUnfoldOutline, MenuFoldOutline, SearchOutline]);
- }
-
- // public method
- navCollapse() {
- this.NavCollapse.emit();
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.html b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.html
deleted file mode 100644
index 5d6e4a5..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.html
+++ /dev/null
@@ -1,147 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.scss b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.ts b/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.ts
deleted file mode 100644
index baf2a8c..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/nav-bar/nav-right/nav-right.component.ts
+++ /dev/null
@@ -1,121 +0,0 @@
-// angular import
-import {Component, inject, input, OnInit, output} from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-// project import
-
-// icon
-import { IconService, IconDirective } from '@ant-design/icons-angular';
-import {
- BellOutline,
- SettingOutline,
- GiftOutline,
- MessageOutline,
- PhoneOutline,
- CheckCircleOutline,
- LogoutOutline,
- EditOutline,
- UserOutline,
- ProfileOutline,
- WalletOutline,
- QuestionCircleOutline,
- LockOutline,
- CommentOutline,
- UnorderedListOutline,
- ArrowRightOutline,
- GithubOutline
-} from '@ant-design/icons-angular/icons';
-import { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
-import { NgScrollbarModule } from 'ngx-scrollbar';
-import {DOCUMENT} from '@angular/common';
-
-@Component({
- selector: 'app-nav-right',
- imports: [IconDirective, RouterModule, NgScrollbarModule, NgbNavModule, NgbDropdownModule],
- templateUrl: './nav-right.component.html',
- styleUrls: ['./nav-right.component.scss']
-})
-export class NavRightComponent implements OnInit{
- private iconService = inject(IconService);
- private document = inject(DOCUMENT);
- //private window = inject(Window);
- styleSelectorToggle = input();
- Customize = output();
- windowWidth: number | undefined = 1000;
- screenFull: boolean = true;
-
- constructor() {
-
- this.iconService.addIcon(
- ...[
- CheckCircleOutline,
- GiftOutline,
- MessageOutline,
- SettingOutline,
- PhoneOutline,
- LogoutOutline,
- UserOutline,
- EditOutline,
- ProfileOutline,
- QuestionCircleOutline,
- LockOutline,
- CommentOutline,
- UnorderedListOutline,
- ArrowRightOutline,
- BellOutline,
- GithubOutline,
- WalletOutline
- ]
- );
- }
-
- ngOnInit(): void {
- this.windowWidth = this.document.defaultView?.innerWidth;
- }
-
- profile = [
- {
- icon: 'edit',
- title: 'Edit Profile'
- },
- {
- icon: 'user',
- title: 'View Profile'
- },
- {
- icon: 'profile',
- title: 'Social Profile'
- },
- {
- icon: 'wallet',
- title: 'Billing'
- },
- {
- icon: 'logout',
- title: 'Logout'
- }
- ];
-
- setting = [
- {
- icon: 'question-circle',
- title: 'Support'
- },
- {
- icon: 'user',
- title: 'Account Settings'
- },
- {
- icon: 'lock',
- title: 'Privacy Center'
- },
- {
- icon: 'comment',
- title: 'Feedback'
- },
- {
- icon: 'unordered-list',
- title: 'History'
- }
- ];
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.html b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.html
deleted file mode 100644
index 522253f..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.scss b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.ts
deleted file mode 100644
index 5623fc2..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-// Angular import
-import {Component, inject, Input, OnInit, output} from '@angular/core';
-import { animate, style, transition, trigger } from '@angular/animations';
-import {CommonModule, DOCUMENT} from '@angular/common';
-import { RouterModule } from '@angular/router';
-
-// project import
-import { NavigationItem } from '../../navigation';
-
-import { NavItemComponent } from '../nav-item/nav-item.component';
-import { IconDirective } from '@ant-design/icons-angular';
-
-@Component({
- selector: 'app-nav-collapse',
- imports: [CommonModule, IconDirective, RouterModule, NavItemComponent],
- templateUrl: './nav-collapse.component.html',
- styleUrls: ['./nav-collapse.component.scss'],
- animations: [
- trigger('slideInOut', [
- transition(':enter', [
- style({ transform: 'translateY(-100%)', display: 'block' }),
- animate('250ms ease-in', style({ transform: 'translateY(0%)' }))
- ]),
- transition(':leave', [animate('250ms ease-in', style({ transform: 'translateY(-100%)' }))])
- ])
- ]
-})
-export class NavCollapseComponent implements OnInit{
-
- private document = inject(DOCUMENT);
-
- // public props
-
- // Compact Menu in use For Sub Child Open in sidebar menu
- showCollapseItem = output();
-
- // all Version Get Item(Component Name Take)
- @Input() item!: NavigationItem;
-
- windowWidth: number | undefined = 1000;
-
- // Constructor
- constructor() {
- //this.windowWidth = window.innerWidth;
- }
-
- ngOnInit(): void {
- this.windowWidth = this.document.defaultView?.innerWidth;throw new Error('Method not implemented.');
- }
-
- // public method
- navCollapse(e: MouseEvent) {
- let parent = e.target as HTMLElement;
-
- if (parent?.tagName === 'SPAN') {
- parent = parent.parentElement!;
- }
-
- parent = (parent as HTMLElement).parentElement as HTMLElement;
-
- const sections = document.querySelectorAll('.coded-hasmenu');
- for (let i = 0; i < sections.length; i++) {
- if (sections[i] !== parent) {
- sections[i].classList.remove('coded-trigger');
- }
- }
-
- let first_parent = parent.parentElement;
- let pre_parent = ((parent as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement;
- if (first_parent?.classList.contains('coded-hasmenu')) {
- do {
- first_parent?.classList.add('coded-trigger');
- first_parent = ((first_parent as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement;
- } while (first_parent.classList.contains('coded-hasmenu'));
- } else if (pre_parent.classList.contains('coded-submenu')) {
- do {
- pre_parent?.parentElement?.classList.add('coded-trigger');
- pre_parent = (((pre_parent as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement;
- } while (pre_parent.classList.contains('coded-submenu'));
- }
- parent.classList.toggle('coded-trigger');
- }
-
- // for Compact Menu
- subMenuCollapse(item: void) {
- this.showCollapseItem.emit(item);
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.html b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.html
deleted file mode 100644
index d1cdf42..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- @for (item of navigations; track item) {
- @if (item.type === 'group') {
-
- }
- }
-
-
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.scss b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.ts
deleted file mode 100644
index 38a475e..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-content.component.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-// Angular import
-import { Component, OnInit, inject, output } from '@angular/core';
-import {CommonModule, DOCUMENT, Location, LocationStrategy} from '@angular/common';
-import { RouterModule } from '@angular/router';
-
-// project import
-import { NavigationItem, NavigationItems } from '../navigation';
-//import { environment } from 'src/environments/environment';
-
-import { NavGroupComponent } from './nav-group/nav-group.component';
-
-// icon
-import { IconService } from '@ant-design/icons-angular';
-import {
- DashboardOutline,
- CreditCardOutline,
- LoginOutline,
- QuestionOutline,
- ChromeOutline,
- FontSizeOutline,
- ProfileOutline,
- BgColorsOutline,
- AntDesignOutline
-} from '@ant-design/icons-angular/icons';
-import { NgScrollbarModule } from 'ngx-scrollbar';
-
-@Component({
- selector: 'app-nav-content',
- imports: [CommonModule, RouterModule, NavGroupComponent, NgScrollbarModule],
- templateUrl: './nav-content.component.html',
- styleUrls: ['./nav-content.component.scss']
-})
-export class NavContentComponent implements OnInit {
- private location = inject(Location);
- private locationStrategy = inject(LocationStrategy);
- private iconService = inject(IconService)
- private document = inject(DOCUMENT);
-
- // public props
- NavCollapsedMob = output();
-
- navigations: NavigationItem[];
-
- // version
- title = 'Demo application for version numbering';
- //currentApplicationVersion = environment.appVersion;
-
- navigation = NavigationItems;
- windowWidth: number | undefined = 1000;
-
- // Constructor
- constructor() {
- this.iconService.addIcon(
- ...[
- DashboardOutline,
- CreditCardOutline,
- FontSizeOutline,
- LoginOutline,
- ProfileOutline,
- BgColorsOutline,
- AntDesignOutline,
- ChromeOutline,
- QuestionOutline
- ]
- );
- this.navigations = NavigationItems;
- }
-
- // Life cycle events
- ngOnInit() {
- if (!!this.windowWidth && this.windowWidth < 1025) {
- (this.document.querySelector('.coded-navbar') as HTMLDivElement)?.classList.add('menupos-static');
- }
- }
-
- fireOutClick() {
- let current_url = this.location.path();
- const baseHref = this.locationStrategy.getBaseHref();
- if (baseHref) {
- current_url = baseHref + this.location.path();
- }
- const link = "a.nav-link[ href='" + current_url + "' ]";
- const ele = document?.querySelector(link);
- if (ele !== null && ele !== undefined) {
- const parent = ele.parentElement;
- const up_parent = parent?.parentElement?.parentElement;
- const last_parent = up_parent?.parentElement;
- if (parent?.classList.contains('coded-hasmenu')) {
- parent.classList.add('coded-trigger');
- parent.classList.add('active');
- } else if (up_parent?.classList.contains('coded-hasmenu')) {
- up_parent.classList.add('coded-trigger');
- up_parent.classList.add('active');
- } else if (last_parent?.classList.contains('coded-hasmenu')) {
- last_parent.classList.add('coded-trigger');
- last_parent.classList.add('active');
- }
- }
- }
-
- navMob() {
- if (!!this.windowWidth && this.windowWidth < 1025 && document.querySelector('app-navigation.coded-navbar')?.classList.contains('mob-open')) {
- this.NavCollapsedMob.emit();
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.html b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.html
deleted file mode 100644
index 98289c9..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-@for (item of item().children; track item) {
- @if (item.type === 'collapse') {
-
- } @else if (item.type === 'item') {
-
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.scss b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.ts
deleted file mode 100644
index 7a7edcf..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-// Angular import
-import { Component, OnInit, inject, input } from '@angular/core';
-import {CommonModule, DOCUMENT, Location} from '@angular/common';
-
-// project import
-import { NavigationItem } from '../../navigation';
-
-import { NavCollapseComponent } from '../nav-collapse/nav-collapse.component';
-import { NavItemComponent } from '../nav-item/nav-item.component';
-
-@Component({
- selector: 'app-nav-group',
- imports: [CommonModule, NavCollapseComponent, NavItemComponent],
- templateUrl: './nav-group.component.html',
- styleUrls: ['./nav-group.component.scss']
-})
-export class NavGroupComponent implements OnInit {
- private location = inject(Location);
- private document = inject(DOCUMENT);
- // public props
-
- // All Version in Group Name
- item = input.required();
-
- // Life cycle events
- ngOnInit() {
- // at reload time active and trigger link
- let current_url: string | any = this.location.path();
- // eslint-disable-next-line
- // @ts-ignore
- if (this.location['_baseHref']) {
- // eslint-disable-next-line
-
-
- // @ts-ignore
- current_url = this.location['_baseHref'] + this.location.path();
- }
-
- const link = "a.nav-link[ href='" + current_url + "' ]";
- //if(this.document === undefined) return;
- const ele = this.document?.querySelector(link);
- if (ele !== null && ele !== undefined) {
- const parent = ele.parentElement;
- const up_parent = parent?.parentElement?.parentElement;
- const pre_parent = up_parent?.parentElement;
- const last_parent = up_parent?.parentElement?.parentElement?.parentElement?.parentElement;
- if (parent?.classList.contains('coded-hasmenu')) {
- parent?.classList.add('coded-trigger');
- parent?.classList.add('active');
- } else if (up_parent?.classList.contains('coded-hasmenu')) {
- up_parent?.classList.add('coded-trigger');
- up_parent?.classList.add('active');
- } else if (pre_parent?.classList.contains('coded-hasmenu')) {
- pre_parent?.classList.add('coded-trigger');
- pre_parent?.classList.add('active');
- }
-
- if (last_parent?.classList.contains('coded-hasmenu')) {
- last_parent?.classList.add('coded-trigger');
- if (pre_parent?.classList.contains('coded-hasmenu')) {
- pre_parent?.classList.add('coded-trigger');
- }
- }
- last_parent?.classList.add('active');
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.html b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.html
deleted file mode 100644
index f60f5f7..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.html
+++ /dev/null
@@ -1,32 +0,0 @@
-@if (item.url && !item.external) {
-
-
- @if (item.icon) {
-
-
-
- }
- @if (item.icon) {
- {{ item.title }}
- } @else {
- {{ item.title }}
- }
-
-
-}
-@if (item.url && item.external) {
-
-
- @if (item.icon) {
-
-
-
- }
- @if (item.icon) {
- {{ item.title }}
- } @else {
- {{ item.title }}
- }
-
-
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.scss b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.ts
deleted file mode 100644
index 6347047..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/nav-content/nav-item/nav-item.component.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Angular import
-import {Component, inject, Input} from '@angular/core';
-import {CommonModule, DOCUMENT} from '@angular/common';
-import { RouterModule } from '@angular/router';
-
-// Project import
-import { NavigationItem } from '../../navigation';
-
-import { IconDirective } from '@ant-design/icons-angular';
-
-@Component({
- selector: 'app-nav-item',
- imports: [CommonModule, IconDirective, RouterModule],
- templateUrl: './nav-item.component.html',
- styleUrls: ['./nav-item.component.scss']
-})
-export class NavItemComponent {
- private document = inject(DOCUMENT);
-
- // public props
- @Input() item!: NavigationItem;
-
- // public method
- closeOtherMenu(event: MouseEvent) {
- const ele = event.target as HTMLElement;
- if (ele !== null && ele !== undefined) {
- const parent = ele.parentElement as HTMLElement;
- const up_parent = ((parent.parentElement as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement;
- const last_parent = up_parent.parentElement;
- const sections = this.document.querySelectorAll('.coded-hasmenu');
- for (let i = 0; i < sections.length; i++) {
- sections[i].classList.remove('active');
- sections[i].classList.remove('coded-trigger');
- }
-
- if (parent.classList.contains('coded-hasmenu')) {
- parent.classList.add('coded-trigger');
- parent.classList.add('active');
- } else if (up_parent.classList.contains('coded-hasmenu')) {
- up_parent.classList.add('coded-trigger');
- up_parent.classList.add('active');
- } else if (last_parent?.classList.contains('coded-hasmenu')) {
- last_parent.classList.add('coded-trigger');
- last_parent.classList.add('active');
- }
- }
- if ((document.querySelector('app-navigation.pc-sidebar') as HTMLDivElement).classList.contains('mob-open')) {
- (document.querySelector('app-navigation.pc-sidebar') as HTMLDivElement).classList.remove('mob-open');
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.html b/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.html
deleted file mode 100644
index 8d9ddf6..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.scss b/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.ts
deleted file mode 100644
index 3821a53..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.component.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-// Angular import
-import {Component, EventEmitter, inject, OnInit, Output, output} from '@angular/core';
-import {CommonModule, DOCUMENT} from '@angular/common';
-import {NavContentComponent} from './nav-content/nav-content.component';
-
-// project import
-
-//import { NavContentComponent } from './nav-content/nav-content.component';
-
-@Component({
- selector: 'app-navigation',
- // imports: [ CommonModule],
- templateUrl: './navigation.component.html',
- imports: [
- NavContentComponent
- ],
- styleUrls: ['./navigation.component.scss']
-})
-export class NavigationComponent implements OnInit{
-
- private document = inject(DOCUMENT);
-
- // media 1025 After Use Menu Open
- NavCollapsedMob = output();
-
- navCollapsedMob:boolean;
- windowWidth: number | undefined = 1000;
-
- // Constructor
- constructor() {
- //window.
- // this.windowWidth = !document ? 0 : !document.defaultView ? 0 : document.defaultView?.innerWidth;
- //this.windowWidth = document.defaultView !== null? document.defaultView.innerWidth : 1000;//window.innerWidth;
- this.navCollapsedMob = false;
- }
-
- ngOnInit(): void {
- this.windowWidth = this.document.defaultView?.innerWidth;
- }
-
- // public method
- // @Output() NavCollapse = new EventEmitter();
- @Output() NavCollapse = new EventEmitter();
- navCollapseMob() {
- if (!!this.windowWidth && this.windowWidth < 1025) {
- this.NavCollapsedMob.emit();
- }
- }
-}
diff --git a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.ts b/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.ts
deleted file mode 100644
index 1673226..0000000
--- a/jambotron-ui/src/app/layouts/admin-layout/navigation/navigation.ts
+++ /dev/null
@@ -1,140 +0,0 @@
-export interface NavigationItem {
- id: string;
- title: string;
- type: 'item' | 'collapse' | 'group';
- translate?: string;
- icon?: string;
- hidden?: boolean;
- url?: string;
- classes?: string;
- groupClasses?: string;
- exactMatch?: boolean;
- external?: boolean;
- target?: boolean;
- breadcrumbs?: boolean;
- children?: NavigationItem[];
- link?: string;
- description?: string;
- path?: string;
-}
-
-export const NavigationItems: NavigationItem[] = [
- {
- id: 'admin',
- title: 'Admin',
- type: 'group',
- icon: 'icon-navigation',
- url: '/main/admin/welcome',
- target: true,
- children: [
- {
- id: 'settings',
- title: 'Settings',
- type: 'item',
- classes: 'nav-item',
- url: '/main/admin/settings',
- icon: 'dashboard',
- // breadcrumbs: false
- },
- {
- id: 'system',
- title: 'System',
- type: 'item',
- classes: 'nav-item',
- url: '/main/admin/system',
- icon: 'dashboard',
- // breadcrumbs: false
- }
- ]
- }/*,
- {
- id: 'authentication',
- title: 'Authentication',
- type: 'group',
- icon: 'icon-navigation',
- children: [
- {
- id: 'login',
- title: 'Login',
- type: 'item',
- classes: 'nav-item',
- url: '/login',
- icon: 'login',
- target: true,
- breadcrumbs: false
- },
- {
- id: 'register',
- title: 'Register',
- type: 'item',
- classes: 'nav-item',
- url: '/register',
- icon: 'profile',
- target: true,
- breadcrumbs: false
- }*/
- // ]
- // }
- /*,
- {
- id: 'utilities',
- title: 'UI Components',
- type: 'group',
- icon: 'icon-navigation',
- children: [
- {
- id: 'typography',
- title: 'Typography',
- type: 'item',
- classes: 'nav-item',
- url: '/typography',
- icon: 'font-size'
- },
- {
- id: 'color',
- title: 'Colors',
- type: 'item',
- classes: 'nav-item',
- url: '/color',
- icon: 'bg-colors'
- },
- {
- id: 'ant-icons',
- title: 'Ant Icons',
- type: 'item',
- classes: 'nav-item',
- url: 'https://ant.design/components/icon',
- icon: 'ant-design',
- target: true,
- external: true
- }
- ]
- },
-
- {
- id: 'other',
- title: 'Other',
- type: 'group',
- icon: 'icon-navigation',
- children: [
- {
- id: 'sample-page',
- title: 'Sample Page',
- type: 'item',
- url: '/sample-page',
- classes: 'nav-item',
- icon: 'chrome'
- },
- {
- id: 'document',
- title: 'Document',
- type: 'item',
- classes: 'nav-item',
- url: 'https://codedthemes.gitbook.io/mantis-angular/',
- icon: 'question',
- target: true,
- external: true
- }
- ]
- }*/
-];
diff --git a/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.html b/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.html
deleted file mode 100644
index 0680b43..0000000
--- a/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.scss b/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.ts b/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.ts
deleted file mode 100644
index 7582ad4..0000000
--- a/jambotron-ui/src/app/layouts/guest-layout/guest-layout.component.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-@Component({
- selector: 'app-guest-layout',
- imports: [RouterModule],
- templateUrl: './guest-layout.component.html',
- styleUrl: './guest-layout.component.scss'
-})
-export class GuestLayoutComponent {}
diff --git a/jambotron-ui/src/app/main-module/main.routing.ts b/jambotron-ui/src/app/main-module/main.routing.ts
index 9a2a40c..2309bd0 100644
--- a/jambotron-ui/src/app/main-module/main.routing.ts
+++ b/jambotron-ui/src/app/main-module/main.routing.ts
@@ -1,9 +1,7 @@
import {RouterModule, Routes} from '@angular/router';
import {HomeComponent} from '../components/home.component/home.component';
import {MainComponent} from './main.component/main.component';
-import {TutorialsListComponent} from '../components/tutorials-list/tutorials-list.component';
import {TutorialsComponent} from '../components/tutorials.component/tutorials.component';
-import {AddTutorialComponent} from '../components/add-tutorial/add-tutorial.component';
import {RegisterComponent} from '../components/register/register.component';
import {ProfileComponent} from '../components/profile/profile.component';
import {GenerateImageComponent} from '../components/generate-image.component/generate-image.component';
@@ -40,10 +38,6 @@ const MAIN_ROUTES: Routes =[
path: 'tutorials',
component: TutorialsComponent
},
- {
- path: 'add-tutorial',
- component: AddTutorialComponent
- },
{
path: 'register',
component : RegisterComponent
diff --git a/jambotron-ui/src/app/user-module/user.component/user.component.ts b/jambotron-ui/src/app/user-module/user.component/user.component.ts
index 0a52d2f..81a69b2 100644
--- a/jambotron-ui/src/app/user-module/user.component/user.component.ts
+++ b/jambotron-ui/src/app/user-module/user.component/user.component.ts
@@ -1,28 +1,13 @@
import {Component, CUSTOM_ELEMENTS_SCHEMA, OnInit, ViewChild} from '@angular/core';
import {RouterOutlet} from '@angular/router';
-import {SideBarComponent} from '../../components/side-bar.component/side-bar.component';
-import {MatSidenav, MatSidenavContainer} from '@angular/material/sidenav';
-import {NgClass} from '@angular/common';
-import {MatListItem, MatNavList} from '@angular/material/list';
-import {MatIcon} from '@angular/material/icon';
+import {MatSidenav} from '@angular/material/sidenav';
import {BreakpointObserver} from '@angular/cdk/layout';
-import {MatToolbar} from '@angular/material/toolbar';
-import {MatIconButton} from '@angular/material/button';
import {SideBarUserComponent} from '../side-bar-user.component/side-bar-user.component';
@Component({
selector: 'app-user.component',
imports: [
RouterOutlet,
- SideBarComponent,
- MatSidenavContainer,
- NgClass,
- MatNavList,
- MatSidenav,
- MatListItem,
- MatIcon,
- MatToolbar,
- MatIconButton,
SideBarUserComponent
],
templateUrl: './user.component.html',
diff --git a/jambotron-ui/src/environments/environment.development.ts b/jambotron-ui/src/environments/environment.development.ts
index 5cc9a43..ab54751 100644
--- a/jambotron-ui/src/environments/environment.development.ts
+++ b/jambotron-ui/src/environments/environment.development.ts
@@ -3,5 +3,5 @@ export const environment = {
port: 8080,
fromWeb: false,
production: false,
- host_name: 'http://localhost',
+ host_name: 'http://localhost'
};
diff --git a/jambotron-ui/src/index.html b/jambotron-ui/src/index.html
index 42711ff..55b4b5e 100644
--- a/jambotron-ui/src/index.html
+++ b/jambotron-ui/src/index.html
@@ -9,6 +9,28 @@
+
+
+
+
+
+
+
+
+
diff --git a/jambotron-ui/src/index_dev.html b/jambotron-ui/src/index_dev.html
new file mode 100644
index 0000000..944af06
--- /dev/null
+++ b/jambotron-ui/src/index_dev.html
@@ -0,0 +1,15 @@
+
+
+
+
+ JambotronUi
+
+
+
+
+
+
+
+
+
+
diff --git a/jambotron-ui/src/main.server.ts b/jambotron-ui/src/main.server.ts
deleted file mode 100644
index 154ce1c..0000000
--- a/jambotron-ui/src/main.server.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { bootstrapApplication } from '@angular/platform-browser';
-import { App } from './app/app';
-import { config } from './app/app.config.server';
-
-const bootstrap = () => bootstrapApplication(App, config);
-
-export default bootstrap;
diff --git a/jambotron-ui/src/proxy.conf.json b/jambotron-ui/src/proxy.conf.json
new file mode 100644
index 0000000..36564e1
--- /dev/null
+++ b/jambotron-ui/src/proxy.conf.json
@@ -0,0 +1,10 @@
+{
+ "/api/**": {
+ "target": "http://localhost:8082",
+ "secure": false,
+ "changeOrigin": true,
+ "logLevel": "debug",
+ "pathRewrite": {"^/api" : "http://localhost:8082/api"}
+
+ }
+}
diff --git a/jambotron-ui/src/proxy.config.js b/jambotron-ui/src/proxy.config.js
new file mode 100644
index 0000000..d1cf3e7
--- /dev/null
+++ b/jambotron-ui/src/proxy.config.js
@@ -0,0 +1,10 @@
+const PROXY_CONFIG = [
+ {
+ context: [
+"/api"
+],
+target: "http://localhost:8082",
+ secure: false
+}
+]
+module.exports = PROXY_CONFIG;
diff --git a/jambotron-ui/src/server.ts b/jambotron-ui/src/server.ts
deleted file mode 100644
index 5a5b814..0000000
--- a/jambotron-ui/src/server.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import {
- AngularNodeAppEngine,
- createNodeRequestHandler,
- isMainModule,
- writeResponseToNodeResponse,
-} from '@angular/ssr/node';
-import express from 'express';
-import { join } from 'node:path';
-
-const browserDistFolder = join(import.meta.dirname, '../browser');
-
-const app = express();
-const angularApp = new AngularNodeAppEngine();
-
-/**
- * Example Express Rest API endpoints can be defined here.
- * Uncomment and define endpoints as necessary.
- *
- * Example:
- * ```ts
- * app.get('/api/{*splat}', (req, res) => {
- * // Handle API request
- * });
- * ```
- */
-
-/**
- * Serve static files from /browser
- */
-app.use(
- express.static(browserDistFolder, {
- maxAge: '1y',
- index: false,
- redirect: false,
- }),
-);
-
-/**
- * Handle all other requests by rendering the Angular application.
- */
-app.use((req, res, next) => {
- angularApp
- .handle(req)
- .then((response) =>
- response ? writeResponseToNodeResponse(response, res) : next(),
- )
- .catch(next);
-});
-
-/**
- * Start the server if this module is the main entry point.
- * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000.
- */
-if (isMainModule(import.meta.url)) {
- const port = process.env['PORT'] || 4000;
- app.listen(port, (error) => {
- if (error) {
- throw error;
- }
-
- console.log(`Node Express server listening on http://localhost:${port}`);
- });
-}
-
-
-
-
-/**
- * Request handler used by the Angular CLI (for dev-server and during build) or Firebase Cloud Functions.
- */
-export const reqHandler = createNodeRequestHandler(app);
diff --git a/logs/application.log.2025-06-21.0.gz b/logs/application.log.2025-06-21.0.gz
deleted file mode 100644
index f916f89..0000000
Binary files a/logs/application.log.2025-06-21.0.gz and /dev/null differ
diff --git a/logs/application.log.2025-06-22.0.gz b/logs/application.log.2025-06-22.0.gz
deleted file mode 100644
index 3f93117..0000000
Binary files a/logs/application.log.2025-06-22.0.gz and /dev/null differ
diff --git a/logs/application.log.2025-06-23.0.gz b/logs/application.log.2025-06-23.0.gz
deleted file mode 100644
index 83ead94..0000000
Binary files a/logs/application.log.2025-06-23.0.gz and /dev/null differ
diff --git a/logs/application.log.2025-06-24.0.gz b/logs/application.log.2025-06-24.0.gz
deleted file mode 100644
index b9e1d05..0000000
Binary files a/logs/application.log.2025-06-24.0.gz and /dev/null differ
diff --git a/src/Docker/docker-compose.yml b/src/Docker/docker-compose.yml
index b5f1f88..500330f 100644
--- a/src/Docker/docker-compose.yml
+++ b/src/Docker/docker-compose.yml
@@ -14,6 +14,7 @@ services:
- certs:/certs
# env_file: "webapp.env"
environment:
+ SSL_ENABLED: "true"
SERVER_PORT: 443
FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem
PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem
diff --git a/src/main/java/com/jambotronGroup/jambotron/controllers/AuthController.java b/src/main/java/com/jambotronGroup/jambotron/controllers/AuthController.java
index 7bceb88..a877b3c 100644
--- a/src/main/java/com/jambotronGroup/jambotron/controllers/AuthController.java
+++ b/src/main/java/com/jambotronGroup/jambotron/controllers/AuthController.java
@@ -31,7 +31,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-//@CrossOrigin(origins = "*", maxAge = 3600)
+@CrossOrigin(origins = "*", maxAge = 3600)
//@CrossOrigin(origins = "http://localhost:4200,https://a576-5-248-149-207.ngrok-free.app, https://pony-sincere-chimp.ngrok-free.app", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api/auth")
diff --git a/src/main/java/com/jambotronGroup/jambotron/controllers/RolesController.java b/src/main/java/com/jambotronGroup/jambotron/controllers/RolesController.java
index c6a55fe..e20af0d 100644
--- a/src/main/java/com/jambotronGroup/jambotron/controllers/RolesController.java
+++ b/src/main/java/com/jambotronGroup/jambotron/controllers/RolesController.java
@@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
-@CrossOrigin(origins = "${app.origin}", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api")
public class RolesController {
diff --git a/src/main/java/com/jambotronGroup/jambotron/controllers/UsersController.java b/src/main/java/com/jambotronGroup/jambotron/controllers/UsersController.java
index 39b5e03..0b4e2f1 100644
--- a/src/main/java/com/jambotronGroup/jambotron/controllers/UsersController.java
+++ b/src/main/java/com/jambotronGroup/jambotron/controllers/UsersController.java
@@ -1,6 +1,5 @@
package com.jambotronGroup.jambotron.controllers;
-
import com.jambotronGroup.jambotron.model.Tutorial;
import com.jambotronGroup.jambotron.model.User;
import com.jambotronGroup.jambotron.repository.UserRepository;
@@ -8,10 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
-
import java.util.*;
-@CrossOrigin(origins = "${app.origin}", maxAge = 3600, allowCredentials="true")
@RestController
@RequestMapping("/api")
public class UsersController {
diff --git a/src/main/java/com/jambotronGroup/jambotron/security/WebSecurityConfig.java b/src/main/java/com/jambotronGroup/jambotron/security/WebSecurityConfig.java
index cff92f1..4d09088 100644
--- a/src/main/java/com/jambotronGroup/jambotron/security/WebSecurityConfig.java
+++ b/src/main/java/com/jambotronGroup/jambotron/security/WebSecurityConfig.java
@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
@@ -35,6 +36,10 @@ import static org.springframework.security.config.Customizer.withDefaults;
//prePostEnabled = true)
@ComponentScan("com.jambotronGroup.jambotron.security")
public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecurityConfigurerAdapter {
+
+ @Autowired
+ private Environment _environment;
+
@Autowired
UserDetailsServiceImpl userDetailsService;
@@ -78,35 +83,7 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
return new BCryptPasswordEncoder();
}
-// @Override
-// protected void configure(HttpSecurity http) throws Exception {
-// http
-// .csrf()
-// .disable()
-// .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
-// .authorizeRequests()
-//
-//
-// // //Доступ только для пользователей с ролью Администратор
-// //.antMatchers("/api/users").hasRole("ADMIN")
-// // .antMatchers("/news").hasRole("USER")
-// //Доступ разрешен всем пользователей
-// .antMatchers("/*", "/home", "/resources/**").permitAll()
-// .antMatchers("/api/auth/**").permitAll()
-// .antMatchers("/api/tutorials").permitAll()
-// .antMatchers("/api/tutorials/**").permitAll()
-// //.antMatchers("/api/test/**").permitAll()
-// //Все остальные страницы требуют аутентификации
-// .anyRequest().authenticated()
-// .and()
-// .sessionManagement()
-// .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-// .and()
-// .addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
-//
-//
-// //http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
-// }
+
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
@@ -126,8 +103,6 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
//TODO: need check the puth
.requestMatchers("/api/public/zhipuai/image/**").permitAll()
- // need for cerbot why i don't know
- .requestMatchers("/.well-known/acme-challenge/**").permitAll()
// Access permitted for specific roles
.requestMatchers("/api/user/**").hasRole("USER")
@@ -167,7 +142,20 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
*/
- ).redirectToHttps(withDefaults());
+ );
+
+ /* if(_environment.getProperty("app.cors_enabled") != null &&
+ _environment.getProperty("app.cors_enabled").equalsIgnoreCase("true")) {
+ http.cors(withDefaults());
+ } else {
+ http.cors(cors -> cors.disable());
+ }*/
+
+
+ if(_environment.getProperty("server.port") != null &&
+ _environment.getProperty("server.port").equalsIgnoreCase("443")) {
+ http.redirectToHttps(withDefaults());
+ }
http.authenticationProvider(authenticationProvider());
@@ -176,77 +164,18 @@ public class WebSecurityConfig implements WebMvcConfigurer {// extends WebSecuri
return http.build();
}
- /*@Bean
+/* @Bean
public CorsFilter corsFilter() {
+ CorsConfiguration corsConfiguration = new CorsConfiguration();
+ corsConfiguration.setAllowCredentials(true); // Allow credentials
+ corsConfiguration.addAllowedOrigin("http://localhost:4200/");
+ corsConfiguration.addAllowedHeader("*"); // Allow all headers
+
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
- CorsConfiguration config = new CorsConfiguration();
-// config.setAllowCredentials(true);
-// config.addAllowedOrigin("http://localhost:4200");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-//
-// config = new CorsConfiguration();
-// config.setAllowCredentials(true);
-// config.addAllowedOrigin("http://213.111.120.199");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-
-// config = new CorsConfiguration();
-// config.setAllowCredentials(false);
-// config.addAllowedOrigin("http://www.jambotron.run.place");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-
- config = new CorsConfiguration();
- config.setAllowCredentials(false);
- config.addAllowedOrigin("http://www.jambotron.run.place");
- config.addAllowedHeader("*");
- config.addAllowedMethod("*");
- source.registerCorsConfiguration("/api/user/**", config);
+ source.registerCorsConfiguration("/**", corsConfiguration); // Apply to all endpoints
return new CorsFilter(source);
}*/
-
-/* public UrlBasedCorsConfigurationSource corsCongigSource() {
- UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
- CorsConfiguration config = new CorsConfiguration();
-// config.setAllowCredentials(true);
-// config.addAllowedOrigin("http://localhost:4200");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-//
-// config = new CorsConfiguration();
-// config.setAllowCredentials(true);
-// config.addAllowedOrigin("http://213.111.120.199");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-
-// config = new CorsConfiguration();
-// config.setAllowCredentials(false);
-// config.addAllowedOrigin("http://www.jambotron.run.place");
-// config.addAllowedHeader("*");
-// config.addAllowedMethod("*");
-// source.registerCorsConfiguration("/**", config);
-
- config = new CorsConfiguration();
- config.setAllowCredentials(false);
- config.addAllowedOrigin("http://localhost:4200, http://www.jambotron.run.place");
- config.addAllowedHeader("*");
- config.addAllowedMethod("*");
- source.registerCorsConfiguration("/api/user/**", config);
-
- return source;
- }*/
-
-/* @Bean
- public WebSecurityCustomizer webSecurityCustomizer() {
- return (web) -> web.ignoring().requestMatchers("/images/**", "/js/**", "/webjars/**");
- }*/
}
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
new file mode 100644
index 0000000..bb2346c
--- /dev/null
+++ b/src/main/resources/application-dev.properties
@@ -0,0 +1,36 @@
+spring.config.import=classpath:/yml_properties/application_development.yml
+
+spring.application.name=jambotron
+
+server.port=8082
+#============Localhost Configurations========================
+
+spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
+spring.datasource.username= admin
+spring.datasource.password= postgrespw
+
+spring.flyway.baseline-on-migrate=true
+spring.flyway.validate-on-migrate=true
+
+spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
+spring.flyway.user=admin
+spring.flyway.password=postgrespw
+
+#============jpa=====================
+
+spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
+# Hibernate ddl auto (create, create-drop, validate, update)
+#spring.jpa.hibernate.ddl-auto= update
+spring.jpa.show-sql=true
+
+#=============Zhipuai Configurations========================
+
+spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
+spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
+
+
+#============ Custom App Properties
+app.jwtSecret= ======================spring=back====================
+app.jwtExpirationMs= 800000
+app.jwtCookieName=springangularts
+
diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties
new file mode 100644
index 0000000..70951bf
--- /dev/null
+++ b/src/main/resources/application-prod.properties
@@ -0,0 +1,58 @@
+spring.config.import=classpath:/yml_properties/application_production.yml
+
+spring.application.name=jambotron
+
+server.port=443
+#============Localhost Configurations========================
+
+spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
+spring.datasource.username= admin
+spring.datasource.password= postgrespw
+
+spring.flyway.baseline-on-migrate=true
+spring.flyway.validate-on-migrate=true
+
+spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
+spring.flyway.user=admin
+spring.flyway.password=postgrespw
+
+
+#============Koyeb Configurations========================
+
+#spring.datasource.url= jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
+#spring.datasource.username= koyeb-adm
+#spring.datasource.password= npg_HfFEUA7bay1i
+#
+#spring.flyway.baseline-on-migrate=true
+#spring.flyway.validate-on-migrate=true
+#
+#spring.flyway.url=jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
+#spring.flyway.user=koyeb-adm
+#spring.flyway.password=npg_HfFEUA7bay1i
+#
+
+#spring.datasource.url=${SPRING_DATASOURCE_URL}
+#spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
+#spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
+
+##============jpa=====================
+
+#spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
+spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
+
+# Hibernate ddl auto (create, create-drop, validate, update)
+#spring.jpa.hibernate.ddl-auto= update
+
+spring.jpa.show-sql=true
+
+#==================Custom App Properties=====================
+
+app.jwtSecret= ======================spring=back====================
+app.jwtExpirationMs= 800000
+app.jwtCookieName=springangularts
+
+
+#=============Zhipuai Configurations========================
+
+spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
+spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index db841e0..11710b4 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,72 +1,2 @@
-spring.application.name=jambotron
+spring.profiles.active=prod
-server.port=443
-#============Localhost Configurations========================
-
-spring.datasource.url= jdbc:postgresql://localhost:5432/jambotronDB
-spring.datasource.username= admin
-spring.datasource.password= postgrespw
-
-spring.flyway.baseline-on-migrate=true
-spring.flyway.validate-on-migrate=true
-
-spring.flyway.url=jdbc:postgresql://localhost:5432/jambotronDB
-spring.flyway.user=admin
-spring.flyway.password=postgrespw
-
-
-#============Koyeb Configurations========================
-
-#spring.datasource.url= jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
-#spring.datasource.username= koyeb-adm
-#spring.datasource.password= npg_HfFEUA7bay1i
-#
-#spring.flyway.baseline-on-migrate=true
-#spring.flyway.validate-on-migrate=true
-#
-#spring.flyway.url=jdbc:postgresql://ep-red-breeze-a2cxhq5f.eu-central-1.pg.koyeb.app/jambotronDB
-#spring.flyway.user=koyeb-adm
-#spring.flyway.password=npg_HfFEUA7bay1i
-#
-
-#spring.datasource.url=${SPRING_DATASOURCE_URL}
-#spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
-#spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
-
-
-#spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
-spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
-
-# Hibernate ddl auto (create, create-drop, validate, update)
-#spring.jpa.hibernate.ddl-auto= update
-
-spring.jpa.show-sql=true
-
-
-# App Properties
-app.jwtSecret= ======================spring=back====================
-app.jwtExpirationMs= 800000
-app.jwtCookieName=springangularts
-app.origin=http://localhost:4200
-
-spring.mvc.throw-exception-if-no-handler-found=true
-
-#spring.mvc.dispatch-options-request=true
-
-# Disable the default mappings
-#spring.resources.add-mappings=false
-
-# UI(index.html) location
-#spring.resources.static-locations=classpath:/public/browser/
-#
-#spring.resources.cache.period=31557600s # 1 year if you want
-#spa.default-file=classpath:/public/browser/index.html
-#
-
-spring.docker.compose.file=../Docker/docker-compose.yml
-
-
-
-
-spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas/v4/images/generations
-spring.ai.zhipuai.api-key = 628447c8c65845a48a7226391464a2ea.Dw8ci6TiW0BRF5LI
diff --git a/src/main/resources/dnsexit_com_ssl/ca.cer b/src/main/resources/dnsexit_com_ssl/ca.cer
deleted file mode 100644
index f6a9302..0000000
--- a/src/main/resources/dnsexit_com_ssl/ca.cer
+++ /dev/null
@@ -1,71 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIG1TCCBL2gAwIBAgIQbFWr29AHksedBwzYEZ7WvzANBgkqhkiG9w0BAQwFADCB
-iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
-cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
-BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjAw
-MTMwMDAwMDAwWhcNMzAwMTI5MjM1OTU5WjBLMQswCQYDVQQGEwJBVDEQMA4GA1UE
-ChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NTTCBSU0EgRG9tYWluIFNlY3VyZSBT
-aXRlIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhmlzfqO1Mdgj
-4W3dpBPTVBX1AuvcAyG1fl0dUnw/MeueCWzRWTheZ35LVo91kLI3DDVaZKW+TBAs
-JBjEbYmMwcWSTWYCg5334SF0+ctDAsFxsX+rTDh9kSrG/4mp6OShubLaEIUJiZo4
-t873TuSd0Wj5DWt3DtpAG8T35l/v+xrN8ub8PSSoX5Vkgw+jWf4KQtNvUFLDq8mF
-WhUnPL6jHAADXpvs4lTNYwOtx9yQtbpxwSt7QJY1+ICrmRJB6BuKRt/jfDJF9Jsc
-RQVlHIxQdKAJl7oaVnXgDkqtk2qddd3kCDXd74gv813G91z7CjsGyJ93oJIlNS3U
-gFbD6V54JMgZ3rSmotYbz98oZxX7MKbtCm1aJ/q+hTv2YK1yMxrnfcieKmOYBbFD
-hnW5O6RMA703dBK92j6XRN2EttLkQuujZgy+jXRKtaWMIlkNkWJmOiHmErQngHvt
-iNkIcjJumq1ddFX4iaTI40a6zgvIBtxFeDs2RfcaH73er7ctNUUqgQT5rFgJhMmF
-x76rQgB5OZUkodb5k2ex7P+Gu4J86bS15094UuYcV09hVeknmTh5Ex9CBKipLS2W
-2wKBakf+aVYnNCU6S0nASqt2xrZpGC1v7v6DhuepyyJtn3qSV2PoBiU5Sql+aARp
-wUibQMGm44gjyNDqDlVp+ShLQlUH9x8CAwEAAaOCAXUwggFxMB8GA1UdIwQYMBaA
-FFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBTI2XhootkZaNU9ct5fCj7c
-tYaGpjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUE
-FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwIgYDVR0gBBswGTANBgsrBgEEAbIxAQIC
-TjAIBgZngQwBAgEwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1
-c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYG
-CCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3Qu
-Y29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRw
-Oi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQAVDwoIzQDV
-ercT0eYqZjBNJ8VNWwVFlQOtZERqn5iWnEVaLZZdzxlbvz2Fx0ExUNuUEgYkIVM4
-YocKkCQ7hO5noicoq/DrEYH5IuNcuW1I8JJZ9DLuB1fYvIHlZ2JG46iNbVKA3ygA
-Ez86RvDQlt2C494qqPVItRjrz9YlJEGT0DrttyApq0YLFDzf+Z1pkMhh7c+7fXeJ
-qmIhfJpduKc8HEQkYQQShen426S3H0JrIAbKcBCiyYFuOhfyvuwVCFDfFvrjADjd
-4jX1uQXd161IyFRbm89s2Oj5oU1wDYz5sx+hoCuh6lSs+/uPuWomIq3y1GDFNafW
-+LsHBU16lQo5Q2yh25laQsKRgyPmMpHJ98edm6y2sHUabASmRHxvGiuwwE25aDU0
-2SAeepyImJ2CzB80YG7WxlynHqNhpE7xfC7PzQlLgmfEHdU+tHFeQazRQnrFkW2W
-kqRGIq7cKRnyypvjPMkjeiV9lRdAM9fSJvsB3svUuu1coIG1xxI1yegoGM4r5QP4
-RGIVvYaiI76C0djoSbQ/dkIUUXQuB8AL5jyH34g3BZaaXyvpmnV4ilppMXVAnAYG
-ON51WhJ6W0xNdNJwzYASZYH+tmCWI+N60Gv2NNMGHwMZ7e9bXgzUCZH5FaBFDGR5
-S9VWqHB73Q+OyIVvIbKYcSc2w/aSuFKGSA==
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
-MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
-VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
-AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
-MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
-MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO
-ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0
-aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI
-s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG
-vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ
-Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb
-IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0
-tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E
-xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV
-icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5
-D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ
-WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ
-5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG
-KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg
-EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
-ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG
-BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t
-L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr
-BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
-A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+
-rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+
-/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
-CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
-zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
-vGp4z7h/jnZymQyd/teRCBaho1+V
------END CERTIFICATE-----
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.cer b/src/main/resources/dnsexit_com_ssl/jambotron.run.place.cer
deleted file mode 100644
index e8cbf1e..0000000
--- a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.cer
+++ /dev/null
@@ -1,38 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIGjTCCBHWgAwIBAgIQX5Qr0l0Q+rojBlPRWa822TANBgkqhkiG9w0BAQwFADBL
-MQswCQYDVQQGEwJBVDEQMA4GA1UEChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NT
-TCBSU0EgRG9tYWluIFNlY3VyZSBTaXRlIENBMB4XDTI1MDcyNTAwMDAwMFoXDTI1
-MTAyMzIzNTk1OVowHjEcMBoGA1UEAxMTamFtYm90cm9uLnJ1bi5wbGFjZTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANiesRlM9apcZ0LHkHD3XoLd4fmR
-YcakhAWHAI7AnsszC1nJ/ZY1IGD7+0ms6vMZSHrsZjiJcIOq1jX0Vbn9D8mrO/xR
-tA4p1BRm5lalEIwLnwfzfOcu89kWcwegFA9tQBPO9aRaUhJCx9/c30b46IdJMfxu
-LDmBafDd2r1DkMs4vBekuchwMM3/ASANdJRSJ2VPt3wXPewWt7jwhNiGbOXvBOGL
-RigIkAuuCFRDTMh2R9jWhhVoPHuMK/FaSkjHU3+joYWi2LkAB0LiM2ItMleS3KjU
-5t/FNiNLxvI3XTFbxPsX/tkvnFcnW9xuBCQGpctktCEUh/LZWISa7SSVyykCAwEA
-AaOCApgwggKUMB8GA1UdIwQYMBaAFMjZeGii2Rlo1T1y3l8KPty1hoamMB0GA1Ud
-DgQWBBT5othIQJ1JutIJzOplh40qeCxMwTAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0T
-AQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIw
-QDA0BgsrBgEEAbIxAQICTjAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
-Y29tL0NQUzAIBgZngQwBAgEwgYgGCCsGAQUFBwEBBHwwejBLBggrBgEFBQcwAoY/
-aHR0cDovL3plcm9zc2wuY3J0LnNlY3RpZ28uY29tL1plcm9TU0xSU0FEb21haW5T
-ZWN1cmVTaXRlQ0EuY3J0MCsGCCsGAQUFBzABhh9odHRwOi8vemVyb3NzbC5vY3Nw
-LnNlY3RpZ28uY29tMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHcA3dzKNJXX4RYF
-55Uy+sef+D0cUN/bADoUEnYKLKy7yCoAAAGYQutScwAABAMASDBGAiEAsXklZ2/W
-quKwHNIv+EKesjXwEJgp/Fz41aMAIpAoNJgCIQDjrZOl4GGpDANYnraoUnGtxYqW
-hMW51zVZOuyn2boDGQB1AA3h8jAr0w3BQGISCepVLvxHdHyx1+kw7w5CHrR+Tqo0
-AAABmELrUj4AAAQDAEYwRAIgChsIf08E36ymOBfBnOOFep9yyBdeiMYzSzPJGLmn
-R+0CID5X2rqCJrYLOqEG/genTqpdfwb0wb1OUxz5JeCMD9B3MDcGA1UdEQQwMC6C
-E2phbWJvdHJvbi5ydW4ucGxhY2WCF3d3dy5qYW1ib3Ryb24ucnVuLnBsYWNlMA0G
-CSqGSIb3DQEBDAUAA4ICAQApWKMHQzOrkVA0D6y/Zty4dIGF6HD+ZxpEZuVVXhbb
-K+GZBR4eVDY62ekp+pWH+uu+7TacNIL7p1Xn9SY/uV5tE1n5c2A8gssZojcCper2
-YD+9Mva+7ZwwIZ3D1xaCs5AeLMFAK1jtISR5KGt2XL9eROxHJ/UFJFtFMTkC8est
-E7fMHmGca3OYWOxsfxa5aNJp4NbSeWDQG2XsVK982zj1x6iaVbJCN+uv3ShS4nnS
-RKbfBvVzFxQbD8cLf24ZrB/LWpF0QeekE9DWVai1wSw1NtjLyntLv+RqY4L/aUbT
-sBRI95k4KeIkoamZA+87wCC1WzsydPZkYtTuOW5jN18zoCXgEyuMwXQMPrKUG/de
-ZsLKN16lIwc9pA3eKmlj4AU7Fo0goHkehvOTf/P38za5aHahFejp50rWxHw1FJBh
-xFjJixarpQQi62hpEruq9pRnAtGQJd+4uYxzAMiHIEM/LD3gZOy4xFYJIDnNWQ8M
-H3ZAdcHe+tbRzTcS93NikmTHjjMoJtI/j92kIFZsm0ZyIqNkxrLFJkUWWac66h1K
-CgqRuubmLi3aZggMuDveyTXIztk+F6S7orrbHlHinLjMiJUTxkCnmJ1InLfMPJwW
-K78/7AA0iqIvdZxVvA7d4FZpU4BIiMPI6B3brCoE+QfhawiPKotN+/tTPLeaytrD
-DA==
------END CERTIFICATE-----
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.key b/src/main/resources/dnsexit_com_ssl/jambotron.run.place.key
deleted file mode 100644
index d2aa6a6..0000000
--- a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEA2J6xGUz1qlxnQseQcPdegt3h+ZFhxqSEBYcAjsCeyzMLWcn9
-ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0Pyas7/FG0DinUFGbmVqUQjAufB/N8
-5y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjoh0kx/G4sOYFp8N3avUOQyzi8F6S5
-yHAwzf8BIA10lFInZU+3fBc97Ba3uPCE2IZs5e8E4YtGKAiQC64IVENMyHZH2NaG
-FWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0yV5LcqNTm38U2I0vG8jddMVvE+xf+
-2S+cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXLKQIDAQABAoIBAGcgJW/GE65nD0Hb
-gAhHu9bRiyMk80d+StvWyY0sZmyWgHDemLtJz4BcdeU9TR0ujDL5GDESPV5xlklZ
-aPaCY2G/A2+79dxITY7o7f+R1a7WWX+Pi4cD81MGPP0EWIh/mmHTxV3ZIflPkZgh
-rqo7FXhSgFmMmcFGuwjQlbJE2EnmeCV1X8TmVbgekRm4BQ357lLvn8YdMRqua61o
-Z8CAMG6WP87T/1p9AGtVdXm2ZhI/nbcu0kcguOG3lMbDAW+sZEMVgBc8vJHRChl6
-5ab/ePUTMekHPrYH8A+dFFc4pW99xJshQSqZBvFMWqjUfwH6OIXUjpwE1P8p3/7Y
-XBLBbgECgYEA94vCQ51zKqXnSnwoAXkK480PwZQV5MEBK+GXQA3tha6lveDyQFnY
-NH/NS9bWqEYCw8T0gkaV8j1d0FHwA8rn3lEICnJuY2PZiCU8t5O8n/8ITC1y9wqg
-5zIivFzfjtv+Deb4JacBeOCk1W5vkI0RhsEnIrNmhlEatW593MfY/70CgYEA4ASN
-nEllTl/aMqI+/nqY86tvEY9Ik0L7PNf4u+wj7FiTujnv0KYL5yl/1+9Hn3MtBIwI
-y/bWfa95RESiqMzKjTYCwHSkaSKgXBvEeSpLjO0NhsxO9/6SiQm7yEAqaOq9H6Ms
-e10GnChet+Fl1mRWk+FvjNQuySXS3IQwzERW6d0CgYA0l/j6LKWfVghCBwbo6TKr
-G5JRaokMRQVesVtVPKBOWsDUCsrtaSlKXizcBBUvQ1CrD1lzpFOPWAJqlD4OUDnb
-PhQbRBy3+Srqhh7UUgstYx38MVvPqO5usHQ42PKWg58CjSQDu+vQJspenkwNxisH
-GlqaQMtzlh+6lHMhSUSNcQKBgQCUAe4eKFAKrEHZ2mCMeiu8MrQ7gdONmF+uH3Nz
-ld1WNl/EVqsfy9VpcX3KCYnky5AexPa66+djOyB//mkJ5eSdz+WZindmDz6sHJx/
-AXbRMX4SZcJ3D3d5mzi6YcqjbxRtZr3o89l+Kx4Jl55VPA4HvpaZEUeoFpluoNgs
-3aoe8QKBgCDlA0WEIlq4Idw1zFJzv+2rvJPb9fG77TGfDNGnTbx0/jDFN/L3e9A2
-71Je1hnhqpxKZS23gzD7SmU6fJdO1j6+qZs8FZewQmnMoPk3He9JSzrJtglWGF8Q
-VLyuaylgRI7bv904DVmdwzlnLBPcG6SdHwqc3ufBeeeFbAI3KdFJ
------END RSA PRIVATE KEY-----
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.p12 b/src/main/resources/dnsexit_com_ssl/jambotron.run.place.p12
deleted file mode 100644
index 2769d3e..0000000
Binary files a/src/main/resources/dnsexit_com_ssl/jambotron.run.place.p12 and /dev/null differ
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.p7b b/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.p7b
deleted file mode 100644
index 4af5382..0000000
Binary files a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.p7b and /dev/null differ
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.json b/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.json
deleted file mode 100644
index 2f84114..0000000
--- a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.json
+++ /dev/null
@@ -1 +0,0 @@
-{"kty":"RSA","e":"AQAB","kid":"jambotron.run.place (zerossl rsa domain secure site ca)","n":"2J6xGUz1qlxnQseQcPdegt3h-ZFhxqSEBYcAjsCeyzMLWcn9ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0Pyas7_FG0DinUFGbmVqUQjAufB_N85y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjoh0kx_G4sOYFp8N3avUOQyzi8F6S5yHAwzf8BIA10lFInZU-3fBc97Ba3uPCE2IZs5e8E4YtGKAiQC64IVENMyHZH2NaGFWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0yV5LcqNTm38U2I0vG8jddMVvE-xf-2S-cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXLKQ"}
\ No newline at end of file
diff --git a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.pem b/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.pem
deleted file mode 100644
index 057fa18..0000000
--- a/src/main/resources/dnsexit_com_ssl/jambotron.run.place_zerossl_rsa_domain_secure_site_ca_.pubkey.pem
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2J6xGUz1qlxnQseQcPde
-gt3h+ZFhxqSEBYcAjsCeyzMLWcn9ljUgYPv7Sazq8xlIeuxmOIlwg6rWNfRVuf0P
-yas7/FG0DinUFGbmVqUQjAufB/N85y7z2RZzB6AUD21AE871pFpSEkLH39zfRvjo
-h0kx/G4sOYFp8N3avUOQyzi8F6S5yHAwzf8BIA10lFInZU+3fBc97Ba3uPCE2IZs
-5e8E4YtGKAiQC64IVENMyHZH2NaGFWg8e4wr8VpKSMdTf6OhhaLYuQAHQuIzYi0y
-V5LcqNTm38U2I0vG8jddMVvE+xf+2S+cVydb3G4EJAaly2S0IRSH8tlYhJrtJJXL
-KQIDAQAB
------END PUBLIC KEY-----
diff --git a/src/main/resources/application.yml b/src/main/resources/yml_properties/application_development.yml
similarity index 64%
rename from src/main/resources/application.yml
rename to src/main/resources/yml_properties/application_development.yml
index 5db9925..f7d3542 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/yml_properties/application_development.yml
@@ -11,9 +11,3 @@ logging:
max-size: 10MB
max-history: 30
-server:
- ssl:
- enabled: true
- certificate: ${FULLCHAINPEM}
- certificate-private-key: ${PRIVKEYPEM}
-# port: ${SERVER_PORT:443} # Default to 443 if SERVER_PORT is not set
diff --git a/src/main/resources/yml_properties/application_production.yml b/src/main/resources/yml_properties/application_production.yml
new file mode 100644
index 0000000..43fb0bf
--- /dev/null
+++ b/src/main/resources/yml_properties/application_production.yml
@@ -0,0 +1,19 @@
+logging:
+ level:
+ root: INFO
+ com.jambotronGroup.jambotron: DEBUG
+ org.springframework: WARN
+ pattern:
+ console: "%d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n"
+ file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
+ file:
+ name: logs/application.log
+ max-size: 10MB
+ max-history: 30
+
+server:
+ ssl:
+ enabled: ${SSL_ENABLED:false} # Default to true if SSL_ENABLED is not set
+ certificate: ${FULLCHAINPEM:""} # Default to empty string if FULLCHAINPEM is not set
+ certificate-private-key: ${PRIVKEYPEM:""} # Default to empty string if PRIVKEYPEM is not set
+# port: ${SERVER_PORT:443} # Default to 443 if SERVER_PORT is not set