Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ab54bb8d3 | |||
| b6a2a9d515 | |||
| be9968c345 | |||
| a1f96f58e6 | |||
| 839df5f059 | |||
| 647fe81537 | |||
| 772dabc708 | |||
| bbd0265f2e | |||
| b0d6afbd4c | |||
| b2045653ef |
+57
-53
@@ -1,8 +1,12 @@
|
||||
name: Build Plugin
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
tags: [ 'v*' ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
@@ -11,62 +15,62 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Java 25
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '25'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Cache Gradle Dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.gradle
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
|
||||
- name: Grant Execute Permission for Gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew shadowJar
|
||||
|
||||
- name: Run Tests
|
||||
run: ./gradlew test
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: plugin-jar
|
||||
path: build/libs/*.jar
|
||||
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Java 25
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '25'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Cache Gradle Dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.gradle
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
|
||||
- name: Grant Execute Permission for Gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew shadowJar
|
||||
|
||||
- name: Run Tests
|
||||
run: ./gradlew test
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: plugin-jar
|
||||
path: build/libs/*.jar
|
||||
|
||||
release:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Java 25
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '25'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Grant Execute Permission for Gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew shadowJar
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: build/libs/*.jar
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Java 25
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '25'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Grant Execute Permission for Gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew shadowJar
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: build/libs/*.jar
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
+5
-2
@@ -38,7 +38,9 @@ bin/
|
||||
/.nb-gradle/
|
||||
|
||||
# VS Code
|
||||
.vscode/
|
||||
.vscode/*
|
||||
!.vscode/java-formatter.xml
|
||||
!.vscode/settings.json
|
||||
|
||||
# Mac OS
|
||||
.DS_Store
|
||||
@@ -58,4 +60,5 @@ desktop.ini
|
||||
|
||||
# Template specific
|
||||
libs/HytaleServer.jar
|
||||
buildSrc/
|
||||
buildSrc/
|
||||
.github/
|
||||
@@ -1,381 +1,123 @@
|
||||
# Hytale Plugin Template
|
||||
# Kweebec Network Core
|
||||
|
||||
A minimal, ready-to-use template for creating Hytale plugins with modern build tools and automated testing.
|
||||
This repository contains the Hytale plugin-side code for the Kweebec network along with the generated Java view of the control-plane API.
|
||||
|
||||
> **✨ Builds immediately without any changes!** Clone and run `./gradlew shadowJar` to get a working plugin JAR.
|
||||
It is not just a generic plugin template anymore. The repo now has two important responsibilities:
|
||||
|
||||
## Features
|
||||
- handwritten Hytale plugin and runtime code
|
||||
- generator-owned Java API packages synced from the sibling `core-control-plane` repository
|
||||
|
||||
✅ **Modern Build System** - Gradle with Kotlin DSL
|
||||
✅ **Automated Testing** - Custom Gradle plugin for one-command server testing
|
||||
✅ **Java 25** - Latest Java features
|
||||
✅ **ShadowJar** - Automatic dependency bundling
|
||||
✅ **CI/CD Ready** - GitHub Actions workflow included
|
||||
✅ **Minimal Structure** - Only essential files, write your own code
|
||||
## Repository purpose
|
||||
|
||||
---
|
||||
`core-network` is where game-side integrations for the network live.
|
||||
|
||||
## Quick Start
|
||||
That includes:
|
||||
|
||||
### Prerequisites
|
||||
- plugin entry points and handwritten Java glue
|
||||
- future gameplay-facing integrations that consume the control-plane API
|
||||
- the generated versioned API tree under `net.kewwbec.network.generated.api.v1`
|
||||
|
||||
- **Java 25 JDK** - [Download here](https://www.oracle.com/java/technologies/downloads/)
|
||||
- **IntelliJ IDEA** - [Download here](https://www.jetbrains.com/idea/download/) (Community Edition is fine)
|
||||
- **Git** - [Download here](https://git-scm.com/)
|
||||
The generated files are meant to make the control plane feel like a stable Java dependency instead of a pile of raw route strings.
|
||||
|
||||
### 1. Clone or Download
|
||||
## Generated control-plane SDK tree
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/hytale-plugin-template.git
|
||||
cd hytale-plugin-template
|
||||
The generated Java API output now lives under:
|
||||
|
||||
```text
|
||||
src/main/java/net/kewwbec/network/generated/api/v1/
|
||||
ControlPlaneApiV1.java
|
||||
shared/
|
||||
announcements/
|
||||
audit/
|
||||
health/
|
||||
infrastructure/
|
||||
integrations/
|
||||
moderation/
|
||||
players/
|
||||
plugins/
|
||||
server/
|
||||
serviceaccounts/
|
||||
social/
|
||||
support/
|
||||
```
|
||||
|
||||
**The template builds immediately without any changes!**
|
||||
You can customize it later when you're ready to develop your plugin.
|
||||
What that means:
|
||||
|
||||
### 2. Build Immediately (No Changes Needed!)
|
||||
- each top-level API domain has its own package
|
||||
- each domain has a `<Domain>Api` entry point
|
||||
- each route has its own generated `*Endpoint` file
|
||||
- shared descriptor records live in `shared/`
|
||||
|
||||
The template works out-of-the-box:
|
||||
Example imports now look like:
|
||||
|
||||
```java
|
||||
import net.kewwbec.network.generated.api.v1.ControlPlaneApiV1;
|
||||
import net.kewwbec.network.generated.api.v1.plugins.PluginsApi;
|
||||
import net.kewwbec.network.generated.api.v1.moderation.CasesShowEndpoint;
|
||||
```
|
||||
|
||||
The handwritten bridge is still:
|
||||
|
||||
```text
|
||||
src/main/java/net/kewwbec/network/network.java
|
||||
```
|
||||
|
||||
Everything under `src/main/java/net/kewwbec/network/generated` is generator-owned and should not be edited manually.
|
||||
|
||||
## How generation works
|
||||
|
||||
The source of truth for the generated API tree is the sibling `core-control-plane` repository.
|
||||
|
||||
Run the sync from that repository:
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
php artisan control-plane:sync-network-sdk --dry-run
|
||||
php artisan control-plane:sync-network-sdk
|
||||
```
|
||||
|
||||
That command exports the Laravel API contract and rewrites the generated Java tree in this repository.
|
||||
|
||||
## Common commands
|
||||
|
||||
```bash
|
||||
# Compile Java sources
|
||||
gradlew.bat compileJava
|
||||
|
||||
# Build the plugin jar
|
||||
gradlew.bat shadowJar
|
||||
|
||||
# Linux/Mac
|
||||
./gradlew shadowJar
|
||||
```
|
||||
# Build with the standard lifecycle
|
||||
gradlew.bat build
|
||||
|
||||
Your plugin JAR will be in: `build/libs/TemplatePlugin-1.0.0.jar`
|
||||
|
||||
### 3. Customize Your Plugin (Optional)
|
||||
|
||||
When ready to customize, edit these files:
|
||||
|
||||
**`settings.gradle.kts`:**
|
||||
|
||||
```kotlin
|
||||
rootProject.name = "your-plugin-name"
|
||||
```
|
||||
|
||||
**`gradle.properties`:**
|
||||
|
||||
```properties
|
||||
pluginGroup=com.yourname
|
||||
pluginVersion=1.0.0
|
||||
pluginDescription=Your plugin description
|
||||
```
|
||||
|
||||
**`src/main/resources/manifest.json`:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Group": "YourName",
|
||||
"Name": "YourPluginName",
|
||||
"Main": "com.yourname.yourplugin.YourPlugin"
|
||||
}
|
||||
```
|
||||
|
||||
**Rename the main plugin class:**
|
||||
|
||||
- Rename `src/main/java/com/example/templateplugin/TemplatePlugin.java`
|
||||
- Update package name to match your `pluginGroup`
|
||||
|
||||
### 4. Build Your Plugin
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
gradlew.bat shadowJar
|
||||
|
||||
# Linux/Mac
|
||||
./gradlew shadowJar
|
||||
```
|
||||
|
||||
Your plugin JAR will be in: `build/libs/YourPluginName-1.0.0.jar`
|
||||
|
||||
### 5. Implement Your Plugin
|
||||
|
||||
Write your plugin code in `src/main/java/`:
|
||||
|
||||
- Commands
|
||||
- Event listeners
|
||||
- Services
|
||||
- Storage
|
||||
- Utilities
|
||||
|
||||
See our [documentation](../Documentation/) for examples and patterns.
|
||||
|
||||
### 6. Test Your Plugin (Automated!)
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
# Run the Hytale server workflow when local server prerequisites are available
|
||||
gradlew.bat runServer
|
||||
|
||||
# Linux/Mac
|
||||
./gradlew runServer
|
||||
```
|
||||
|
||||
This will:
|
||||
If the upstream Hytale server artifact is unavailable, full Gradle compilation may fail before it reaches your plugin code. In that case, validate generated Java-only slices separately and re-run once the dependency is resolvable.
|
||||
|
||||
1. Download the Hytale server (cached for future runs)
|
||||
2. Build your plugin
|
||||
3. Copy it to the server's mods folder
|
||||
4. Start the server with interactive console
|
||||
## Project structure
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
TemplatePlugin/
|
||||
├── .github/workflows/
|
||||
│ └── build.yml # CI/CD workflow
|
||||
├── buildSrc/
|
||||
│ ├── build.gradle.kts # Custom plugin configuration
|
||||
│ └── src/main/kotlin/
|
||||
│ └── RunHytalePlugin.kt # Automated server testing
|
||||
├── src/main/
|
||||
│ ├── java/com/example/templateplugin/
|
||||
│ │ └── TemplatePlugin.java # Minimal main class (example)
|
||||
│ └── resources/
|
||||
│ └── manifest.json # Plugin metadata
|
||||
├── .gitignore # Git ignore rules
|
||||
├── build.gradle.kts # Build configuration
|
||||
├── gradle.properties # Project properties
|
||||
├── settings.gradle.kts # Project settings
|
||||
├── LICENSE # MIT License
|
||||
└── README.md # This file
|
||||
```text
|
||||
core-network/
|
||||
src/main/java/
|
||||
net/kewwbec/network/
|
||||
network.java
|
||||
generated/api/v1/...
|
||||
src/main/resources/
|
||||
manifest.json
|
||||
build.gradle
|
||||
gradle.properties
|
||||
settings.gradle
|
||||
```
|
||||
|
||||
**Note:** This is a minimal template. Create your own folder structure:
|
||||
## Working rules
|
||||
|
||||
- `commands/` - For command implementations
|
||||
- `listeners/` - For event listeners
|
||||
- `services/` - For business logic
|
||||
- `storage/` - For data persistence
|
||||
- `utils/` - For utility classes
|
||||
- `config/` - For configuration management
|
||||
- Do not patch generated files by hand.
|
||||
- Fix the control-plane routes or generator, then re-run the sync command.
|
||||
- Keep handwritten plugin code outside the generated tree.
|
||||
- Treat the control plane as the API owner; the game-side repo is the consumer.
|
||||
|
||||
---
|
||||
## Related repositories
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### Building
|
||||
|
||||
```bash
|
||||
# Compile only
|
||||
./gradlew compileJava
|
||||
|
||||
# Build plugin JAR
|
||||
./gradlew shadowJar
|
||||
|
||||
# Clean and rebuild
|
||||
./gradlew clean shadowJar
|
||||
```
|
||||
|
||||
### Testing
|
||||
|
||||
```bash
|
||||
# Run server with your plugin
|
||||
./gradlew runServer
|
||||
|
||||
# Run unit tests
|
||||
./gradlew test
|
||||
|
||||
# Clean test server
|
||||
rm -rf run/
|
||||
```
|
||||
|
||||
### Debugging
|
||||
|
||||
```bash
|
||||
# Run server in debug mode
|
||||
./gradlew runServer -Pdebug
|
||||
|
||||
# Then connect your IDE debugger to localhost:5005
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Customization
|
||||
|
||||
### Adding Dependencies
|
||||
|
||||
Edit `build.gradle.kts`:
|
||||
|
||||
```kotlin
|
||||
dependencies {
|
||||
// Hytale API (provided by server)
|
||||
compileOnly(files("./HytaleServer.jar"))
|
||||
|
||||
// Your dependencies (will be bundled)
|
||||
implementation("com.google.code.gson:gson:2.10.1")
|
||||
|
||||
// Test dependencies
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
}
|
||||
```
|
||||
|
||||
### Configuring Server Testing
|
||||
|
||||
**Run Hytale Server** - A Gradle plugin to download and run a Hytale server for development and testing purposes. The server files will be located in the `run/` directory of the project. Before starting the server it will compile (shadowJar task) and copy the plugin jar to the server's `mods/` folder.
|
||||
|
||||
**Usage:**
|
||||
|
||||
Edit `build.gradle.kts`:
|
||||
|
||||
```kotlin
|
||||
runHytale {
|
||||
jarUrl = "url to hytale server jar"
|
||||
}
|
||||
```
|
||||
|
||||
Run the server with:
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
gradlew.bat runServer
|
||||
|
||||
# Linux/Mac
|
||||
./gradlew runServer
|
||||
```
|
||||
|
||||
**Features:**
|
||||
|
||||
- ✅ Automatic server JAR download and caching
|
||||
- ✅ Compiles and deploys your plugin automatically
|
||||
- ✅ Starts server with interactive console
|
||||
- ✅ One-command workflow: `./gradlew runServer`
|
||||
- ✅ Server files in `run/` directory (gitignored)
|
||||
|
||||
### Implementing Your Plugin
|
||||
|
||||
**Recommended folder structure:**
|
||||
|
||||
```
|
||||
src/main/java/com/yourname/yourplugin/
|
||||
├── YourPlugin.java # Main class
|
||||
├── commands/ # Commands
|
||||
├── listeners/ # Event listeners
|
||||
├── services/ # Business logic
|
||||
├── storage/ # Data persistence
|
||||
├── config/ # Configuration
|
||||
└── utils/ # Utilities
|
||||
```
|
||||
|
||||
**See our documentation for examples:**
|
||||
|
||||
- [Getting Started with Plugins](https://britakee-studios.gitbook.io/hytale-modding-documentation/plugins-java-development/07-getting-started-with-plugins)
|
||||
- [Advanced Plugin Patterns](https://britakee-studios.gitbook.io/hytale-modding-documentation/plugins-java-development/12-advanced-plugin-patterns)
|
||||
- [Common Plugin Features](https://britakee-studios.gitbook.io/hytale-modding-documentation/plugins-java-development/14-common-plugin-features)
|
||||
|
||||
---
|
||||
|
||||
## CI/CD
|
||||
|
||||
This template includes a GitHub Actions workflow that:
|
||||
|
||||
1. ✅ Builds your plugin on every push
|
||||
2. ✅ Runs tests
|
||||
3. ✅ Uploads artifacts
|
||||
4. ✅ Creates releases (when you tag)
|
||||
|
||||
### Creating a Release
|
||||
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
GitHub Actions will automatically build and create a release with your plugin JAR.
|
||||
|
||||
---
|
||||
|
||||
## Best Practices
|
||||
|
||||
### ✅ DO:
|
||||
|
||||
- Use the Service-Storage pattern for data management
|
||||
- Write unit tests for your business logic
|
||||
- Use structured logging (not `System.out.println`)
|
||||
- Handle errors gracefully
|
||||
- Document your public API
|
||||
- Version your releases semantically (1.0.0, 1.1.0, etc.)
|
||||
|
||||
### ❌ DON'T:
|
||||
|
||||
- Hardcode configuration values
|
||||
- Block the main thread with heavy operations
|
||||
- Ignore exceptions
|
||||
- Use deprecated APIs
|
||||
- Commit sensitive data (API keys, passwords)
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Build Fails
|
||||
|
||||
```bash
|
||||
# Clean and rebuild
|
||||
./gradlew clean build --refresh-dependencies
|
||||
```
|
||||
|
||||
### Server Won't Start
|
||||
|
||||
1. Check that `jarUrl` in `build.gradle.kts` is correct
|
||||
2. Verify Java 25 is installed: `java -version`
|
||||
3. Check logs in `run/logs/`
|
||||
|
||||
### Plugin Not Loading
|
||||
|
||||
1. Verify `manifest.json` has correct `Main` class
|
||||
2. Check server logs for errors
|
||||
3. Ensure all dependencies are bundled in JAR
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
For detailed guides on plugin development, see:
|
||||
|
||||
- [Hytale Modding Documentation](https://github.com/yourusername/hytale-modding/tree/main/Documentation)
|
||||
- [Getting Started with Plugins](../Documentation/07-getting-started-with-plugins.md)
|
||||
- [Advanced Plugin Patterns](../Documentation/12-advanced-plugin-patterns.md)
|
||||
- [Common Plugin Features](../Documentation/14-common-plugin-features.md)
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please:
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Submit a pull request
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This template is released under the MIT License. You are free to use it for any purpose.
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
- **Issues:** [GitHub Issues](https://github.com/yourusername/hytale-plugin-template/issues)
|
||||
- **Documentation:** [Hytale Modding Docs](https://github.com/yourusername/hytale-modding)
|
||||
- **Community:** Join the Hytale modding community
|
||||
|
||||
---
|
||||
|
||||
## Credits
|
||||
|
||||
Created by the Hytale modding community.
|
||||
|
||||
Based on best practices from production Hytale plugins.
|
||||
|
||||
---
|
||||
|
||||
**Happy Modding! 🎮**
|
||||
- `../core-control-plane` owns the Laravel API and the SDK sync commands.
|
||||
- `core-network` consumes the generated Java tree and will host the gameplay-facing wrappers around it.
|
||||
|
||||
+120
-57
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'org.jetbrains.gradle.plugin.idea-ext' version '1.3'
|
||||
id 'com.gradleup.shadow' version '9.3.1'
|
||||
}
|
||||
|
||||
import org.gradle.internal.os.OperatingSystem
|
||||
@@ -8,8 +9,9 @@ import org.gradle.internal.os.OperatingSystem
|
||||
ext {
|
||||
if (project.hasProperty('hytale_home')) {
|
||||
hytaleHome = project.findProperty('hytale_home')
|
||||
}
|
||||
else {
|
||||
} else if (System.getenv('HYTALE_HOME')) {
|
||||
hytaleHome = System.getenv('HYTALE_HOME')
|
||||
} else {
|
||||
def os = OperatingSystem.current()
|
||||
if (os.isWindows()) {
|
||||
hytaleHome = "${System.getProperty("user.home")}/AppData/Roaming/Hytale"
|
||||
@@ -26,11 +28,10 @@ ext {
|
||||
}
|
||||
}
|
||||
|
||||
if (!project.hasProperty('hytaleHome')) {
|
||||
throw new GradleException('Your Hytale install could not be detected automatically. If you are on an unsupported platform or using a custom install location, please define the install location using the hytale_home property.');
|
||||
}
|
||||
else if (!file(project.findProperty('hytaleHome')).exists()) {
|
||||
throw new GradleException("Failed to find Hytale at the expected location. Please make sure you have installed the game. The expected location can be changed using the hytale_home property. Currently looking in ${project.findProperty('hytaleHome')}")
|
||||
def hytaleHomePath = ext.has('hytaleHome') ? hytaleHome : null
|
||||
def hasHytaleHome = (hytaleHomePath != null) && file(hytaleHomePath).exists()
|
||||
if (!hasHytaleHome) {
|
||||
logger.lifecycle("Hytale install not detected; run configs that launch the server will be skipped. Set -Phytale_home=/path/to/Hytale to enable them.")
|
||||
}
|
||||
|
||||
java {
|
||||
@@ -45,16 +46,27 @@ javadoc {
|
||||
}
|
||||
|
||||
// Adds the Hytale server as a build dependency, allowing you to reference and
|
||||
// compile against their code. This requires you to have Hytale installed using
|
||||
// the official launcher for now.
|
||||
// compile against their code without bundling it. When a local install is
|
||||
// present, we still use its jar for launching the server in IDE run configs.
|
||||
dependencies {
|
||||
implementation(files("$hytaleHome/install/$patchline/package/game/latest/Server/HytaleServer.jar"))
|
||||
compileOnly("com.hypixel.hytale:Server:$hytale_build")
|
||||
if (hasHytaleHome) {
|
||||
runtimeOnly(files("$hytaleHome/install/$patchline/package/game/latest/Server/HytaleServer.jar"))
|
||||
}
|
||||
|
||||
// Your dependencies here
|
||||
}
|
||||
|
||||
// Create the working directory to run the server if it does not already exist.
|
||||
def serverRunDir = file("$projectDir/run")
|
||||
if (!serverRunDir.exists()) {
|
||||
serverRunDir.mkdirs()
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = "hytale-release"
|
||||
url = uri("https://maven.hytale.com/release")
|
||||
}
|
||||
maven {
|
||||
name = "hytale-pre-release"
|
||||
url = uri("https://maven.hytale.com/pre-release")
|
||||
}
|
||||
}
|
||||
|
||||
// Updates the manifest.json file with the latest properties defined in the
|
||||
@@ -78,54 +90,105 @@ tasks.named('processResources') {
|
||||
dependsOn 'updatePluginManifest'
|
||||
}
|
||||
|
||||
def createServerRunArguments(String srcDir) {
|
||||
def programParameters = '--allow-op --disable-sentry --assets="' + "${hytaleHome}/install/$patchline/package/game/latest/Assets.zip" + '"'
|
||||
def modPaths = []
|
||||
if (includes_pack.toBoolean()) {
|
||||
modPaths << srcDir
|
||||
}
|
||||
if (load_user_mods.toBoolean()) {
|
||||
modPaths << "${hytaleHome}/UserData/Mods"
|
||||
}
|
||||
if (!modPaths.isEmpty()) {
|
||||
programParameters += ' --mods="' + modPaths.join(',') + '"'
|
||||
}
|
||||
return programParameters
|
||||
tasks.named('shadowJar') {
|
||||
archiveClassifier.set('')
|
||||
mergeServiceFiles()
|
||||
}
|
||||
|
||||
// Creates a run configuration in IDEA that will run the Hytale server with
|
||||
// your plugin and the default assets.
|
||||
idea.project.settings.runConfigurations {
|
||||
'HytaleServer'(org.jetbrains.gradle.ext.Application) {
|
||||
mainClass = 'com.hypixel.hytale.Main'
|
||||
moduleName = project.idea.module.name + '.main'
|
||||
programParameters = createServerRunArguments(sourceSets.main.java.srcDirs.first().parentFile.absolutePath)
|
||||
workingDirectory = serverRunDir.absolutePath
|
||||
}
|
||||
// Ensure the shaded jar is produced during a normal build.
|
||||
tasks.named('build') {
|
||||
dependsOn 'shadowJar'
|
||||
}
|
||||
|
||||
// Creates a launch.json file for VSCode with the same configuration
|
||||
tasks.register('generateVSCodeLaunch') {
|
||||
def vscodeDir = file("$projectDir/.vscode")
|
||||
def launchFile = file("$vscodeDir/launch.json")
|
||||
doLast {
|
||||
if (!vscodeDir.exists()) {
|
||||
vscodeDir.mkdirs()
|
||||
if (hasHytaleHome) {
|
||||
// Create the working directory to run the server if it does not already exist.
|
||||
def serverRunDir = file("$projectDir/run")
|
||||
if (!serverRunDir.exists()) {
|
||||
serverRunDir.mkdirs()
|
||||
}
|
||||
|
||||
def createServerRunArguments = { String srcDir ->
|
||||
def programParameters = '--allow-op --disable-sentry --assets="' + "${hytaleHome}/install/$patchline/package/game/latest/Assets.zip" + '"'
|
||||
def modPaths = []
|
||||
if (includes_pack.toBoolean()) {
|
||||
modPaths << srcDir
|
||||
}
|
||||
def programParams = createServerRunArguments("\${workspaceFolder}")
|
||||
def launchConfig = [
|
||||
version: "0.2.0",
|
||||
configurations: [
|
||||
[
|
||||
type: "java",
|
||||
name: "HytaleServer",
|
||||
request: "launch",
|
||||
mainClass: "com.hypixel.hytale.Main",
|
||||
args: programParams,
|
||||
cwd: "\${workspaceFolder}/run"
|
||||
]
|
||||
if (load_user_mods.toBoolean()) {
|
||||
modPaths << "${hytaleHome}/UserData/Mods"
|
||||
}
|
||||
if (!modPaths.isEmpty()) {
|
||||
programParameters += ' --mods="' + modPaths.join(',') + '"'
|
||||
}
|
||||
return programParameters
|
||||
}
|
||||
|
||||
def serverJar = file("$hytaleHome/install/$patchline/package/game/latest/Server/HytaleServer.jar")
|
||||
def assetsZip = file("$hytaleHome/install/$patchline/package/game/latest/Assets.zip")
|
||||
def shadowJarTask = tasks.named('shadowJar')
|
||||
|
||||
tasks.register('runServerJar', JavaExec) {
|
||||
dependsOn shadowJarTask
|
||||
mainClass = 'com.hypixel.hytale.Main'
|
||||
classpath = files(serverJar)
|
||||
workingDir = serverRunDir.absolutePath
|
||||
doFirst {
|
||||
def modPaths = [shadowJarTask.get().archiveFile.get().asFile.absolutePath]
|
||||
if (load_user_mods.toBoolean()) {
|
||||
modPaths << "${hytaleHome}/UserData/Mods"
|
||||
}
|
||||
setArgs([
|
||||
'--allow-op',
|
||||
'--disable-sentry',
|
||||
"--assets=${assetsZip}",
|
||||
"--mods=${modPaths.join(',')}"
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register('runServer') {
|
||||
dependsOn 'runServerJar'
|
||||
}
|
||||
|
||||
// Creates a run configuration in IDEA that will run the Hytale server with
|
||||
// your plugin and the default assets.
|
||||
idea.project.settings.runConfigurations {
|
||||
'HytaleServer'(org.jetbrains.gradle.ext.Application) {
|
||||
mainClass = 'com.hypixel.hytale.Main'
|
||||
moduleName = project.idea.module.name + '.main'
|
||||
programParameters = createServerRunArguments(sourceSets.main.java.srcDirs.first().parentFile.absolutePath)
|
||||
workingDirectory = serverRunDir.absolutePath
|
||||
}
|
||||
}
|
||||
|
||||
// Creates a launch.json file for VSCode with the same configuration
|
||||
tasks.register('generateVSCodeLaunch') {
|
||||
def vscodeDir = file("$projectDir/.vscode")
|
||||
def launchFile = file("$vscodeDir/launch.json")
|
||||
doLast {
|
||||
if (!vscodeDir.exists()) {
|
||||
vscodeDir.mkdirs()
|
||||
}
|
||||
def programParams = createServerRunArguments("\${workspaceFolder}")
|
||||
def launchConfig = [
|
||||
version: "0.2.0",
|
||||
configurations: [
|
||||
[
|
||||
type: "java",
|
||||
name: "HytaleServer",
|
||||
request: "launch",
|
||||
mainClass: "com.hypixel.hytale.Main",
|
||||
args: programParams,
|
||||
cwd: "\${workspaceFolder}/run"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
launchFile.text = groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(launchConfig))
|
||||
launchFile.text = groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(launchConfig))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
tasks.register('generateVSCodeLaunch') {
|
||||
doLast {
|
||||
logger.lifecycle("Skipped VSCode launch configuration because hytale_home is not set or the install path is missing.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
plugins {
|
||||
id("java-library")
|
||||
id("com.gradleup.shadow") version "9.3.1"
|
||||
id("run-hytale")
|
||||
}
|
||||
|
||||
group = findProperty("pluginGroup") as String? ?: "com.example"
|
||||
version = findProperty("pluginVersion") as String? ?: "1.0.0"
|
||||
description = findProperty("pluginDescription") as String? ?: "A Hytale plugin template"
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Hytale Server API (provided by server at runtime)
|
||||
compileOnly(files("./libs/HytaleServer.jar"))
|
||||
|
||||
// Common dependencies (will be bundled in JAR)
|
||||
implementation("com.google.code.gson:gson:2.10.1")
|
||||
implementation("org.jetbrains:annotations:24.1.0")
|
||||
|
||||
// Test dependencies
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
||||
}
|
||||
|
||||
// Configure server testing
|
||||
runHytale {
|
||||
jarUrl = "./libs/HytaleServer.jar"
|
||||
assetsPath = "./libs/Assets.zip"
|
||||
}
|
||||
|
||||
tasks {
|
||||
// Configure Java compilation
|
||||
compileJava {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
options.release = 25
|
||||
}
|
||||
|
||||
// Configure resource processing
|
||||
processResources {
|
||||
filteringCharset = Charsets.UTF_8.name()
|
||||
|
||||
// Replace placeholders in manifest.json
|
||||
val props = mapOf(
|
||||
"group" to project.group,
|
||||
"version" to project.version,
|
||||
"description" to project.description
|
||||
)
|
||||
inputs.properties(props)
|
||||
|
||||
filesMatching("manifest.json") {
|
||||
expand(props)
|
||||
}
|
||||
}
|
||||
|
||||
// Configure ShadowJar (bundle dependencies)
|
||||
shadowJar {
|
||||
archiveBaseName.set(rootProject.name)
|
||||
archiveClassifier.set("")
|
||||
|
||||
// Relocate dependencies to avoid conflicts
|
||||
relocate("com.google.gson", "com.yourplugin.libs.gson")
|
||||
|
||||
// Minimize JAR size (removes unused classes)
|
||||
minimize()
|
||||
}
|
||||
|
||||
// Configure tests
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
// Make build depend on shadowJar
|
||||
build {
|
||||
dependsOn(shadowJar)
|
||||
}
|
||||
}
|
||||
|
||||
// Configure Java toolchain
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion.set(JavaLanguageVersion.of(25))
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -19,6 +19,11 @@ includes_pack=true
|
||||
# official launcher.
|
||||
patchline=release
|
||||
|
||||
# The exact Hytale build to compile against. Use the build string from the
|
||||
# launcher (format YYYY.MM.DD-<hash>) so Gradle pulls the matching server jar
|
||||
# for your selected patchline.
|
||||
hytale_build=2026.01.27-734d39026
|
||||
|
||||
# Determines if the development server should also load mods from the user's
|
||||
# standard mods folder. This lets you test mods by installing them where a
|
||||
# normal player would, instead of adding them as dependencies or adding them
|
||||
@@ -29,4 +34,4 @@ load_user_mods=false
|
||||
# manually. You may also want to use a custom path if you are building in
|
||||
# a non-standard environment like a build server. The home path should
|
||||
# the folder that contains the install and UserData folder.
|
||||
# hytale_home=./test-file
|
||||
# hytale_home=./test-file
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
package net.kewwbec.network.generated.api.v1;
|
||||
|
||||
import net.kewwbec.network.generated.api.v1.announcements.AnnouncementsApi;
|
||||
import net.kewwbec.network.generated.api.v1.audit.AuditApi;
|
||||
import net.kewwbec.network.generated.api.v1.health.HealthApi;
|
||||
import net.kewwbec.network.generated.api.v1.infrastructure.InfrastructureApi;
|
||||
import net.kewwbec.network.generated.api.v1.integrations.IntegrationsApi;
|
||||
import net.kewwbec.network.generated.api.v1.moderation.ModerationApi;
|
||||
import net.kewwbec.network.generated.api.v1.players.PlayersApi;
|
||||
import net.kewwbec.network.generated.api.v1.plugins.PluginsApi;
|
||||
import net.kewwbec.network.generated.api.v1.server.ServerApi;
|
||||
import net.kewwbec.network.generated.api.v1.serviceaccounts.ServiceAccountsApi;
|
||||
import net.kewwbec.network.generated.api.v1.social.SocialApi;
|
||||
import net.kewwbec.network.generated.api.v1.support.SupportApi;
|
||||
|
||||
public final class ControlPlaneApiV1 {
|
||||
public static final ControlPlaneApiV1 INSTANCE = new ControlPlaneApiV1();
|
||||
|
||||
private static final String API_VERSION = "v1";
|
||||
private static final String BASE_PATH = "/api/v1";
|
||||
private static final String FINGERPRINT = "4dfbb2630cab5693fcc6f310408442201b6a4881f60a582d04fc2d6d05c45420";
|
||||
private static final int DOMAIN_COUNT = 12;
|
||||
private static final int ENDPOINT_COUNT = 69;
|
||||
|
||||
private ControlPlaneApiV1() {
|
||||
}
|
||||
|
||||
public String apiVersion() {
|
||||
return API_VERSION;
|
||||
}
|
||||
|
||||
public String basePath() {
|
||||
return BASE_PATH;
|
||||
}
|
||||
|
||||
public String fingerprint() {
|
||||
return FINGERPRINT;
|
||||
}
|
||||
|
||||
public int domainCount() {
|
||||
return DOMAIN_COUNT;
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINT_COUNT;
|
||||
}
|
||||
|
||||
public AnnouncementsApi announcements() {
|
||||
return AnnouncementsApi.INSTANCE;
|
||||
}
|
||||
|
||||
public AuditApi audit() {
|
||||
return AuditApi.INSTANCE;
|
||||
}
|
||||
|
||||
public HealthApi health() {
|
||||
return HealthApi.INSTANCE;
|
||||
}
|
||||
|
||||
public InfrastructureApi infrastructure() {
|
||||
return InfrastructureApi.INSTANCE;
|
||||
}
|
||||
|
||||
public IntegrationsApi integrations() {
|
||||
return IntegrationsApi.INSTANCE;
|
||||
}
|
||||
|
||||
public ModerationApi moderation() {
|
||||
return ModerationApi.INSTANCE;
|
||||
}
|
||||
|
||||
public PlayersApi players() {
|
||||
return PlayersApi.INSTANCE;
|
||||
}
|
||||
|
||||
public PluginsApi plugins() {
|
||||
return PluginsApi.INSTANCE;
|
||||
}
|
||||
|
||||
public ServerApi server() {
|
||||
return ServerApi.INSTANCE;
|
||||
}
|
||||
|
||||
public ServiceAccountsApi serviceAccounts() {
|
||||
return ServiceAccountsApi.INSTANCE;
|
||||
}
|
||||
|
||||
public SocialApi social() {
|
||||
return SocialApi.INSTANCE;
|
||||
}
|
||||
|
||||
public SupportApi support() {
|
||||
return SupportApi.INSTANCE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.announcements;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ActiveEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.announcements.active",
|
||||
List.of("GET"),
|
||||
"/api/v1/announcements/active",
|
||||
List.of("announcements.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:announcements.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Announcements\\Http\\Requests\\ListActiveAnnouncementsRequest", "query", List.of(new RequestField("audience", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"network\",\"server\",\"website\",\"player_portal\""))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ActiveEndpoint() {
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package net.kewwbec.network.generated.api.v1.announcements;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class AnnouncementsApi {
|
||||
public static final AnnouncementsApi INSTANCE = new AnnouncementsApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
ActiveEndpoint.VALUE
|
||||
);
|
||||
|
||||
private AnnouncementsApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "announcements";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint active() {
|
||||
return ActiveEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package net.kewwbec.network.generated.api.v1.audit;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class AuditApi {
|
||||
public static final AuditApi INSTANCE = new AuditApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
EventsIndexEndpoint.VALUE
|
||||
);
|
||||
|
||||
private AuditApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "audit";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint eventsIndex() {
|
||||
return EventsIndexEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.audit;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class EventsIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.audit.events.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/audit/events",
|
||||
List.of("audit-events.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:audit-events.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Audit\\Http\\Requests\\ListAuditEventsRequest", "query", List.of(new RequestField("action", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("actor_type", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("actor_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("target_type", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("target_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private EventsIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package net.kewwbec.network.generated.api.v1.health;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class HealthApi {
|
||||
public static final HealthApi INSTANCE = new HealthApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
HealthEndpoint.VALUE
|
||||
);
|
||||
|
||||
private HealthApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "health";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint health() {
|
||||
return HealthEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.health;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class HealthEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.health",
|
||||
List.of("GET"),
|
||||
"/api/v1/health",
|
||||
List.of(),
|
||||
List.of("api"),
|
||||
List.of(),
|
||||
null,
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private HealthEndpoint() {
|
||||
}
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class InfrastructureApi {
|
||||
public static final InfrastructureApi INSTANCE = new InfrastructureApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
ServerInstancesPresenceIndexEndpoint.VALUE,
|
||||
ServerTemplatesIndexEndpoint.VALUE,
|
||||
ServerTemplatesShowEndpoint.VALUE,
|
||||
ServerTemplatesStoreEndpoint.VALUE,
|
||||
ServerTemplatesUpdateEndpoint.VALUE
|
||||
);
|
||||
|
||||
private InfrastructureApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "infrastructure";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint serverInstancesPresenceIndex() {
|
||||
return ServerInstancesPresenceIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint serverTemplatesIndex() {
|
||||
return ServerTemplatesIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint serverTemplatesShow() {
|
||||
return ServerTemplatesShowEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint serverTemplatesStore() {
|
||||
return ServerTemplatesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint serverTemplatesUpdate() {
|
||||
return ServerTemplatesUpdateEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ServerInstancesPresenceIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.infrastructure.server-instances.presence.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/infrastructure/server-instances/presence",
|
||||
List.of("presence.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:presence.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\ListServerPresenceRequest", "query", List.of(new RequestField("region", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("template", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:150"))), new RequestField("category", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"provisioning\",\"starting\",\"running\",\"draining\",\"stopped\",\"unhealthy\""))), new RequestField("presence_state", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"online\",\"missing\",\"any\""))), new RequestField("has_capacity", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "boolean"))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ServerInstancesPresenceIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ServerTemplatesIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.infrastructure.server-templates.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/infrastructure/server-templates",
|
||||
List.of("server-templates.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server-templates.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\ListServerTemplatesRequest", "query", List.of(new RequestField("region_key", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:regions,key"))), new RequestField("category", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("lifecycle_strategy", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"manual\",\"static\",\"elastic\""))), new RequestField("is_active", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "boolean"))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ServerTemplatesIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ServerTemplatesShowEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.infrastructure.server-templates.show",
|
||||
List.of("GET"),
|
||||
"/api/v1/infrastructure/server-templates/{serverTemplate}",
|
||||
List.of("server-templates.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server-templates.read"),
|
||||
List.of(new RouteParameter("serverTemplate", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerTemplate", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Infrastructure\\Resources\\ServerTemplateResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ServerTemplatesShowEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ServerTemplatesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.infrastructure.server-templates.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/infrastructure/server-templates",
|
||||
List.of("server-templates.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server-templates.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\StoreServerTemplateRequest", "body", List.of(new RequestField("region_key", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:regions,key"))), new RequestField("key", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:150"), new RuleDescriptor("string", null, "regex:/^[a-z0-9._-]+$/"), new RuleDescriptor("string", null, "unique:server_templates,key"))), new RequestField("name", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:120"))), new RequestField("category", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("lifecycle_strategy", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"manual\",\"static\",\"elastic\""))), new RequestField("version", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:80"))), new RequestField("max_players", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"))), new RequestField("is_active", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "boolean"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ServerTemplatesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.infrastructure;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ServerTemplatesUpdateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.infrastructure.server-templates.update",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/infrastructure/server-templates/{serverTemplate}",
|
||||
List.of("server-templates.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server-templates.write"),
|
||||
List.of(new RouteParameter("serverTemplate", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerTemplate", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\UpdateServerTemplateRequest", "body", List.of(new RequestField("region_key", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:regions,key"))), new RequestField("key", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:150"), new RuleDescriptor("string", null, "regex:/^[a-z0-9._-]+$/"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\Unique", "unique:server_templates,key,NULL,id"))), new RequestField("name", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:120"))), new RequestField("category", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("lifecycle_strategy", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"manual\",\"static\",\"elastic\""))), new RequestField("version", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:80"))), new RequestField("max_players", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"))), new RequestField("is_active", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "boolean"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ServerTemplatesUpdateEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.integrations;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.integrations.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/integrations",
|
||||
List.of("integrations.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:integrations.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Integrations\\Http\\Requests\\ListIntegrationsRequest", "query", List.of(new RequestField("driver", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"discord\",\"website\",\"webhook\",\"commerce\",\"analytics\",\"internal_tool\""))), new RequestField("direction", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"inbound\",\"outbound\",\"bidirectional\""))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"active\",\"paused\",\"error\",\"retired\""))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IndexEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package net.kewwbec.network.generated.api.v1.integrations;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class IntegrationsApi {
|
||||
public static final IntegrationsApi INSTANCE = new IntegrationsApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
IndexEndpoint.VALUE,
|
||||
StoreEndpoint.VALUE,
|
||||
UpdateEndpoint.VALUE
|
||||
);
|
||||
|
||||
private IntegrationsApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "integrations";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint index() {
|
||||
return IndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint store() {
|
||||
return StoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint update() {
|
||||
return UpdateEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.integrations;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class StoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.integrations.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/integrations",
|
||||
List.of("integrations.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:integrations.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Integrations\\Http\\Requests\\StoreIntegrationRequest", "body", List.of(new RequestField("key", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"), new RuleDescriptor("string", null, "unique:integrations,key"))), new RequestField("name", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("driver", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"discord\",\"website\",\"webhook\",\"commerce\",\"analytics\",\"internal_tool\""))), new RequestField("direction", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"inbound\",\"outbound\",\"bidirectional\""))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"active\",\"paused\",\"error\",\"retired\""))), new RequestField("endpoint", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("secret_reference", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("last_sync_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private StoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.integrations;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class UpdateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.integrations.update",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/integrations/{integration}",
|
||||
List.of("integrations.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:integrations.write"),
|
||||
List.of(new RouteParameter("integration", new TypeDescriptor("App\\Domains\\Integrations\\Models\\Integration", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Integrations\\Http\\Requests\\UpdateIntegrationRequest", "body", List.of(new RequestField("name", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("driver", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"discord\",\"website\",\"webhook\",\"commerce\",\"analytics\",\"internal_tool\""))), new RequestField("direction", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"inbound\",\"outbound\",\"bidirectional\""))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"active\",\"paused\",\"error\",\"retired\""))), new RequestField("endpoint", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("secret_reference", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("last_sync_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("last_error_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("last_error_summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private UpdateEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesAppealsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.appeals.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/moderation/cases/{moderationCase}/appeals",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\StoreModerationCaseAppealRequest", "body", List.of(new RequestField("submitted_by_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("submitted_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesAppealsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesEvidenceStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.evidence.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/moderation/cases/{moderationCase}/evidence",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\StoreModerationCaseEvidenceRequest", "body", List.of(new RequestField("kind", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"chat_log\",\"screenshot\",\"video\",\"external_link\",\"note\""))), new RequestField("headline", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("storage_driver", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("storage_reference", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:1000"))), new RequestField("submitted_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesEvidenceStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/moderation/cases",
|
||||
List.of("moderation.cases.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\ListModerationCasesRequest", "query", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"under_review\",\"resolved\",\"closed\""))), new RequestField("case_type", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"report\",\"investigation\",\"appeal\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("subject_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesPunishmentsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.punishments.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/moderation/cases/{moderationCase}/punishments",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\StoreModerationPunishmentRequest", "body", List.of(new RequestField("punishment_type", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"warning\",\"mute\",\"suspension\",\"ban\""))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("starts_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("ends_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesPunishmentsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesPunishmentsUpdateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.punishments.update",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/moderation/cases/{moderationCase}/punishments/{punishment}",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false)), new RouteParameter("punishment", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationPunishment", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\RevokeModerationPunishmentRequest", "body", List.of(new RequestField("revoked_reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("revoked_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesPunishmentsUpdateEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesReopenEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.reopen",
|
||||
List.of("POST"),
|
||||
"/api/v1/moderation/cases/{moderationCase}/reopen",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\ReopenModerationCaseRequest", "body", List.of(new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"under_review\""))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("reopened_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesReopenEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesShowEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.show",
|
||||
List.of("GET"),
|
||||
"/api/v1/moderation/cases/{moderationCase}",
|
||||
List.of("moderation.cases.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.read"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Moderation\\Resources\\ModerationCaseResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesShowEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/moderation/cases",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\StoreModerationCaseRequest", "body", List.of(new RequestField("case_type", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"report\",\"investigation\",\"appeal\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("subject_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("reported_by_player_id", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("title", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("incident_occurred_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class CasesUpdateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.moderation.cases.update",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/moderation/cases/{moderationCase}",
|
||||
List.of("moderation.cases.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:moderation.cases.write"),
|
||||
List.of(new RouteParameter("moderationCase", new TypeDescriptor("App\\Domains\\Moderation\\Models\\ModerationCase", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Moderation\\Http\\Requests\\UpdateModerationCaseRequest", "body", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"under_review\",\"resolved\",\"closed\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("resolution_summary", List.of(new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\RequiredIf", ""), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("last_reviewed_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("resolved_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private CasesUpdateEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package net.kewwbec.network.generated.api.v1.moderation;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class ModerationApi {
|
||||
public static final ModerationApi INSTANCE = new ModerationApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
CasesAppealsStoreEndpoint.VALUE,
|
||||
CasesEvidenceStoreEndpoint.VALUE,
|
||||
CasesIndexEndpoint.VALUE,
|
||||
CasesPunishmentsStoreEndpoint.VALUE,
|
||||
CasesPunishmentsUpdateEndpoint.VALUE,
|
||||
CasesReopenEndpoint.VALUE,
|
||||
CasesShowEndpoint.VALUE,
|
||||
CasesStoreEndpoint.VALUE,
|
||||
CasesUpdateEndpoint.VALUE
|
||||
);
|
||||
|
||||
private ModerationApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "moderation";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint casesAppealsStore() {
|
||||
return CasesAppealsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesEvidenceStore() {
|
||||
return CasesEvidenceStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesIndex() {
|
||||
return CasesIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesPunishmentsStore() {
|
||||
return CasesPunishmentsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesPunishmentsUpdate() {
|
||||
return CasesPunishmentsUpdateEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesReopen() {
|
||||
return CasesReopenEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesShow() {
|
||||
return CasesShowEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesStore() {
|
||||
return CasesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint casesUpdate() {
|
||||
return CasesUpdateEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class NotificationsIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.notifications.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/players/{player}/notifications",
|
||||
List.of("notifications.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:notifications.read"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Notifications\\Http\\Requests\\ListPlayerNotificationsRequest", "query", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"unread\",\"read\",\"archived\""))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private NotificationsIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class NotificationsReadEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.notifications.read",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/players/{player}/notifications/{notification}/read",
|
||||
List.of("notifications.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:notifications.write"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false)), new RouteParameter("notification", new TypeDescriptor("App\\Domains\\Notifications\\Models\\PlayerNotification", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private NotificationsReadEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class NotificationsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.notifications.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/players/{player}/notifications",
|
||||
List.of("notifications.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:notifications.write"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Notifications\\Http\\Requests\\StorePlayerNotificationRequest", "body", List.of(new RequestField("type", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("title", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("body", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\""))), new RequestField("sent_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private NotificationsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class PlayersApi {
|
||||
public static final PlayersApi INSTANCE = new PlayersApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
NotificationsIndexEndpoint.VALUE,
|
||||
NotificationsReadEndpoint.VALUE,
|
||||
NotificationsStoreEndpoint.VALUE,
|
||||
SessionProfileEndpoint.VALUE,
|
||||
SocialGraphEndpoint.VALUE,
|
||||
WebsiteProfileEndpoint.VALUE
|
||||
);
|
||||
|
||||
private PlayersApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "players";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint notificationsIndex() {
|
||||
return NotificationsIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint notificationsRead() {
|
||||
return NotificationsReadEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint notificationsStore() {
|
||||
return NotificationsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint sessionProfile() {
|
||||
return SessionProfileEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint socialGraph() {
|
||||
return SocialGraphEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint websiteProfile() {
|
||||
return WebsiteProfileEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class SessionProfileEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.session-profile",
|
||||
List.of("GET"),
|
||||
"/api/v1/players/{player}/session-profile",
|
||||
List.of("players.session-profile.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:players.session-profile.read"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Identity\\Resources\\PlayerSessionProfileResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private SessionProfileEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class SocialGraphEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.social-graph",
|
||||
List.of("GET"),
|
||||
"/api/v1/players/{player}/social-graph",
|
||||
List.of("social.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.read"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Social\\Resources\\PlayerSocialGraphResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private SocialGraphEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.players;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class WebsiteProfileEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.players.website-profile",
|
||||
List.of("GET"),
|
||||
"/api/v1/players/{player}/website-profile",
|
||||
List.of("players.website-profile.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:players.website-profile.read"),
|
||||
List.of(new RouteParameter("player", new TypeDescriptor("App\\Domains\\Identity\\Models\\Player", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Identity\\Resources\\PlayerWebsiteProfileResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private WebsiteProfileEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ConfigVersionsIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.config-versions.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/plugins/{plugin}/config-versions",
|
||||
List.of("plugins.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.read"),
|
||||
List.of(new RouteParameter("plugin", new TypeDescriptor("App\\Domains\\Plugins\\Models\\Plugin", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Plugins\\Http\\Requests\\ListPluginConfigVersionsRequest", "query", List.of(new RequestField("limit", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ConfigVersionsIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ConfigVersionsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.config-versions.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/plugins/{plugin}/config-versions",
|
||||
List.of("plugins.deploy.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.deploy.write"),
|
||||
List.of(new RouteParameter("plugin", new TypeDescriptor("App\\Domains\\Plugins\\Models\\Plugin", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Plugins\\Http\\Requests\\StorePluginConfigVersionRequest", "body", List.of(new RequestField("version", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("format", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("content_driver", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("content_reference", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:2048"))), new RequestField("checksum", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("released_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ConfigVersionsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class DeploymentsIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.deployments.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/plugins/{plugin}/deployments",
|
||||
List.of("plugins.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.read"),
|
||||
List.of(new RouteParameter("plugin", new TypeDescriptor("App\\Domains\\Plugins\\Models\\Plugin", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Plugins\\Http\\Requests\\ListPluginDeploymentHistoryRequest", "query", List.of(new RequestField("server_template", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("status", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"active\",\"superseded\",\"rolled_back\""))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private DeploymentsIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class DeploymentsRollbackEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.deployments.rollback",
|
||||
List.of("POST"),
|
||||
"/api/v1/plugins/deployments/{pluginDeployment}/rollback",
|
||||
List.of("plugins.deploy.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.deploy.write"),
|
||||
List.of(new RouteParameter("pluginDeployment", new TypeDescriptor("App\\Domains\\Plugins\\Models\\PluginDeployment", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Plugins\\Http\\Requests\\RollbackPluginDeploymentRequest", "body", List.of(new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("rolled_back_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private DeploymentsRollbackEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class DeploymentsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.deployments.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/plugins/{plugin}/deployments",
|
||||
List.of("plugins.deploy.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.deploy.write"),
|
||||
List.of(new RouteParameter("plugin", new TypeDescriptor("App\\Domains\\Plugins\\Models\\Plugin", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Plugins\\Http\\Requests\\StorePluginDeploymentRequest", "body", List.of(new RequestField("plugin_version_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:plugin_versions,id"))), new RequestField("plugin_config_version_id", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:plugin_config_versions,id"))), new RequestField("server_template_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:server_templates,id"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private DeploymentsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/plugins",
|
||||
List.of("plugins.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.read"),
|
||||
List.of(),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IndexEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class PluginsApi {
|
||||
public static final PluginsApi INSTANCE = new PluginsApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
ConfigVersionsIndexEndpoint.VALUE,
|
||||
ConfigVersionsStoreEndpoint.VALUE,
|
||||
DeploymentsIndexEndpoint.VALUE,
|
||||
DeploymentsRollbackEndpoint.VALUE,
|
||||
DeploymentsStoreEndpoint.VALUE,
|
||||
IndexEndpoint.VALUE,
|
||||
ShowEndpoint.VALUE
|
||||
);
|
||||
|
||||
private PluginsApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "plugins";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint configVersionsIndex() {
|
||||
return ConfigVersionsIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint configVersionsStore() {
|
||||
return ConfigVersionsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint deploymentsIndex() {
|
||||
return DeploymentsIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint deploymentsRollback() {
|
||||
return DeploymentsRollbackEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint deploymentsStore() {
|
||||
return DeploymentsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint index() {
|
||||
return IndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint show() {
|
||||
return ShowEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.plugins;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ShowEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.plugins.show",
|
||||
List.of("GET"),
|
||||
"/api/v1/plugins/{plugin}",
|
||||
List.of("plugins.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:plugins.read"),
|
||||
List.of(new RouteParameter("plugin", new TypeDescriptor("App\\Domains\\Plugins\\Models\\Plugin", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Plugins\\Resources\\PluginResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ShowEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class InstancesHeartbeatEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.server.instances.heartbeat",
|
||||
List.of("POST"),
|
||||
"/api/v1/server/instances/{instance}/heartbeat",
|
||||
List.of("server-instance.heartbeat.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server-instance.heartbeat.write", "service.instance:instance"),
|
||||
List.of(new RouteParameter("instance", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerInstance", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\ServerHeartbeatRequest", "body", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"starting\",\"running\",\"draining\",\"stopped\",\"unhealthy\""))), new RequestField("current_players", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"))), new RequestField("max_players", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"), new RuleDescriptor("string", null, "gte:current_players"))), new RequestField("host", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("port", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "between:1,65535"))), new RequestField("reported_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("meta", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private InstancesHeartbeatEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class InstancesMatchesResultsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.server.instances.matches.results.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/server/instances/{instance}/matches/results",
|
||||
List.of("matches.result.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:matches.result.write", "service.instance:instance"),
|
||||
List.of(new RouteParameter("instance", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerInstance", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Gameplay\\Http\\Requests\\StoreMatchResultRequest", "body", List.of(new RequestField("match_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("game_mode", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("status", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"completed\",\"abandoned\",\"cancelled\""))), new RequestField("started_at", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "date"))), new RequestField("ended_at", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "date"), new RuleDescriptor("string", null, "after_or_equal:started_at"))), new RequestField("replay_driver", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("replay_reference", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:2048"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))), new RequestField("participants", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "array"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))), new RequestField("participants.*.player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("participants.*.team_key", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:100"))), new RequestField("participants.*.placement", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"))), new RequestField("participants.*.outcome", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"win\",\"loss\",\"draw\",\"abandoned\""))), new RequestField("participants.*.score", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"))), new RequestField("participants.*.stats", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private InstancesMatchesResultsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class InstancesRegisterEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.server.instances.register",
|
||||
List.of("POST"),
|
||||
"/api/v1/server/instances/{instance}/register",
|
||||
List.of("presence.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:presence.write", "service.instance:instance"),
|
||||
List.of(new RouteParameter("instance", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerInstance", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\ServerRegistrationRequest", "body", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"starting\",\"running\",\"draining\",\"unhealthy\""))), new RequestField("host", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("port", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "between:1,65535"))), new RequestField("current_players", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"))), new RequestField("max_players", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"), new RuleDescriptor("string", null, "gte:current_players"))), new RequestField("reported_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("meta", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private InstancesRegisterEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class InstancesShutdownEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.server.instances.shutdown",
|
||||
List.of("POST"),
|
||||
"/api/v1/server/instances/{instance}/shutdown",
|
||||
List.of("presence.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:presence.write", "service.instance:instance"),
|
||||
List.of(new RouteParameter("instance", new TypeDescriptor("App\\Domains\\Infrastructure\\Models\\ServerInstance", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Infrastructure\\Http\\Requests\\ServerShutdownRequest", "body", List.of(new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("current_players", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:0"))), new RequestField("reported_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("meta", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private InstancesShutdownEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class ProfileEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.server.profile",
|
||||
List.of("GET"),
|
||||
"/api/v1/server/profile",
|
||||
List.of("server.profile.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:server.profile.read"),
|
||||
List.of(),
|
||||
null,
|
||||
new ResponseDescriptor("unknown", new TypeDescriptor(null, null, false))
|
||||
)
|
||||
;
|
||||
|
||||
private ProfileEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package net.kewwbec.network.generated.api.v1.server;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class ServerApi {
|
||||
public static final ServerApi INSTANCE = new ServerApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
InstancesHeartbeatEndpoint.VALUE,
|
||||
InstancesMatchesResultsStoreEndpoint.VALUE,
|
||||
InstancesRegisterEndpoint.VALUE,
|
||||
InstancesShutdownEndpoint.VALUE,
|
||||
ProfileEndpoint.VALUE
|
||||
);
|
||||
|
||||
private ServerApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "server";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint instancesHeartbeat() {
|
||||
return InstancesHeartbeatEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint instancesMatchesResultsStore() {
|
||||
return InstancesMatchesResultsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint instancesRegister() {
|
||||
return InstancesRegisterEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint instancesShutdown() {
|
||||
return InstancesShutdownEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint profile() {
|
||||
return ProfileEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package net.kewwbec.network.generated.api.v1.serviceaccounts;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class ServiceAccountsApi {
|
||||
public static final ServiceAccountsApi INSTANCE = new ServiceAccountsApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
TokensDestroyEndpoint.VALUE,
|
||||
TokensIndexEndpoint.VALUE,
|
||||
TokensRotateEndpoint.VALUE,
|
||||
TokensStoreEndpoint.VALUE
|
||||
);
|
||||
|
||||
private ServiceAccountsApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "service-accounts";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint tokensDestroy() {
|
||||
return TokensDestroyEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint tokensIndex() {
|
||||
return TokensIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint tokensRotate() {
|
||||
return TokensRotateEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint tokensStore() {
|
||||
return TokensStoreEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.serviceaccounts;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class TokensDestroyEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.service-accounts.tokens.destroy",
|
||||
List.of("DELETE"),
|
||||
"/api/v1/service-accounts/{serviceAccount}/tokens/{tokenId}",
|
||||
List.of("service-accounts.tokens.manage"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:service-accounts.tokens.manage"),
|
||||
List.of(new RouteParameter("serviceAccount", new TypeDescriptor("App\\Domains\\Authorization\\Models\\ServiceAccount", false, false)), new RouteParameter("tokenId", new TypeDescriptor("string", true, false))),
|
||||
new RequestDescriptor("App\\Domains\\Authorization\\Http\\Requests\\RevokeServiceAccountTokenRequest", "body", List.of(new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private TokensDestroyEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.serviceaccounts;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class TokensIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.service-accounts.tokens.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/service-accounts/{serviceAccount}/tokens",
|
||||
List.of("service-accounts.tokens.manage"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:service-accounts.tokens.manage"),
|
||||
List.of(new RouteParameter("serviceAccount", new TypeDescriptor("App\\Domains\\Authorization\\Models\\ServiceAccount", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Authorization\\Http\\Requests\\ListServiceAccountTokensRequest", "query", List.of(new RequestField("include_expired", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "boolean"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private TokensIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.serviceaccounts;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class TokensRotateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.service-accounts.tokens.rotate",
|
||||
List.of("POST"),
|
||||
"/api/v1/service-accounts/{serviceAccount}/tokens/rotate",
|
||||
List.of("service-accounts.tokens.manage"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:service-accounts.tokens.manage"),
|
||||
List.of(new RouteParameter("serviceAccount", new TypeDescriptor("App\\Domains\\Authorization\\Models\\ServiceAccount", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Authorization\\Http\\Requests\\IssueServiceAccountTokenRequest", "body", List.of(new RequestField("name", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("abilities", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "array"), new RuleDescriptor("string", null, "min:1"))), new RequestField("abilities.*", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"announcements.read\",\"audit-events.read\",\"configs.read\",\"integrations.read\",\"integrations.write\",\"matches.result.write\",\"moderation.cases.read\",\"moderation.cases.write\",\"notifications.read\",\"notifications.write\",\"plugins.deploy.write\",\"plugins.read\",\"presence.read\",\"players.website-profile.read\",\"players.session-profile.read\",\"presence.write\",\"rewards.request\",\"social.read\",\"social.write\",\"service-accounts.tokens.manage\",\"server-instance.heartbeat.write\",\"server.profile.read\",\"server-templates.read\",\"server-templates.write\",\"support.issues.read\",\"support.issues.write\""))), new RequestField("expires_in_minutes", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:10080"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private TokensRotateEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.serviceaccounts;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class TokensStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.service-accounts.tokens.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/service-accounts/{serviceAccount}/tokens",
|
||||
List.of("service-accounts.tokens.manage"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:service-accounts.tokens.manage"),
|
||||
List.of(new RouteParameter("serviceAccount", new TypeDescriptor("App\\Domains\\Authorization\\Models\\ServiceAccount", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Authorization\\Http\\Requests\\IssueServiceAccountTokenRequest", "body", List.of(new RequestField("name", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("abilities", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "array"), new RuleDescriptor("string", null, "min:1"))), new RequestField("abilities.*", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"announcements.read\",\"audit-events.read\",\"configs.read\",\"integrations.read\",\"integrations.write\",\"matches.result.write\",\"moderation.cases.read\",\"moderation.cases.write\",\"notifications.read\",\"notifications.write\",\"plugins.deploy.write\",\"plugins.read\",\"presence.read\",\"players.website-profile.read\",\"players.session-profile.read\",\"presence.write\",\"rewards.request\",\"social.read\",\"social.write\",\"service-accounts.tokens.manage\",\"server-instance.heartbeat.write\",\"server.profile.read\",\"server-templates.read\",\"server-templates.write\",\"support.issues.read\",\"support.issues.write\""))), new RequestField("expires_in_minutes", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:10080"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private TokensStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record ApiEndpoint(
|
||||
String name,
|
||||
List<String> methods,
|
||||
String uri,
|
||||
List<String> abilities,
|
||||
List<String> middleware,
|
||||
List<RouteParameter> routeParameters,
|
||||
RequestDescriptor request,
|
||||
ResponseDescriptor response
|
||||
) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record RequestDescriptor(String className, String location, List<RequestField> fields) {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record RequestField(String name, List<RuleDescriptor> rules) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
public record ResponseDescriptor(String kind, TypeDescriptor type) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
public record RouteParameter(String name, TypeDescriptor type) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
public record RuleDescriptor(String kind, String className, String value) {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package net.kewwbec.network.generated.api.v1.shared;
|
||||
|
||||
public record TypeDescriptor(String name, Boolean builtin, boolean nullable) {
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class FriendshipsAcceptEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.friendships.accept",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/friendships/{friendship}/accept",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("friendship", new TypeDescriptor("App\\Domains\\Social\\Models\\PlayerFriendship", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\AcceptFriendshipRequest", "body", List.of(new RequestField("accepting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("accepted_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private FriendshipsAcceptEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class FriendshipsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.friendships.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/friendships",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StoreFriendshipRequest", "body", List.of(new RequestField("requester_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("addressee_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "different:requester_player_id"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("requested_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private FriendshipsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildInvitesAcceptEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guild-invites.accept",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guild-invites/{guildInvite}/accept",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guildInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\GuildInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\AcceptGuildInviteRequest", "body", List.of(new RequestField("accepting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("accepted_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildInvitesAcceptEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildInvitesCancelEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guild-invites.cancel",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guild-invites/{guildInvite}/cancel",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guildInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\GuildInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\CancelGuildInviteRequest", "body", List.of(new RequestField("cancelled_by_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("cancelled_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildInvitesCancelEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildInvitesDeclineEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guild-invites.decline",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guild-invites/{guildInvite}/decline",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guildInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\GuildInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\DeclineGuildInviteRequest", "body", List.of(new RequestField("declining_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("declined_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildInvitesDeclineEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsInvitesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.invites.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds/{guild}/invites",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guild", new TypeDescriptor("App\\Domains\\Social\\Models\\Guild", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StoreGuildInviteRequest", "body", List.of(new RequestField("invited_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("invited_by_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("message", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:1000"))), new RequestField("invited_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("expires_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsInvitesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsKicksStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.kicks.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds/{guild}/kicks",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guild", new TypeDescriptor("App\\Domains\\Social\\Models\\Guild", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\KickGuildMemberRequest", "body", List.of(new RequestField("acting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("target_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("kicked_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsKicksStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsLeaveEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.leave",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds/{guild}/leave",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guild", new TypeDescriptor("App\\Domains\\Social\\Models\\Guild", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\LeaveGuildRequest", "body", List.of(new RequestField("player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("left_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsLeaveEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsMembersStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.members.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds/{guild}/members",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guild", new TypeDescriptor("App\\Domains\\Social\\Models\\Guild", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StoreGuildMemberRequest", "body", List.of(new RequestField("player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("invited_by_player_id", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("role", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"leader\",\"officer\",\"member\""))), new RequestField("joined_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsMembersStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsOwnershipTransferEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.ownership-transfer",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds/{guild}/ownership-transfer",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("guild", new TypeDescriptor("App\\Domains\\Social\\Models\\Guild", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\TransferGuildOwnershipRequest", "body", List.of(new RequestField("acting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("new_owner_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("transferred_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsOwnershipTransferEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class GuildsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.guilds.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/guilds",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StoreGuildRequest", "body", List.of(new RequestField("owner_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("slug", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:80"), new RuleDescriptor("string", null, "regex:/^[a-z0-9-]+$/"), new RuleDescriptor("string", null, "unique:guilds,slug"))), new RequestField("name", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:120"))), new RequestField("tag", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:12"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\Unique", "unique:guilds,tag,NULL,id"))), new RequestField("max_members", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "between:2,200"))), new RequestField("motd", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("founded_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private GuildsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesInvitesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.invites.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties/{party}/invites",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("party", new TypeDescriptor("App\\Domains\\Social\\Models\\Party", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StorePartyInviteRequest", "body", List.of(new RequestField("invited_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("invited_by_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("message", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:1000"))), new RequestField("invited_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("expires_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesInvitesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesKicksStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.kicks.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties/{party}/kicks",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("party", new TypeDescriptor("App\\Domains\\Social\\Models\\Party", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\KickPartyMemberRequest", "body", List.of(new RequestField("acting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("target_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("kicked_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesKicksStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesLeadershipTransferEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.leadership-transfer",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties/{party}/leadership-transfer",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("party", new TypeDescriptor("App\\Domains\\Social\\Models\\Party", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\TransferPartyLeadershipRequest", "body", List.of(new RequestField("acting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("new_leader_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("transferred_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesLeadershipTransferEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesLeaveEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.leave",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties/{party}/leave",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("party", new TypeDescriptor("App\\Domains\\Social\\Models\\Party", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\LeavePartyRequest", "body", List.of(new RequestField("player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("left_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesLeaveEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesMembersStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.members.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties/{party}/members",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("party", new TypeDescriptor("App\\Domains\\Social\\Models\\Party", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StorePartyMemberRequest", "body", List.of(new RequestField("player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("invited_by_player_id", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("joined_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesMembersStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartiesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.parties.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/parties",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\StorePartyRequest", "body", List.of(new RequestField("leader_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("max_members", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "between:2,12"))), new RequestField("formed_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartiesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartyInvitesAcceptEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.party-invites.accept",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/party-invites/{partyInvite}/accept",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("partyInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\PartyInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\AcceptPartyInviteRequest", "body", List.of(new RequestField("accepting_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("accepted_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartyInvitesAcceptEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartyInvitesCancelEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.party-invites.cancel",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/party-invites/{partyInvite}/cancel",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("partyInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\PartyInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\CancelPartyInviteRequest", "body", List.of(new RequestField("cancelled_by_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("cancelled_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartyInvitesCancelEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class PartyInvitesDeclineEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.social.party-invites.decline",
|
||||
List.of("POST"),
|
||||
"/api/v1/social/party-invites/{partyInvite}/decline",
|
||||
List.of("social.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:social.write"),
|
||||
List.of(new RouteParameter("partyInvite", new TypeDescriptor("App\\Domains\\Social\\Models\\PartyInvite", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Social\\Http\\Requests\\DeclinePartyInviteRequest", "body", List.of(new RequestField("declining_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("declined_at", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:500"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private PartyInvitesDeclineEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package net.kewwbec.network.generated.api.v1.social;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class SocialApi {
|
||||
public static final SocialApi INSTANCE = new SocialApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
FriendshipsAcceptEndpoint.VALUE,
|
||||
FriendshipsStoreEndpoint.VALUE,
|
||||
GuildInvitesAcceptEndpoint.VALUE,
|
||||
GuildInvitesCancelEndpoint.VALUE,
|
||||
GuildInvitesDeclineEndpoint.VALUE,
|
||||
GuildsInvitesStoreEndpoint.VALUE,
|
||||
GuildsKicksStoreEndpoint.VALUE,
|
||||
GuildsLeaveEndpoint.VALUE,
|
||||
GuildsMembersStoreEndpoint.VALUE,
|
||||
GuildsOwnershipTransferEndpoint.VALUE,
|
||||
GuildsStoreEndpoint.VALUE,
|
||||
PartiesInvitesStoreEndpoint.VALUE,
|
||||
PartiesKicksStoreEndpoint.VALUE,
|
||||
PartiesLeadershipTransferEndpoint.VALUE,
|
||||
PartiesLeaveEndpoint.VALUE,
|
||||
PartiesMembersStoreEndpoint.VALUE,
|
||||
PartiesStoreEndpoint.VALUE,
|
||||
PartyInvitesAcceptEndpoint.VALUE,
|
||||
PartyInvitesCancelEndpoint.VALUE,
|
||||
PartyInvitesDeclineEndpoint.VALUE
|
||||
);
|
||||
|
||||
private SocialApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "social";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint friendshipsAccept() {
|
||||
return FriendshipsAcceptEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint friendshipsStore() {
|
||||
return FriendshipsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildInvitesAccept() {
|
||||
return GuildInvitesAcceptEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildInvitesCancel() {
|
||||
return GuildInvitesCancelEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildInvitesDecline() {
|
||||
return GuildInvitesDeclineEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsInvitesStore() {
|
||||
return GuildsInvitesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsKicksStore() {
|
||||
return GuildsKicksStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsLeave() {
|
||||
return GuildsLeaveEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsMembersStore() {
|
||||
return GuildsMembersStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsOwnershipTransfer() {
|
||||
return GuildsOwnershipTransferEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint guildsStore() {
|
||||
return GuildsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesInvitesStore() {
|
||||
return PartiesInvitesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesKicksStore() {
|
||||
return PartiesKicksStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesLeadershipTransfer() {
|
||||
return PartiesLeadershipTransferEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesLeave() {
|
||||
return PartiesLeaveEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesMembersStore() {
|
||||
return PartiesMembersStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partiesStore() {
|
||||
return PartiesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partyInvitesAccept() {
|
||||
return PartyInvitesAcceptEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partyInvitesCancel() {
|
||||
return PartyInvitesCancelEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint partyInvitesDecline() {
|
||||
return PartyInvitesDeclineEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesAssignmentsStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.assignments.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/support/issues/{supportIssue}/assignments",
|
||||
List.of("support.issues.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.write"),
|
||||
List.of(new RouteParameter("supportIssue", new TypeDescriptor("App\\Domains\\Support\\Models\\SupportIssue", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\ChangeSupportIssueAssignmentRequest", "body", List.of(new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("assigned_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesAssignmentsStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesIndexEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.index",
|
||||
List.of("GET"),
|
||||
"/api/v1/support/issues",
|
||||
List.of("support.issues.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.read"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\ListSupportIssuesRequest", "query", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"in_progress\",\"waiting_on_player\",\"resolved\",\"closed\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("category", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"account\",\"purchase\",\"bug_report\",\"appeal\",\"other\""))), new RequestField("subject_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("limit", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "integer"), new RuleDescriptor("string", null, "min:1"), new RuleDescriptor("string", null, "max:100"))))),
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesIndexEndpoint() {
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesMessagesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.messages.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/support/issues/{supportIssue}/messages",
|
||||
List.of("support.issues.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.write"),
|
||||
List.of(new RouteParameter("supportIssue", new TypeDescriptor("App\\Domains\\Support\\Models\\SupportIssue", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\StoreSupportIssueMessageRequest", "body", List.of(new RequestField("visibility", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"requester\",\"internal\""))), new RequestField("body", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("sent_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesMessagesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesReopenEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.reopen",
|
||||
List.of("POST"),
|
||||
"/api/v1/support/issues/{supportIssue}/reopen",
|
||||
List.of("support.issues.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.write"),
|
||||
List.of(new RouteParameter("supportIssue", new TypeDescriptor("App\\Domains\\Support\\Models\\SupportIssue", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\ReopenSupportIssueRequest", "body", List.of(new RequestField("reason", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"in_progress\",\"waiting_on_player\""))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("reopened_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesReopenEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesShowEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.show",
|
||||
List.of("GET"),
|
||||
"/api/v1/support/issues/{supportIssue}",
|
||||
List.of("support.issues.read"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.read"),
|
||||
List.of(new RouteParameter("supportIssue", new TypeDescriptor("App\\Domains\\Support\\Models\\SupportIssue", false, false))),
|
||||
null,
|
||||
new ResponseDescriptor("json_resource", new TypeDescriptor("App\\Domains\\Support\\Resources\\SupportIssueResource", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesShowEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesStoreEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.store",
|
||||
List.of("POST"),
|
||||
"/api/v1/support/issues",
|
||||
List.of("support.issues.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.write"),
|
||||
List.of(),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\StoreSupportIssueRequest", "body", List.of(new RequestField("subject_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("category", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"account\",\"purchase\",\"bug_report\",\"appeal\",\"other\""))), new RequestField("channel", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"player_portal\",\"email\",\"discord\",\"in_game\",\"internal\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("title", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "max:255"))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("initial_message", List.of(new RuleDescriptor("string", null, "required"), new RuleDescriptor("string", null, "string"))), new RequestField("message_visibility", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"requester\",\"internal\""))), new RequestField("opened_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "array"))), new RequestField("initial_message_metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesStoreEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RequestField;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ResponseDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RouteParameter;
|
||||
import net.kewwbec.network.generated.api.v1.shared.RuleDescriptor;
|
||||
import net.kewwbec.network.generated.api.v1.shared.TypeDescriptor;
|
||||
|
||||
public final class IssuesUpdateEndpoint {
|
||||
public static final ApiEndpoint VALUE =
|
||||
new ApiEndpoint(
|
||||
"api.v1.support.issues.update",
|
||||
List.of("PATCH"),
|
||||
"/api/v1/support/issues/{supportIssue}",
|
||||
List.of("support.issues.write"),
|
||||
List.of("api", "auth:sanctum", "service.abilities:support.issues.write"),
|
||||
List.of(new RouteParameter("supportIssue", new TypeDescriptor("App\\Domains\\Support\\Models\\SupportIssue", false, false))),
|
||||
new RequestDescriptor("App\\Domains\\Support\\Http\\Requests\\UpdateSupportIssueRequest", "body", List.of(new RequestField("status", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"open\",\"in_progress\",\"waiting_on_player\",\"resolved\",\"closed\""))), new RequestField("priority", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\In", "in:\"low\",\"normal\",\"high\",\"urgent\""))), new RequestField("assigned_to_player_id", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"), new RuleDescriptor("string", null, "exists:players,id"))), new RequestField("summary", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("resolution_summary", List.of(new RuleDescriptor("object", "Illuminate\\Validation\\Rules\\RequiredIf", ""), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "string"))), new RequestField("resolved_at", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "date"))), new RequestField("metadata", List.of(new RuleDescriptor("string", null, "sometimes"), new RuleDescriptor("string", null, "nullable"), new RuleDescriptor("string", null, "array"))))),
|
||||
new ResponseDescriptor("json_response", new TypeDescriptor("Illuminate\\Http\\JsonResponse", false, false))
|
||||
)
|
||||
;
|
||||
|
||||
private IssuesUpdateEndpoint() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package net.kewwbec.network.generated.api.v1.support;
|
||||
|
||||
import java.util.List;
|
||||
import net.kewwbec.network.generated.api.v1.shared.ApiEndpoint;
|
||||
|
||||
public final class SupportApi {
|
||||
public static final SupportApi INSTANCE = new SupportApi();
|
||||
|
||||
private static final List<ApiEndpoint> ENDPOINTS = List.of(
|
||||
IssuesAssignmentsStoreEndpoint.VALUE,
|
||||
IssuesIndexEndpoint.VALUE,
|
||||
IssuesMessagesStoreEndpoint.VALUE,
|
||||
IssuesReopenEndpoint.VALUE,
|
||||
IssuesShowEndpoint.VALUE,
|
||||
IssuesStoreEndpoint.VALUE,
|
||||
IssuesUpdateEndpoint.VALUE
|
||||
);
|
||||
|
||||
private SupportApi() {
|
||||
}
|
||||
|
||||
public String domain() {
|
||||
return "support";
|
||||
}
|
||||
|
||||
public int endpointCount() {
|
||||
return ENDPOINTS.size();
|
||||
}
|
||||
|
||||
public List<ApiEndpoint> endpoints() {
|
||||
return ENDPOINTS;
|
||||
}
|
||||
|
||||
public ApiEndpoint endpoint(String routeName) {
|
||||
for (ApiEndpoint endpoint : ENDPOINTS) {
|
||||
if (endpoint.name().equals(routeName)) {
|
||||
return endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalArgumentException("Unknown route: " + routeName);
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesAssignmentsStore() {
|
||||
return IssuesAssignmentsStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesIndex() {
|
||||
return IssuesIndexEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesMessagesStore() {
|
||||
return IssuesMessagesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesReopen() {
|
||||
return IssuesReopenEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesShow() {
|
||||
return IssuesShowEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesStore() {
|
||||
return IssuesStoreEndpoint.VALUE;
|
||||
}
|
||||
|
||||
public ApiEndpoint issuesUpdate() {
|
||||
return IssuesUpdateEndpoint.VALUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package net.kewwbec.network;
|
||||
|
||||
import net.kewwbec.network.generated.api.v1.ControlPlaneApiV1;
|
||||
|
||||
public class network {
|
||||
public ControlPlaneApiV1 controlPlane() {
|
||||
return ControlPlaneApiV1.INSTANCE;
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
}
|
||||
],
|
||||
"Website": "example.org",
|
||||
"ServerVersion": "*",
|
||||
"ServerVersion": "2026.02.17-255364b8e",
|
||||
"Dependencies": {
|
||||
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user