sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
20 lines (15 loc) • 677 B
text/typescript
import {type DocumentActionComponent} from '../../../config/document/actions'
import {type DocumentActionsContext} from '../../../config/types'
import {DiscardVersionAction} from './DiscardVersionAction'
import {UnpublishVersionAction} from './UnpublishVersionAction'
type Action = DocumentActionComponent
export default function resolveDocumentActions(
existingActions: Action[],
context: DocumentActionsContext,
): Action[] {
const duplicateAction = existingActions.filter(({action}) => action === 'duplicate')
if (context.versionType === 'version') {
return duplicateAction.concat(DiscardVersionAction, UnpublishVersionAction)
}
return existingActions
}