From 5ada0261725f4c51d0cfdb269bf412f1a3e1ae07 Mon Sep 17 00:00:00 2001 From: Igor Savin Date: Sun, 10 Jan 2021 01:35:49 +0200 Subject: [PATCH 1/3] Extend types --- plugin.d.ts | 12 ++++++++++++ test/plugin.test-d.ts | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/plugin.d.ts b/plugin.d.ts index dee8997..c38800b 100644 --- a/plugin.d.ts +++ b/plugin.d.ts @@ -2,6 +2,18 @@ import { FastifyPluginAsync, FastifyReply, FastifyRequest } from 'fastify' +declare module 'fastify' { + interface RouteShorthandOptions{ + casbin?: { + rest?: boolean | { + getSub?: (request: FastifyRequest) => string, + getObj?: (request: FastifyRequest) => string, + getAct?: (request: FastifyRequest) => string + } + } + } +} + export type Hook = | 'onRequest' | 'preParsing' diff --git a/test/plugin.test-d.ts b/test/plugin.test-d.ts index aea99ca..8293966 100644 --- a/test/plugin.test-d.ts +++ b/test/plugin.test-d.ts @@ -26,3 +26,13 @@ server.register(casbinRest, { return '' } }) + +server.get('/', { + casbin: { + rest: { + getSub: (request: FastifyRequest) => request.method, + getObj: (request: FastifyRequest) => '1', + getAct: (request: FastifyRequest) => request.url + } + } +}, () => Promise.resolve('ok')) From 8aa0d872b9404d0c45e8abb2d00baca0c253f53c Mon Sep 17 00:00:00 2001 From: Igor Savin Date: Sun, 10 Jan 2021 01:38:48 +0200 Subject: [PATCH 2/3] Pick better extractors --- test/plugin.test-d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/plugin.test-d.ts b/test/plugin.test-d.ts index 8293966..86cbedf 100644 --- a/test/plugin.test-d.ts +++ b/test/plugin.test-d.ts @@ -30,9 +30,9 @@ server.register(casbinRest, { server.get('/', { casbin: { rest: { - getSub: (request: FastifyRequest) => request.method, - getObj: (request: FastifyRequest) => '1', - getAct: (request: FastifyRequest) => request.url + getSub: (request: FastifyRequest) => '1', + getObj: (request: FastifyRequest) => request.url, + getAct: (request: FastifyRequest) => request.method } } }, () => Promise.resolve('ok')) From cece3c046eca584d17babfe328a9a219bfc39a17 Mon Sep 17 00:00:00 2001 From: Igor Savin Date: Sun, 10 Jan 2021 01:40:03 +0200 Subject: [PATCH 3/3] Fix indentation --- plugin.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin.d.ts b/plugin.d.ts index c38800b..af78529 100644 --- a/plugin.d.ts +++ b/plugin.d.ts @@ -3,13 +3,13 @@ import { FastifyPluginAsync, FastifyReply, FastifyRequest } from 'fastify' declare module 'fastify' { - interface RouteShorthandOptions{ + interface RouteShorthandOptions { casbin?: { rest?: boolean | { - getSub?: (request: FastifyRequest) => string, - getObj?: (request: FastifyRequest) => string, - getAct?: (request: FastifyRequest) => string - } + getSub?: (request: FastifyRequest) => string, + getObj?: (request: FastifyRequest) => string, + getAct?: (request: FastifyRequest) => string + } } } }