Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ApiServerService.tsに直接書かれているエンドポイントの情報がapi.jsonに含まれていない #12796

Closed
zyoshoka opened this issue Dec 25, 2023 · 9 comments · Fixed by #12846
Assignees
Labels
🛠️Dev Development of Misskey itself packages/misskey-js

Comments

@zyoshoka
Copy link
Contributor

💡 Summary

/packages/backend/src/server/api/ApiServerService.ts に直接書かれているエンドポイントの情報が api.json に含まれていません。

対象となるエンドポイント:

  • signup
  • signin
  • signup-pending
  • v1/instance/peers
  • miauth/:session/check

🥰 Expected Behavior

これらのエンドポイントの情報が api.json に含まれており、ひいては misskey-js にも含まれている

🤬 Actual Behavior

これらのエンドポイントの情報が api.json に含まれておらず、misskey-js にも含まれていない

📝 Steps to Reproduce

No response

💻 Frontend Environment

No response

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:
* Misskey: 2023.12.0
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:
@zyoshoka zyoshoka added the ⚠️bug? This might be a bug label Dec 25, 2023
@samunohito samunohito added 🛠️Dev Development of Misskey itself packages/misskey-js and removed ⚠️bug? This might be a bug labels Dec 25, 2023
@syuilo
Copy link
Member

syuilo commented Dec 28, 2023

それらは他のAPIと性質が異なるから仕様だわね

@samunohito
Copy link
Member

  • signup
    アカウント作成
  • signin
    パスワード認証
  • signup-pending
    アカウント作成(emailに埋め込まれたURL経由)
  • v1/instance/peers
    Mastdon互換API
  • miauth/:session/check
    miauthのトークン取得時に使用

…みたいな感じなので、miauth/:session/check 以外はmisskey-jsに載せる必要は無いと考えます。

@samunohito
Copy link
Member

@syuilo

miauth/:session/check

これはサードパーティアプリからも叩きたいのでは…と思いましたが、載せない感じです?

@syuilo
Copy link
Member

syuilo commented Dec 28, 2023

載せたい

@syuilo
Copy link
Member

syuilo commented Dec 28, 2023

ただ非推奨だから載せるように改修するほどではなさそうだわね

@samunohito
Copy link
Member

signup
signin
signup-pending
v1/instance/peers

これらについても同様です?

@syuilo
Copy link
Member

syuilo commented Dec 28, 2023

そうね

@zyoshoka
Copy link
Contributor Author

フロントエンドで signupsignin にリクエストしている部分が複数あって、そこらでエンドポイントが存在しないと怒られているのが何か微妙だなという気持ちがあるんですが、いかがでしょうか?

(実際 3364162 より前は signup だけは存在していました)

// signup
'signup': {
req: {
username: string;
password: string;
host?: string;
invitationCode?: string;
emailAddress?: string;
'hcaptcha-response'?: string;
'g-recaptcha-response'?: string;
'turnstile-response'?: string;
};
res: MeSignup | null;
};

@samunohito
Copy link
Member

  • このissueで取り上げられたエンドポイントと同様、管理画面等のsecure: trueなエンドポイントも内部向けの位置づけだが、前者はapi.jsonに載せる必要は薄い(性質上、サードパーティアプリから使用するようなものではない)
  • api.jsonに載っていないというよりも、フロント側で型エラーになっているのを直したい(上記書き込みより)

…なので、api.jsonの生成ロジックやスキーマ定義に手を入れるよりも、packages/misskey-js/src/api.types.tsを以下のように直せば最小限の規模で抑えつつ型エラーを修正できると思いました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🛠️Dev Development of Misskey itself packages/misskey-js
Projects
None yet
3 participants