30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { Controller, Get, Param, UseGuards } from '@nestjs/common';
|
||
import { ApiTags, ApiOperation, ApiParam, ApiSecurity } from '@nestjs/swagger';
|
||
import { ApiKeyGuard } from '../../common/guards/api-key.guard';
|
||
import { RequireApiTier } from '../../common/decorators/api-tier.decorator';
|
||
import { CouponService } from './coupon.service';
|
||
|
||
@ApiTags('coupon')
|
||
@ApiSecurity('api-key')
|
||
@Controller('v1/coupon')
|
||
@UseGuards(ApiKeyGuard)
|
||
export class CouponController {
|
||
constructor(private readonly couponService: CouponService) {}
|
||
|
||
@Get(':tokenId')
|
||
@RequireApiTier('public')
|
||
@ApiOperation({ summary: '查询券详情(面值/类型/到期/转售次数)' })
|
||
@ApiParam({ name: 'tokenId', description: '券 Token ID' })
|
||
getCouponDetail(@Param('tokenId') tokenId: string) {
|
||
return this.couponService.getCouponDetail(BigInt(tokenId));
|
||
}
|
||
|
||
@Get('batch/:batchId/holders')
|
||
@RequireApiTier('institutional')
|
||
@ApiOperation({ summary: '查询某批次券的当前持有人列表(机构API)' })
|
||
@ApiParam({ name: 'batchId', description: '批次 ID' })
|
||
getBatchHolders(@Param('batchId') batchId: string) {
|
||
return this.couponService.getBatchHolders(BigInt(batchId));
|
||
}
|
||
}
|