Skip to main content

SaveCrowdyStudioProjectFilesInput

Atomically upsert and delete a private project’s text files under one expected project revision.

input SaveCrowdyStudioProjectFilesInput {
appId: BigInt!
projectId: String!
expectedRevision: BigInt!
upserts: [CrowdyStudioProjectFileInput!]
deletes: [CrowdyStudioProjectFileDeleteInput!]
idempotencyKey: String
}

Fields

SaveCrowdyStudioProjectFilesInput.appId ● BigInt! non-null scalar

App tenant that owns the private project.

SaveCrowdyStudioProjectFilesInput.projectId ● String! non-null scalar

Project UUID to mutate.

SaveCrowdyStudioProjectFilesInput.expectedRevision ● BigInt! non-null scalar

Current project revision used for optimistic concurrency across the entire batch.

SaveCrowdyStudioProjectFilesInput.upserts ● [CrowdyStudioProjectFileInput!] list input

Files to insert or replace. The batch commits only if all paths and post-save caps are valid.

SaveCrowdyStudioProjectFilesInput.deletes ● [CrowdyStudioProjectFileDeleteInput!] list input

Files to remove in the same transaction. A target/path cannot also appear in upserts.

SaveCrowdyStudioProjectFilesInput.idempotencyKey ● String scalar

Optional 24-hour retry key; recommended because a successful batch increments the expected revision.

Member Of

crowdyStudioProjectSaveFiles mutation