@m-ld/gateway
Version:
m-ld gateway for services
40 lines • 3.49 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { EndPoint, get } from './EndPoint.js';
import { plugins } from 'restify';
import { domainRelativeIri } from '../lib/index.js';
import { gatewayContext } from '../data/index.js';
export class ApiEndPoint extends EndPoint {
constructor(gateway, server) {
super(server, '/api/v1', ({ useFor }) => {
useFor('put', plugins.bodyParser());
useFor('post', plugins.bodyParser());
useFor('patch', plugins.bodyParser());
});
this.gateway = gateway;
}
async getContext(req, res) {
res.contentType = req.accepts('html') ? 'html' : 'application/ld+json';
res.send({
'@base': domainRelativeIri('/', this.gateway.domainName),
...gatewayContext // TODO: actual gateway context
});
}
async getPublicKey(_req, res) {
res.contentType = 'text';
res.send(this.gateway.me.userKey.getCryptoPublicKey().export({
format: 'pem', type: 'spki'
}));
}
}
__decorate([
get('/context')
], ApiEndPoint.prototype, "getContext", null);
__decorate([
get('/publicKey')
], ApiEndPoint.prototype, "getPublicKey", null);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpRW5kUG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC9BcGlFbmRQb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUEyQyxNQUFNLFNBQVMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFvQjtJQUNuRCxZQUFxQixPQUFnQixFQUFFLE1BQWtCO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDcEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBTGdCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFNckMsQ0FBQztJQUdLLEFBQU4sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFZLEVBQUUsR0FBYTtRQUMxQyxHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDdkUsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNQLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDeEQsR0FBRyxjQUFjLENBQUMsK0JBQStCO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7SUFHSyxBQUFOLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBYSxFQUFFLEdBQWE7UUFDN0MsR0FBRyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDekIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDNUQsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTTtTQUM1QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQWZPO0lBREwsR0FBRyxDQUFDLFVBQVUsQ0FBQzs2Q0FPZjtBQUdLO0lBREwsR0FBRyxDQUFDLFlBQVksQ0FBQzsrQ0FNakIifQ==