Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Commit a9694fc

Browse files
committed
fix(server): fix type definitions for tokens
1 parent 693a59a commit a9694fc

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

server/auth/token.ts

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,43 @@ export enum tokenKinds {
1414
ctftimeAuth = 4
1515
}
1616

17-
export enum VerifyTokenKinds {
18-
update = 'update',
19-
register = 'register'
20-
}
17+
export type VerifyTokenKinds = 'update' | 'register' | 'recover'
2118

2219
export type AuthTokenData = string
20+
2321
export type TeamTokenData = string
24-
export interface VerifyTokenData {
22+
23+
interface BaseVerifyTokenData {
2524
verifyId: string
2625
kind: VerifyTokenKinds
26+
}
27+
28+
export interface RegisterVerifyTokenData extends BaseVerifyTokenData {
29+
kind: 'register'
30+
email: User['email']
31+
name: User['name']
32+
division: User['division']
33+
}
34+
35+
export interface UpdateVerifyTokenData extends BaseVerifyTokenData {
36+
kind: 'update'
2737
userId: User['id']
2838
email: User['email']
2939
division: User['division']
3040
}
31-
export type CtftimeAuthTokenData = string
41+
42+
export interface RecoverTokenData extends BaseVerifyTokenData {
43+
kind: 'recover'
44+
userId: User['id']
45+
email: User['email']
46+
}
47+
48+
export type VerifyTokenData = RegisterVerifyTokenData | UpdateVerifyTokenData | RecoverTokenData
49+
50+
export interface CtftimeAuthTokenData {
51+
name: User['name']
52+
ctftimeId: User['ctftimeId']
53+
}
3254

3355
// Internal map of type definitions for typing purposes only -
3456
// this type does not describe a real data-structure

0 commit comments

Comments
 (0)