有人想过将 Hasura 连接到 Discourse 的 Postgres 数据库,以实现更定制化(或更精简)的前端吗?

好的,迫不及待了!我尝试使用了 graphql-mesh。

所以,https://docs.discourse.org/ 下载按钮下的 openapi 文件似乎已损坏 :confused:

我在此处测试了有效性:https://apitools.dev/swagger-parser/online/#,输出结果如下:

Swagger 架构验证失败。
  数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
  数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
  数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
  数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
 
JSON_OBJECT_VALIDATION_FAILED

错误:Swagger 架构验证失败。
  数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
  数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
  数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
  数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
 
JSON_OBJECT_VALIDATION_FAILED
    at o (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:73766)
    at https://apitools.dev/swagger-parser/online/js/bundle.min.js:17:227596

SyntaxError: Swagger 架构验证失败。
  数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
  数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
  数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
  数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
    数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
      缺少必需属性:schema at #/
      缺少必需属性:content at #/
    缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
 
JSON_OBJECT_VALIDATION_FAILED
    at Function.o [as syntax] (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:73766)
    at validateSchema (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:5021)
    at SwaggerParser.validate (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:3171)

z-schema 验证错误:JSON_OBJECT_VALIDATION_FAILED
    at ZSchema.getLastError (https://apitools.dev/swagger-parser/online/js/bundle.min.js:17:211187)
    at validateSchema (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:4925)
    at SwaggerParser.validate (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:3171)

因此,我搜索了 Discourse API 的其他 openapi 或 swagger 文件。我只找到了 这一个
它在第 426 行有点问题,但我已经修复了。

配置好 graphql-mesh 后,我得到了一个可运行的 GraphQL API!但是……
这个 swagger 文件不完整或者太旧了。只有 4 个查询,没有变异操作,user 类型的属性也很少……:confused:

Discourse 的 swagger 或 openapi 文件在哪里可以找到呢?