Initial Commit

This commit is contained in:
2023-12-17 18:53:45 +02:00
commit 762ac578b1
20 changed files with 918 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
package com.hypherionmc.nightbloom.model;
import lombok.Getter;
import java.util.Date;
import java.util.List;
/**
* @author HypherionSA
*/
@Getter
public class FileSummary {
private int id;
private List<String> modLoaders;
private List<String> minecraftVersions;
private int downloads;
private String version;
private int filesize;
private String filename;
private String downloadUrl;
private Date createdAt;
private Date updatedAt;
}

View File

@@ -0,0 +1,24 @@
package com.hypherionmc.nightbloom.model;
import lombok.Getter;
import java.util.Date;
import java.util.List;
/**
* @author HypherionSA
*/
@Getter
public class ProjectFile {
private int id;
private List<String> modLoaders;
private List<String> minecraftVersions;
private int downloads;
private String version;
private String changelog;
private int filesize;
private String filename;
private String downloadUrl;
private Date createdAt;
private Date updatedAt;
}

View File

@@ -0,0 +1,18 @@
package com.hypherionmc.nightbloom.model;
import lombok.Getter;
/**
* @author HypherionSA
*/
@Getter
public class ProjectLinks {
private String websiteUrl;
private String wikiUrl;
private String issuesUrl;
private String sourceUrl;
private String modrinthUrl;
private String curseforgeUrl;
}

View File

@@ -0,0 +1,30 @@
package com.hypherionmc.nightbloom.model;
import lombok.Builder;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
/**
* @author HypherionSA
*/
@Builder
@Getter
public class ProjectMeta {
private final String version;
private final List<String> modloaders = new ArrayList<>();
private final List<String> minecraftVersions = new ArrayList<>();
private final String changelog;
public void addModloader(String loader) {
if (!modloaders.contains(loader))
this.modloaders.add(loader);
}
public void addMinecraft(String mc) {
if (!minecraftVersions.contains(mc))
minecraftVersions.add(mc);
}
}

View File

@@ -0,0 +1,25 @@
package com.hypherionmc.nightbloom.model;
import lombok.Getter;
import java.util.Date;
import java.util.List;
/**
* @author HypherionSA
*/
@Getter
public class ProjectResponse {
private int id;
private String name;
private String slug;
private String description;
private String logo;
private ProjectLinks links;
private int downloads;
private List<FileSummary> files;
private Date createdAt;
private Date updatedAt;
}

View File

@@ -0,0 +1,27 @@
package com.hypherionmc.nightbloom.model;
import com.google.gson.Gson;
import lombok.Getter;
/**
* @author HypherionSA
*/
@Getter
public class StandardResponse {
private boolean error;
private String message;
private Object data;
/**
* Cast the data variable into a Java Class representing the data returned
* @param clazz The class to cast to
* @return The class to cast to
* @param <T> The class to cast to
*/
public <T> T getDataAs(Class<T> clazz) {
Gson gson = new Gson();
String jsonData = gson.toJson(data);
return gson.fromJson(jsonData, clazz);
}
}