OBJECT

Mutation

Root mutation type providing write operations for modifying data in the system

link GraphQL Schema definition

  • type Mutation {
  • # Create a new user account
  • #
  • # Arguments
  • # input: User information for the new account
  • createUser(input: CreateUserInput!): User!
  • # Authenticate a user with Firebase token and return user information
  • #
  • # Arguments
  • # firebaseToken: Firebase authentication token
  • # isAdmin: Whether to grant admin privileges (optional)
  • login(firebaseToken: String!, isAdmin: Boolean): AuthPayload!
  • # Log out the current user and invalidate their session
  • logout: Boolean!
  • # Move a file or folder to a different location
  • #
  • # Arguments
  • # item: ID of the item to move
  • # itemType: Type of item being moved (FILE or FOLDER)
  • # destination: ID of the destination folder
  • moveFolder(item: ID!, itemType: ItemType!, destination: ID!): Folder!
  • # Create a new folder
  • #
  • # Arguments
  • # input: Folder creation parameters
  • createFolder(input: CreateFolderInput!): Folder!
  • # Upload a single file to the specified folder
  • #
  • # Arguments
  • # file: The file to upload
  • # folderId: ID of the folder to upload to (null for root
  • # directory)
  • uploadFile(file: Upload!, folderId: ID): File!
  • # Upload multiple files with optional folder structure
  • #
  • # Arguments
  • # inputs: Array of files to upload with their metadata
  • uploadFiles(inputs: [UploadFileInput!]!): [File!]!
  • # Rename a file or folder
  • #
  • # Arguments
  • # id: ID of the item to rename
  • # type: Type of item being renamed (FILE or FOLDER)
  • # newName: New name for the item
  • renameItem(id: ID!, type: ItemType!, newName: String!): Item!
  • # Change the visibility (public/private) of a file or folder
  • #
  • # Arguments
  • # id: ID of the item to update
  • # type: Type of item being updated (FILE or FOLDER)
  • # isPublic: New visibility setting (true for public, false for
  • # private)
  • updateVisibility(id: ID!, type: ItemType!, isPublic: Boolean!): Visibility!
  • # Delete a file or folder permanently
  • #
  • # Arguments
  • # id: ID of the item to delete
  • # type: Type of item being deleted (FILE or FOLDER)
  • deleteItem(id: ID!, type: ItemType!): Boolean!
  • # Share a file or folder with another user
  • #
  • # Arguments
  • # itemId: ID of the item to share
  • # itemType: Type of item being shared (FILE or FOLDER)
  • # email: Email address of the user to share with
  • shareItem(itemId: ID!, itemType: ItemType!, email: String!): Share!
  • # Remove a share, revoking access to the shared item
  • #
  • # Arguments
  • # id: ID of the share to remove
  • removeShare(id: ID!): Boolean
  • }

link Require by

This element is not required by anyone