| 1 | import { Args, Int, Parent, ResolveField, Resolver } from '@nestjs/graphql'; |
| 2 | import { AllowAnonymous } |
| 3 | |
| 4 | import type { GithubViewer |
| 5 | import { Viewer } |
| 6 | import { ReleaseOrder } |
| 7 | import { ReleaseConnection, ReleaseNode |
| 8 | import { RepositoryNode } |
| 9 | import { ReleaseNodesService } |
| 10 | |
| 11 | /** A repository's releases, over ReleasesService. */ |
| 12 | @Resolver(() => |
| 13 | @AllowAnonymous() |
| 14 | export class RepositoryReleasesResolver |
| 15 | constructor(private readonly |
| 16 | |
| 17 | @ResolveField(() => |
| 18 | releases( |
| 19 | @Parent() repository |
| 20 | @Viewer() viewer |
| 21 | @Args('first' |
| 22 | @Args('after' |
| 23 | @Args('orderBy' |
| 24 | orderBy?: ReleaseOrder |
| 25 | ) { |
| 26 | return this.releaseNodes |
| 27 | repository, |
| 28 | viewer, |
| 29 | first, |
| 30 | after, |
| 31 | orderBy, |
| 32 | ); |
| 33 | } |
| 34 | |
| 35 | @ResolveField(() => |
| 36 | release( |
| 37 | @Parent() repository |
| 38 | @Args('tagName' |
| 39 | @Viewer() viewer |
| 40 | ) { |
| 41 | return this.releaseNodes |
| 42 | } |
| 43 | } |