0.1.3 • Published 5 months ago
@platecms/delta-plate-resource-notation v0.1.3
plate-resource-notation
This package defines a PRN object, which allows for creation from strings conform PRN formatting or separate components.
Definition
We define the Plate Resource Name (PRN, derived from URN) format as follows:
prn:<partition>:<organization-id>:<service>:<resource-type>:<resource-id>
- Partition: The instance of Plate Delta in which the resource resides. E.g.
plate,plate-dev,<client-name> - Organization ID: The ID of the organization that owns the resource.
- Service: The abbreviation of the name of the service that owns resource. E.g.
am(Asset Manager),cxc(Content Experience Center), etc. - Resource type: The type of the resource. E.g. asset, directory, content-type
- Resource id: Id of the resource. E.g. 1234, abcd. This can be any string.
Each name is formatted as slug: asset-library
Some examples are:
prn:plate:am:1234:asset:124124prn:jumbo:cxc:abc:content-value:xyz
Requests and responses
A PRN should be formatted as a string in requests and responses. It will be parsed to a PRN object inside the
microservice.
Inside of services we use PRN objects. In the database we use the id part of the PRN.
Features
PRNclass to represent a PRN object. The constructor takes in the components of a PRN object.- Static method
fromStringto convert a string into aPRNinstance. toStringon the PRN class to convert a PRN object into a string.InvalidPrnErrorclass to represent an error while parsing PRNs.TransformPrndecorator to transform a PRN object into a string usingclass-transformerServiceAbbreviationenum to represent the service abbreviations.PRN_REGEXconstant to represent the regex used to validate PRN strings.