Skip to content

Commit d699b33

Browse files
authored
chore: v2 managed user inform when access token expires (#15414)
1 parent c071df4 commit d699b33

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/oauth-client-users.controller.ts

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ export class OAuthClientUsersController {
9191
data: {
9292
user: this.getResponseUser(user),
9393
accessToken: tokens.accessToken,
94+
accessTokenExpiresAt: tokens.accessTokenExpiresAt.valueOf(),
9495
refreshToken: tokens.refreshToken,
9596
},
9697
};

apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/outputs/create-managed-user.output.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ManagedUserOutput } from "@/modules/oauth-clients/controllers/oauth-client-users/outputs/managed-user.output";
22
import { ApiProperty } from "@nestjs/swagger";
33
import { Type } from "class-transformer";
4-
import { IsEnum, IsString, ValidateNested } from "class-validator";
4+
import { IsEnum, IsNumber, IsString, ValidateNested } from "class-validator";
55

66
import { SUCCESS_STATUS, ERROR_STATUS } from "@calcom/platform-constants";
77

@@ -18,6 +18,9 @@ class CreateManagedUserData {
1818

1919
@IsString()
2020
refreshToken!: string;
21+
22+
@IsNumber()
23+
accessTokenExpiresAt!: number;
2124
}
2225

2326
export class CreateManagedUserOutput {

apps/api/v2/src/modules/oauth-clients/services/oauth-clients-users.service.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export class OAuthClientUsersService {
6262
await this.userRepository.update(user.id, { name: body.name ?? user.username ?? undefined });
6363
}
6464

65-
const { accessToken, refreshToken } = await this.tokensRepository.createOAuthTokens(
65+
const { accessToken, refreshToken, accessTokenExpiresAt } = await this.tokensRepository.createOAuthTokens(
6666
oAuthClientId,
6767
user.id
6868
);
@@ -78,6 +78,7 @@ export class OAuthClientUsersService {
7878
user,
7979
tokens: {
8080
accessToken,
81+
accessTokenExpiresAt,
8182
refreshToken,
8283
},
8384
};

apps/api/v2/src/modules/tokens/tokens.repository.ts

+1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ export class TokensRepository {
8989

9090
return {
9191
accessToken: accessToken.secret,
92+
accessTokenExpiresAt: accessToken.expiresAt,
9293
refreshToken: refreshToken.secret,
9394
};
9495
}

apps/api/v2/swagger/documentation.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -1833,12 +1833,16 @@
18331833
},
18341834
"refreshToken": {
18351835
"type": "string"
1836+
},
1837+
"accessTokenExpiresAt": {
1838+
"type": "number"
18361839
}
18371840
},
18381841
"required": [
18391842
"user",
18401843
"accessToken",
1841-
"refreshToken"
1844+
"refreshToken",
1845+
"accessTokenExpiresAt"
18421846
]
18431847
},
18441848
"CreateManagedUserOutput": {

0 commit comments

Comments
 (0)