@m-ld/gateway
Version:
m-ld gateway for services
39 lines • 3.47 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 GatewayEndPoint extends EndPoint {
constructor(gateway, server) {
super(server, '/api/v1');
this.gateway = gateway;
this.useFor('put', plugins.bodyParser());
this.useFor('post', plugins.bodyParser());
this.useFor('patch', plugins.bodyParser());
}
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')
], GatewayEndPoint.prototype, "getContext", null);
__decorate([
get('/publicKey')
], GatewayEndPoint.prototype, "getPublicKey", null);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2F0ZXdheUVuZFBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2h0dHAvR2F0ZXdheUVuZFBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQTJDLE1BQU0sU0FBUyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFvQjtJQUN2RCxZQUFxQixPQUFnQixFQUFFLE1BQWtCO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFETixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRW5DLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFHSyxBQUFOLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBWSxFQUFFLEdBQWE7UUFDMUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBQ3ZFLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxPQUFPLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3hELEdBQUcsY0FBYyxDQUFDLCtCQUErQjtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQVksRUFBRSxHQUFhO1FBQzVDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBUSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQzVELE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU07U0FDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFmTztJQURMLEdBQUcsQ0FBQyxVQUFVLENBQUM7aURBT2Y7QUFHSztJQURMLEdBQUcsQ0FBQyxZQUFZLENBQUM7bURBTWpCIn0=