26
									
								
								src/models/actions/CreateStatsClient.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/models/actions/CreateStatsClient.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
import { IsOptional, IsString } from 'class-validator';
 | 
			
		||||
import crypto from "crypto";
 | 
			
		||||
import { StatsClient } from '../entities/StatsClient';
 | 
			
		||||
/**
 | 
			
		||||
 * This classed is used to create a new StatsClient entity from a json body (post request).
 | 
			
		||||
 */
 | 
			
		||||
export class CreateStatsClient {
 | 
			
		||||
    /**
 | 
			
		||||
     * The new clients's description.
 | 
			
		||||
     */
 | 
			
		||||
    @IsString()
 | 
			
		||||
    @IsOptional()
 | 
			
		||||
    description?: string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Converts this to a StatsClient entity.
 | 
			
		||||
     */
 | 
			
		||||
    public async toStatsClient(): Promise<StatsClient> {
 | 
			
		||||
        let newClient: StatsClient = new StatsClient();
 | 
			
		||||
 | 
			
		||||
        newClient.description = this.description;
 | 
			
		||||
        newClient.key = crypto.randomBytes(20).toString('hex');
 | 
			
		||||
 | 
			
		||||
        return newClient;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user