Backoffice Products

Release Notes - v11.9 UAT3

Implemented

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.