Consortium Member Profile

This document will illustrate detail on management of a consortia member profile.

Consortia Member Addition

mod-consortia will be responsible for managing member profiles. At the time of writing, member name and logo are the only data points required for storage.

HTTP Request:

POST /consortia/df874ff4-c405-11ed-afa1-0242ac120002/tenants HTTP/1.1
X-Okapi-Tenant: consortial_tenant
X-Okapi-Token: <JWT>
Content-Type: application/json

{
    "tenantId": "target_tenant",
    "tenantName": "Target Tenant"
}

HTTP Response:

{
    "tenantId": "target_tenant",
    "tenantName": "Target Tenant"
}

Tenant name will be the consortia facing name of the tenant. Tenant id has to be the same as the what is provisioned in OKAPI which will not be suitable for regular FOLIO user consumption.

The final vision for this action is to able to add tenants to FOLIO(i.e. creating a new tenant via OKAPI). We would need some view to show progress of the creation as well as bolster the tenant creation process to be reliable.

For now, mod-consortia will attempt to hit a core module(e.g. mod-users) to verify the existence of a tenant. Alternate avenue for verifying a tenant can be used later if exists.

Consortia Member Modification

HTTP Request:

PUT /consortia/df874ff4-c405-11ed-afa1-0242ac120002/tenants/target_tenant HTTP/1.1
X-Okapi-Tenant: consortial_tenant
X-Okapi-Token: <JWT>
Content-Type: application/json

{
    "tenantName": "Target Tenant in Ohio"
}

HTTP Response:

{
    "tenantId": "target_tenant",
    "tenantName": "Target Tenant in Ohio"
}

Member Logo Upload

Member logo will be uploaded by a different endpoint. Logo cannot be updated by PUT /consortia/<UUID>/tenants/{tenant_id}

HTTP Request:

PUT /consortia/df874ff4-c405-11ed-afa1-0242ac120002/tenants/target_tenant/logo HTTP/1.1
X-Okapi-Tenant: consortial_tenant
X-Okapi-Token: <JWT>
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name=""; filename="tenant.jpeg"
Content-Type: image/jpeg

(data)
------WebKitFormBoundary7MA4YWxkTrZu0gW--

Logo will be stored in appropriate medium used by FOLIO e.g. MinIO or S3 etc.

Member logo can be retrieved via GET /consortia/tenants/target_tenant/logo .

Consortia Member Removal

Items to be deleted when a consortia member is removed:

  • Member logo should be removed from storage

  • Affiliations

Underlying FOLIO tenant should still remain intact even after removal from consortia.

HTTP Request:

DELETE /consortia/df874ff4-c405-11ed-afa1-0242ac120002/tenants/target_tenant HTTP/1.1
X-Okapi-Tenant: consortial_tenant
X-Okapi-Token: <JWT>