|
1 | 1 |
|
2 | 2 | type Callback = (error: any, payload: any) => void; |
3 | 3 |
|
| 4 | +interface BaseArgs { |
| 5 | + access_token?: string; |
| 6 | +} |
| 7 | + |
4 | 8 | export interface PushSubscriptionRoutes { |
5 | 9 | list(done?: Callback): Promise<any>; |
6 | 10 | create(args: any, done?: Callback): Promise<any>; |
@@ -43,14 +47,39 @@ export interface RunningRacesRoutes { |
43 | 47 | } |
44 | 48 |
|
45 | 49 | export interface ClubsRoutes { |
46 | | - get(args: any, done?: Callback): Promise<any>; |
47 | | - listMembers(args: any, done?: Callback): Promise<any>; |
48 | | - listActivities(args: any, done?: Callback): Promise<any>; |
49 | | - listAnnouncements(args: any, done?: Callback): Promise<any>; |
50 | | - listEvents(args: any, done?: Callback): Promise<any>; |
51 | | - listAdmins(args: any, done?: Callback): Promise<any>; |
52 | | - joinClub(args: any, done?: Callback): Promise<any>; |
53 | | - leaveClub(args: any, done?: Callback): Promise<any>; |
| 50 | + get(args: ClubsRoutesArgs, done?: Callback): Promise<any>; |
| 51 | + listMembers(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 52 | + listActivities(args: ClubsRoutesListArgs, done?: Callback): Promise<ClubActivity[]>; |
| 53 | + listAnnouncements(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 54 | + listEvents(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 55 | + listAdmins(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 56 | + joinClub(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 57 | + leaveClub(args: ClubsRoutesListArgs, done?: Callback): Promise<any>; |
| 58 | +} |
| 59 | + |
| 60 | +export interface ClubsRoutesArgs extends BaseArgs { |
| 61 | + id: string; |
| 62 | +} |
| 63 | + |
| 64 | +export interface ClubsRoutesListArgs extends ClubsRoutesArgs { |
| 65 | + page?: number; |
| 66 | + per_page?: number; |
| 67 | +} |
| 68 | + |
| 69 | +export interface ClubActivity { |
| 70 | + resource_state: number; |
| 71 | + athlete: { |
| 72 | + resource_state: number; |
| 73 | + firstname: string; |
| 74 | + lastname: string; |
| 75 | + }; |
| 76 | + name: string; |
| 77 | + distance: number; |
| 78 | + moving_time: number; |
| 79 | + elapsed_time: number; |
| 80 | + total_elevation_gain: number; |
| 81 | + type: string; |
| 82 | + workout_type?: number | null; |
54 | 83 | } |
55 | 84 |
|
56 | 85 | export interface AthletesRoutes { |
@@ -83,10 +112,18 @@ export interface AthleteRoutes { |
83 | 112 | export interface OAuthRoutes { |
84 | 113 | getRequestAccessURL(args: any): Promise<any>; |
85 | 114 | getToken(code: string, done?: Callback): Promise<any>; |
86 | | - refreshToken(code: string): Promise<any>; |
| 115 | + refreshToken(code: string): Promise<RefreshTokenResponse>; |
87 | 116 | deauthorize(args: any, done?: Callback): Promise<any>; |
88 | 117 | } |
89 | 118 |
|
| 119 | +export interface RefreshTokenResponse { |
| 120 | + token_type: string; |
| 121 | + access_token: string; |
| 122 | + expires_at: number; |
| 123 | + expires_in: number; |
| 124 | + refresh_token: string; |
| 125 | +} |
| 126 | + |
90 | 127 | export interface RateLimiting { |
91 | 128 | exceeded(): boolean; |
92 | 129 | fractionReached(): boolean; |
|
0 commit comments