diff --git a/lib/adapters/REST/endpoints/asset.ts b/lib/adapters/REST/endpoints/asset.ts index ee6f4e926b..21e18a231a 100644 --- a/lib/adapters/REST/endpoints/asset.ts +++ b/lib/adapters/REST/endpoints/asset.ts @@ -190,7 +190,7 @@ export const createWithId: RestEndpoint<'Asset', 'createWithId'> = ( export const createFromFiles: RestEndpoint<'Asset', 'createFromFiles'> = async ( http: AxiosInstance, params: GetSpaceEnvironmentParams & { uploadTimeout?: number }, - data: Omit + data: AssetFileProp ) => { const httpUpload = getUploadHttpClient(http, { uploadTimeout: params.uploadTimeout }) diff --git a/lib/common-types.ts b/lib/common-types.ts index a0a2686964..ff96db2f14 100644 --- a/lib/common-types.ts +++ b/lib/common-types.ts @@ -248,41 +248,41 @@ export interface SpaceQueryOptions extends PaginationQueryOptions { spaceId?: string } -export interface BasicMetaSysProps { +export interface BasicMetaSysProps { type: string id: string version: number - createdBy?: SysLink + createdBy?: { [Subject in TSubject]: Link }[TSubject] createdAt: string - updatedBy?: SysLink + updatedBy?: { [Subject in TSubject]: Link }[TSubject] updatedAt: string } -export interface MetaSysProps extends BasicMetaSysProps { - space?: SysLink +export interface MetaSysProps + extends BasicMetaSysProps { + space?: Link<'Space'> /** * @deprecated `status` only exists on entities. Please refactor to use a * type guard to get the correct `EntityMetaSysProps` type with this property. */ - status?: SysLink + status?: Link<'Status'> publishedVersion?: number archivedVersion?: number - archivedBy?: SysLink + archivedBy?: { [Subject in TSubject]: Link }[TSubject] archivedAt?: string deletedVersion?: number - deletedBy?: SysLink + deletedBy?: { [Subject in TSubject]: Link }[TSubject] deletedAt?: string } -export interface EntityMetaSysProps extends MetaSysProps { +export interface EntityMetaSysProps extends MetaSysProps<'User' | 'AppDefinition'> { /** * @deprecated `contentType` only exists on entries. Please refactor to use a * type guard to get the correct `EntryMetaSysProps` type with this property. */ - contentType: SysLink - space: SysLink - status?: SysLink - environment: SysLink + contentType: Link<'ContentType'> + space: Link<'Space'> + environment: Link<'Environment'> publishedBy?: Link<'User'> | Link<'AppDefinition'> publishedAt?: string firstPublishedAt?: string @@ -291,26 +291,11 @@ export interface EntityMetaSysProps extends MetaSysProps { fieldStatus?: { '*': Record } } -export interface EntryMetaSysProps extends EntityMetaSysProps { - contentType: SysLink - automationTags: Link<'Tag'>[] -} - -export interface MetaLinkProps { - type: string - linkType: string - id: string -} - export interface MetadataProps { tags: Link<'Tag'>[] concepts?: Link<'TaxonomyConcept'>[] } -export interface SysLink { - sys: MetaLinkProps -} - export interface CollectionProp { sys: { type: 'Array' @@ -1237,7 +1222,7 @@ export type MRActions = { } createFromFiles: { params: GetSpaceEnvironmentParams & { uploadTimeout?: number } - payload: Omit + payload: AssetFileProp return: AssetProps } processForAllLocales: { diff --git a/lib/create-environment-api.ts b/lib/create-environment-api.ts index 7ba5ccb181..bb12dfa376 100644 --- a/lib/create-environment-api.ts +++ b/lib/create-environment-api.ts @@ -1100,7 +1100,7 @@ export default function createEnvironmentApi(makeRequest: MakeRequest) { * .catch(console.error) * ``` */ - createAssetFromFiles(data: Omit, options?: CreateAssetFromFilesOptions) { + createAssetFromFiles(data: AssetFileProp, options?: CreateAssetFromFilesOptions) { const raw = this.toPlainObject() as EnvironmentProps return makeRequest({ entityType: 'Asset', diff --git a/lib/entities/access-token.ts b/lib/entities/access-token.ts index baee1e0760..8f2186b4cc 100644 --- a/lib/entities/access-token.ts +++ b/lib/entities/access-token.ts @@ -2,15 +2,15 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { DefaultElements, MakeRequest, BasicMetaSysProps, SysLink } from '../common-types' +import type { DefaultElements, MakeRequest, BasicMetaSysProps, Link } from '../common-types' type Application = { id?: string name?: string - sys: SysLink + sys: Link<'Application'> } -type AccessTokenSysProps = BasicMetaSysProps & { +type AccessTokenSysProps = BasicMetaSysProps<'User'> & { application: Application | null expiresAt: string | null lastUsedAt: string | null diff --git a/lib/entities/ai-action-invocation.ts b/lib/entities/ai-action-invocation.ts index 34ebdb8a68..893dc42962 100644 --- a/lib/entities/ai-action-invocation.ts +++ b/lib/entities/ai-action-invocation.ts @@ -1,6 +1,6 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { DefaultElements, Link, MakeRequest } from '../common-types' import { wrapCollection } from '../common-utils' import type { Document as RichTextDocument } from '@contentful/rich-text-types' @@ -48,9 +48,9 @@ export type AiActionInvocationProps = { sys: { id: string type: 'AiActionInvocation' - space: SysLink - environment: SysLink - aiAction: SysLink + space: Link<'Space'> + environment: Link<'Environment'> + aiAction: Link<'AiAction'> status: InvocationStatus errorCode?: string } diff --git a/lib/entities/ai-action.ts b/lib/entities/ai-action.ts index 5895c3b02d..84e4c844e6 100644 --- a/lib/entities/ai-action.ts +++ b/lib/entities/ai-action.ts @@ -1,6 +1,6 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, MetaSysProps } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' import { @@ -71,14 +71,6 @@ export type AiActionTestCase = } } -export type SysLinkUserOrApp = { - sys: { - id: string - linkType: 'User' | 'App' - type: 'Link' - } -} - export interface AiActionQueryOptions { limit?: number skip?: number @@ -86,18 +78,12 @@ export interface AiActionQueryOptions { } export type AiActionProps = { - sys: MetaSysProps & { + sys: MetaSysProps<'User' | 'AppDefinition'> & { type: 'AiAction' - space: { sys: { id: string } } - publishedBy?: SysLinkUserOrApp - updatedBy: SysLinkUserOrApp - createdBy: SysLinkUserOrApp - publishedVersion?: number + space: Link<'Space'> + publishedBy?: Link<'User'> | Link<'AppDefinition'> version: number publishedAt?: string - updatedAt: string - createdAt: string - id: string } name: string description: string diff --git a/lib/entities/api-key.ts b/lib/entities/api-key.ts index d21ad2f7d1..2738e010be 100644 --- a/lib/entities/api-key.ts +++ b/lib/entities/api-key.ts @@ -1,17 +1,15 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, MetaLinkProps, MetaSysProps } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' export type ApiKeyProps = { - sys: MetaSysProps + sys: MetaSysProps<'User'> name: string accessToken: string - environments: { - sys: MetaLinkProps - }[] - preview_api_key: { sys: MetaLinkProps } + environments: Link<'Environment'>[] + preview_api_key: Link<'PreviewApiKey'> description?: string policies?: { effect: string; action: string }[] } diff --git a/lib/entities/app-access-token.ts b/lib/entities/app-access-token.ts index 6993822144..a1a0de96dd 100644 --- a/lib/entities/app-access-token.ts +++ b/lib/entities/app-access-token.ts @@ -1,12 +1,12 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' -type AppAccessTokenSys = Except & { - space: SysLink - environment: SysLink - appDefinition: SysLink +type AppAccessTokenSys = Except, 'version' | 'id'> & { + space: Link<'Space'> + environment: Link<'Environment'> + appDefinition: Link<'AppDefinition'> expiresAt: string } diff --git a/lib/entities/app-action-call.ts b/lib/entities/app-action-call.ts index 87a620a228..5d62612d52 100644 --- a/lib/entities/app-action-call.ts +++ b/lib/entities/app-action-call.ts @@ -5,17 +5,17 @@ import type { BasicMetaSysProps, CreateWithResponseParams, DefaultElements, + Link, MakeRequest, - SysLink, } from '../common-types' import type { WebhookCallDetailsProps } from './webhook' import enhanceWithMethods from '../enhance-with-methods' -type AppActionCallSys = Except & { - appDefinition: SysLink - space: SysLink - environment: SysLink - action: SysLink +type AppActionCallSys = Except, 'version'> & { + appDefinition: Link<'AppDefinition'> + space: Link<'Space'> + environment: Link<'Environment'> + action: Link<'AppAction'> } type RetryOptions = Pick diff --git a/lib/entities/app-action.ts b/lib/entities/app-action.ts index 361e1b813a..f27b5ed8be 100644 --- a/lib/entities/app-action.ts +++ b/lib/entities/app-action.ts @@ -2,19 +2,13 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' import type { Except } from 'type-fest' import { wrapCollection } from '../common-utils' -import type { - BasicMetaSysProps, - DefaultElements, - Link, - MakeRequest, - SysLink, -} from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import type { ParameterDefinition } from './widget-parameters' import enhanceWithMethods from '../enhance-with-methods' -type AppActionSys = Except & { - appDefinition: SysLink - organization: SysLink +type AppActionSys = Except, 'version'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } export type AppActionParameterDefinition = Omit diff --git a/lib/entities/app-bundle.ts b/lib/entities/app-bundle.ts index 9903483d34..f7de453bdd 100644 --- a/lib/entities/app-bundle.ts +++ b/lib/entities/app-bundle.ts @@ -2,12 +2,12 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' import type { Except } from 'type-fest' import { wrapCollection } from '../common-utils' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' -type AppBundleSys = Except & { - appDefinition: SysLink - organization: SysLink +type AppBundleSys = Except, 'version'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } interface ActionManifestProps { diff --git a/lib/entities/app-definition.ts b/lib/entities/app-definition.ts index a76713f1ad..d67c76ea39 100644 --- a/lib/entities/app-definition.ts +++ b/lib/entities/app-definition.ts @@ -1,12 +1,6 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' -import type { - DefaultElements, - BasicMetaSysProps, - SysLink, - MakeRequest, - Link, -} from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' import type { ContentfulAppDefinitionAPI } from '../create-app-definition-api' @@ -44,8 +38,8 @@ export type AppDefinitionProps = { /** * System metadata */ - sys: BasicMetaSysProps & { - organization: SysLink + sys: BasicMetaSysProps<'User'> & { + organization: Link<'Organization'> shared: boolean } /** diff --git a/lib/entities/app-details.ts b/lib/entities/app-details.ts index d4d5b76f46..f264fd9686 100644 --- a/lib/entities/app-details.ts +++ b/lib/entities/app-details.ts @@ -1,12 +1,12 @@ import copy from 'fast-copy' import { toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' -type AppDetailsSys = Except & { - appDefinition: SysLink - organization: SysLink +type AppDetailsSys = Except, 'version' | 'id'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } export type IconType = 'base64' diff --git a/lib/entities/app-event-subscription.ts b/lib/entities/app-event-subscription.ts index fc39b07a9b..8e6c2597b1 100644 --- a/lib/entities/app-event-subscription.ts +++ b/lib/entities/app-event-subscription.ts @@ -1,18 +1,12 @@ import copy from 'fast-copy' import { toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { - BasicMetaSysProps, - DefaultElements, - Link, - MakeRequest, - SysLink, -} from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' -type AppEventSubscriptionSys = Except & { - appDefinition: SysLink - organization: SysLink +type AppEventSubscriptionSys = Except, 'version' | 'id'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } export type AppEventSubscriptionProps = { diff --git a/lib/entities/app-installation.ts b/lib/entities/app-installation.ts index fb3374bc23..ffec677c3e 100644 --- a/lib/entities/app-installation.ts +++ b/lib/entities/app-installation.ts @@ -2,16 +2,16 @@ import { toPlainObject, freezeSys } from 'contentful-sdk-core' import copy from 'fast-copy' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { DefaultElements, BasicMetaSysProps, SysLink, MakeRequest } from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' import type { Except } from 'type-fest' import type { FreeFormParameters } from './widget-parameters' export type AppInstallationProps = { - sys: Omit & { - appDefinition: SysLink - environment: SysLink - space: SysLink - organization: SysLink + sys: Omit, 'id'> & { + appDefinition: Link<'AppDefinition'> + environment: Link<'Environment'> + space: Link<'Space'> + organization: Link<'Organization'> } /** * Free-form installation parameters (API limits stringified length to 32KB) diff --git a/lib/entities/app-key.ts b/lib/entities/app-key.ts index fff467f566..54aa561873 100644 --- a/lib/entities/app-key.ts +++ b/lib/entities/app-key.ts @@ -1,13 +1,13 @@ import copy from 'fast-copy' import { toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -type AppKeySys = Except & { - appDefinition: SysLink - organization: SysLink +type AppKeySys = Except, 'version'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } export interface JWK { diff --git a/lib/entities/app-signed-request.ts b/lib/entities/app-signed-request.ts index 58966ee689..0c5b2b8211 100644 --- a/lib/entities/app-signed-request.ts +++ b/lib/entities/app-signed-request.ts @@ -1,12 +1,12 @@ import copy from 'fast-copy' import { toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' -type AppSignedRequestSys = Except & { - appDefinition: SysLink - space: SysLink - environment: SysLink +type AppSignedRequestSys = Except, 'version' | 'id'> & { + appDefinition: Link<'AppDefinition'> + space: Link<'Space'> + environment: Link<'Environment'> } export type AppSignedRequestProps = { diff --git a/lib/entities/app-signing-secret.ts b/lib/entities/app-signing-secret.ts index d7840ba078..e3de896f83 100644 --- a/lib/entities/app-signing-secret.ts +++ b/lib/entities/app-signing-secret.ts @@ -1,12 +1,12 @@ import copy from 'fast-copy' import { toPlainObject } from 'contentful-sdk-core' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' -type AppSigningSecretSys = Except & { - appDefinition: SysLink - organization: SysLink +type AppSigningSecretSys = Except, 'version' | 'id'> & { + appDefinition: Link<'AppDefinition'> + organization: Link<'Organization'> } export type AppSigningSecretProps = { diff --git a/lib/entities/app-upload.ts b/lib/entities/app-upload.ts index 8b36b14f7b..8c7a2d4337 100644 --- a/lib/entities/app-upload.ts +++ b/lib/entities/app-upload.ts @@ -1,16 +1,16 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' import type { Except } from 'type-fest' -import type { BasicMetaSysProps, SysLink, DefaultElements, MakeRequest } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, MakeRequest, Link } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' -type AppUploadSys = Except +type AppUploadSys = Except, 'version'> export type AppUploadProps = { sys: AppUploadSys & { expiresAt: string - organization: SysLink + organization: Link<'Organization'> } } diff --git a/lib/entities/asset.ts b/lib/entities/asset.ts index e9c696aade..1f8d2995a7 100644 --- a/lib/entities/asset.ts +++ b/lib/entities/asset.ts @@ -42,7 +42,6 @@ export type CreateAssetProps = Omit export type CreateAssetFromFilesOptions = { uploadTimeout?: number } export interface AssetFileProp { - sys: MetaSysProps fields: { title: { [key: string]: string } description: { [key: string]: string } diff --git a/lib/entities/comment.ts b/lib/entities/comment.ts index 159d6b5ead..c0df75dbc0 100644 --- a/lib/entities/comment.ts +++ b/lib/entities/comment.ts @@ -9,7 +9,6 @@ import type { GetSpaceEnvironmentParams, Link, MakeRequest, - SysLink, VersionedLink, } from '../common-types' import { wrapCollection } from '../common-utils' @@ -24,12 +23,12 @@ interface LinkWithReference extends Link { } export type CommentSysProps = Pick< - BasicMetaSysProps, + BasicMetaSysProps<'User'>, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' > & { type: 'Comment' - space: SysLink - environment: SysLink + space: Link<'Space'> + environment: Link<'Environment'> parentEntity: | Link<'ContentType'> | LinkWithReference<'ContentType'> diff --git a/lib/entities/content-type.ts b/lib/entities/content-type.ts index 3a19bc7cf1..99186e701a 100644 --- a/lib/entities/content-type.ts +++ b/lib/entities/content-type.ts @@ -8,7 +8,6 @@ import type { Link, MakeRequest, QueryOptions, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -39,9 +38,9 @@ export type AnnotationAssignment = Link<'Annotation'> & { } export type ContentTypeProps = { - sys: BasicMetaSysProps & { - space: SysLink - environment: SysLink + sys: BasicMetaSysProps<'User' | 'AppDefinition'> & { + space: Link<'Space'> + environment: Link<'Environment'> firstPublishedAt?: string publishedCounter?: number publishedVersion?: number diff --git a/lib/entities/editor-interface.ts b/lib/entities/editor-interface.ts index da0c55827b..9c180c5ddd 100644 --- a/lib/entities/editor-interface.ts +++ b/lib/entities/editor-interface.ts @@ -1,7 +1,7 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' -import type { MetaSysProps, MetaLinkProps, DefaultElements, MakeRequest } from '../common-types' +import type { MetaSysProps, DefaultElements, MakeRequest, Link } from '../common-types' import { wrapCollection } from '../common-utils' import type { DefinedParameters } from './widget-parameters' @@ -85,10 +85,10 @@ export interface SidebarItem { } export type EditorInterfaceProps = { - sys: MetaSysProps & { - space: { sys: MetaLinkProps } - environment: { sys: MetaLinkProps } - contentType: { sys: MetaLinkProps } + sys: MetaSysProps<'User' | 'AppDefinition'> & { + space: Link<'Space'> + environment: Link<'Environment'> + contentType: Link<'ContentType'> } /** * Array of fields and their associated widgetId diff --git a/lib/entities/entry.ts b/lib/entities/entry.ts index 3bcd8ec8c7..aefb945cc4 100644 --- a/lib/entities/entry.ts +++ b/lib/entities/entry.ts @@ -3,8 +3,9 @@ import copy from 'fast-copy' import type { CollectionProp, DefaultElements, - EntryMetaSysProps, + EntityMetaSysProps, KeyValueMap, + Link, MakeRequest, MetadataProps, } from '../common-types' @@ -14,6 +15,11 @@ import createEntryApi from '../create-entry-api' import enhanceWithMethods from '../enhance-with-methods' import type { AssetProps } from './asset' +export interface EntryMetaSysProps extends EntityMetaSysProps { + contentType: Link<'ContentType'> + automationTags: Link<'Tag'>[] +} + export type EntryProps = { sys: EntryMetaSysProps metadata?: MetadataProps diff --git a/lib/entities/environment-alias.ts b/lib/entities/environment-alias.ts index a26a972aac..fef99a788d 100644 --- a/lib/entities/environment-alias.ts +++ b/lib/entities/environment-alias.ts @@ -2,20 +2,14 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { - DefaultElements, - MetaLinkProps, - BasicMetaSysProps, - SysLink, - MakeRequest, -} from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' export type EnvironmentAliasProps = { /** * System meta data */ - sys: BasicMetaSysProps & { space: SysLink } - environment: { sys: MetaLinkProps } + sys: BasicMetaSysProps<'User'> & { space: Link<'Space'> } + environment: Link<'Environment'> } export type CreateEnvironmentAliasProps = Omit diff --git a/lib/entities/environment-template-installation.ts b/lib/entities/environment-template-installation.ts index 8d2969716a..5e8fe41cd0 100644 --- a/lib/entities/environment-template-installation.ts +++ b/lib/entities/environment-template-installation.ts @@ -27,7 +27,7 @@ export type EnvironmentTemplateInstallationStatus = keyof typeof EnvironmentTemplateInstallationStatuses export type EnvironmentTemplateInstallationProps = { - sys: BasicMetaSysProps & { + sys: BasicMetaSysProps<'User'> & { type: 'EnvironmentTemplateInstallation' space: Link<'Space'> template: VersionedLink<'Template'> diff --git a/lib/entities/environment-template.ts b/lib/entities/environment-template.ts index c203159f33..53dd4d81b5 100644 --- a/lib/entities/environment-template.ts +++ b/lib/entities/environment-template.ts @@ -29,7 +29,7 @@ export interface ContentTypeTemplateProps extends Omit } export type EnvironmentTemplateProps = { - sys: BasicMetaSysProps & { version: number; organization: Link<'Organization'> } + sys: BasicMetaSysProps<'User'> & { version: number; organization: Link<'Organization'> } name: string description?: string versionName: string diff --git a/lib/entities/environment.ts b/lib/entities/environment.ts index 96d89aec6f..d7652e0f1d 100644 --- a/lib/entities/environment.ts +++ b/lib/entities/environment.ts @@ -4,13 +4,13 @@ import enhanceWithMethods from '../enhance-with-methods' import type { ContentfulEnvironmentAPI } from '../create-environment-api' import createEnvironmentApi from '../create-environment-api' import { wrapCollection } from '../common-utils' -import type { DefaultElements, SysLink, BasicMetaSysProps, MakeRequest } from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' -type EnvironmentMetaSys = BasicMetaSysProps & { - status: SysLink - space: SysLink - aliases?: Array - aliasedEnvironment?: SysLink +type EnvironmentMetaSys = BasicMetaSysProps<'User'> & { + status: Link<'Status'> + space: Link<'Space'> + aliases?: Array> + aliasedEnvironment?: Link<'Environment'> } export type EnvironmentProps = { diff --git a/lib/entities/extension.ts b/lib/entities/extension.ts index e76a5f535b..1912ec53c2 100644 --- a/lib/entities/extension.ts +++ b/lib/entities/extension.ts @@ -8,12 +8,12 @@ import type { ParameterDefinition, } from './widget-parameters' import { wrapCollection } from '../common-utils' -import type { DefaultElements, BasicMetaSysProps, SysLink, MakeRequest } from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' import type { SetRequired, RequireExactlyOne } from 'type-fest' -type ExtensionSysProps = BasicMetaSysProps & { - space: SysLink - environment: SysLink +type ExtensionSysProps = BasicMetaSysProps<'User'> & { + space: Link<'Space'> + environment: Link<'Environment'> srcdocSha256?: string } diff --git a/lib/entities/locale.ts b/lib/entities/locale.ts index 71ea43c70a..dd38e4a3c5 100644 --- a/lib/entities/locale.ts +++ b/lib/entities/locale.ts @@ -3,10 +3,13 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import type { Except, SetOptional } from 'type-fest' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { BasicMetaSysProps, SysLink, DefaultElements, MakeRequest } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, MakeRequest, Link } from '../common-types' export type LocaleProps = { - sys: BasicMetaSysProps & { space: SysLink; environment: SysLink } + sys: BasicMetaSysProps<'User' | 'AppDefinition'> & { + space: Link<'Space'> + environment: Link<'Environment'> + } /** * Locale name */ diff --git a/lib/entities/oauth-application.ts b/lib/entities/oauth-application.ts index 8dbacc89bd..993be4c20c 100644 --- a/lib/entities/oauth-application.ts +++ b/lib/entities/oauth-application.ts @@ -4,7 +4,7 @@ import enhanceWithMethods from '../enhance-with-methods' import copy from 'fast-copy' import { wrapCursorPaginatedCollection } from '../common-utils' -type OAuthApplicationSysProps = BasicMetaSysProps & { +type OAuthApplicationSysProps = BasicMetaSysProps<'User'> & { lastUsedAt: string | null } diff --git a/lib/entities/organization-invitation.ts b/lib/entities/organization-invitation.ts index 3c0a7e13ba..229435bbea 100644 --- a/lib/entities/organization-invitation.ts +++ b/lib/entities/organization-invitation.ts @@ -1,10 +1,10 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, MetaLinkProps, MetaSysProps } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' export type OrganizationInvitationProps = { - sys: MetaSysProps & { - organizationMembership: { sys: MetaLinkProps } + sys: MetaSysProps<'User'> & { + organizationMembership: Link<'OrganizationMembership'> user: Record | null invitationUrl: string status: string diff --git a/lib/entities/organization-membership.ts b/lib/entities/organization-membership.ts index e152bcaa41..c1abd5c4e0 100644 --- a/lib/entities/organization-membership.ts +++ b/lib/entities/organization-membership.ts @@ -2,13 +2,13 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { MetaSysProps, DefaultElements, MetaLinkProps, MakeRequest } from '../common-types' +import type { MetaSysProps, DefaultElements, MakeRequest, Link } from '../common-types' export type OrganizationMembershipProps = { /** * System metadata */ - sys: MetaSysProps & { user: { sys: MetaLinkProps } } + sys: MetaSysProps<'User'> & { user: Link<'User'> } /** * Role diff --git a/lib/entities/organization.ts b/lib/entities/organization.ts index 4610d7d715..29e51e90c6 100644 --- a/lib/entities/organization.ts +++ b/lib/entities/organization.ts @@ -14,7 +14,7 @@ export type OrganizationProps = { /** * System metadata */ - sys: MetaSysProps + sys: MetaSysProps<'User'> /** * Name */ diff --git a/lib/entities/personal-access-token.ts b/lib/entities/personal-access-token.ts index 7a260b4621..f026195a68 100644 --- a/lib/entities/personal-access-token.ts +++ b/lib/entities/personal-access-token.ts @@ -5,7 +5,7 @@ import { wrapCollection } from '../common-utils' import type { MetaSysProps, DefaultElements, MakeRequest } from '../common-types' export type PersonalAccessTokenProps = { - sys: MetaSysProps & { expiresAt?: string } + sys: MetaSysProps<'User'> & { expiresAt?: string } name: string scopes: 'content_management_manage'[] revokedAt: null | string diff --git a/lib/entities/preview-api-key.ts b/lib/entities/preview-api-key.ts index 26bd2c2739..65e2cac385 100644 --- a/lib/entities/preview-api-key.ts +++ b/lib/entities/preview-api-key.ts @@ -5,7 +5,7 @@ import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' export type PreviewApiKeyProps = { - sys: MetaSysProps + sys: MetaSysProps<'User'> name: string description: string accessToken: string diff --git a/lib/entities/resource-provider.ts b/lib/entities/resource-provider.ts index 32a9776e5f..39fcd3bad1 100644 --- a/lib/entities/resource-provider.ts +++ b/lib/entities/resource-provider.ts @@ -2,8 +2,8 @@ import type { BasicMetaSysProps, CollectionProp, DefaultElements, + Link, MakeRequest, - SysLink, } from '../common-types' import { toPlainObject, freezeSys } from 'contentful-sdk-core' import copy from 'fast-copy' @@ -15,9 +15,9 @@ export type ResourceProviderProps = { /** * System metadata */ - sys: Omit & { - organization: SysLink - appDefinition: SysLink + sys: Omit, 'version'> & { + organization: Link<'Organization'> + appDefinition: Link<'AppDefinition'> } /** * Resource Provider type, value is 'function' @@ -26,7 +26,7 @@ export type ResourceProviderProps = { /** * Link to a Contentful function */ - function: SysLink + function: Link<'Function'> } export type UpsertResourceProviderProps = Omit & { diff --git a/lib/entities/resource-type.ts b/lib/entities/resource-type.ts index 31e0cfd53d..7d7ddf8138 100644 --- a/lib/entities/resource-type.ts +++ b/lib/entities/resource-type.ts @@ -3,8 +3,8 @@ import type { CursorPaginatedCollectionProp, DefaultElements, GetResourceTypeParams, + Link, MakeRequest, - SysLink, } from '../common-types' import { toPlainObject, freezeSys } from 'contentful-sdk-core' import copy from 'fast-copy' @@ -15,10 +15,10 @@ export type ResourceTypeProps = { /** * System metadata */ - sys: Omit & { - appDefinition: SysLink - resourceProvider: SysLink - organization: SysLink + sys: Omit, 'version'> & { + appDefinition: Link<'AppDefinition'> + resourceProvider: Link<'ResourceProvider'> + organization: Link<'Organization'> } /** * Resource Type name diff --git a/lib/entities/resource.ts b/lib/entities/resource.ts index eb95ed1ed8..a0ec082647 100644 --- a/lib/entities/resource.ts +++ b/lib/entities/resource.ts @@ -1,8 +1,8 @@ import type { BasicCursorPaginationOptions, CursorPaginatedCollectionProp, + Link, MakeRequest, - SysLink, } from '../common-types' import { wrapCursorPaginatedCollection } from '../common-utils' import { freezeSys, toPlainObject } from 'contentful-sdk-core' @@ -23,9 +23,9 @@ export type ResourceProps = { sys: { type: 'Resource' urn: string - resourceType: SysLink - resourceProvider: SysLink - appDefinition: SysLink + resourceType: Link<'ResourceType'> + resourceProvider: Link<'ResourceProvider'> + appDefinition: Link<'AppDefinition'> } fields: { title: string diff --git a/lib/entities/role.ts b/lib/entities/role.ts index 87181fd0d6..3893953fe4 100644 --- a/lib/entities/role.ts +++ b/lib/entities/role.ts @@ -2,7 +2,7 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { DefaultElements, BasicMetaSysProps, SysLink, MakeRequest } from '../common-types' +import type { DefaultElements, BasicMetaSysProps, MakeRequest, Link } from '../common-types' export type ActionType = | 'read' @@ -20,7 +20,7 @@ export type ConstraintType = { } export type RoleProps = { - sys: BasicMetaSysProps & { space: SysLink } + sys: BasicMetaSysProps<'User'> & { space: Link<'Space'> } name: string description?: string /** diff --git a/lib/entities/scheduled-action.ts b/lib/entities/scheduled-action.ts index 40124c13bf..cca6465254 100644 --- a/lib/entities/scheduled-action.ts +++ b/lib/entities/scheduled-action.ts @@ -3,10 +3,8 @@ import copy from 'fast-copy' import type { DefaultElements, ISO8601Timestamp, - MetaLinkProps, Link, MakeRequest, - SysLink, ScheduledActionReferenceFilters, BasicCursorPaginationOptions, CollectionProp, @@ -52,7 +50,7 @@ export type ScheduledActionSysProps = { id: string type: 'ScheduledAction' version: number - space: SysLink + space: Link<'Space'> status: ScheduledActionStatus createdAt: ISO8601Timestamp createdBy: Link<'User'> | Link<'AppDefinition'> @@ -72,7 +70,7 @@ export type ScheduledActionProps = { sys: ScheduledActionSysProps action: SchedulableActionType entity: Link - environment?: { sys: MetaLinkProps } + environment?: Link<'Environment'> scheduledFor: { datetime: ISO8601Timestamp /** diff --git a/lib/entities/snapshot.ts b/lib/entities/snapshot.ts index 8dc13b1f91..db0508204f 100644 --- a/lib/entities/snapshot.ts +++ b/lib/entities/snapshot.ts @@ -5,7 +5,7 @@ import { wrapCollection } from '../common-utils' import type { MetaSysProps, DefaultElements, MakeRequest } from '../common-types' export type SnapshotProps = { - sys: MetaSysProps & { + sys: MetaSysProps<'User'> & { snapshotType: string snapshotEntityType: string } diff --git a/lib/entities/space-member.ts b/lib/entities/space-member.ts index a2d4818b98..90285bcf70 100644 --- a/lib/entities/space-member.ts +++ b/lib/entities/space-member.ts @@ -1,10 +1,10 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, MetaLinkProps, MetaSysProps } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' import { wrapCollection } from '../common-utils' export type SpaceMemberProps = { - sys: MetaSysProps + sys: MetaSysProps<'User'> /** * User is an admin */ @@ -12,7 +12,7 @@ export type SpaceMemberProps = { /** * Array of Role Links */ - roles: { sys: MetaLinkProps }[] + roles: Link<'Role'>[] } export interface SpaceMember extends SpaceMemberProps, DefaultElements {} diff --git a/lib/entities/space-membership.ts b/lib/entities/space-membership.ts index 69ab5fb9e7..68f0671e5c 100644 --- a/lib/entities/space-membership.ts +++ b/lib/entities/space-membership.ts @@ -2,13 +2,13 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { SysLink, MetaSysProps, DefaultElements, MakeRequest } from '../common-types' +import type { MetaSysProps, DefaultElements, MakeRequest, Link } from '../common-types' export type SpaceMembershipProps = { - sys: MetaSysProps & { space: SysLink; user: SysLink } - user: SysLink + sys: MetaSysProps<'User'> & { space: Link<'Space'>; user: Link<'User'> } + user: Link<'User'> admin: boolean - roles: SysLink[] + roles: Link<'Role'>[] } export type CreateSpaceMembershipProps = Omit & { diff --git a/lib/entities/space.ts b/lib/entities/space.ts index f92d38f573..1e6599dd67 100644 --- a/lib/entities/space.ts +++ b/lib/entities/space.ts @@ -7,7 +7,7 @@ import createSpaceApi from '../create-space-api' import enhanceWithMethods from '../enhance-with-methods' export type SpaceProps = { - sys: BasicMetaSysProps & { organization: { sys: { id: string } }; archivedAt?: string } + sys: BasicMetaSysProps<'User'> & { organization: { sys: { id: string } }; archivedAt?: string } name: string } diff --git a/lib/entities/tag.ts b/lib/entities/tag.ts index 98bc4c88db..240912805a 100644 --- a/lib/entities/tag.ts +++ b/lib/entities/tag.ts @@ -3,9 +3,9 @@ import copy from 'fast-copy' import type { DefaultElements, GetTagParams, + Link, MakeRequest, MetaSysProps, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -13,13 +13,13 @@ import enhanceWithMethods from '../enhance-with-methods' export type TagVisibility = 'private' | 'public' export type TagSysProps = Pick< - MetaSysProps, + MetaSysProps<'User'>, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' > & { type: 'Tag' visibility: TagVisibility - space: SysLink - environment: SysLink + space: Link<'Space'> + environment: Link<'Environment'> } export type TagProps = { diff --git a/lib/entities/task.ts b/lib/entities/task.ts index 30ab37f354..bac95bff69 100644 --- a/lib/entities/task.ts +++ b/lib/entities/task.ts @@ -7,7 +7,6 @@ import type { GetTaskParams, Link, MakeRequest, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -15,12 +14,12 @@ import enhanceWithMethods from '../enhance-with-methods' export type TaskStatus = 'active' | 'resolved' export type TaskSysProps = Pick< - BasicMetaSysProps, + BasicMetaSysProps<'User' | 'AppDefinition'>, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' > & { type: 'Task' - space: SysLink - environment: SysLink + space: Link<'Space'> + environment: Link<'Environment'> parentEntity: Link<'Entry'> } diff --git a/lib/entities/team-membership.ts b/lib/entities/team-membership.ts index 117c313258..c1870649d6 100644 --- a/lib/entities/team-membership.ts +++ b/lib/entities/team-membership.ts @@ -2,16 +2,16 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { DefaultElements, MetaSysProps, MetaLinkProps, MakeRequest } from '../common-types' +import type { DefaultElements, MetaSysProps, MakeRequest, Link } from '../common-types' export type TeamMembershipProps = { /** * System metadata */ - sys: MetaSysProps & { - team: { sys: MetaLinkProps } - organization: { sys: MetaLinkProps } - organizationMembership: { sys: MetaLinkProps } + sys: MetaSysProps<'User'> & { + team: Link<'Team'> + organization: Link<'Organization'> + organizationMembership: Link<'OrganizationMembership'> } /** diff --git a/lib/entities/team-space-membership.ts b/lib/entities/team-space-membership.ts index fd074d4e03..33b6041321 100644 --- a/lib/entities/team-space-membership.ts +++ b/lib/entities/team-space-membership.ts @@ -4,8 +4,8 @@ import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' import type { DefaultElements, + Link, MakeRequest, - MetaLinkProps, MetaSysProps, QueryOptions, } from '../common-types' @@ -19,7 +19,7 @@ export type TeamSpaceMembershipProps = { /** * System metadata */ - sys: MetaSysProps & { team: { sys: MetaLinkProps }; space: { sys: MetaLinkProps } } + sys: MetaSysProps<'User'> & { team: Link<'Team'>; space: Link<'Space'> } /** * Is admin @@ -29,7 +29,7 @@ export type TeamSpaceMembershipProps = { /** * Roles */ - roles: { sys: MetaLinkProps }[] + roles: Link<'Role'>[] } export type CreateTeamSpaceMembershipProps = Omit diff --git a/lib/entities/team.ts b/lib/entities/team.ts index 017069d10e..53af606133 100644 --- a/lib/entities/team.ts +++ b/lib/entities/team.ts @@ -2,13 +2,13 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' import { wrapCollection } from '../common-utils' -import type { DefaultElements, MetaSysProps, MetaLinkProps, MakeRequest } from '../common-types' +import type { DefaultElements, MetaSysProps, MakeRequest, Link } from '../common-types' export type TeamProps = { /** * System metadata */ - sys: MetaSysProps & { memberCount: number; organization: { sys: MetaLinkProps } } + sys: MetaSysProps<'User'> & { memberCount: number; organization: Link<'Organization'> } /** * Name of the team diff --git a/lib/entities/ui-config.ts b/lib/entities/ui-config.ts index f0fcd6d017..6189a24a4c 100644 --- a/lib/entities/ui-config.ts +++ b/lib/entities/ui-config.ts @@ -1,6 +1,6 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import createUIConfigApi from '../create-ui-config-api' import enhanceWithMethods from '../enhance-with-methods' @@ -17,9 +17,9 @@ export type UIConfigProps = { publish?: { publishMode: 'entryPublishing' | 'localePublishing' } } -export interface UIConfigSysProps extends BasicMetaSysProps { - space: SysLink - environment: SysLink +export interface UIConfigSysProps extends BasicMetaSysProps<'User' | 'AppDefinition'> { + space: Link<'Space'> + environment: Link<'Environment'> } interface HomeView { diff --git a/lib/entities/upload-credential.ts b/lib/entities/upload-credential.ts index fb62f76be9..b0620c6109 100644 --- a/lib/entities/upload-credential.ts +++ b/lib/entities/upload-credential.ts @@ -1,13 +1,13 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { DefaultElements, MakeRequest, MetaSysProps, SysLink } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' import enhanceWithMethods from '../enhance-with-methods' export type UploadCredentialProps = { /** * System metadata */ - sys: MetaSysProps & { space: SysLink; environment?: SysLink } + sys: MetaSysProps<'User'> & { space: Link<'Space'>; environment?: Link<'Environment'> } } export interface UploadCredential diff --git a/lib/entities/upload.ts b/lib/entities/upload.ts index 36ea3cb0a0..cccf4d3906 100644 --- a/lib/entities/upload.ts +++ b/lib/entities/upload.ts @@ -1,13 +1,16 @@ import copy from 'fast-copy' import { freezeSys, toPlainObject } from 'contentful-sdk-core' import enhanceWithMethods from '../enhance-with-methods' -import type { DefaultElements, MakeRequest, MetaSysProps, SysLink } from '../common-types' +import type { DefaultElements, Link, MakeRequest, MetaSysProps } from '../common-types' export type UploadProps = { /** * System metadata */ - sys: MetaSysProps & { space: SysLink; environment?: SysLink } + sys: MetaSysProps<'User' | 'AppDefinition'> & { + space: Link<'Space'> + environment?: Link<'Environment'> + } } export interface Upload extends UploadProps, DefaultElements { diff --git a/lib/entities/usage.ts b/lib/entities/usage.ts index 43ba3beece..71f0a0ea3a 100644 --- a/lib/entities/usage.ts +++ b/lib/entities/usage.ts @@ -1,12 +1,6 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { - DefaultElements, - MakeRequest, - MetaLinkProps, - MetaSysProps, - QueryOptions, -} from '../common-types' +import type { DefaultElements, Link, MakeRequest, QueryOptions } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -22,8 +16,10 @@ export type UsageProps = { /** * System metadata */ - sys: MetaSysProps & { - organization?: { sys: MetaLinkProps } + sys: { + id: string + type: string + organization?: Link<'Organization'> } /** diff --git a/lib/entities/user-ui-config.ts b/lib/entities/user-ui-config.ts index 9945d89621..7080cbf152 100644 --- a/lib/entities/user-ui-config.ts +++ b/lib/entities/user-ui-config.ts @@ -1,6 +1,6 @@ import { freezeSys, toPlainObject } from 'contentful-sdk-core' import copy from 'fast-copy' -import type { BasicMetaSysProps, DefaultElements, MakeRequest, SysLink } from '../common-types' +import type { BasicMetaSysProps, DefaultElements, Link, MakeRequest } from '../common-types' import createUserUIConfigApi from '../create-user-ui-config-api' import enhanceWithMethods from '../enhance-with-methods' @@ -14,9 +14,9 @@ export type UserUIConfigProps = { entryListViews: ViewFolder[] } -export interface UserUIConfigSysProps extends BasicMetaSysProps { - space: SysLink - environment: SysLink +export interface UserUIConfigSysProps extends BasicMetaSysProps<'User' | 'AppDefinition'> { + space: Link<'Space'> + environment: Link<'Environment'> } interface ViewFolder { diff --git a/lib/entities/user.ts b/lib/entities/user.ts index 43d9f6d962..2a3affc155 100644 --- a/lib/entities/user.ts +++ b/lib/entities/user.ts @@ -8,7 +8,7 @@ export type UserProps = { /** * System metadata */ - sys: BasicMetaSysProps + sys: BasicMetaSysProps<'User'> /** * First name of the user diff --git a/lib/entities/webhook.ts b/lib/entities/webhook.ts index be750cc4a1..67305aa44c 100644 --- a/lib/entities/webhook.ts +++ b/lib/entities/webhook.ts @@ -5,9 +5,8 @@ import type { BasicMetaSysProps, CollectionProp, DefaultElements, + Link, MakeRequest, - MetaLinkProps, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -49,11 +48,14 @@ export type WebhookCallRequest = { export type WebhookCallResponse = WebhookCallRequest & { statusCode: number } export type WebhookHealthSys = Except< - BasicMetaSysProps, + BasicMetaSysProps<'WebhookDefinition'>, 'version' | 'updatedAt' | 'updatedBy' | 'createdAt' > -export type WebhookCallDetailsSys = Except +export type WebhookCallDetailsSys = Except< + BasicMetaSysProps<'WebhookDefinition'>, + 'version' | 'updatedAt' | 'updatedBy' +> export type WebhookHeader = { key: string; value: string; secret?: boolean } @@ -133,7 +135,7 @@ export type WebhookHealthProps = { /** * System metadata */ - sys: WebhookHealthSys & { space: { sys: MetaLinkProps } } + sys: WebhookHealthSys & { space: Link<'Space'> } /** * Webhook call statistics @@ -141,10 +143,10 @@ export type WebhookHealthProps = { calls: WebhookCalls } -export type WebhookSigningSecretSys = Except +export type WebhookSigningSecretSys = Except, 'version'> export type WebhookSigningSecretProps = { - sys: WebhookSigningSecretSys & { space: { sys: MetaLinkProps } } + sys: WebhookSigningSecretSys & { space: Link<'Space'> } redactedValue: string } @@ -152,10 +154,10 @@ export type WebhookRetryPolicyPayload = { maxRetries: number } -export type WebhookRetryPolicySys = Except +export type WebhookRetryPolicySys = Except, 'version'> export type WebhookRetryPolicyProps = { - sys: WebhookRetryPolicySys & { space: { sys: MetaLinkProps } } + sys: WebhookRetryPolicySys & { space: Link<'Space'> } maxRetries: number } @@ -163,7 +165,7 @@ export type WebhookProps = { /** * System metadata */ - sys: BasicMetaSysProps & { space: SysLink } + sys: BasicMetaSysProps<'User'> & { space: Link<'Space'> } /** * Webhook name diff --git a/lib/entities/workflow-definition.ts b/lib/entities/workflow-definition.ts index 49d5a04c57..e26b141eda 100644 --- a/lib/entities/workflow-definition.ts +++ b/lib/entities/workflow-definition.ts @@ -8,7 +8,6 @@ import type { Link, MakeRequest, PaginationQueryOptions, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' @@ -97,12 +96,12 @@ export type CreateWorkflowStepProps = Omit /* Workflow Definition */ export type WorkflowDefinitionSysProps = Pick< - BasicMetaSysProps, + BasicMetaSysProps<'User'>, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' > & { type: 'WorkflowDefinition' - space: SysLink - environment: SysLink + space: Link<'Space'> + environment: Link<'Environment'> isLocked: boolean } diff --git a/lib/entities/workflow.ts b/lib/entities/workflow.ts index cbbb013301..b79ca9231d 100644 --- a/lib/entities/workflow.ts +++ b/lib/entities/workflow.ts @@ -8,21 +8,20 @@ import type { Link, MakeRequest, PaginationQueryOptions, - SysLink, } from '../common-types' import { wrapCollection } from '../common-utils' import enhanceWithMethods from '../enhance-with-methods' export type WorkflowSysProps = Pick< - BasicMetaSysProps, + BasicMetaSysProps<'User' | 'AppDefinition'>, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' > & { type: 'Workflow' - space: SysLink - environment: SysLink - completedBy?: SysLink + space: Link<'Space'> + environment: Link<'Environment'> + completedBy?: Link<'User'> | Link<'AppDefinition'> completedAt?: string - deletedBy?: SysLink + deletedBy?: Link<'User'> | Link<'AppDefinition'> deletedAt?: string entity: Link<'Entry'> workflowDefinition: Link<'WorkflowDefinition'> diff --git a/lib/entities/workflows-changelog-entry.ts b/lib/entities/workflows-changelog-entry.ts index d524a9d413..0d0b508a1c 100644 --- a/lib/entities/workflows-changelog-entry.ts +++ b/lib/entities/workflows-changelog-entry.ts @@ -5,7 +5,6 @@ import type { Link, MakeRequest, PaginationQueryOptions, - SysLink, VersionedLink, } from '../common-types' import { wrapCollection } from '../common-utils' @@ -25,7 +24,7 @@ export type WorkflowsChangelogQueryOptions = Omit | Link<'AppDefinition'> eventAt: string workflow: VersionedLink<'Workflow'> workflowDefinition: Link<'WorkflowDefinition'> diff --git a/lib/export-types.ts b/lib/export-types.ts index f88cca269d..f8115c7330 100644 --- a/lib/export-types.ts +++ b/lib/export-types.ts @@ -118,7 +118,13 @@ export type { GroupControl, SidebarItem, } from './entities/editor-interface' -export type { CreateEntryProps, Entry, EntryProps, WithResourceName } from './entities/entry' +export type { + CreateEntryProps, + Entry, + EntryProps, + WithResourceName, + EntryMetaSysProps, +} from './entities/entry' export type { CreateEnvironmentProps, Environment, EnvironmentProps } from './entities/environment' export type { CreateEnvironmentAliasProps, diff --git a/lib/plain/common-types.ts b/lib/plain/common-types.ts index 05680cb4c8..436f49d144 100644 --- a/lib/plain/common-types.ts +++ b/lib/plain/common-types.ts @@ -371,7 +371,7 @@ export type PlainClientAPI = { ): Promise createFromFiles( params: OptionalDefaults, - data: Omit + data: AssetFileProp ): Promise processForAllLocales( params: OptionalDefaults, diff --git a/lib/plain/entities/upload-credential.ts b/lib/plain/entities/upload-credential.ts index 1385fa9038..d4324ffe53 100644 --- a/lib/plain/entities/upload-credential.ts +++ b/lib/plain/entities/upload-credential.ts @@ -5,7 +5,7 @@ export type UploadCredential = { /** * System metadata */ - sys: MetaSysProps & { + sys: MetaSysProps<'User'> & { type: 'UploadCredential' }