Add endpoints and schema for history retrieval by UUID
Introduced a new API endpoint to fetch all punishment history for a specified UUID. Updated existing schemas, controllers, and mappers to support this functionality. Adjusted login endpoints to improve request handling and streamlined frontend form setup for appeals.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import {Component, OnInit} from '@angular/core';
|
||||
import {FormsComponent} from '../forms.component';
|
||||
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
|
||||
import {AppealsService} from '../../../api';
|
||||
import {FormControl, FormGroup, Validators} from '@angular/forms';
|
||||
import {AppealsService, MinecraftAppeal} from '../../../api';
|
||||
|
||||
@Component({
|
||||
selector: 'app-appeal',
|
||||
@@ -13,22 +13,18 @@ import {AppealsService} from '../../../api';
|
||||
})
|
||||
export class AppealComponent implements OnInit {
|
||||
|
||||
public form: FormGroup | undefined;
|
||||
public form: FormGroup<Appeal>;
|
||||
|
||||
constructor(private fb: FormBuilder, private appealApi: AppealsService) {
|
||||
constructor(private appealApi: AppealsService) {
|
||||
this.form = new FormGroup({
|
||||
username: new FormControl('', {nonNullable: true, validators: [Validators.required]}),
|
||||
punishmentId: new FormControl('', {nonNullable: true, validators: [Validators.required]}),
|
||||
email: new FormControl('', {nonNullable: true, validators: [Validators.required, Validators.email]}),
|
||||
appeal: new FormControl('', {nonNullable: true, validators: [Validators.required, Validators.minLength(10)]})
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.initForm()
|
||||
}
|
||||
|
||||
private initForm() {
|
||||
this.form = this.fb.group({
|
||||
name: ['', [Validators.required]],
|
||||
punishmentId: ['', [Validators.required]],
|
||||
email: ['', [Validators.required, Validators.email]],
|
||||
message: ['', [Validators.required, Validators.minLength(10)]]
|
||||
});
|
||||
}
|
||||
|
||||
public onSubmit() {
|
||||
@@ -37,8 +33,7 @@ export class AppealComponent implements OnInit {
|
||||
return
|
||||
}
|
||||
if (this.form.valid) {
|
||||
console.log('Form submitted:', this.form.value);
|
||||
// Process form submission here
|
||||
this.sendForm()
|
||||
} else {
|
||||
// Mark all fields as touched to trigger validation display
|
||||
Object.keys(this.form.controls).forEach(field => {
|
||||
@@ -52,12 +47,23 @@ export class AppealComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
private sendForm(validForm: FormGroup) {
|
||||
// const appeal: MinecraftAppeal = {
|
||||
//
|
||||
// }
|
||||
// this.appealApi.submitMinecraftAppeal()
|
||||
private sendForm() {
|
||||
const rawValue = this.form.getRawValue();
|
||||
const appeal: MinecraftAppeal = {
|
||||
appeal: rawValue.appeal,
|
||||
email: rawValue.email,
|
||||
punishmentId: parseInt(rawValue.punishmentId),
|
||||
username: rawValue.username,
|
||||
uuid: ''//TODO
|
||||
}
|
||||
this.appealApi.submitMinecraftAppeal(appeal).subscribe()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
interface Appeal {
|
||||
username: FormControl<string>;
|
||||
punishmentId: FormControl<string>;
|
||||
email: FormControl<string>;
|
||||
appeal: FormControl<string>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user