Skip to content

Commit bc4e68e

Browse files
committed
Register Media resource, so it can be loaded from ResourceLoader
1 parent 2b9cd9b commit bc4e68e

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/components/file/media/media.dto.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
simpleSwitch,
2222
} from '~/common';
2323
import { BaseNode } from '~/core/database/results';
24+
import { RegisterResource } from '~/core/resources';
2425
import { FileVersion } from '../dto';
2526

2627
export type AnyMedia = Image | Video | Audio;
@@ -68,6 +69,7 @@ export class MediaUserMetadata extends DataObject {
6869
@InterfaceType({
6970
resolveType: resolveMedia,
7071
})
72+
@RegisterResource()
7173
export class Media extends MediaUserMetadata {
7274
static readonly Props: string[] = keysOf<Media>();
7375
static readonly SecuredProps: string[] = keysOf<SecuredProps<Media>>();
@@ -141,3 +143,9 @@ export class Audio extends TemporalMedia {
141143

142144
declare __typename: 'Audio';
143145
}
146+
147+
declare module '~/core/resources/map' {
148+
interface ResourceMap {
149+
Media: typeof Media;
150+
}
151+
}

src/components/file/media/media.loader.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { DataLoaderStrategy } from '@seedcompany/data-loader';
22
import { ID } from '~/common';
33
import { LoaderFactory } from '~/core/resources';
4-
import { AnyMedia } from './media.dto';
4+
import { AnyMedia, Media } from './media.dto';
55
import { MediaRepository } from './media.repository';
66

7-
@LoaderFactory()
7+
@LoaderFactory(() => Media)
88
export class MediaLoader implements DataLoaderStrategy<AnyMedia, ID> {
99
constructor(private readonly repo: MediaRepository) {}
1010

0 commit comments

Comments
 (0)