Skip to content

Commit 1e44af4

Browse files
committed
add container status query to gql
1 parent 883a14b commit 1e44af4

4 files changed

Lines changed: 26 additions & 2 deletions

File tree

api/src/unraid-api/graph/resolvers/docker/docker.module.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { describe, expect, it, vi } from 'vitest';
66
import { DockerConfigService } from '@app/unraid-api/graph/resolvers/docker/docker-config.service.js';
77
import { DockerEventService } from '@app/unraid-api/graph/resolvers/docker/docker-event.service.js';
88
import { DockerOrganizerService } from '@app/unraid-api/graph/resolvers/docker/docker-organizer.service.js';
9+
import { DockerPhpService } from '@app/unraid-api/graph/resolvers/docker/docker-php.service.js';
910
import { DockerModule } from '@app/unraid-api/graph/resolvers/docker/docker.module.js';
1011
import { DockerMutationsResolver } from '@app/unraid-api/graph/resolvers/docker/docker.mutations.resolver.js';
1112
import { DockerResolver } from '@app/unraid-api/graph/resolvers/docker/docker.resolver.js';
@@ -61,6 +62,7 @@ describe('DockerModule', () => {
6162
DockerResolver,
6263
{ provide: DockerService, useValue: {} },
6364
{ provide: DockerOrganizerService, useValue: {} },
65+
{ provide: DockerPhpService, useValue: { getContainerUpdateStatuses: vi.fn() } },
6466
],
6567
}).compile();
6668

api/src/unraid-api/graph/resolvers/docker/docker.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { DockerAuthService } from '@app/unraid-api/graph/resolvers/docker/docker
44
import { DockerConfigService } from '@app/unraid-api/graph/resolvers/docker/docker-config.service.js';
55
import { DockerManifestService } from '@app/unraid-api/graph/resolvers/docker/docker-manifest.service.js';
66
import { DockerOrganizerService } from '@app/unraid-api/graph/resolvers/docker/docker-organizer.service.js';
7+
import { DockerPhpService } from '@app/unraid-api/graph/resolvers/docker/docker-php.service.js';
78
import { DockerMutationsResolver } from '@app/unraid-api/graph/resolvers/docker/docker.mutations.resolver.js';
89
import { DockerResolver } from '@app/unraid-api/graph/resolvers/docker/docker.resolver.js';
910
import { DockerService } from '@app/unraid-api/graph/resolvers/docker/docker.service.js';
@@ -16,6 +17,7 @@ import { DockerService } from '@app/unraid-api/graph/resolvers/docker/docker.ser
1617
DockerOrganizerService,
1718
DockerAuthService,
1819
DockerManifestService,
20+
DockerPhpService,
1921
// DockerEventService,
2022

2123
// Resolvers

api/src/unraid-api/graph/resolvers/docker/docker.resolver.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Test } from '@nestjs/testing';
44
import { beforeEach, describe, expect, it, vi } from 'vitest';
55

66
import { DockerOrganizerService } from '@app/unraid-api/graph/resolvers/docker/docker-organizer.service.js';
7+
import { DockerPhpService } from '@app/unraid-api/graph/resolvers/docker/docker-php.service.js';
78
import { ContainerState, DockerContainer } from '@app/unraid-api/graph/resolvers/docker/docker.model.js';
89
import { DockerResolver } from '@app/unraid-api/graph/resolvers/docker/docker.resolver.js';
910
import { DockerService } from '@app/unraid-api/graph/resolvers/docker/docker.service.js';
@@ -26,7 +27,13 @@ describe('DockerResolver', () => {
2627
{
2728
provide: DockerOrganizerService,
2829
useValue: {
29-
getResolvedOrganizer: vi.fn(),
30+
resolveOrganizer: vi.fn(),
31+
},
32+
},
33+
{
34+
provide: DockerPhpService,
35+
useValue: {
36+
getContainerUpdateStatuses: vi.fn(),
3037
},
3138
},
3239
],

api/src/unraid-api/graph/resolvers/docker/docker.resolver.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ import {
66
AuthPossession,
77
UsePermissions,
88
} from '@unraid/shared/use-permissions.directive.js';
9+
import { GraphQLJSON } from 'graphql-scalars';
910

1011
import { DockerOrganizerService } from '@app/unraid-api/graph/resolvers/docker/docker-organizer.service.js';
12+
import { DockerPhpService } from '@app/unraid-api/graph/resolvers/docker/docker-php.service.js';
1113
import {
1214
Docker,
1315
DockerContainer,
@@ -21,7 +23,8 @@ import { OrganizerV1, ResolvedOrganizerV1 } from '@app/unraid-api/organizer/orga
2123
export class DockerResolver {
2224
constructor(
2325
private readonly dockerService: DockerService,
24-
private readonly dockerOrganizerService: DockerOrganizerService
26+
private readonly dockerOrganizerService: DockerOrganizerService,
27+
private readonly dockerPhpService: DockerPhpService
2528
) {}
2629

2730
@UsePermissions({
@@ -135,4 +138,14 @@ export class DockerResolver {
135138
});
136139
return this.dockerOrganizerService.resolveOrganizer(organizer);
137140
}
141+
142+
@UsePermissions({
143+
action: AuthActionVerb.READ,
144+
resource: Resource.DOCKER,
145+
possession: AuthPossession.ANY,
146+
})
147+
@ResolveField(() => GraphQLJSON)
148+
public async containerUpdateStatuses() {
149+
return this.dockerPhpService.getContainerUpdateStatuses();
150+
}
138151
}

0 commit comments

Comments
 (0)