@udraft/cli
Version:
uDraft is a language and stack agnostic code-generation tool that simplifies full-stack development by converting a single YAML file into code for rapid development.
90 lines (89 loc) • 1.97 kB
YAML
renderers:
- udraft/renderers/dart@unit-tests
pipelines:
main:
- cd: projects/server/
- ts@classes:
includeModuleDir: false
- ts@validators:
$where: (mod, model) => !model.$attribute('schema')
- dart@unit-tests:
draft:
/name: Awesome Project
/description: This is an awesome project.
account:
~account-roles:
ADMIN: admin
READ: read
CREATE: create
UPDATE: update
+timestamps:
createdAt[date]:
- required
updatedAt[date]:
- required(false)
+account(timestamps):
/schema: accountss
_id[string]:
- required(false)
name[string]:
- required
- notEmpty
passwordHash[string]:
- notEmpty
email[string]:
- unique
- notEmpty
- regex(/.+@.+\..+/)
roles[account-roles]:
- array
+account-response-dto(account):
$remove:
- _id
- passwordHash
$pick(account):
- _id > id
/http:
url: /account
signup:
/http:
method: post
url: /signup/{id}
params:
id: email
noBody: true
input:
+create-account-dto:
$pick(account):
- name
- email
- passwordHash > password
output:
+create-account-response-dto:
success[boolean]:
- required
account[account-response-dto]:
- required(false)
signout:
/http:
method: post
url: /signout
output: account-response-dto
vehicle:
+vehicle(timestamps):
/schema: vehicles
owner[&account]:
- required
make[string]:
- required
- notEmpty
model[string]:
- required
- notEmpty
year[int]:
- required
- min(1900)
- max(2020)
+vehicle-response-dto(vehicle):
ownerData[account-response-dto]:
- array