Update gitignore and config

This commit is contained in:
floppydiskette 2024-08-21 21:14:44 +01:00
parent 178d7b5939
commit 89e8e3f4f6
Signed by: fwoppydwisk
SSH key fingerprint: SHA256:Hqn452XQ1ETzUt/FthJu6+OFkS4NBxCv5VQSEvuk7CE
3 changed files with 46 additions and 3 deletions

4
.gitignore vendored
View file

@ -39,6 +39,8 @@ build/
### Other Stuff ### ### Other Stuff ###
**/resources/config*.json **/resources/config*.json
!**/resources/config.example.json
!**/resources/config.schema.json
### why would this not be here already ### ### why would this not be here already ###
logs/ /logs/

View file

@ -19,12 +19,11 @@ public class Config {
* @throws IOException if the config JSON could not be read * @throws IOException if the config JSON could not be read
*/ */
public static Config readConfig() throws IOException { public static Config readConfig() throws IOException {
System.out.println(Path.of("config.json"));
try (InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("config.json")) { try (InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("config.json")) {
assert in != null; assert in != null;
Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8); Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
return new Gson().fromJson(reader, Config.class); return new Gson().fromJson(reader, Config.class);
} catch (IOException e) { } catch (IOException | NullPointerException e) {
throw new IOException(""" throw new IOException("""
config.json was not found in the root folder (of the project), did you forget to put it ? config.json was not found in the root folder (of the project), did you forget to put it ?
Example structure: Example structure:

View file

@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"token": {
"type": "string"
},
"prefix": {
"type": "string"
},
"mariadb": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"user": {
"type": "string"
},
"password": {
"type": "string"
},
"database": {
"type": "string"
}
},
"required": [
"host",
"user",
"password",
"database"
]
}
},
"required": [
"token",
"prefix",
"mariadb"
]
}