• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

safe-global / safe-client-gateway / 8630594257

10 Apr 2024 11:38AM UTC coverage: 45.232% (-47.6%) from 92.862%
8630594257

Pull #1369

github

iamacook
Only store signer address in JWT payload
Pull Request #1369: Add `AuthGuard`

293 of 2225 branches covered (13.17%)

Branch coverage included in aggregate %.

4 of 9 new or added lines in 3 files covered. (44.44%)

2495 existing lines in 237 files now uncovered.

3540 of 6249 relevant lines covered (56.65%)

8.62 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

78.95
/src/routes/locking/locking.controller.ts
1
import { LockingEventPage } from '@/routes/locking/entities/locking-event.page.entity';
14✔
2
import { Rank } from '@/routes/locking/entities/rank.entity';
14✔
3
import { PaginationDataDecorator } from '@/routes/common/decorators/pagination.data.decorator';
14✔
4
import { RouteUrlDecorator } from '@/routes/common/decorators/route.url.decorator';
14✔
5
import { RankPage } from '@/routes/locking/entities/rank.page.entity';
14✔
6
import { PaginationData } from '@/routes/common/pagination/pagination.data';
14✔
7
import { LockingService } from '@/routes/locking/locking.service';
14✔
8
import { AddressSchema } from '@/validation/entities/schemas/address.schema';
14✔
9
import { ValidationPipe } from '@/validation/pipes/validation.pipe';
14✔
10
import { Controller, Get, Param } from '@nestjs/common';
14✔
11
import { ApiOkResponse, ApiQuery, ApiTags } from '@nestjs/swagger';
14✔
12

13
@ApiTags('locking')
14
@Controller({
15
  path: 'locking',
16
  version: '1',
17
})
18
export class LockingController {
14✔
UNCOV
19
  constructor(private readonly lockingService: LockingService) {}
×
20

21
  @ApiOkResponse({ type: Rank })
22
  @Get('/leaderboard/rank/:safeAddress')
23
  async getRank(
14✔
24
    @Param('safeAddress', new ValidationPipe(AddressSchema))
25
    safeAddress: `0x${string}`,
26
  ): Promise<Rank> {
UNCOV
27
    return this.lockingService.getRank(safeAddress);
×
28
  }
29

30
  @ApiOkResponse({ type: RankPage })
31
  @ApiQuery({
32
    name: 'cursor',
33
    required: false,
34
    type: String,
35
  })
36
  @Get('/leaderboard')
37
  async getLeaderboard(
14✔
38
    @RouteUrlDecorator() routeUrl: URL,
39
    @PaginationDataDecorator() paginationData: PaginationData,
40
  ): Promise<RankPage> {
UNCOV
41
    return this.lockingService.getLeaderboard({ routeUrl, paginationData });
×
42
  }
43

44
  @ApiOkResponse({ type: LockingEventPage })
45
  @ApiQuery({
46
    name: 'cursor',
47
    required: false,
48
    type: String,
49
  })
50
  @Get('/:safeAddress/history')
51
  async getLockingHistory(
14✔
52
    @Param('safeAddress', new ValidationPipe(AddressSchema))
53
    safeAddress: `0x${string}`,
54
    @RouteUrlDecorator() routeUrl: URL,
55
    @PaginationDataDecorator() paginationData: PaginationData,
56
  ): Promise<LockingEventPage> {
UNCOV
57
    return this.lockingService.getLockingHistory({
×
58
      safeAddress,
59
      routeUrl,
60
      paginationData,
61
    });
62
  }
63
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc