@webda/core
Version:
Expose API with Lambda
67 lines (52 loc) • 1.45 kB
JavaScript
import { Store, StoreParameters } from "@webda/core";
export class VoidStore extends Store {
constructor(webda, name, params) {
super(webda, name, params);
webda.registerCORSFilter(this);
if (this.parameters.brokenConstructor) throw Error();
}
initRoutes() {
if (this.parameters.brokenInit) throw Error();
this.addRoute("/broken/{type}", ["GET"], this._brokenRoute);
this.addRoute("/", ["GET", "POST"], this._default);
this.addRoute("/urltemplate/{+id}", ["GET"], this._template);
this.addRoute("/urltemplate/callback{?code}", ["GET"], this._query);
}
loadParameters(params) {
return new StoreParameters(params, this);
}
_template() {}
_default(ctx) {}
_query(ctx) {}
checkRequest(context) {
if (context.getHttpContext().uri === "/bouzouf/route" && context.getHttpContext().host === "csrf.com") {
return true;
}
return false;
}
_brokenRoute(ctx) {
if (ctx.getParameters().type === "401") {
throw 401;
} else if (ctx.getParameters().type === "Error") {
throw new Error();
}
}
exists(uid) {
return Promise.resolve(true);
}
_find(request, offset, limit) {
return Promise.resolve([]);
}
_save(object, uid) {
return Promise.resolve(object);
}
_delete(uid) {
return Promise.resolve();
}
_update(object, uid) {
return Promise.resolve(object);
}
_get(uid) {
return Promise.resolve({});
}
}