summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-24 17:48:54 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-24 17:48:54 +0900
commit664acb2d0e5c0fdeb63b6a5fa1cccbca55b88e74 (patch)
tree98a8cc0500539dbc0b91d14996029d149662d67e /src
parentRefactor (diff)
downloadsharkey-664acb2d0e5c0fdeb63b6a5fa1cccbca55b88e74.tar.gz
sharkey-664acb2d0e5c0fdeb63b6a5fa1cccbca55b88e74.tar.bz2
sharkey-664acb2d0e5c0fdeb63b6a5fa1cccbca55b88e74.zip
Refactor
Diffstat (limited to 'src')
-rw-r--r--src/server/api/openapi/gen-spec.ts21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/server/api/openapi/gen-spec.ts b/src/server/api/openapi/gen-spec.ts
index 78569f1245..c8b1c21de4 100644
--- a/src/server/api/openapi/gen-spec.ts
+++ b/src/server/api/openapi/gen-spec.ts
@@ -41,24 +41,22 @@ export function genOpenapiSpec(lang = 'ja-JP') {
}
};
- function genProps(props: { [key: string]: Context & { desc: any, default: any }; }) {
+ function genProps(props: { [key: string]: Context; }) {
const properties = {} as any;
- const kvs = Object.entries(props);
-
- for (const kv of kvs) {
- properties[kv[0]] = genProp(kv[1], kv[1].desc, kv[1].default);
+ for (const [k, v] of Object.entries(props)) {
+ properties[k] = genProp(v);
}
return properties;
}
- function genProp(param: Context, desc?: string, _default?: any): any {
+ function genProp(param: Context): any {
const required = param.name === 'Object' ? (param as any).props ? Object.entries((param as any).props).filter(([k, v]: any) => !v.isOptional).map(([k, v]) => k) : [] : [];
return {
- description: desc,
- default: _default,
- ...(_default ? { default: _default } : {}),
+ description: (param.data || {}).desc,
+ default: (param.data || {}).default,
+ ...((param.data || {}).default ? { default: (param.data || {}).default } : {}),
type: param.name === 'ID' ? 'string' : param.name.toLowerCase(),
...(param.name === 'ID' ? { example: 'xxxxxxxxxxxxxxxxxxxxxxxx', format: 'id' } : {}),
nullable: param.isNullable,
@@ -97,8 +95,9 @@ export function genOpenapiSpec(lang = 'ja-JP') {
if (endpoint.meta.params) {
for (const [k, v] of Object.entries(endpoint.meta.params)) {
- if (v.desc) (v.validator as any).desc = v.desc[lang];
- if (v.default) (v.validator as any).default = v.default;
+ if (v.validator.data == null) v.validator.data = {};
+ if (v.desc) v.validator.data.desc = v.desc[lang];
+ if (v.default) v.validator.data.default = v.default;
porops[k] = v.validator;
}
}