Add staff application feature with API integration and frontend form implementation
This commit is contained in:
@@ -55,6 +55,8 @@ paths:
|
||||
$ref: './schemas/forms/appeal/appeal.yml#/MinecraftAppeal'
|
||||
/api/appeal/discord-appeal:
|
||||
$ref: './schemas/forms/appeal/appeal.yml#/DiscordAppeal'
|
||||
/api/apply/staff-application:
|
||||
$ref: './schemas/forms/staff_apply/staff_apply.yml#/StaffApply'
|
||||
/api/login/requestNewUserLogin/{uuid}:
|
||||
$ref: './schemas/login/login.yml#/RequestNewUserLogin'
|
||||
/api/login/userLogin/{code}:
|
||||
|
||||
@@ -23,7 +23,7 @@ UpdateMail:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AppealResponse'
|
||||
$ref: '../../generic/components.yml#/components/schemas/FormResponse'
|
||||
default:
|
||||
description: Unexpected error
|
||||
content:
|
||||
@@ -49,7 +49,7 @@ MinecraftAppeal:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AppealResponse'
|
||||
$ref: '../../generic/components.yml#/components/schemas/FormResponse'
|
||||
default:
|
||||
description: Unexpected error
|
||||
content:
|
||||
@@ -75,7 +75,7 @@ DiscordAppeal:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AppealResponse'
|
||||
$ref: '../../generic/components.yml#/components/schemas/FormResponse'
|
||||
default:
|
||||
description: Unexpected error
|
||||
content:
|
||||
@@ -136,22 +136,6 @@ components:
|
||||
appeal:
|
||||
type: string
|
||||
description: Appeal text explaining why the punishment should be reconsidered
|
||||
AppealResponse:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- message
|
||||
- verified_mail
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: Unique identifier for the submitted appeal for referring to it later
|
||||
message:
|
||||
type: string
|
||||
description: Confirmation message
|
||||
verified_mail:
|
||||
type: boolean
|
||||
description: If this user has verified their mail already
|
||||
UpdateMail:
|
||||
type: object
|
||||
required:
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
StaffApply:
|
||||
post:
|
||||
tags:
|
||||
- applications
|
||||
summary: Submit a Staff appeal
|
||||
description: Submit an staff application
|
||||
operationId: submitStaffApplication
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/StaffApplication'
|
||||
responses:
|
||||
'201':
|
||||
description: Application created please verify email
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../../generic/components.yml#/components/schemas/FormResponse'
|
||||
default:
|
||||
description: Unexpected error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../../generic/errors.yml#/components/schemas/ApiError'
|
||||
components:
|
||||
schemas:
|
||||
StaffApplication:
|
||||
type: object
|
||||
description: Schema for staff application
|
||||
required:
|
||||
- email
|
||||
- age
|
||||
- discordUsername
|
||||
- meetsRequirements
|
||||
- pronouns
|
||||
- joinDate
|
||||
- weeklyPlaytime
|
||||
- availableDays
|
||||
- availableTimes
|
||||
- previousExperience
|
||||
- pluginExperience
|
||||
- moderatorExpectations
|
||||
- additionalInfo
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
format: email
|
||||
maxLength: 320
|
||||
description: Email address of the applicant
|
||||
age:
|
||||
type: integer
|
||||
minimum: 13
|
||||
description: Age of the applicant, must be 13 or older
|
||||
discordUsername:
|
||||
type: string
|
||||
maxLength: 32
|
||||
description: Discord username of the applicant
|
||||
meetsRequirements:
|
||||
type: boolean
|
||||
description: Confirmation that the applicant meets all requirements
|
||||
pronouns:
|
||||
type: string
|
||||
maxLength: 32
|
||||
description: Preferred pronouns of the applicant
|
||||
joinDate:
|
||||
type: string
|
||||
maxLength: 256
|
||||
format: date
|
||||
description: Date when the applicant joined the service
|
||||
weeklyPlaytime:
|
||||
type: integer
|
||||
minimum: 1
|
||||
description: Average weekly playtime in hours
|
||||
availableDays:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
maxLength: 256
|
||||
description: Days of the week when the applicant is available
|
||||
availableTimes:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
description: Time ranges when the applicant is available
|
||||
previousExperience:
|
||||
type: string
|
||||
minLength: 10
|
||||
maxLength: 4000
|
||||
description: Description of previous relevant experience
|
||||
pluginExperience:
|
||||
type: string
|
||||
minLength: 10
|
||||
maxLength: 4000
|
||||
description: Description of experience with plugins
|
||||
moderatorExpectations:
|
||||
type: string
|
||||
minLength: 10
|
||||
maxLength: 4000
|
||||
description: Applicant's expectations and understanding of moderator responsibilities
|
||||
additionalInfo:
|
||||
type: string
|
||||
maxLength: 4000
|
||||
description: Any additional information the applicant wishes to provide
|
||||
@@ -0,0 +1,18 @@
|
||||
components:
|
||||
schemas:
|
||||
FormResponse:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- message
|
||||
- verified_mail
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: Unique identifier for the submitted form for referring to it later
|
||||
message:
|
||||
type: string
|
||||
description: Confirmation message
|
||||
verified_mail:
|
||||
type: boolean
|
||||
description: If this user has verified their mail already
|
||||
Reference in New Issue
Block a user