Metadata Bank – UAT3 - Release Notes:
1. UAT3 Environment Information:
baseurl: https://metadata-qa.services.pbs.org/v1
apikey: send request to metadata@pbs.org
x-api-key: send request to metadata@pbs.org
Artifacts Name | Artifacts |
Postman Collection and Environment | https://github.com/pbs-metadata/Enterprise-Metadata-Model/tree/master/metadata-bank-api/postman_collection |
JSON Schema | https://github.com/pbs-metadata/Enterprise-Metadata-Model/tree/master/metadata-bank-api/schema |
Github | https://github.com/pbs-metadata/Metadata-Bank-APIs |
Swagger | https://app.swaggerhub.com/apis-docs/metadata-pbs/metadata-bank-alpha |
2. CRs in UAT2 Endpoints:
· Removed the UID from ContentIDList in Series, Season, Episode, Manifestation and Compilation.
· Restricted the duplicate {ContentID}s of all entities.
· The {EntityType}, {CreateDateTime}, {UpdateDateTime} and {Published Status} fields are not allowed in POST & PUT payload of all entities.
· Implemented 2 level authentication & authorization [AWS API Gateway & CA Live Creator] for all endpoints.
· Added FileList to Manifestation GET payload.
· Added new search features for existing endpoints.
a) Episode -/epsiode/search?title={title}&contentId={contentId}.
b) Manifestation - /manifestation/search?title={title}&contentId={contentId}&usewindowtermstartdate={usewindowtermstart}&usewindowtermenddate={usewindowtermenddate}
c) Compilation - /compilation/search?title={title}&contentId={contentId}&entrycontentuid={entrycontentuid}
d) Policy - /policy/search?title={title}&entryuid={entryuid}
3. UAT2 Bug Fixes:
Jira Defect# | Description |
MBank-331 | Language fields accept any String value |
MBank-362 | Various required fields will pass validation as an empty String |
MBank-503 | POST /compilation - Can add non-existing Compilations to the EntryList |
MBank-498 | GET /policy/{PolicyUID} returns a 200 response code when UID does not exist |
MBank-503 | POST /compilation - Can add non-existing Compilations to the EntryList |
MBank-504 | POST /policy/{PolicyUID}/rule - Can set the RuleUID in the payload |
MBank-511 | Problem updating EpisodeList in a Season |
4. New endpoints in UAT3:
a. Manifestation:
· POST - /manifestation/{uid}/usewindowterm – Add new UseWindowTerm in existing Manifestation.
b. File:
· GET - /file/{uid} – Get an existing file.
· POST -/file – Add new file.
· PUT - /file/{uid} – Updates an existing file.
· DELETE -/file/{uid} – Deletes an existing file.
· POST - /file/{uid}/alternateassetidregistration – Register a new alternate asset ID.
c. Events:
· GET - /event/{EventUID} - Get an existing event.
· POST - /event – Add a new Event
· PUT - /event/{EventUID} – Updates an existing Event.
· DELETE - /event/{EventUID} – Deletes an existing Event.
· POST - /event/{EventUID}/linear – Add a new Linear to existing Event.
· PUT - /event/{EventUID}/linear/{alternate-event-id} – Updates an existing Linear information except playrun &for an Event.
· PUT - /event/{EventUID}/linear/{alternate-event-id}/playrun – Updates only a playrun attribute from existing Linear of an Event.
· PUT - /event/{EventUID}/linear/altereventidregistration/{previous-alternate-event-id} - Updates only a AlternateEventID attribute for existing Linear of an Event.
· POST - /event/{EventUID}/vod - Add a new VOD to existing Event.
· PUT - /event/{EventUID}/vod/{alternate-event-id} - Updates an existing VOD information for an Event.
· PUT - /event/{EventUID}/vod/alternateeventidregistration/{previousalternateeventid} - - Updates only a AlternateEventID attribute for existing VOD of an Event.
d. Show Schedule:
· GET - /showschedule?eventdate={EventDate}&episodeId={EpisodeUID}&manifestationId={ManifestationUID}
· GET - /showschedule/vod?startdatetime={startdatetime}&enddatetime={enddatetime}&ProviderSource={ProviderSource}
· GET - /showschedule/linear?providerSource={ProviderSource}&startdatetime={startdatetime}
e. Catalog:
· GET - /catalog/search?episode-title={episode-title}&season-title={season-title}&series-title={series-title}&contentId={contentId} – Search the respective title with ‘OR’ condition and returns array of Series Object. If ContentID is present along with these title then it will consider only ContentID and search it in Series, Season and Episode’s ContentID.
· GET - /catalog/series/{SeriesUID} – Search exact SeriesUID and return Series Object.
· GET - /catalog/season/{SeasonUID} – Search Exact SeasonUID and returns appropriate Series Object
· GET - /catalog/episode/{EpisodeUID} – Search exact EpisodeUID and returns appropriate Series Object.