stoney core: Resellers Resource Mapping (REST - LDAP)
From stoney cloud
Overview
The resellers resource mapping describes the business logic behind the LDAP to JSON transformation and visa versa for the request and response objects. The actual resellers resource REST API is located in the REST API category and is named stoney core: Resellers Resource - REST API.
Principles:
- for the ressource objects there is most of the time a one-to-one mapping between LDAP attributes and JSON object
- for collections only a subset of the ressource object attributes will be returned which may be also be merged or otherwise mangled
This specification puts together the Reseller frontend API and the LDAP Data Backend
Resellers Resource Mapping
If not specified otherwise, the following rules apply:
- an attribut which exists in the LDAP object but has no corresponding entry in the API will never be exported
- the mapping has always to be explicit for the API attributes: it is always considered an error if the client provides an attribute which is not listed below (aka no hidden attributes)
- whether an attribute is mandatory or not is specified by the corresponding LDAP object specification
- the attribute in bold letters is the REST API ressource identifier and can as such never be specified in a
POST
request but will always be generated on the server side - specifying a read-only attribut in a
PUT
orPATCH
request is allowed as long as the value is the same as currently set
Base DN: uid=4000000,ou=reseller,dc=stoney-cloud,dc=org
- TBD: New column: LDAP Base DN
- TBD: API Attribute | LDAP Base DN | LDAP Attribute | Details
LDAP Attribute | API Attribute | Details |
---|---|---|
uid | id | Always read-only. |
organizationName | organizationName | |
givenName | givenName | |
surname | surname | |
sstIsCompany | isCompany | |
sstIsActive | isActive | |
sstExternalID | (none) | |
sstBelongsToResellerUID | (none) | Set to uid on creation. |
ou=address?organizationName | organizationName | |
ou=address?sstGender | gender | |
ou=address?givenName | givenName | |
ou=address?surname | surname | |
ou=address?postalAddress | postalAddress | |
ou=address?postOfficeBox | postOfficeBox | |
ou=address?stateOrProvinceName | stateOrProvinceName | |
ou=address?countryName | countryName | |
ou=address?postalCode | postalCode | |
ou=address?localityName | localityName | |
ou=address?preferredLanguage | preferredLanguage | |
ou=address?mail | ||
ou=address?telephoneNumber | telephoneNumber | |
ou=address?mobileTelephoneNumber | mobileTelephoneNumber | |
ou=address?sstWebsiteURL | websiteURL |