artefactual-labs / ssclient-go

Archivematica Storage Service API client library for Go.

Home Page:https://pkg.go.dev/go.artefactual.dev/ssclient

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ssclient

PkgGoDev OpenAPI docs

This repository provides the go.artefactual.dev/ssclient module. It does not provide functionality beyond making the underlying REST API available.

The API is still experimental, breaking changes MAY occur.

Usage

Check out example, a small program that imports this module to print a list of locations in Archivematica Storage Service.

For a more detailed example, refer to CCP's ssclient package, which offers additional features such as retrieving default locations through header inspection, paging results, and more. This could potentially become a separate package in this repository.

OpenAPI specification

This module was partially generated using an API client generator (Kiota) and the OpenAPI-described API, which we've built using TypeSpec. The API has not been fully described yet, but we'll be extending support as needed.

Furthermore, the API service is built with TastyPie, and old webservice API framework for Django. It includes built-in schema inspection capabilities which has been instrumental for this project, e.g.:

curl http://127.0.0.1:62081/api/v2/?fullschema=true

Visit ss-schema.json to see the output. We should explore options for using this feature in order to describe the API further. django-tastypie-swagger could be a really good start since it's already doing all the mapping. TypeSpec could be a target by using the emitter framework.

About

Archivematica Storage Service API client library for Go.

https://pkg.go.dev/go.artefactual.dev/ssclient

License:Apache License 2.0


Languages

Language:Go 98.1%Language:Makefile 1.9%