unpuber_core 0.0.1 copy "unpuber_core: ^0.0.1" to clipboard
unpuber_core: ^0.0.1 copied to clipboard

A server app using the shelf package and Docker.

A custom pub.flutter-io.cn server package

follow the repository-spec-v2 specification package.tar.gz upload to local machine. package information stored in sqlite.

Usually, you only need to use the Dart command line and do not need to separately use an HTTP client for calls.

api #

1、 get all packages that uploaded on this machine.

method: get

path: /api/packages?size=10&page=1&sort=download&q=<package>

response:

{
  "data": [
    {
      "name": "",
      "tags": [""],
      "letest": "",
      "updatedAt": "",
      "description": "",
      "plats": [1, 2, 3],
      "isDart3Compatible": true
    }
  ]
}

(TODO: support other storage such as s3)

2、get target package information of all versions

method: get

path: api/packages/<package>

resonse:

3、get upload package target link

method: get

path: api/packages/version/new

response:

4、upload package

method: post

path: /api/packages/versions/newUpload

response:

or

{
  "error": {
    "message": "internal server error: "
  }
}

5、upload package finished

method: get

path: /api/packages/versions/newUploadFinish

response:

{
  "success": {
    "message": "upload finish"
  }
}

6、get specific version package

method: get

path: /api/packages/<name>/versions/<version>

response:

7、get package tar.gz

method: get

path: /packages/<name>/versions/<version>.tar.gz

response:

8、add package uploader

method: post

path: /api/packages/<name>/uploaders

response:

{
  "success": {
    "message": "uploader added!",
    "code": 200
  }
}

or

{
  "error": {
    "message": "$email has no permission!", // or $email already exists!
    // or not found email information!
    "code": 400
  }
}

9、remove pacakge uploader

method: delete

path: /api/packages/<name>/uploaders/<email>

response:

{
  "success": {
    "message": "uploader removed!",
    "code": 200
  }
}

or

{
  "error": {
    "message": "$email has no permission!", // or $email not exists in uploader!
    "code": 400
  }
}
0
likes
30
points
42
downloads

Publisher

unverified uploader

Weekly Downloads

A server app using the shelf package and Docker.

License

BSD-3-Clause (license)

Dependencies

archive, args, collection, crypto, googleapis, http, http_parser, intl, io_universe, json_annotation, logging, meta, mime, path, path_provider, pub_semver, shelf, shelf_cors_headers, shelf_multipart, shelf_router, sqlite3, unpuber_model, yaml

More

Packages that depend on unpuber_core