Merge branch 'master' of ssh://git.iatlas.dev:41420/SpaceUp/SpaceUp-Server

This commit is contained in:
Thraax Session 2022-05-28 08:46:23 +02:00
commit 0116104735
101 changed files with 4218 additions and 655 deletions

3
.gitattributes vendored
View File

@ -1,4 +1,3 @@
* text=auto eol=lf
src/main/sass/materialize-sass/* -text -eol linguist-vendored
src/main/resources/static/js/materialize/* -text -eol linguist-vendored
src/main/resources/docs/asciidoc/style/* -text -eol linguist-vendored

40
LICENSE Normal file
View File

@ -0,0 +1,40 @@
Copyright (c) 2022 spaceup@iatlas.technology.
SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
- the GNU Affero General Public License version 3 as published by the Free Software Foundation.
You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See your chosen license for more details.
You should have received a copy of both licenses along with SpaceUp-Server
If not, see <http://www.gnu.org/licenses/>.
There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
be it a verbatim copy or a modified copy.
2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
i) SpaceUp-Server should not fall under a work which is "based on" your work.
ii) You should be free to use SpaceUp-Server in a work covered by the:
- GNU General Public License version 2
- GNU Lesser General Public License version 2.1
This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
as such it should not be covered by their terms and conditions. The relevant passages start at:
- Line 129 of the GNU General Public License version 2
- Line 206 of the GNU Lesser General Public License version 2.1
b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
as you are using SpaceUp-Server under the definition of an "aggregate" work.
c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
https://spaceup.iatlas.technology
Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.

147
README.md
View File

@ -1,4 +1,149 @@
## SpaceUp-Server
Buildserver status:
![TeamCity build status](https://tc.iatlas.dev/app/rest/builds/buildType:id:SpaceUpServer_Build/statusIcon.svg)
![TeamCity build status](https://tc.iatlas.dev/app/rest/builds/buildType:id:SpaceUpServer_Build/statusIcon.svg)
## Description
SpaceUp is a "simple" server / client construct, which helps provide or do actions on your webhost. Or just simplify things without using ssh/console.
It does as much possible without a database (only saving credentials / install process), to keep it easy as possible.
The server application is written in kotlin with micronaut as web framework. The client is written in Dart with Flutter as framework.
## Features
* Adding/Deleting domains
* Handle Web backends
* Start/Stop/Restart services
* Inspecting logfiles of the corresponding service
* Have a look on the space
* Other features which are planned:
* Handle mail (uberspace mail commands)
* Add/Delete services with internal editor
* Support GraalVM as native application for smaller footprint
* Migrating to JVM 11 =< x
* Self-Updating JAR (Never download it by yourself again!)
* Write your own (automation) script (*.sus) to even more simplify jobs and stuff.
Like updating a piece of software. And this script will be automatically available as REST service and visible in the app! Cool, right? 😁
* ... and so on.
If any other feature is wished, write me a small email, so I will register you for youtrack to open an issue:
*thraax.session@iatlas.technology*
Little big bonus: There is a multiplatform app (written in Flutter) which already consumes the APIs. 😁
You should know it's not tested with ios/osx as I am not an apple user.
But it works for Web, Android, Windows and soon Linux.
## Code Repo / Bug tracker / etc.
I've of course my own tool infrastructure where I keep my code and bugs in place.
Git: https://git.iatlas.dev/SpaceUp
Youtrack: https://yt.iatlas.dev/issues/SU
Artifactory:
https://artifactory.iatlas.dev/
## Build & Run
### Server application
Requirements:
* Java 11
* MongoDb 5.x (see Uberspace Lab how to enable it. It's straightforward 😁)
The application itself is a fatjar which can be directly executed.
```
# Build the jar file
./gradlew assemble
#
# The parameters are necessary for now.
# Later they will be used from the installation process.
#
# Normal prod usecase
java -jar target/lib/SpaceUp-{Version}-all.jar -micronaut.server.host=0.0.0.0 -micronaut.host.port=<Your Port> -mongodb.uri=mongodb://xxx:xxx@localhost:41421/admin
# In dev you can directly supply SSH configuration when you pass "-spaceup.dev.ssh.db-credentials=true"
# Default is '-spaceup.dev.ssh.db-credentials=false'
# If you've got troubles, increase loglevel with '-spaceup.logging.level=DEBUG|TRACE'
java -jar target/lib/SpaceUp-{Version}-all.jar -micronaut.server.host=127.0.0.1 -micronaut.host.port=<Your Port> spaceup.dev.ssh.db-credentials=false -spaceup.ssh.host=<Your server to connect> -spaceup.ssh.username=<User> -spaceup.ssh.password=<Password> -mongodb.uri=mongodb://xxx:xxx@localhost:41421/admin
```
Don't forget to create the uberspace web backend to make it external visible for the client. 😉
*After the first run, you have run the installation procedure* in the app. You'll find the APIKey in the application logs.
In dev mode there are Swagger-ui, Redoc and Rapidoc.
See:
* {server}/swagger-ui
* {server}/redoc
* {server}/rapidoc
After first startup you will be greeted with this console output.
*Beware the output of they API Key, which you need to verify that it is you, when you finish the installation!*
```
__ __ _ _
| \/ (_) ___ _ __ ___ _ __ __ _ _ _| |_
| |\/| | |/ __| '__/ _ \| '_ \ / _` | | | | __|
| | | | | (__| | | (_) | | | | (_| | |_| | |_
|_| |_|_|\___|_| \___/|_| |_|\__,_|\__,_|\__|
Micronaut (v3.4.1)
12:14:00.174 [main] INFO i.m.context.env.DefaultEnvironment - Established active environments: [prod]
12:14:02.772 [main] INFO t.iatlas.spaceup.services.DbService - Created DB Connection to mongodb://xxx:xxx@localhost:41421/admin
▄████████ ▄███████▄ ▄████████ ▄████████ ▄████████ ███ █▄ ▄███████▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
███ █▀ ███ ███ ███ ███ ███ █▀ ███ █▀ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ▄███▄▄▄ ███ ███ ███ ███
▀███████████ ▀█████████▀ ▀███████████ ███ ▀▀███▀▀▀ ███ ███ ▀█████████▀
███ ███ ███ ███ ███ █▄ ███ █▄ ███ ███ ███
▄█ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▄████████▀ ▄████▀ ███ █▀ ████████▀ ██████████ ████████▀ ▄████▀
SpaceUp Server (0.24.1-SNAPSHOT)
12:14:03.578 [main] INFO t.i.s.c.startup.StartupEventListener - Running SpaceUp startup
12:14:03.579 [main] INFO t.i.s.c.startup.StartupEventListener - Create remote directories
12:14:03.589 [main] INFO t.i.s.c.startup.StartupEventListener - Create /home/thraax/.spaceup
12:14:03.608 [main] INFO t.i.s.c.startup.StartupEventListener - Create /home/thraax/.spaceup/tmp
12:14:04.081 [main] INFO t.i.s.c.startup.StartupEventListener - Finished SpaceUp startup
12:14:04.163 [main] INFO io.micronaut.runtime.Micronaut - Startup completed in 4417ms. Server Running: http://0.0.0.0:xxx
12:14:06.530 [scheduled-executor-thread-1] INFO t.i.s.services.SchedulerService - Update domain list
12:14:06.589 [scheduled-executor-thread-1] INFO t.iatlas.spaceup.services.SshService - Take saved credentials
12:14:06.589 [scheduled-executor-thread-1] INFO t.iatlas.spaceup.services.SshService - Assuming there is only one configuration
12:14:06.667 [scheduled-executor-thread-1] WARN t.iatlas.spaceup.services.SshService - To authenticate with Privatekey supply '-spaceup.ssh.privatekey="your path to key"' to JAR.
12:14:06.672 [scheduled-executor-thread-1] INFO t.iatlas.spaceup.services.SshService - Authenticate SSH via password!
12:14:08.781 [default-nioEventLoopGroup-1-6] INFO t.i.s.c.a.AuthenticationProviderUserPassword - thraax is authenticated!
12:14:35.148 [default-nioEventLoopGroup-1-2] INFO t.iatlas.spaceup.services.SshService - Upload script getLogs.sh to /home/thraax/.spaceup/tmp/getLogs.sh
```
### Client application
For GNU/Linux, it's as snap available here:
[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/spaceup-ui)
For Android I plan to release it later on F-Droid.
But if you like to build it by your own, go ahead with the following!
Requirements:
* Flutter (current version)
* ADB (if you want to install it directly on your Android phone)
```
# platform: apk, web, windows and etc.
flutter build <platform>
```
Afterwards you can find it here:
```
<your-directory>\SpaceUp-UI\spaceup_ui\build\windows\runner\Release
```

View File

@ -1,16 +1,16 @@
plugins {
id "org.asciidoctor.jvm.convert" version "3.3.2"
id "com.github.jruby-gradle.base" version "2.0.2"
id "org.jetbrains.kotlin.jvm" version "1.6.10"
id "org.jetbrains.kotlin.kapt" version "1.6.10"
id "org.jetbrains.kotlin.plugin.allopen" version "1.6.10"
id "org.jetbrains.kotlin.jvm" version "1.6.21"
id "org.jetbrains.kotlin.kapt" version "1.6.21"
id "org.jetbrains.kotlin.plugin.allopen" version "1.6.21"
id "com.github.johnrengelman.shadow" version "7.1.2"
id "org.sonarqube" version "3.3"
id "application"
id 'maven-publish'
}
version "0.0.21-SNAPSHOT"
version "0.25.1-SNAPSHOT"
group "technology.iatlas.spaceup"
repositories {
@ -18,7 +18,6 @@ repositories {
maven {
url = uri("https://oss.sonatype.org/content/repositories/snapshots")
}
jcenter()
}
configurations {
@ -28,44 +27,41 @@ configurations {
dependencies {
kapt(platform("io.micronaut:micronaut-bom:$micronautVersion"))
kapt("io.micronaut:micronaut-inject-java:$micronautVersion")
kapt("io.micronaut:micronaut-validation:$micronautVersion")
kapt("io.micronaut:micronaut-inject-java:3.4.3")
kapt('io.micronaut:micronaut-validation:3.4.3')
kapt("io.micronaut:micronaut-graal:$micronautVersion")
kapt("io.micronaut.openapi:micronaut-openapi:3.2.0")
kapt("io.micronaut.security:micronaut-security-annotations:3.2.0")
kapt('io.micronaut.openapi:micronaut-openapi:4.0.1')
kapt('io.micronaut.security:micronaut-security-annotations:3.5.0')
compileOnly(platform("io.micronaut:micronaut-bom:$micronautVersion"))
compileOnly('org.graalvm.nativeimage:svm:21.2.0')
compileOnly('org.graalvm.nativeimage:svm:22.0.0.2')
implementation(platform("io.micronaut:micronaut-bom:$micronautVersion"))
implementation('io.micronaut:micronaut-management:3.4.3')
implementation("io.micronaut:micronaut-inject:$micronautVersion")
implementation("io.micronaut:micronaut-validation:$micronautVersion")
implementation('io.micronaut.rxjava3:micronaut-rxjava3:2.1.1')
implementation('io.micronaut.rxjava3:micronaut-rxjava3:2.2.1')
implementation("io.reactivex.rxjava3:rxkotlin:3.0.1")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")
implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
implementation("io.micronaut.kotlin:micronaut-kotlin-runtime:3.0.0")
implementation('io.micronaut.kotlin:micronaut-kotlin-runtime:3.2.2')
implementation("io.micronaut:micronaut-runtime:$micronautVersion")
implementation('javax.annotation:javax.annotation-api:1.3.2')
implementation("io.micronaut:micronaut-http-server-netty:$micronautVersion")
implementation("io.micronaut:micronaut-http-client:$micronautVersion")
implementation('io.swagger.core.v3:swagger-annotations:2.1.12')
implementation("io.micronaut:micronaut-tracing:3.2.4")
runtimeOnly('io.jaegertracing:jaeger-thrift:1.7.0')
implementation('io.micronaut.mongodb:micronaut-mongo-reactive:4.0.0')
implementation('io.swagger.core.v3:swagger-annotations:2.2.0')
implementation('io.micronaut:micronaut-tracing:3.2.7')
runtimeOnly('io.jaegertracing:jaeger-thrift:1.8.0')
implementation("io.micronaut.security:micronaut-security:3.2.0")
implementation("io.micronaut.security:micronaut-security-jwt:3.2.0")
implementation("io.micronaut.kotlin:micronaut-kotlin-extension-functions:3.0.0")
implementation("io.micronaut.cache:micronaut-cache-caffeine:3.0.0")
implementation('org.apache.logging.log4j:log4j-core:2.17.0')
implementation('com.google.code.gson:gson:2.8.9')
implementation('org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0-native-mt')
implementation('com.github.mwiede:jsch:0.1.72')
implementation('io.micronaut.security:micronaut-security-jwt:3.5.0')
implementation('io.micronaut.kotlin:micronaut-kotlin-extension-functions:3.2.2')
implementation('io.micronaut.cache:micronaut-cache-caffeine:3.4.1')
implementation('com.google.code.gson:gson:2.9.0')
implementation('org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1-native-mt')
implementation('com.github.mwiede:jsch:0.2.1')
// NoSQL
implementation(platform("org.dizitart:nitrite-bom:4.0.1-SNAPSHOT"))
implementation('org.dizitart:nitrite')
implementation('org.dizitart:nitrite-mvstore-adapter')
implementation('org.dizitart:potassium-nitrite')
implementation('org.dizitart:nitrite-jackson-mapper')
implementation('org.dizitart:nitrite-spatial')
implementation('io.micronaut.mongodb:micronaut-mongo-reactive:4.2.0')
implementation("org.litote.kmongo:kmongo:4.5.1")
implementation("org.litote.kmongo:kmongo-async:4.5.1")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jdk8")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
@ -75,12 +71,13 @@ dependencies {
implementation group: 'org.asciidoctor', name: 'asciidoctorj', version: '2.5.2'
implementation group: 'org.asciidoctor', name: 'asciidoctorj-api', version: '2.5.2'
implementation group: 'org.asciidoctor', name: 'asciidoctorj-diagram', version: '2.2.1'
// https://mvnrepository.com/artifact/org.jasypt/jasypt
implementation('org.jasypt:jasypt:1.9.3')
runtimeOnly('org.apache.logging.log4j:log4j-api:2.17.0')
runtimeOnly('org.apache.logging.log4j:log4j-slf4j-impl:2.17.0')
runtimeOnly("ch.qos.logback:logback-classic")
runtimeOnly('com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1')
runtimeOnly('io.netty:netty-tcnative:2.0.46.Final')
runtimeOnly('io.netty:netty-tcnative-boringssl-static:2.0.46.Final')
runtimeOnly('io.netty:netty-tcnative:2.0.52.Final')
runtimeOnly('io.netty:netty-tcnative-boringssl-static:2.0.52.Final')
implementation("org.reflections:reflections:0.10.2")
kaptTest(enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion"))
kaptTest("io.micronaut:micronaut-inject-java:$micronautVersion")
@ -88,7 +85,8 @@ dependencies {
testImplementation('org.junit.jupiter:junit-jupiter-api:5.8.2')
testImplementation("io.micronaut.test:micronaut-test-junit5:$micronautVersion")
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.8.2')
testImplementation('de.flapdoodle.embed:de.flapdoodle.embed.mongo:3.2.4')
// Docker Testcontainer
testImplementation 'org.testcontainers:testcontainers:1.17.1'
}
test.classpath += configurations.developmentOnly
@ -101,7 +99,7 @@ test {
}
java {
sourceCompatibility = JavaVersion.toVersion('8')
sourceCompatibility = JavaVersion.toVersion('11')
}
allOpen {
@ -109,14 +107,15 @@ allOpen {
}
compileKotlin {
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '11'
//Will retain parameter names for Java reflection
javaParameters = true
useIR = true
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '11'
javaParameters = true
}
}
@ -188,8 +187,8 @@ publishing {
}
repositories {
maven {
name "nexus"
url "https://artifactory.iatlas.dev/repository/technology.iatlas.spaceup/"
name "Maven"
url "https://artifactory.iatlas.dev/releases/"
credentials {
username "${nexusUsername}"
password "${nexusPassword}"

View File

@ -1,12 +1,44 @@
#!/bin/sh
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use <project name> within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying <project name> as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using <project name> under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
docker build . -t SpaceUp

View File

@ -1,13 +1,45 @@
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you don?t have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use <project name> within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying <project name> as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using <project name> under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
micronautVersion=3.3.0
kotlinVersion=1.6.10
micronautVersion=3.4.4
kotlinVersion=1.6.21
kotlin.code.style=official

View File

@ -1,11 +1,43 @@
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you don?t have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use <project name> within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying <project name> as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using <project name> under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
distributionBase=GRADLE_USER_HOME

40
gradlew vendored
View File

@ -1,13 +1,45 @@
#!/usr/bin/env sh
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
##############################################################################

View File

@ -1,13 +1,46 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
echo "Gradle requires Java 11"
./gradlew sonarqube -D"sonar.projectKey=SpaceUp-Server" -D"sonar.host.url=https://sonar.iatlas.dev" -D"sonar.login=2cbf3a38f3f7e3a580a3a83e18bb574df8793ffc"
SONAR_TOKE=$1
./gradlew sonarqube -D"sonar.projectKey=SpaceUp-Server" -D"sonar.host.url=https://sonar.iatlas.dev" -D"sonar.login=$SONAR_TOKE"

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup
@ -13,11 +45,12 @@ package technology.iatlas.spaceup
import io.micronaut.runtime.Micronaut.build
import io.swagger.v3.oas.annotations.OpenAPIDefinition
import io.swagger.v3.oas.annotations.info.Info
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor
@OpenAPIDefinition(
info = Info(
title = "SpaceUp",
version = "0.20"
version = "0.25.0"
)
)
object Api
@ -31,3 +64,14 @@ fun main(args: Array<String>) {
.start()
}
fun String.encrypt(secret: String): String {
val passwordEncryptor = StandardPBEStringEncryptor()
passwordEncryptor.setPassword(secret)
return passwordEncryptor.encrypt(this)
}
fun String.decrypt(secret: String): String {
val passwordEncryptor = StandardPBEStringEncryptor()
passwordEncryptor.setPassword(secret)
return passwordEncryptor.decrypt(this)
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.config

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.config

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.config

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.config
@ -16,5 +48,4 @@ import io.micronaut.context.annotation.ConfigurationProperties
class SpaceupPathConfig {
var services: String = "~/etc/services.d"
var logs: String = "~/logs"
var db: String = "~/.spaceup"
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller
@ -19,10 +51,7 @@ import io.micronaut.security.rules.SecurityRule
import org.asciidoctor.*
import org.slf4j.LoggerFactory
import java.io.File
import java.nio.file.Files
import java.nio.file.Paths
import java.util.*
import kotlin.io.path.Path
@Secured(SecurityRule.IS_ANONYMOUS)
@Controller("/")
@ -77,19 +106,11 @@ class DocController(
private fun getAllStylesheets(): List<String> {
val allFiles = mutableListOf<String>()
/*File(stylesDir.file).walk().forEach {
log.debug("CSS file: $it")
File(stylesDir.file).walk().forEach {
log.trace("CSS file: $it")
if(it.isFile && it.name.contains(".css")) {
allFiles.add(it.name.split(".")[0])
}
}*/
val absPath = Path(stylesDir.path)
Files.walk(absPath).forEach {
if(it.fileName.endsWith(".css")) {
log.debug("CSS file: $it")
allFiles.add(it.fileName.toString().split(".")[0])
}
}
return allFiles.sorted()

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller.api

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller.api
@ -20,8 +52,8 @@ import io.micronaut.http.annotation.Post
import io.micronaut.security.annotation.Secured
import io.micronaut.security.rules.SecurityRule
import technology.iatlas.spaceup.core.annotations.Installation
import technology.iatlas.spaceup.dto.Ssh
import technology.iatlas.spaceup.dto.User
import technology.iatlas.spaceup.dto.db.Ssh
import technology.iatlas.spaceup.dto.db.User
import technology.iatlas.spaceup.services.InstallerService
/**
@ -36,7 +68,7 @@ class InstallerController(private val installerService: InstallerService) {
* Create a new user for authentication on SpaceUp
* @param User defines a user database object
*/
@Post(uri = "/step/createUser", processes = [MediaType.APPLICATION_JSON])
@Post(uri = "/createUser", processes = [MediaType.APPLICATION_JSON])
fun createUser(@Body user: User, @Header("X-SpaceUp-Key") apiKey: String): HttpResponse<String> {
if(installerService.getApiKey() != apiKey) {
return HttpResponse.status(HttpStatus.EXPECTATION_FAILED, "API Key is not valid!")
@ -49,7 +81,7 @@ class InstallerController(private val installerService: InstallerService) {
* Create the ssh user for authentication via SSH
* @param SshUser defines ssh user database object
*/
@Post(uri = "/step/createSshSetup", processes = [MediaType.APPLICATION_JSON])
@Post(uri = "/createSshSetup", processes = [MediaType.APPLICATION_JSON])
fun createSshUser(@Body ssh: Ssh, @Header("X-SpaceUp-Key") apiKey: String): HttpResponse<String> {
if(installerService.getApiKey() != apiKey) {
return HttpResponse.status(HttpStatus.EXPECTATION_FAILED, "API Key is not valid!")
@ -61,8 +93,8 @@ class InstallerController(private val installerService: InstallerService) {
/**
* This is the final step to finalize the installation. It needs to be run.
*/
@Post(uri = "/step/final")
suspend fun getFinalization(@Header("X-SpaceUp-Key") apiKey: String): HttpResponse<String>{
@Post(uri = "/final")
suspend fun finalize(@Header("X-SpaceUp-Key") apiKey: String): HttpResponse<String>{
if(installerService.getApiKey() != apiKey) {
return HttpResponse.status(HttpStatus.EXPECTATION_FAILED, "API Key is invalid")
}

View File

@ -0,0 +1,27 @@
package technology.iatlas.spaceup.controller.api
import io.micronaut.http.HttpResponse
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
import io.micronaut.security.annotation.Secured
import io.micronaut.security.rules.SecurityRule
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.dto.NetworkProgram
import technology.iatlas.spaceup.services.NetworkService
@Installed
@Secured(SecurityRule.IS_AUTHENTICATED)
@Controller("/api/network")
class NetworkController(
private val networkService: NetworkService,
) {
/**
* Read actively listening programs on network
* @see NetworkProgram
*/
@Get("/read/programs")
suspend fun readListening(): HttpResponse<List<NetworkProgram>> {
return HttpResponse.ok(networkService.readListeningPrograms())
}
}

View File

@ -0,0 +1,23 @@
package technology.iatlas.spaceup.controller.api
import io.micronaut.http.HttpResponse
import io.micronaut.http.MediaType
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
import io.micronaut.security.annotation.Secured
import io.micronaut.security.rules.SecurityRule
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.services.ProcessService
@Installed
@Secured(SecurityRule.IS_AUTHENTICATED)
@Controller("/api/process")
class ProcessController(
private val processService: ProcessService
) {
@Get("/proccess/{pid}", produces = [MediaType.TEXT_PLAIN])
suspend fun getProgramForPid(pid: Int): HttpResponse<String> {
return HttpResponse.ok(processService.getProgByProcess(pid))
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller.api

View File

@ -1,15 +1,49 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller.api
import com.google.gson.Gson
import com.google.gson.JsonObject
import io.micronaut.http.MediaType
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
@ -20,22 +54,34 @@ import technology.iatlas.spaceup.dto.Disk
import technology.iatlas.spaceup.dto.Hostname
import technology.iatlas.spaceup.services.SystemService
@Installed
@Secured(SecurityRule.IS_AUTHENTICATED)
@Controller("/api/system")
class SystemController(private val systemService: SystemService) {
open class SystemController(private val systemService: SystemService) {
@Installed
@Get("/hostname", produces = [MediaType.APPLICATION_JSON])
suspend fun getHostname(): Hostname {
open suspend fun getHostname(): Hostname {
return systemService.getHostname()
}
@Installed
@Get("/disk", produces = [MediaType.APPLICATION_JSON])
suspend fun getDiskUsage(): Disk {
open suspend fun getDiskUsage(): Disk {
return systemService.getDiskQuota()
}
@Get("/version", produces = [MediaType.TEXT_PLAIN])
@Secured(SecurityRule.IS_ANONYMOUS)
@Get("/installed", produces = [MediaType.APPLICATION_JSON])
fun getInstalled(): String {
val isInstalled = systemService.getIsInstalled()
val gson = Gson()
val jsonElement = JsonObject()
jsonElement.asJsonObject.addProperty("isInstalled", isInstalled)
return gson.toJson(jsonElement)
}
@Get("/version", produces = [MediaType.APPLICATION_JSON])
fun getVersion(): String {
return systemService.getSpaceUpVersion()
}

View File

@ -0,0 +1,95 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.controller.api
import io.micronaut.http.HttpResponse
import io.micronaut.http.MediaType
import io.micronaut.http.annotation.*
import io.micronaut.security.annotation.Secured
import io.micronaut.security.rules.SecurityRule
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.dto.Feedback
import technology.iatlas.spaceup.dto.WebbackendCmd
import technology.iatlas.spaceup.dto.WebbackendConfiguration
import technology.iatlas.spaceup.services.WebbackendService
@Installed
@Secured(SecurityRule.IS_AUTHENTICATED)
@Controller("/api/web/backend")
class WebbackendController(
private val webbackendService: WebbackendService
) {
/**
* Gather the 'uberspace web backend list' configuration
*
* @see WebbackendConfiguration
* @return WebbackendConfiguration - the web backend configuration
*/
@Get("/read", processes = [MediaType.APPLICATION_JSON])
suspend fun read(): HttpResponse<List<WebbackendConfiguration>> {
return HttpResponse.ok(webbackendService.read())
}
/**
* Create a new web backend configuration with the 'uberspace web backend set' command.
*
* @return Feedback - the feedback object
* @see Feedback
*/
@Post("/create", processes = [MediaType.APPLICATION_JSON])
suspend fun create(@Body webbackendCmd: WebbackendCmd): HttpResponse<Feedback> {
return HttpResponse.ok(webbackendService.create(webbackendCmd))
}
/**
* Delete the web backend configuration for a specific domain or url with 'uberspace web backend del param'.
*
* @return Feedback - the feedback object
* @see Feedback
*/
@Delete("/delete/{domain}")
suspend fun delete(domain: String): HttpResponse<Feedback> {
return HttpResponse.ok(webbackendService.delete(domain))
}
}

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.annotations
/**
* Encryption is used to encrypt/decrypt any annotated field with SecurityServer
* @see technology.iatlas.spaceup.services.SecurityService
*/
annotation class Encryption

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.annotations

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.annotations

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.annotations

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.auth
@ -18,15 +50,20 @@ import io.micronaut.security.authentication.AuthenticationResponse
import io.reactivex.rxjava3.core.BackpressureStrategy
import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.core.FlowableEmitter
import org.litote.kmongo.getCollection
import org.reactivestreams.Publisher
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.core.helper.colored
import technology.iatlas.spaceup.dto.User
import technology.iatlas.spaceup.dto.db.User
import technology.iatlas.spaceup.services.DbService
import technology.iatlas.spaceup.services.SecurityService
@Installed
@Context
class AuthenticationProviderUserPassword(
private val dbService: DbService
private val dbService: DbService,
private val securityService: SecurityService
): AuthenticationProvider {
override fun authenticate(
httpRequest: HttpRequest<*>?,
@ -35,13 +72,19 @@ class AuthenticationProviderUserPassword(
val log = LoggerFactory.getLogger(AuthenticationProviderUserPassword::class.java)
val db = dbService.getDb()
val userRepo = db.getRepository(User::class.java)
val userRepo = db.getCollection<User>()
return Flowable.create({
emitter: FlowableEmitter<AuthenticationResponse> ->
if (authenticationRequest != null) {
val userFound = userRepo.find().find {
authenticationRequest.identity == it.username && authenticationRequest.secret == it.password
var found = false
securityService.decrypt(it) {
found = (authenticationRequest.identity == it.username &&
authenticationRequest.secret == it.password)
}
found
}
if(userFound != null) {

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd
@ -23,7 +55,7 @@ open class Runner<T>(
private val log: Logger = LoggerFactory.getLogger(Runner::class.java)
@ContinueSpan
override suspend fun execute(@SpanTag("runner.cmd") cmd: CommandInf, parser: ParserInf<T>) {
override suspend fun execute(@SpanTag("ssh.runner") cmd: CommandInf, parser: ParserInf<T>) {
log.debug("Actual cmd: {} ", cmd.parameters)
val script = cmd.shellScript

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.cmd

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.exceptions

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.exceptions

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.exceptions

View File

@ -0,0 +1,45 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.exceptions
class SpaceupException(msg: String): Exception(msg)

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.helper

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.interceptor
@ -16,8 +48,9 @@ import io.micronaut.aop.MethodInvocationContext
import io.micronaut.http.HttpResponse
import io.micronaut.http.HttpStatus
import jakarta.inject.Singleton
import org.litote.kmongo.getCollection
import technology.iatlas.spaceup.core.annotations.Installation
import technology.iatlas.spaceup.dto.Server
import technology.iatlas.spaceup.dto.db.Server
import technology.iatlas.spaceup.services.DbService
@Singleton
@ -28,9 +61,9 @@ class InstallationInterceptor(
override fun intercept(context: MethodInvocationContext<Any, Any>?): Any? {
val db = dbService.getDb()
val serverRepo = db.getRepository(Server::class.java)
val serverRepo = db.getCollection<Server>()
val server = serverRepo.find().first()
val server = serverRepo.find().first()!!
if(server.installed) {
/*throw InstalledException("App is already installed. " +
"Remove spaceup.db and restart Server if you need to.")*/

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.interceptor
@ -14,9 +46,10 @@ import io.micronaut.aop.InterceptorBean
import io.micronaut.aop.MethodInterceptor
import io.micronaut.aop.MethodInvocationContext
import jakarta.inject.Singleton
import org.litote.kmongo.getCollection
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.core.exceptions.NotInstalledException
import technology.iatlas.spaceup.dto.Server
import technology.iatlas.spaceup.dto.db.Server
import technology.iatlas.spaceup.services.DbService
@Singleton
@ -27,9 +60,9 @@ class InstalledInterceptor(
override fun intercept(context: MethodInvocationContext<Any, Any>?): Any? {
val db = dbService.getDb()
val serverRepo = db.getRepository(Server::class.java)
val serverRepo = db.getCollection<Server>()
val server = serverRepo.find().first()
val server = serverRepo.find().first()!!
if(!server.installed) {
throw NotInstalledException("Application needs to be proper installed!")
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser
@ -43,7 +75,6 @@ class DomainParser : ParserInf<List<Domain>> {
}
}
log.trace("Domains: $domainList")
return domainList
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser

View File

@ -0,0 +1,47 @@
package technology.iatlas.spaceup.core.parser
import technology.iatlas.spaceup.core.cmd.ParserInf
import technology.iatlas.spaceup.core.cmd.SshResponse
import technology.iatlas.spaceup.dto.NetworkProgram
import java.io.BufferedReader
class NetworkListenerParser: ParserInf<List<NetworkProgram>> {
override fun parseProcessOutput(processResponse: BufferedReader): List<NetworkProgram> {
TODO("Not yet implemented")
}
override fun parseSshOutput(sshResponse: SshResponse): List<NetworkProgram> {
val networkPrograms = mutableListOf<NetworkProgram>()
val parsedLines = sshResponse.stdout.split("\n")
.filter {
it.contains(Regex("tcp|tcp6"))
}.map {
it.split(Regex("\\s+"))
}
parsedLines.forEach {
netline ->
if(netline[6] != "-") {
if(netline[3].contains("0.0.0.0")) {
val port = netline[3].split(":")[1]
val pid = netline[6].split("/")[0]
val program = netline[6].split("/")[1]
networkPrograms.add(
NetworkProgram(port = Integer.valueOf(port), pid = Integer.valueOf(pid), program = program)
)
} else if(netline[3].contains(":::")) {
val port = netline[3].split(":::")[1]
val pid = netline[6].split("/")[0]
val program = netline[6].split("/")[1]
networkPrograms.add(
NetworkProgram(port = Integer.valueOf(port), pid = Integer.valueOf(pid), program = program)
)
}
}
}
return networkPrograms
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser
@ -16,6 +48,7 @@ import technology.iatlas.spaceup.core.cmd.SshResponse
import technology.iatlas.spaceup.dto.Disk
import java.io.BufferedReader
import java.util.*
import kotlin.math.roundToInt
class QuotaParser: ParserInf<Disk> {
private val log = LoggerFactory.getLogger(QuotaParser::class.java)
@ -63,7 +96,8 @@ class QuotaParser: ParserInf<Disk> {
//val diffPercentage = DecimalFormat("#,##00.00").format((100f - percentage)).toString()
//val usedPercentage = DecimalFormat("#,##00.00").format(percentage).toString()
val disk = Disk(spaceWithUnit, percentage, quotaWithUnit, (100f - percentage))
val percentageTwoDecimals = (percentage * 100.0).roundToInt() / 100.0
val disk = Disk(spaceWithUnit, percentageTwoDecimals.toFloat(), quotaWithUnit, (100 - percentageTwoDecimals).toFloat())
log.trace("Disk: $disk")
return disk

View File

@ -0,0 +1,95 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser
import technology.iatlas.spaceup.core.cmd.ParserInf
import technology.iatlas.spaceup.core.cmd.SshResponse
import technology.iatlas.spaceup.dto.WebbackendConfiguration
import java.io.BufferedReader
class ReadWebbackendParser: ParserInf<List<WebbackendConfiguration>> {
override fun parseProcessOutput(processResponse: BufferedReader): List<WebbackendConfiguration> {
TODO("Not yet implemented")
}
override fun parseSshOutput(sshResponse: SshResponse): List<WebbackendConfiguration> {
val configList = mutableListOf<WebbackendConfiguration>()
val splittedLines = sshResponse.stdout.split("\n")
splittedLines.forEach {
val splittedResponse = it.split(",").map { p -> p.trim() }
if(splittedResponse.size == 3) {
val web = splittedResponse[0]
val process = splittedResponse[1].replace("listening: ", "")
// sanitize credentials
val regex = Regex("://(.*:.*)@")
val service = splittedResponse[2].replace(regex, "://xxx:xxx@")
val webbackendConfiguration = WebbackendConfiguration(web = web, process = process, service = service)
configList.add(webbackendConfiguration)
} else if(splittedResponse.size == 4) {
val web = splittedResponse[0]
val prefix = splittedResponse[1]
val process = splittedResponse[2].replace("listening: ", "")
// sanitize credentials
val regex = Regex("://(.*:.*)@")
val service = splittedResponse[3].replace(regex, "://xxx:xxx@")
val webbackendConfiguration = WebbackendConfiguration(web, prefix, process, service)
configList.add(webbackendConfiguration)
} else {
// For / apache configuration as there are no processes/services behind
if(splittedResponse[0].isNotEmpty()) {
val webbackendConfiguration = WebbackendConfiguration(
splittedResponse[0]
)
configList.add(webbackendConfiguration)
}
}
}
return configList
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.parser

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.core.startup
@ -15,9 +47,10 @@ import com.lordcodes.turtle.shellRun
import io.micronaut.context.event.StartupEvent
import io.micronaut.runtime.event.annotation.EventListener
import jakarta.inject.Singleton
import org.litote.kmongo.getCollection
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.core.helper.colored
import technology.iatlas.spaceup.dto.Server
import technology.iatlas.spaceup.dto.db.Server
import technology.iatlas.spaceup.services.DbService
import technology.iatlas.spaceup.services.InstallerService
import technology.iatlas.spaceup.services.SpaceUpService
@ -35,9 +68,6 @@ class StartupEventListener(
@EventListener
internal fun onApplicationEvent(event: StartupEvent) {
showBanner()
colored {
println("\tSpaceUp Server (${systemService.getSpaceUpVersion()})".cyan.bold)
}
log.info("Running SpaceUp startup")
val os = System.getProperty("os.name")
@ -82,10 +112,11 @@ class StartupEventListener(
}
private fun initDb() {
dbService.initDb()
dbService.init()
// Let's check if we are already installed properly
val db = dbService.getDb()
val serverRepo = db.getRepository(Server::class.java)
val serverRepo = db.getCollection<Server>()
val server = serverRepo.find().firstOrNull()
if(server == null) {
@ -95,7 +126,7 @@ class StartupEventListener(
log.info("Finish installation with API key: ${apiKey.yellow.bold}")
}
val doc = Server(false, apiKey)
serverRepo.insert(doc)
serverRepo.insertOne(doc)
} else {
val installed = server.installed
if(!installed) {
@ -117,5 +148,8 @@ class StartupEventListener(
""".cyan.bold.trimIndent())
}
colored {
println("\tSpaceUp Server (${systemService.getSpaceUpVersion()})".cyan.bold)
}
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -0,0 +1,7 @@
package technology.iatlas.spaceup.dto
data class NetworkProgram(
val port: Int,
val pid: Int,
var program: String
)

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto
data class WebbackendCmd(
val url: String,
val isApache: Boolean = false,
val isHttp: Boolean = false,
val removePrefix: Boolean = false,
val port: Int?
)

View File

@ -0,0 +1,50 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto
data class WebbackendConfiguration(
val web: String,
val prefix: String? = "",
val process: String? = "",
val service: String? = ""
)

View File

@ -0,0 +1,48 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto.db
data class Server(
var installed: Boolean = false,
var apiKey: String
)

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto.db
import technology.iatlas.spaceup.core.annotations.Encryption
data class Ssh(
var server: String,
var username: String,
) {
@field:Encryption
lateinit var password: String
}

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.dto.db
import technology.iatlas.spaceup.core.annotations.Encryption
data class User(
var username: String,
@field:Encryption
var password: String
)

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.events

View File

@ -1,138 +1,95 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
import com.mongodb.client.MongoDatabase
import io.micronaut.context.annotation.Context
import org.dizitart.kno2.nitrite
import org.dizitart.no2.Nitrite
import org.dizitart.no2.exceptions.IndexingException
import org.dizitart.no2.index.IndexOptions
import org.dizitart.no2.index.IndexType
import org.dizitart.no2.migration.Instructions
import org.dizitart.no2.migration.Migration
import org.dizitart.no2.mvstore.MVStoreModule
import io.micronaut.context.annotation.Value
import org.litote.kmongo.KMongo
import org.litote.kmongo.getCollection
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.config.SpaceupPathConfig
import technology.iatlas.spaceup.core.exceptions.DbNotInitializedException
import technology.iatlas.spaceup.dto.Server
import technology.iatlas.spaceup.dto.Ssh
import technology.iatlas.spaceup.dto.User
import java.io.File
import technology.iatlas.spaceup.core.helper.colored
import technology.iatlas.spaceup.dto.db.Server
@Context
class DbService(
spaceupPathConfig: SpaceupPathConfig
spaceUpService: SpaceUpService,
@Value("\${mongodb.uri}")
mongoDbConnection: String
) {
private val log = LoggerFactory.getLogger(DbService::class.java)
private lateinit var db: Nitrite
private var dbPath: File
private var db: MongoDatabase
init {
val path = spaceupPathConfig.db.replaceFirst("~", System.getProperty("user.home"))
dbPath = File(path, "spaceup.db")
}
fun initDb() {
if(dbPath.isFile && dbPath.exists()) {
openDb()
return
}
log.info("Init DB @ $dbPath")
val storeModule = MVStoreModule.withConfig()
.filePath(dbPath)
// Differ between production and dev mode
//.compress(true)
.build()
//val migration1 = Migration1(0, 1)
// Just for logging inside migration
//migration1.steps().forEach { _ -> }
/*db = Nitrite
.builder()
.loadModule(storeModule)
.schemaVersion(1)
//.addMigrations(migration1)
.openOrCreate()*/
db = nitrite("SpaceUp", "Spac3Up!#") {
loadModule(storeModule)
}
log.info("Created and migrated DB")
log.info("Indexing fields ...")
try {
val userCollection = db.getRepository(User::class.java)
if(!userCollection.hasIndex("username")) {
log.debug("indexing 'username for user'")
userCollection.createIndex(IndexOptions.indexOptions(IndexType.UNIQUE), "username")
val client = KMongo.createClient(mongoDbConnection)
log.info("Created DB Connection to $mongoDbConnection")
db = if(spaceUpService.isDevMode()) {
colored {
log.info("Get development DB".yellow)
}
}catch (ex : IndexingException) {
log.warn(ex.message)
}
try {
val sshCollection = db.getRepository(Ssh::class.java)
if(!sshCollection.hasIndex("username")) {
log.debug("indexing 'username for ssh'")
sshCollection.createIndex(IndexOptions.indexOptions(IndexType.UNIQUE), "username")
}
}catch (ex : IndexingException) {
log.warn(ex.message)
}
try {
val serverCollection = db.getRepository(Server::class.java)
if(!serverCollection.hasIndex("installed")) {
log.debug("indexing 'installed for server'")
serverCollection.createIndex(IndexOptions.indexOptions(IndexType.UNIQUE), "installed")
}
}catch (ex : IndexingException) {
log.warn(ex.message)
client.getDatabase("SpaceUp_Dev")
} else {
client.getDatabase("SpaceUp")
}
}
private fun openDb() {
log.info("Create or open DB $dbPath")
val storeModule = MVStoreModule.withConfig()
.filePath(dbPath)
// Differ between production and dev mode
//.compress(true)
.build()
/*db = Nitrite
.builder()
.loadModule(storeModule)
.schemaVersion(1)
// Does not work with credentials
// "SpaceUp", "Spac3Up!#"
.openOrCreate()*/
db = nitrite ("SpaceUp", "Spac3Up!#"){
loadModule(storeModule)
}
}
fun getDb(): Nitrite {
if(!this::db.isInitialized) {
throw DbNotInitializedException("SpaceUp was not initialized! Run 'DbService.initDb()' first.")
}
fun getDb(): MongoDatabase {
return db
}
fun init() {
/*try {
db.createCollection("Server")
db.createCollection("User")
db.createCollection("SSH")
}catch (ex: MongoCommandException) {
log.warn("Collections already exist!")
}*/
}
fun isAppInstalled(): Boolean {
val serverRepo = db.getRepository(Server::class.java)
val serverRepo = db.getCollection<Server>()
val server = serverRepo.find().firstOrNull()
var isInstalled = false
@ -142,33 +99,4 @@ class DbService(
return isInstalled
}
fun deleteDb() {
val deleted = dbPath.delete()
log.info("$dbPath was deleted: $deleted")
}
}
class Migration1(startVersion: Int, endVersion: Int) : Migration(startVersion, endVersion) {
private val log = LoggerFactory.getLogger(Migration1::class.java)
override fun migrate(instructions: Instructions?) {
log.debug("Create 'user' repo")
instructions
?.forRepository(User::class.java)
?.addField<String>("username")
?.addField<String>("password")
log.debug("Create 'ssh' repo")
instructions
?.forRepository(Ssh::class.java)
?.addField<String>("server")
?.addField<String>("username")
?.addField<String>("password")
log.debug("Create 'server' repo")
instructions
?.forRepository(Server::class.java)
?.addField("installed", false)
?.addField("apiKey", "")
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
@ -13,16 +45,20 @@ package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
import io.micronaut.http.HttpResponse
import io.micronaut.http.HttpStatus
import org.dizitart.no2.filters.Filter
import org.litote.kmongo.eq
import org.litote.kmongo.findOne
import org.litote.kmongo.getCollection
import org.litote.kmongo.setValue
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.core.exceptions.InstalledException
import technology.iatlas.spaceup.dto.Server
import technology.iatlas.spaceup.dto.Ssh
import technology.iatlas.spaceup.dto.User
import technology.iatlas.spaceup.dto.db.Server
import technology.iatlas.spaceup.dto.db.Ssh
import technology.iatlas.spaceup.dto.db.User
@Context
class InstallerService(
private val dbService: DbService
private val dbService: DbService,
private val securityService: SecurityService
) {
private val log = LoggerFactory.getLogger(InstallerService::class.java)
@ -36,22 +72,12 @@ class InstallerService(
(('a'..'z') + ('A'..'Z') + ('0'..'9')).random()
}.joinToString("")
/*val md = MessageDigest.getInstance("SHA-256")
val messageDigest = md.digest(setupKey.toByteArray())
val num = BigInteger(1, messageDigest)
var hashText = num.toString(16)
while(hashText.length < 32) {
hashText = "0$hashText"
}
return hashText*/
return setupKey
}
fun getApiKey(): String {
val db = dbService.getDb()
val serverRepo = db.getRepository(Server::class.java)
val serverRepo = db.getCollection<Server>()
val servers = serverRepo.find().toList()
if (servers.size > 1) throw InstalledException("Multiple contrains found! $servers")
@ -61,47 +87,46 @@ class InstallerService(
fun createSshUser(ssh: Ssh): HttpResponse<String> {
val db = dbService.getDb()
val sshRepo = db.getRepository(Ssh::class.java)
val sshRepo = db.getCollection<Ssh>()
val sshUser = sshRepo.findOne(Ssh::username eq ssh.username)
val findSshUsers = sshRepo.find {
it.second.get("username") == ssh.username
}
if(!findSshUsers.isEmpty) {
if(sshUser != null) {
val errorExistingUser = "SSH ${ssh.username} already exists"
log.error(errorExistingUser)
return HttpResponse.badRequest(errorExistingUser)
}
} else {
securityService.encrypt(ssh)
val result = sshRepo.insert(ssh)
if(result.affectedCount == 1) {
log.info("SSH User ${ssh.username} was created")
return HttpResponse.ok("User successfully created!")
val result = sshRepo.insertOne(ssh)
if(result.wasAcknowledged()) {
log.info("SSH User ${ssh.username} was created.")
return HttpResponse.ok("User successfully created!")
}
log.error("Could not create $ssh")
return HttpResponse.badRequest("User ${ssh.username} was not created")
}
return HttpResponse.notAllowed()
}
fun createUser(user: User): HttpResponse<String> {
val db = dbService.getDb()
val userRepo = db.getRepository(User::class.java)
val findUser = userRepo.find {
it.second.get("username") == user.username
}
val userRepo = db.getCollection<User>()
val findUser = userRepo.findOne(User::username eq user.username)
if(!findUser.isEmpty) {
if(findUser != null) {
val errorExistingUser = "User ${user.username} exists already!"
log.error(errorExistingUser)
return HttpResponse.badRequest(errorExistingUser)
}
} else {
securityService.encrypt(user)
val result = userRepo.insert(user)
if(result.affectedCount == 1) {
log.info("User ${user.username} was created")
return HttpResponse.ok("User successfully created!")
val result = userRepo.insertOne(user)
if(result.wasAcknowledged()) {
log.info("User ${user.username} was created.")
return HttpResponse.ok("User successfully created!")
}
log.error("Could not create $user")
return HttpResponse.badRequest("User ${user.username} was not created")
}
return HttpResponse.notAllowed()
}
fun finalizeInstallation(): HttpResponse<String> {
@ -115,10 +140,8 @@ class InstallerService(
// Seems to be fine everything
// Set installation to be done
val db = dbService.getDb()
val serverRepo = db.getRepository(Server::class.java)
val serverDto = Server(true, "")
serverRepo.update(Filter.ALL, serverDto)
val serverRepo = db.getCollection<Server>()
serverRepo.updateOne(Server::installed eq false, setValue(Server::installed, true))
val finishMsg = "Installation done. Set system to state 'installed'"
log.info(finishMsg)
@ -131,22 +154,19 @@ class InstallerService(
private fun validateStep(step: InstallSteps): Boolean {
val db = dbService.getDb()
when (step) {
return when (step) {
InstallSteps.CREATE_USER -> {
val userRepo = db.getRepository(User::class.java)
return !userRepo.find().isEmpty
val userRepo = db.getCollection<User>()
userRepo.findOne() != null
}
InstallSteps.CREATE_SSHUSER -> {
val sshRepo = db.getRepository(Ssh::class.java)
return !sshRepo.find().isEmpty
}
else -> {
return false
val sshRepo = db.getCollection<Ssh>()
sshRepo.findOne() != null
}
}
}
fun getAllSteps(): List<InstallSteps> {
private fun getAllSteps(): List<InstallSteps> {
return InstallSteps.values().toList()
}
}

View File

@ -0,0 +1,37 @@
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
import technology.iatlas.spaceup.core.cmd.Runner
import technology.iatlas.spaceup.core.parser.NetworkListenerParser
import technology.iatlas.spaceup.dto.Command
import technology.iatlas.spaceup.dto.NetworkProgram
@Context
class NetworkService(
sshService: SshService,
private val processService: ProcessService,
private val wsBroadcaster: WsBroadcaster
): WsServiceInf {
override val topic = "network"
private val networkReadRunner = Runner<List<NetworkProgram>>(sshService)
suspend fun readListeningPrograms(): MutableList<NetworkProgram> {
val networkConnectionsCmd = mutableListOf("netstat", "-tlnp")
val networkPrograms: MutableList<NetworkProgram> = mutableListOf()
networkReadRunner.subject().subscribe {
networkPrograms.addAll(it)
wsBroadcaster.broadcast(it, topic)
}
networkReadRunner.execute(Command(networkConnectionsCmd), NetworkListenerParser())
// Resolve process id and replace program with actual call
networkPrograms.map {
it.program = processService.getProgByProcess(it.pid).trim()
}
return networkPrograms
}
}

View File

@ -0,0 +1,28 @@
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
import technology.iatlas.spaceup.core.cmd.Runner
import technology.iatlas.spaceup.core.parser.EchoParser
import technology.iatlas.spaceup.dto.Command
@Context
class ProcessService(
private val sshService: SshService,
private val wsBroadcaster: WsBroadcaster
): WsServiceInf {
override val topic = "process"
private val processRunner = Runner<String>(sshService)
suspend fun getProgByProcess(pid: Int): String {
var program = ""
val getProgramByPID = mutableListOf("ps", "-p", "$pid", "-o", "args", "--no-headers")
processRunner.subject().subscribe {
wsBroadcaster.broadcast(it, topic)
program = it
}
processRunner.execute(Command(getProgramByPID), EchoParser())
return program
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -0,0 +1,96 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Value
import jakarta.inject.Singleton
import technology.iatlas.spaceup.core.annotations.Encryption
import technology.iatlas.spaceup.decrypt
import technology.iatlas.spaceup.encrypt
/**
* En-/decrypt POJOs with ease
*/
@Singleton
class SecurityService {
//private val logger = LoggerFactory.getLogger(SecurityService::class.java)
@Value("\${micronaut.security.token.jwt.signatures.secret.generator.secret}")
private lateinit var secret: String
/**
* Encrypts any the field annotated with '@field:Encryption'
* @param obj requires a POJO with annotated Encryption field
* @see Encryption
*/
fun <T> encrypt(obj: T) {
val fields = obj!!::class.java.declaredFields
fields.forEach { field ->
if(field.isAnnotationPresent(Encryption::class.java)) {
field.isAccessible = true
val value = field.get(obj) as String
field.set(obj, value.encrypt(secret))
}
}
}
/**
* Decrypts any the field annotated with '@field:Encryption'
* @param obj requires a POJO with annotated Encryption field
* @param function Callback function to execute between decryption and encryption
* @see Encryption
*/
fun <T> decrypt(obj: T, function: () -> Unit = {}) {
val fields = obj!!::class.java.declaredFields
fields.forEach { field ->
if(field.isAnnotationPresent(Encryption::class.java)) {
field.isAccessible = true
val value = field.get(obj) as String
field.set(obj, value.decrypt(secret))
}
}
function()
//Re-encrypt after usage
encrypt(obj)
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -1,3 +1,45 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
@ -12,7 +54,7 @@ class SpaceUpService(
val currentEnv = env.activeNames
var isDev = false
currentEnv.forEach {
if(it.contains("dev")) {
if(it.contains("dev") || it.contains("DEV") || it.contains("Dev")) {
isDev = true
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
@ -14,6 +46,8 @@ import com.jcraft.jsch.*
import io.micronaut.context.annotation.Context
import io.micronaut.context.annotation.Value
import kotlinx.coroutines.delay
import org.litote.kmongo.findOne
import org.litote.kmongo.getCollection
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.config.SpaceUpSftpConfig
import technology.iatlas.spaceup.config.SpaceUpSshConfig
@ -21,7 +55,7 @@ import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.core.cmd.CommandInf
import technology.iatlas.spaceup.core.cmd.SshResponse
import technology.iatlas.spaceup.core.helper.colored
import technology.iatlas.spaceup.dto.Ssh
import technology.iatlas.spaceup.dto.db.Ssh
import java.io.ByteArrayOutputStream
import java.io.File
@ -31,7 +65,8 @@ class SshService(
private val sshConfig: SpaceUpSshConfig,
private val sftpConfig: SpaceUpSftpConfig,
private val dbService: DbService,
private val spaceUpService: SpaceUpService
private val spaceUpService: SpaceUpService,
private val securityService: SecurityService
) {
private val log = LoggerFactory.getLogger(SshService::class.java)
@ -44,9 +79,9 @@ class SshService(
fun initSSH() {
val jsch = JSch()
var username: String
var password: String
var host: String
var username = ""
var password = ""
var host = ""
if(spaceUpService.isDevMode() && useDbCredentials == "false") {
colored {
@ -58,13 +93,15 @@ class SshService(
} else {
log.info("Take saved credentials")
val db = dbService.getDb()
val sshRepo = db.getRepository(Ssh::class.java)
log.debug("Assuming there is only one configuration")
val ssh = sshRepo.find().first()
val sshRepo = db.getCollection<Ssh>()
log.info("Assuming there is only one configuration")
val ssh = sshRepo.findOne()!!
username = ssh.username
password = ssh.password
host = ssh.server
securityService.decrypt(ssh) {
username = ssh.username
password = ssh.password
host = ssh.server
}
}
if((sshConfig.privatekey == null || sshConfig.privatekey!!.isEmpty())) {
@ -156,8 +193,8 @@ class SshService(
}
val db = dbService.getDb()
val sshRepo = db.getRepository(Ssh::class.java)
val ssh = sshRepo.find().first()
val sshRepo = db.getCollection<Ssh>()
val ssh = sshRepo.find().first()!!
val file = cmd.shellScript
val remotefile =

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
@ -20,14 +52,17 @@ import technology.iatlas.spaceup.dto.Hostname
import java.util.*
@Context
class SystemService(sshService: SshService) {
class SystemService(
sshService: SshService,
private val dbService: DbService
) {
private val hostnameRunner = Runner<String>(sshService)
private val diskRunner = Runner<Disk>(sshService)
suspend fun getDiskQuota(): Disk {
val cmd = mutableListOf("quota", "-gsl")
val emptyQuotaSpace: Float = 0.0F
var disk: Disk = Disk(
val emptyQuotaSpace = 0.0F
var disk = Disk(
space = "",
spacePercentage = emptyQuotaSpace,
quota = "",
@ -43,7 +78,7 @@ class SystemService(sshService: SshService) {
suspend fun getHostname(): Hostname {
val cmd = mutableListOf("hostname")
var hostname: Hostname = Hostname("")
var hostname = Hostname("")
hostnameRunner.subject().subscribe {
hostname = Hostname(it)
@ -58,4 +93,8 @@ class SystemService(sshService: SshService) {
versionProperty.load(this.javaClass.getResourceAsStream("/version.properties"))
return versionProperty.getProperty("version") ?: "no version"
}
fun getIsInstalled(): Boolean {
return dbService.isAppInstalled()
}
}

View File

@ -1,21 +1,55 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
import technology.iatlas.spaceup.core.annotations.Installed
import technology.iatlas.spaceup.dto.Feedback
import technology.iatlas.spaceup.dto.UpdatePackage
@Context
@Installed
class UpdateService : UpdateServiceInf {
override fun checkFor(updatePackage: UpdatePackage): Boolean {
TODO("Not yet implemented")

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -0,0 +1,136 @@
/*
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services
import io.micronaut.context.annotation.Context
import io.reactivex.rxjava3.kotlin.subscribeBy
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.core.cmd.Runner
import technology.iatlas.spaceup.core.parser.EchoParser
import technology.iatlas.spaceup.core.parser.ReadWebbackendParser
import technology.iatlas.spaceup.dto.Command
import technology.iatlas.spaceup.dto.Feedback
import technology.iatlas.spaceup.dto.WebbackendCmd
import technology.iatlas.spaceup.dto.WebbackendConfiguration
@Context
class WebbackendService(
sshService: SshService,
private val wsBroadcaster: WsBroadcaster
): WsServiceInf {
private val log = LoggerFactory.getLogger(WebbackendService::class.java)
override val topic = "webbackend"
private val baseCmd = "uberspace web backend"
private val webbackendReadRunner = Runner<List<WebbackendConfiguration>>(sshService)
private val webbackendCreateRunner = Runner<String>(sshService)
private val webbackendDeleteRunner = Runner<String>(sshService)
suspend fun read(): List<WebbackendConfiguration> {
val webbackendConfigurations = mutableListOf<WebbackendConfiguration>()
webbackendReadRunner.subject().subscribe {
wsBroadcaster.broadcast(it, topic)
webbackendConfigurations.addAll(it)
}
val readCmd: MutableList<String> = mutableListOf(baseCmd, "list")
webbackendReadRunner.execute(Command(readCmd), ReadWebbackendParser())
return webbackendConfigurations
}
suspend fun create(webbackendCmd: WebbackendCmd): Feedback {
val feedback = Feedback("", "")
webbackendCreateRunner.subject().subscribeBy(
onNext = {
if(it.lowercase().contains("error")) {
feedback.error = it
} else {
feedback.info = it
}
wsBroadcaster.broadcast(feedback, topic)
},
onError = {
feedback.error = "Could not create web backend configuration: "
val errMsg = it.message
if(errMsg != null) {
feedback.error += errMsg
}
}
)
val createCmd: MutableList<String> = mutableListOf(baseCmd, "set")
if(webbackendCmd.isApache) {
createCmd.add("--apache")
}
if(webbackendCmd.isHttp) {
createCmd.add("--http")
}
if(webbackendCmd.removePrefix) {
createCmd.add("--remove-prefix")
}
if(webbackendCmd.port != null) {
createCmd.add("--port ${webbackendCmd.port}")
}
createCmd.add(webbackendCmd.url)
webbackendCreateRunner.execute(Command(createCmd), EchoParser())
return feedback
}
suspend fun delete(domain: String): Feedback {
val feedback = Feedback("", "")
webbackendDeleteRunner.subject().subscribe {
// response: This backend does not exist. For more information ...
if(it.lowercase().contains("does not exist")) {
feedback.error = it
} else {
feedback.info = it
}
wsBroadcaster.broadcast(feedback, topic)
}
val createCmd = mutableListOf(baseCmd, "del", domain)
webbackendDeleteRunner.execute(Command(createCmd), EchoParser())
return feedback
}
}

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.services

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.websocket

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.websocket

View File

@ -1,11 +1,43 @@
/*
* Copyright (c) 2022 Gino Atlas.
* Copyright (c) 2022 spaceup@iatlas.technology.
* SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
* - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
* You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See your chosen license for more details.
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* You should have received a copy of both licenses along with SpaceUp-Server
* If not, see <http://www.gnu.org/licenses/>.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
*
* Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
* 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
* be it a verbatim copy or a modified copy.
* 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
* a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
* i) SpaceUp-Server should not fall under a work which is "based on" your work.
* ii) You should be free to use SpaceUp-Server in a work covered by the:
* - GNU General Public License version 2
* - GNU Lesser General Public License version 2.1
* This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
* as such it should not be covered by their terms and conditions. The relevant passages start at:
* - Line 129 of the GNU General Public License version 2
* - Line 206 of the GNU Lesser General Public License version 2.1
* b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
* as you are using SpaceUp-Server under the definition of an "aggregate" work.
* c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
* should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
*
* Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
*
* Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
* https://spaceup.iatlas.technology
*
* Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
*/
package technology.iatlas.spaceup.websocket
@ -15,7 +47,6 @@ import io.micronaut.websocket.CloseReason
import io.micronaut.websocket.WebSocketSession
import io.micronaut.websocket.annotation.*
import org.slf4j.LoggerFactory
import technology.iatlas.spaceup.dto.Feedback
@ServerWebSocket("/ws/{topic}")
class WebsocketServer{
@ -48,10 +79,9 @@ class WebsocketServer{
/**
* Will be used to send messages to the client
*/
private fun publish(message: Feedback?, session: WebSocketSession) {
/*private fun publish(message: Feedback?, session: WebSocketSession) {
if(session.isOpen) {
session.sendAsync(message)
}
}
}*/
}

View File

@ -1,13 +1,48 @@
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you don?t have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
Args = -H:Name=SpaceUp \
-H:Class=technology.iatlas.spaceup.ApplicationKt \
-H:IncludeResources=logback.xml|application.yml
Args = -H:Name=spaceup-server \
-H:Class=technology.iatlas.spaceup.ApplicationKt \
-H:IncludeResources=logback.xml|log4j2.xml|application.properties \
-H:EnableURLProtocols=http,https \
-H:ConfigurationResourceRoots=native-config \
--allow-incomplete-classpath

View File

@ -1,11 +1,43 @@
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you don?t have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
#Mon Sep 07 15:29:19 GMT 2020
@ -13,15 +45,15 @@ micronaut.application.name=SpaceUp
micronaut.server.port=9090
micronaut.server.cors.enabled=true
micronaut.server.read-timeout=30
#mongodb.uri=mongodb\://${MONGO_HOST\:localhost}\:${MONGO_PORT\:27017}
micronaut.views.csp.enabled=false
#micronaut.views.csp.policy-directives=default-src 'self'; \
# style-src 'self' 'unsafe-inline' fonts.googleapis.com fonts.gstatic.com; \
# font-src 'self' fonts.googleapis.com fonts.gstatic.com; \
# script-src 'self' 'unsafe-inline' unpkg.com cdnjs.cloudflare.com; \
# frame-ancestors 'none'; \
# base-uri 'self';
# child-src 'self'; \
mongodb.uri=mongodb+srv\://${MONGO_SERVER\:localhost\:27017}
micronaut.views.csp.enabled=true
micronaut.views.csp.policy-directives=default-src 'self'; \
style-src 'self' 'unsafe-inline'; \
font-src 'self'; \
script-src 'self' 'unsafe-inline'; \
frame-ancestors 'none'; \
base-uri 'self'; \
child-src 'self'; \
# worker-src 'self' localhost;
# For websocket important
@ -32,18 +64,19 @@ micronaut.server.idle-timeout=-1m
# Enable management endpoints
endpoints.all.enabled=true
endpoints.all.sensitive=false
endpoints.health.details-visible=ANONYMOUS
# Tracing / Jaeger
tracing.jaeger.enabled=false
tracing.jaeger.sampler.probability=1
tracing.jaeger.sender.agent-host=adrastea.uberspace.de
tracing.jaeger.sender.agent-port=41420
#tracing.jaeger.enabled=false
#tracing.jaeger.sampler.probability=1
#tracing.jaeger.sender.agent-host=your.host
#tracing.jaeger.sender.agent-port=your_port
micronaut.security.enabled=true
micronaut.security.authentication=bearer
# The secret needs to be 256bit at least
micronaut.security.token.jwt.signatures.secret.generator.secret="${JWT_GENERATOR_SIGNATURE_SECRET\:d6c5f6358c3fdddd813db7b2bf4efeac25c8f84edc7eeb75c09546b9d0c67d53}"
#micronaut.security.token.jwt.generator.refresh-token.secret="${JWT_GENERATOR_SIGNATURE_SECRET\:123?das#&4523%daDAs!}"
micronaut.security.token.jwt.generator.refresh-token.secret="${JWT_GENERATOR_SIGNATURE_SECRET\:d6c5f6358c3fdddd813db7b2bf4efeac25c8f84edc7eeb75c09546b9d0c67d53}"
#micronaut.ssl.enabled=true
#micronaut.ssl.build-self-signed=true
@ -69,7 +102,7 @@ redoc.enabled=true
#micronaut.router.static-resources.default.paths=classpath:docs/asciidoc/style/**
# Documentation
micronaut.router.static-resources.adoc.mapping=/**
micronaut.router.static-resources.adoc.mapping=/doc/**
micronaut.router.static-resources.adoc.paths=classpath:docs/asciidoc/style
# Swagger
@ -98,7 +131,6 @@ devurl.Redoc.newtab=true
spaceup.path.services=~/etc/services.d/
spaceup.path.logs=~/logs/
spaceup.path.db=~/.spaceup
# Can be passed via arguments
# Also private key is preferred than password if it is set
@ -108,14 +140,14 @@ spaceup.path.db=~/.spaceup
#spaceup.ssh.host
spaceup.ssh.port=22
spaceup.sftp.remotedir=~/.spaceup/tmp
# If set, SpaceUp will take the credentials from db. Otherwise you have to supply -spaceup.ssh.* configuration.
# If set, SpaceUp will take the credentials from db.
# # Otherwise you have to supply -spaceup.ssh.* configuration.
spaceup.dev.ssh.db-credentials=true
# Interval to check for updates
spaceup.scheduler.delayed=3s
spaceup.scheduler.updates=1m
spaceup.scheduler.service-check=5m
spaceup.scheduler.domains.update=1m
spaceup.scheduler.updates=1m
# Email notification
spaceup.service-check.notify=false

View File

@ -1,13 +1,45 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
PATH=$1

View File

@ -1,13 +1,45 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
########################

View File

@ -80,7 +80,8 @@ The application itself is a fatjar which can be directly executed.
java -jar target/lib/SpaceUp-{Version}-all.jar -micronaut.server.host=0.0.0.0 -micronaut.host.port=<Your Port>
# In dev you can directly supply SSH configuration when you pass "-spaceup.dev.ssh.db-credentials=true"
# Default is spaceup.dev.ssh.db-credentials=false
# Default is '-spaceup.dev.ssh.db-credentials=false'
# If you've got troubles, increase loglevel with '-spaceup.logging.level=DEBUG'
java -jar target/lib/SpaceUp-{Version}-all.jar -micronaut.server.host=127.0.0.1 -micronaut.host.port=<Your Port> spaceup.dev.ssh.db-credentials=false -spaceup.ssh.host=<Your server to connect> -spaceup.ssh.username=<User> -spaceup.ssh.password=<Password>
----

View File

@ -1,13 +1,45 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
# quota -lgs

View File

@ -1,13 +1,45 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
# fake uberspace commands for testing

View File

@ -1,12 +1,44 @@
#!/bin/bash -x
#
# Copyright (c) 2022 Gino Atlas.
# Copyright (c) 2022 spaceup@iatlas.technology.
# SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
# - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
# You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See your chosen license for more details.
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# You should have received a copy of both licenses along with SpaceUp-Server
# If not, see <http://www.gnu.org/licenses/>.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
#
# Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
# 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
# be it a verbatim copy or a modified copy.
# 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
# a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
# i) SpaceUp-Server should not fall under a work which is "based on" your work.
# ii) You should be free to use SpaceUp-Server in a work covered by the:
# - GNU General Public License version 2
# - GNU Lesser General Public License version 2.1
# This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
# as such it should not be covered by their terms and conditions. The relevant passages start at:
# - Line 129 of the GNU General Public License version 2
# - Line 206 of the GNU Lesser General Public License version 2.1
# b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
# as you are using SpaceUp-Server under the definition of an "aggregate" work.
# c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
# should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
#
# Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
#
# Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
# https://spaceup.iatlas.technology
#
# Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
#
trap 'echo "$BASH_COMMAND" failed with error code $?' ERR

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2022 Gino Atlas.
~
~ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
~
~ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
~
~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<Configuration status="debug">
<Appenders>
<Console name="LogToConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="technology.iatlas.spaceup" level="debug" additivity="false">
<AppenderRef ref="LogToConsole"/>
</Logger>
<Root level="info">
<AppenderRef ref="LogToConsole"/>
</Root>
</Loggers>
</Configuration>

View File

@ -0,0 +1,61 @@
<!--
~ Copyright (c) 2022 spaceup@iatlas.technology.
~ SpaceUp-Server is free software; You can redistribute it and/or modify it under the terms of:
~ - the GNU Affero General Public License version 3 as published by the Free Software Foundation.
~ You don't have to do anything special to accept the license and you dont have to notify anyone which that you have made that decision.
~
~ SpaceUp-Server is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ See your chosen license for more details.
~
~ You should have received a copy of both licenses along with SpaceUp-Server
~ If not, see <http://www.gnu.org/licenses/>.
~
~
~ There is a strong belief within us that the license we have chosen provides not only the best solution for providing you with the essential freedom necessary to use SpaceUp-Server within your projects, but also for maintaining enough copyleft strength for us to feel confident and secure with releasing our hard work to the public. For your convenience we've included our own interpretation of the license we chose, which can be seen below.
~
~ Our interpretation of the GNU Affero General Public License version 3: (Quoted words are words in which there exists a definition within the license to avoid ambiguity.)
~ 1. You must always provide the source code, copyright and license information of SpaceUp-Server whenever you "convey" any part of SpaceUp-Server;
~ be it a verbatim copy or a modified copy.
~ 2. SpaceUp-Server was developed as a library and has therefore been designed without knowledge of your work; as such the following should be implied:
~ a) SpaceUp-Server was developed without knowledge of your work; as such the following should be implied:
~ i) SpaceUp-Server should not fall under a work which is "based on" your work.
~ ii) You should be free to use SpaceUp-Server in a work covered by the:
~ - GNU General Public License version 2
~ - GNU Lesser General Public License version 2.1
~ This is due to those licenses classifying SpaceUp-Server as a work which would fall under an "aggregate" work by their terms and definitions;
~ as such it should not be covered by their terms and conditions. The relevant passages start at:
~ - Line 129 of the GNU General Public License version 2
~ - Line 206 of the GNU Lesser General Public License version 2.1
~ b) If you have not "modified", "adapted" or "extended" SpaceUp-Server then your work should not be bound by this license,
~ as you are using SpaceUp-Server under the definition of an "aggregate" work.
~ c) If you have "modified", "adapted" or "extended" SpaceUp-Server then any of those modifications/extensions/adaptations which you have made
~ should indeed be bound by this license, as you are using SpaceUp-Server under the definition of a "based on" work.
~
~ Our hopes is that our own interpretation of license aligns perfectly with your own values and goals for using our work freely and securely. If you have any questions at all about the licensing chosen for SpaceUp-Server you can email us directly at spaceup@iatlas.technology or you can get in touch with the license authors (the Free Software Foundation) at licensing@fsf.org to gain their opinion too.
~
~ Alternatively you can provide feedback and acquire the support you need at our support forum. We'll definitely try and help you as soon as possible, and to the best of our ability; as we understand that user experience is everything, so we want to make you as happy as possible! So feel free to get in touch via our support forum and chat with other users of SpaceUp-Server here at:
~ https://spaceup.iatlas.technology
~
~ Thanks, and we hope you enjoy using SpaceUp-Server and that it's everything you ever hoped it could be.
-->
<configuration scan="true" scanPeriod="15 seconds">
<appender name="root" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}) - %msg%n</pattern>
</encoder>
</appender>
<logger name="technology.iatlas.spaceup" level="${spaceup.logging.level:-INFO}"/>
<logger name="org.mongodb.driver.cluster" level="${mongodb.logging.level:-WARN}"/>
<logger name="org.mongodb.driver.connection" level="${mongodb.logging.level:-WARN}"/>
<root level="${root.logging.level:-INFO}">
<appender-ref ref="root" />
</root>
</configuration>

Some files were not shown because too many files have changed in this diff Show More