0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ユーザーの利用しているバージョンを保持するパッケージ管理APIの案

Posted at

クライアント側のアップデート確認や利用規約・プライバシーポリシーなどの規約類の管理に使うAPIの案。

最新のバージョンを取得する

GET /packages/{package:name}/releases/latest?current_version={version}

200 { version, notes, publish_date }

current_version を渡したらそれより上のバージョンで絞り込むイメージ。バージョンで並べると面倒なので publish_date (公開日) で並べるのがいいと思う。
内部的には期限がきたら廃止するexpire_dateとかあってもいい。

特定のバージョンを取得する

GET /packages/{package:name}/releases/{release:version}

200 { version, notes, publish_date } (有効なバージョン)
204 (無効なバージョン)

有効性の確認に使う。自分の使っているバージョンが無効なバージョンなら強制アップデートや警告とか。無効な場合の処理はクライアントに任せる。

ユーザーの利用しているバージョンを取得する

GET /packages/{package:name}/current

200 { version }
204 (現在のバージョンを登録していない)

規約類とか同意したり、クライアントの使用バージョンを登録したりするときにuser:package間で紐付ける。
対応するversionがない場合はバリデーションエラーにするのがいいか。

ユーザーの利用しているバージョンを登録する

POST /packages/{package:name}/current
(version: {version})

200

version渡さずに、latestにアップデートするだけでもいいかも。

ユーザーの利用しているバージョン情報を破棄する

DELETE /packages/{package:name}/current

204

使わなかったらなくてもいいと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?