Compare commits

...

2 Commits

Author SHA1 Message Date
Aditya Thakral 2cbba93d9d Add json schema
continuous-integration/drone/push Build is passing Details
2022-08-07 17:37:45 -07:00
Aditya Thakral c14455fe14 Unignore schema 2022-08-07 17:24:57 -07:00
4 changed files with 35 additions and 3 deletions

5
.gitignore vendored
View File

@ -30,5 +30,6 @@ yarn-error.log*
# Images should be optimized
/public/images
# APIs should be automatically generated
/public/api
# APIs should be automatically generated, schema should be checked in
/public/api/*
!/public/api/schema

View File

View File

@ -0,0 +1,25 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Member list",
"description": "List of all members of the Computer Science Club of the University of Waterloo",
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"program": {
"type": "string"
}
}
}
}
}
}

View File

@ -7,7 +7,13 @@ async function createMembersApi() {
const { term, year } = getCurrentTermYear();
const members = await getMembers(year, term);
await writeFile("public/api/members.json", JSON.stringify(members));
const result = {
$schema: "https://json-schema.org/draft/2020-12/schema",
$id: "schema/members.json",
members,
};
await writeFile("public/api/members.json", JSON.stringify(result));
}
void createMembersApi();