import { NetRequest } from "../../Engine/CatanEngine/NetManagerV2/NetRequest";

export namespace ReportRequest {
	// =======================================================================================
	export enum ReportPlayerType {
		Report = 1,
	}
	export enum ReportPlayerError {
		Self = 11,
		PlayerNotExists,
		MessageLength,
		Dba,
		System,
	}

	/** 檢舉 */
	export class ReportPlayer extends NetRequest<any, null> {
		get Method(): string {
			return "report.player";
		}
		constructor(id: number, t: number, m: string) {
			super();
			this.Data = [id, t, m];
		}
	}

	// =======================================================================================
	/** 回報記錄 */
	export class ReportList extends NetRequest<null, JSON> {
		get Method(): string {
			return "report.list";
		}
		constructor() {
			super();
		}
	}

	// =======================================================================================
	export class UpLoadToken extends NetRequest<number, JSON> {
		constructor(type: number) {
			super();
			this.Data = type;
		}
		get Method(): string {
			return "upload.token";
		}
	}

	// =======================================================================================
}