mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 09:05:06 -07:00
41 lines
956 B
TypeScript
41 lines
956 B
TypeScript
import { Expose, Transform } from 'class-transformer';
|
|
import { ArrayMaxSize, ArrayMinSize, IsArray, IsNumber } from 'class-validator';
|
|
|
|
import { eRequestMethod } from '../enums/eRequestMethod';
|
|
import { eResponseMethod } from '../enums/eResponseMethod';
|
|
import { StratumBaseMessage } from './StratumBaseMessage';
|
|
|
|
export class SuggestDifficulty extends StratumBaseMessage {
|
|
@IsArray()
|
|
@ArrayMinSize(1)
|
|
@ArrayMaxSize(1)
|
|
@IsNumber({}, { each: true })
|
|
params: string | number[];
|
|
|
|
|
|
|
|
@Expose()
|
|
@IsNumber()
|
|
@Transform(({ value, key, obj, type }) => {
|
|
return Number(obj.params[0]);
|
|
})
|
|
public suggestedDifficulty: number;
|
|
|
|
constructor() {
|
|
super();
|
|
this.method = eRequestMethod.SUGGEST_DIFFICULTY;
|
|
|
|
}
|
|
|
|
|
|
|
|
public response(difficulty: number) {
|
|
return {
|
|
id: this.id,
|
|
method: eResponseMethod.SET_DIFFICULTY,
|
|
params: [difficulty]
|
|
}
|
|
}
|
|
}
|
|
|