Skip to content

Commit 57e399b

Browse files
Fix/ts query contentype (#2655)
* fix: content type list query typing * test: add ts testcases for sys.contentType.sys.id queries --------- Co-authored-by: Thorsten Harders <thorsten.harders@jvm.com>
1 parent 6d85031 commit 57e399b

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

lib/types/query/query.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { AssetDetails, AssetFile, AssetMimeType, AssetSys } from '../asset.js'
22
import type { ChainModifiers } from '../client.js'
33
import type { EntrySys } from '../entry.js'
4-
import type { TagLink, TaxonomyConceptLink } from '../link.js'
4+
import type { ContentTypeLink, TagLink, TaxonomyConceptLink } from '../link.js'
55
import type { Metadata } from '../metadata.js'
66
import type { TagSys } from '../tag.js'
77
import type {
@@ -71,6 +71,13 @@ export type SysQueries<Sys extends FieldsType> = ExistenceFilter<Sys, 'sys'> &
7171
SubsetFilters<Sys, 'sys'> &
7272
RangeFilters<Sys, 'sys'>
7373

74+
/**
75+
* All queries applicable to sys contentType field
76+
*/
77+
export type SysContentTypeQueries =
78+
| ConditionalListQueries<Pick<ContentTypeLink, 'id'>, any, 'sys.contentType.sys', '[in]'>
79+
| ConditionalListQueries<Pick<ContentTypeLink, 'id'>, any, 'sys.contentType.sys', '[nin]'>
80+
7481
/**
7582
* All queries applicable to metadata tags fields
7683
*/
@@ -124,6 +131,7 @@ export type EntriesQueries<
124131
| (EntryFieldsQueries<EntrySkeleton['fields']> &
125132
EntryContentTypeQuery<EntrySkeleton['contentTypeId']>)
126133
| ((SysQueries<Pick<EntrySys, 'createdAt' | 'updatedAt' | 'revision' | 'id' | 'type'>> &
134+
SysContentTypeQueries &
127135
MetadataTagsQueries &
128136
MetadataConceptsQueries &
129137
EntrySelectFilter &

test/types/queries/entry-queries.test-d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ expectAssignable<
213213
'metadata.tags.sys.id[in]': mocks.stringArrayValue,
214214
'metadata.concepts.sys.id[in]': mocks.stringArrayValue,
215215
'sys.updatedAt[in]': mocks.dateArrayValue,
216+
'sys.contentType.sys.id[in]': mocks.stringArrayValue,
216217
})
217218
expectNotAssignable<
218219
EntriesQueries<
@@ -405,6 +406,7 @@ expectAssignable<
405406
'metadata.tags.sys.id[nin]': mocks.stringArrayValue,
406407
'metadata.concepts.sys.id[nin]': mocks.stringArrayValue,
407408
'sys.updatedAt[nin]': mocks.dateArrayValue,
409+
'sys.contentType.sys.id[nin]': mocks.stringArrayValue,
408410
})
409411
expectNotAssignable<
410412
EntriesQueries<

0 commit comments

Comments
 (0)