Skip to content

Commit 280f132

Browse files
committed
fix typing
1 parent b83af58 commit 280f132

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

src/common/policies/definition.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { FastifyRequest } from "fastify";
22
import { hostRestrictionPolicy } from "./events.js";
33
import { z } from "zod";
44
import { AuthorizationPolicyResult } from "./evaluator.js";
5+
56
type Policy<TParamsSchema extends z.ZodObject<any>> = {
67
name: string;
78
paramsSchema: TParamsSchema;
@@ -11,10 +12,8 @@ type Policy<TParamsSchema extends z.ZodObject<any>> = {
1112
) => AuthorizationPolicyResult;
1213
};
1314

14-
// Type to get parameters type from a policy
1515
type PolicyParams<T> = T extends Policy<infer U> ? z.infer<U> : never;
1616

17-
// Type for a registry of policies
1817
type PolicyRegistry = {
1918
[key: string]: Policy<any>;
2019
};
@@ -27,16 +26,15 @@ type TypedPolicyRegistry<T extends PolicyRegistry> = {
2726
};
2827
};
2928

29+
export const AuthorizationPoliciesRegistry: PolicyRegistry = {
30+
EventsHostRestrictionPolicy: hostRestrictionPolicy,
31+
} as const;
32+
3033
export type AvailableAuthorizationPolicies = TypedPolicyRegistry<
3134
typeof AuthorizationPoliciesRegistry
3235
>;
33-
export const AuthorizationPoliciesRegistry = {
34-
EventsHostRestrictionPolicy: hostRestrictionPolicy,
35-
} as const;
3636

3737
export type AvailableAuthorizationPolicy = {
38-
[K in keyof typeof AuthorizationPoliciesRegistry]: {
39-
name: K;
40-
params: PolicyParams<(typeof AuthorizationPoliciesRegistry)[K]>;
41-
};
42-
}[keyof typeof AuthorizationPoliciesRegistry];
38+
name: keyof typeof AuthorizationPoliciesRegistry;
39+
params: PolicyParams<typeof AuthorizationPoliciesRegistry[keyof typeof AuthorizationPoliciesRegistry]>;
40+
};

0 commit comments

Comments
 (0)