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?version={version}

  • 渡されたバージョンよりも新しい有効なリリースがあったら、最新のものを返す。
  • 渡されたバージョンよりも新しい有効なリリースがなかったら、何も返さない。

現行版の確認

パッケージとリリースの識別子を渡す。

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

  • 指定されたリリースが登録されていて、有効になっていたら、それを返す。
  • 指定されたリリースが登録されていなかったり無効になっていたりしたら、何も返さない。

DB

packages {
  id: primary id
  name: string (unique)
}
releases {
  id: primary id
  package_id: foreign id
  name: string (unique)
  url: string (nullable)
  notes: text (nullable)
  publish_date: DateTime (有効化される日時)
  expire_date: DateTime (無効化される日時)
}

CLI

パッケージの作成

package:create {package:name}

パッケージの削除

package:remove {package:name}

リリースの公開

package:release:publish {package:name} {release:name}

リリースの廃止

package:release:expire {package:name} {release:name}

オプションで指定したバージョン以下をまとめて廃止できてもいいかも。

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?