Skip to content

Skaði; a semantic cors proxy for the Fotoware / Fotoweb REST API

License

Notifications You must be signed in to change notification settings

Turistforeningen/Skadi

Repository files navigation

Skaði

Build status Codacy grade Codacy coverage NPM downloads NPM version Node version Dependency status

A semantic cors proxy for the Fotoware / Fotoweb REST API. Making it possible to integrate Fotoweb with rich client side applications in a swift!

In Norse mythology, Skaði (sometimes anglicized as Skadi, Skade, or Skathi) is a jötunn and goddess associated with bowhunting, skiing, winter, and mountains. Skaði is attested in the Poetic Edda, compiled in the 13th century from earlier traditional sources; the Prose Edda and in Heimskringla, written in the 13th century by Snorri Sturluson, and in the works of skalds.

            "Sleep I could not
            on the sea beds
            for the screeching of the bird.
            That gull wakes me
            when from the wide sea
            he comes each morning.

API v1

Request:

All requests to the API should be GET requests unless otherwise stated.

Response:

Content returned from the API will have the Content Type application/json with UTF-8 text encoding.

Tags

Endpoint:

$ curl https://example.com/v1/tags

Response:

[
  { "key": "sted", "val": "Sted" },
  { "key": "aktivitet", "val": "Aktivitet" },
  { "key": "arrangementer", "val": "Arrangementer" },
  ...
]

Albums

Endpoint:

$ curl https://example.com/v1/albums

Response:

{
  "data": [
    {
      "id": "5001.AbCd",
      "name": "My Album",
      "description": "Description of this album",
      "type": "archive",
      "created": "1601-01-01T00:00:00.000Z",
      "modified": "2016-05-19T09:20:42.584Z",
      "deleted": null,
      "archived": null,
      "photosUrl": "http://example.com/v1/albums/5001.AbCd/photos",
      "posterImages": [{...}, {...}],
      "color": "#595959"
    },
    ...
  ],
  "paging": null
}

Photos

Endpoint:

$ curl https://example.com/v1/albums/{album}/photos

Parameters

  • {album} - unique album obtained from /v1/albums endpoint.

  • ?page - pagination; see paging property in JSON response

  • ?tags - search by tag names (comma separated)

  • ?query - searcb by free text query

Response:

{
  "data": [
    {
      "id": "DSC0001.JPG",
      "albumId": "5001.AbCd",
      "created": "2016-06-07T12:00:57.680Z",
      "modified": "2016-06-07T12:00:57.000Z",
      "filename": "DSC0001.JPG",
      "filesize": 2404352,
      "previews": [{...}, {...}],
      "attributes": {...},
      "metadata": {
        "albums": ["Blinkskudd", "DNT Sentralt"],
        "tags": ["finvær", "hytte", "vinter"],
        "photographers": "Marius Dalseg Sætre",
        "description": "Påskereportasje Liomseter",
        "place": "Liomseter",
        "area": "Langsua"
      }
    },
    ...
  ],
  "paging": {
    "prev": "https://example.com/v1/albums/5001.AbCd/photos?page=9",
    "next": "https://example.com/v1/albums/5001.AbCd/photos?page=7",
    "first": "https://example.com/v1/albums/5001.AbCd/photos",
    "last": "https://example.com/v1/albums/5001.AbCd/photos?page=0"
  }
}

Development

Requirements

  • Docker 1.10+
  • Docker Compose v1.4+

Start

docker-compose up

Test

docker-compose run --rm node npm run test
docker-compose run --rm node npm run lint

About

Skaði; a semantic cors proxy for the Fotoware / Fotoweb REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •