Skip to content

Commit 86cd34a

Browse files
committed
fix(tokens): remove access token
1 parent 489ccd0 commit 86cd34a

File tree

5 files changed

+31
-2
lines changed

5 files changed

+31
-2
lines changed

src/api/db/access-token.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,11 @@ export function insertAccessToken(data: any): Promise<any> {
2525
.then(token => !token ? reject(token) : resolve(token.toJSON()));
2626
});
2727
}
28+
29+
export function removeAccessToken(id: number): Promise<any> {
30+
return new Promise((resolve, reject) => {
31+
new AccessToken({ id: id }).destroy()
32+
.then(() => resolve(true))
33+
.catch(() => reject());
34+
});
35+
}

src/api/server-routes.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import {
2929
import { getBuilds, getBuild } from './db/build';
3030
import { getJob } from './db/job';
3131
import { getJobRuns, getJobRunsBetween } from './db/job-run';
32-
import { insertAccessToken, getAccessTokens } from './db/access-token';
32+
import { insertAccessToken, getAccessTokens, removeAccessToken } from './db/access-token';
3333
import {
3434
updatePermission,
3535
getUserRepositoryPermissions,
@@ -223,6 +223,15 @@ export function userRoutes(): express.Router {
223223
}).catch(err => res.status(401).json({ data: 'Not Authorized' }));
224224
});
225225

226+
router.get('/remove-token/:id', (req: express.Request, res: express.Response) => {
227+
checkApiRequestAuth(req)
228+
.then(() => {
229+
removeAccessToken(req.params.id)
230+
.then(() => res.status(200).json({ data: true }))
231+
.catch(() => res.status(200).json({ data: false }));
232+
}).catch(err => res.status(401).json({ data: 'Not Authorized' }));
233+
});
234+
226235
router.post('/upload-avatar', upload.any(), (req: express.Request, res: express.Response) => {
227236
const avatar = '/' + relative(getRootDir(), req.files[0].path);
228237
getUser(req.body.userId)

src/app/components/app-user/app-user.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ <h1>Access Tokens</h1>
136136
<span>{{ token.created_at | date:'medium' }}</span>
137137
</div>
138138
<div class="column is-1 justify-center">
139-
<i class="ionicon ion-close pointer"></i>
139+
<i class="ionicon ion-close pointer" name="btn-removeToken" (click)="removeToken(token.id)"></i>
140140
</div>
141141
</div>
142142
</div>

src/app/components/app-user/app-user.component.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,14 @@ export class AppUserComponent implements OnInit {
147147
});
148148
}
149149

150+
removeToken(id: number): void {
151+
this.api.removeToken(id).subscribe(event => {
152+
if (event) {
153+
this.fetchUser();
154+
}
155+
});
156+
}
157+
150158
gotoRepository(e: MouseEvent, id: number): void {
151159
e.preventDefault();
152160
e.stopPropagation();

src/app/services/api.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ export class ApiService {
119119
return this.post(`${this.url}/user/add-token`, data, true);
120120
}
121121

122+
removeToken(id: number): Observable<any> {
123+
return this.get(`${this.url}/user/remove-token/${id}`, null, true);
124+
}
125+
122126
getUsers(): Observable<any> {
123127
return this.get(`${this.url}/user`, null, true);
124128
}

0 commit comments

Comments
 (0)