@udraft/core
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.
84 lines (77 loc) • 1.74 kB
YAML
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