ocpp-standard-schema
Version:
Contains OCPP JSON schemas for validation purposes
90 lines (89 loc) • 2.64 kB
TypeScript
/**
* Enumeration of possible idToken types.
*
*/
export declare type IdTokenEnumType = 'Central' | 'eMAID' | 'ISO14443' | 'ISO15693' | 'KeyCode' | 'Local' | 'MacAddress' | 'NoAuthorization';
/**
* Used algorithms for the hashes provided.
*
*/
export declare type HashAlgorithmEnumType = 'SHA256' | 'SHA384' | 'SHA512';
export default interface AuthorizeRequest {
customData?: CustomDataType;
idToken: IdTokenType;
/**
* The X.509 certificated presented by EV and encoded in PEM format.
*
*/
certificate?: string;
iso15118CertificateHashData?: [OCSPRequestDataType] | [OCSPRequestDataType, OCSPRequestDataType] | [OCSPRequestDataType, OCSPRequestDataType, OCSPRequestDataType] | [
OCSPRequestDataType,
OCSPRequestDataType,
OCSPRequestDataType,
OCSPRequestDataType
];
}
/**
* This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.
*/
export interface CustomDataType {
vendorId: string;
[k: string]: unknown;
}
/**
* Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.
*
*/
export interface IdTokenType {
customData?: CustomDataType;
additionalInfo?: [AdditionalInfoType, ...AdditionalInfoType[]];
/**
* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.
*
*/
idToken: string;
type: IdTokenEnumType;
}
/**
* Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.
*
*/
export interface AdditionalInfoType {
customData?: CustomDataType;
/**
* This field specifies the additional IdToken.
*
*/
additionalIdToken: string;
/**
* This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.
*
*/
type: string;
}
export interface OCSPRequestDataType {
customData?: CustomDataType;
hashAlgorithm: HashAlgorithmEnumType;
/**
* Hashed value of the Issuer DN (Distinguished Name).
*
*
*/
issuerNameHash: string;
/**
* Hashed value of the issuers public key
*
*/
issuerKeyHash: string;
/**
* The serial number of the certificate.
*
*/
serialNumber: string;
/**
* This contains the responder URL (Case insensitive).
*
*
*/
responderURL: string;
}