2021-06-02 01:59:40 +00:00
|
|
|
import {Template} from '../../cli'
|
|
|
|
|
2021-06-03 03:36:25 +00:00
|
|
|
const templateForm: Template = {
|
2021-06-02 01:59:40 +00:00
|
|
|
name: 'form',
|
|
|
|
fileSuffix: '.form.ts',
|
|
|
|
description: 'Create a new form request validator',
|
|
|
|
baseAppPath: ['http', 'forms'],
|
2021-06-03 03:36:25 +00:00
|
|
|
render(name: string) {
|
|
|
|
return `import {Injectable, FormRequest, ValidationRules, Rule} from '@extollo/lib'
|
2021-06-02 01:59:40 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* ${name} object
|
|
|
|
* ----------------------------
|
|
|
|
* This is the object interface that is guaranteed when
|
|
|
|
* all of the validation rules below pass.
|
|
|
|
*/
|
|
|
|
export interface ${name}Form {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ${name}Request validator
|
|
|
|
* ----------------------------
|
|
|
|
* Request validator that defines the rules needed to guarantee
|
|
|
|
* that a request's input conforms to the interface defined above.
|
|
|
|
*/
|
|
|
|
@Injectable()
|
|
|
|
export class ${name}FormRequest extends FormRequest<${name}Form> {
|
|
|
|
/**
|
|
|
|
* The validation rules that should be applied to the various
|
|
|
|
* request input fields.
|
|
|
|
* @protected
|
|
|
|
*/
|
|
|
|
protected getRules(): ValidationRules {
|
|
|
|
return {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`
|
2021-06-03 03:36:25 +00:00
|
|
|
},
|
2021-06-02 01:59:40 +00:00
|
|
|
}
|
|
|
|
|
2021-06-03 03:36:25 +00:00
|
|
|
export { templateForm }
|