@c8y/client
Version:
Client application programming interface to access the Cumulocity IoT-Platform REST services.
93 lines • 3 kB
JavaScript
import { __awaiter } from "tslib";
import FormData from 'form-data';
import { Service } from '../core/index.js';
/**
* This class allows for managing a list of certificate revocations.
*/
export class CrlService extends Service {
get baseUrl() {
return `/tenant/trusted-certificates/settings/crl`;
}
/**
* Uploads a list of certificate revocations.
* Adds new entries to the certificate revocation list,
* the ones that already exist are updated.
* No entries are removed from the certificate revocation list.
*
* @returns Returns a status object.
*
* **Example**
* ```typescript
*
* const crls: ICertificateRevocation[] = [
* { serialNumberInHex: '24234', revocationDate: '2023-01-13T23:00:00.000Z' }
* ];
*
* (async () => {
* const { res } = await crlService.uploadCrls(crls);
* })();
* ```
*/
uploadCrls(crls) {
return __awaiter(this, void 0, void 0, function* () {
const method = 'PUT';
const headers = { 'content-type': 'application/json', Accept: 'application/json' };
const body = JSON.stringify({ crls });
const res = yield this.fetch('', { method, body, headers });
return { res, data: null };
});
}
/**
* Uploads a csv file containing a list of certificate revocations.
* Adds new entries to the certificate revocation list,
* the ones that already exist are updated.
* No entries are removed from the certificate revocation list.
*
* File format:
* SERIALNO,DATE
* 1234567890abcdef,2023-01-01T00:00:00.000Z
*
* @returns Returns a status object.
*
* **Example**
* ```typescript
*
* (async () => {
* const { res } = await crlService.uploadCrlFile( file );
* })();
* ```
*/
uploadCrlFile(file) {
return __awaiter(this, void 0, void 0, function* () {
const method = 'PUT';
const body = new FormData();
body.append('file', file);
const headers = {
accept: 'application/json'
};
const res = yield this.fetch('', { method, body, headers });
return { res, data: null };
});
}
/**
* Downloads a certificate revocation list file.
* To open the downloaded file please use command: openssl crl -inform DER -text -noout -in fileName.crl
*
* @returns Returns a arrayBuffer wrapped in [[IFetchResponse]].
*
* **Example**
* ```typescript
*
* (async () => {
* const res = await this.crlService.downloadCrlFile();
* const arrayBuffer = await res.arrayBuffer();
* })();
* ```
*/
downloadCrlFile(init) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.fetch('', init);
});
}
}
//# sourceMappingURL=CrlService.js.map