1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-11 15:40:26 +01:00
Signed-off-by: ふぁ <yuki@yuki0311.com>
This commit is contained in:
ふぁ 2023-05-28 02:23:22 +09:00
parent e76db523f3
commit f707403009
No known key found for this signature in database
GPG key ID: 83A8A5E74872A8AA
9 changed files with 30 additions and 21 deletions

View file

@ -6,7 +6,7 @@ import shutil
import copy
import re
from build_config import Config
from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase
from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase,OtherHookBase
from tqdm import tqdm
@ -54,6 +54,14 @@ for lang, profile in tqdm(config.main().items(), leave=False):
hook: SchemasHookBase
value = hook.hook(value)
load["components"]["schemas"][name] = value
if file == "src/openapi/paths/other.yaml":
for hook in profile["other"]:
hook: OtherHookBase
key, value = hook.hook()
load["components"]["schemas"][key] = value
load["components"]["schemas"]["OtherResponse"]["properties"][key] = {
"$ref": f"#/components/schemas/{key}"
}
with open(dist_replace(file), mode="w+", encoding="utf-8") as f:
f.write(yaml.dump(load))

View file

@ -10,6 +10,7 @@ class Config:
"docs": {
"openapi": [AddSecuritySchemesOnSecuritySchemes()],
"schemas": [],
"other":[],
"request": {
key: [
ReplaceQueryIdPlaceholder(split=-1),
@ -57,6 +58,7 @@ class Config:
"dart": {
"openapi": [],
"schemas": [],
"other":[],
"request": {
key: [
ReplaceQueryIdPlaceholder(split=-1),
@ -110,6 +112,7 @@ class Config:
"typescript": {
"openapi": [AddSecuritySchemesOnSecuritySchemes()],
"schemas": [RemoveDiscriminator()],
"other":[],
"request": {
key: [
ReplaceQueryIdPlaceholder(split=-1),
@ -159,6 +162,7 @@ class Config:
"test": {
"openapi": [AddSecuritySchemesOnSecuritySchemes()],
"schemas": [],
"other":[],
"request": {
key: [
ReplaceQueryIdPlaceholder(split=-1),

View file

@ -49,17 +49,24 @@ class HookBase:
with open(f"src/config/component/{name}.yaml", mode="r", encoding="utf-8") as f:
return yaml.safe_load(f)
def load_placeholder(self) -> dict:
with open("src/config/placeholder.json", mode="r", encoding="utf-8") as f:
return yaml.safe_load(f)
# HookBase extends
class OpenapiHookBase(HookBase):
def hook(self, value: dict):
def hook(self, value: dict)->dict:
return value
class OtherHookBase(HookBase):
def hook(self)->tuple[str, dict]:
return "", {}
class SchemasHookBase(HookBase):
def hook(self, value: dict):
def hook(self, value: dict)->dict:
return value
@ -71,7 +78,7 @@ class RequestHookBase(HookBase):
super().__init__()
self.split = split
def hook(self, path: str, value: dict):
def hook(self, path: str, value: dict)->tuple[str, dict]:
value["parameters"] = value.get("parameters", [])
self.path_name = "/".join(path.split("/")[self.split :])
return path, value