Skip to content

Commit 3dbaeef

Browse files
authored
Merge pull request #3076 from SeedCompany/bugfix/types
2 parents b777cc0 + 2b9f01e commit 3dbaeef

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/components/file/dto/node.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import { stripIndent } from 'common-tags';
44
import { DateTime } from 'luxon';
55
import { Readable } from 'stream';
66
import { keys as keysOf } from 'ts-transformer-keys';
7-
import { MergeExclusive, Opaque } from 'type-fest';
7+
import { MergeExclusive } from 'type-fest';
88
import { BaseNode } from '~/core/database/results';
99
import { e } from '~/core/edgedb';
1010
import { RegisterResource } from '~/core/resources';
1111
import {
1212
DateTimeField,
1313
DbLabel,
1414
ID,
15+
IdOf,
1516
InputException,
1617
NameField,
1718
Resource,
@@ -177,7 +178,7 @@ export abstract class SecuredFile extends SecuredProperty(File) {}
177178
*/
178179
export type DefinedFile = Secured<FileId>;
179180

180-
export type FileId = ID & Opaque<string, 'FileId'>;
181+
export type FileId = IdOf<'File'>;
181182

182183
export const isDirectory = (node: AnyFileNode): node is Directory =>
183184
node.type === FileNodeType.Directory;

src/core/database/changes.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,15 @@ type ChangeKey<Key extends keyof T & string, T> = T[Key] extends SetChangeType<
6565

6666
type ChangeOf<Val> = Val extends SetChangeType<any, infer Override>
6767
? Override
68-
: UnwrapSecured<Val> extends FileId
68+
:
69+
| RawChangeOf<UnwrapSecured<Val> & {}>
70+
| (UnwrapSecured<Val> extends null ? null : unknown);
71+
72+
type RawChangeOf<Val> = Val extends FileId
6973
? CreateDefinedFileVersionInput
70-
: UnwrapSecured<Val> extends LinkTo<any>
74+
: Val extends LinkTo<any>
7175
? ID
72-
: UnwrapSecured<Val>;
76+
: Val;
7377

7478
/**
7579
* Only props of T that can be written directly to DB

0 commit comments

Comments
 (0)