Files
फ़ाइलों और निर्देशिकाओं को ब्राउज़ और प्रबंधित करें। मल्टी-माउंट स्टोरेज (internal, SD card, USB) का समर्थन करता है।
प्रकार परिभाषाएँ
type File {
name: String!
path: String!
permission: String! # "rw" | "r"
createdAt: String # ISO 8601, null on some filesystems
updatedAt: String! # ISO 8601
size: Long! # 0 for directories
isDir: Boolean!
childCount: Int! # 0 for files; child count for directories
mediaId: String! # media store ID, empty when unavailable
}
type StorageMount {
id: String!
name: String!
path: String!
mountPoint: String!
fsType: String!
totalBytes: Long!
usedBytes: Long!
freeBytes: Long!
remote: Boolean!
alias: String!
}
type FileInfo {
path: String!
updatedAt: String!
size: Long!
tags: [Tag!]!
data: MediaFileInfo # image/video/audio metadata, null for other types
}
type MediaFileInfo {
# Union-like structure; fields vary by media type (image / video / audio)
width: Int
height: Int
duration: Int # milliseconds (video / audio)
artist: String
album: String
title: String
}
type FavoriteFolder {
rootPath: String!
fullPath: String!
alias: String # optional display alias, empty when not set
}ऑपरेशन
mounts
सभी उपलब्ध स्टोरेज वॉल्यूम (internal, SD card, USB) सूचीबद्ध करें।
query GetMounts {
mounts {
id name path mountPoint fsType totalBytes usedBytes freeBytes remote alias
}
}recentFiles
सभी स्टोरेज में हाल ही में संशोधित फ़ाइलों को सूचीबद्ध करें। Files UI में "Recent" दृश्य का स्रोत।
query GetRecentFiles {
recentFiles {
name path permission createdAt updatedAt size isDir childCount mediaId
}
}files
पेजिनेशन के साथ किसी root पथ के अंतर्गत फ़ाइलें सूचीबद्ध और खोजें। सभी सूचीबद्ध करने के लिए खाली query पास करें।
query GetFiles($root: String!, $offset: Int!, $limit: Int!, $query: String!, $sortBy: FileSortBy!) {
files(root: $root, offset: $offset, limit: $limit, query: $query, sortBy: $sortBy) {
name path permission createdAt updatedAt size isDir childCount mediaId
}
}fileInfo
एकल फ़ाइल के लिए stat + मीडिया मेटाडेटा + टैग प्राप्त करें। fileName पास करें ताकि सर्वर image/video/audio का पता लगा सके और width, height, duration, आदि लोड कर सके।
query GetFileInfo($id: ID!, $path: String!, $fileName: String!) {
fileInfo(id: $id, path: $path, fileName: $fileName) {
path updatedAt size
tags { id name }
data { width height duration artist album title }
}
}fileIds
फ़ाइलसिस्टम पथों की सूची को उनके media-store IDs में रिज़ॉल्व करें (इंडेक्स न होने पर खाली स्ट्रिंग)।
query GetFileIds($paths: [String!]!) {
fileIds(paths: $paths)
}uploadedChunks
रिज़्यूमेबल चंक्ड अपलोड के लिए पहले से प्राप्त चंक इंडेक्स सूचीबद्ध करें। बाधित अपलोड फिर से शुरू करने के लिए उपयोग किया जाता है।
query GetUploadedChunks($fileId: String!) {
uploadedChunks(fileId: $fileId)
}createDir
एक नई निर्देशिका बनाएँ और इसे एक File ऑब्जेक्ट के रूप में लौटाएँ।
mutation CreateDir($path: String!) {
createDir(path: $path) {
name path permission createdAt updatedAt size isDir childCount mediaId
}
}renameFile
किसी फ़ाइल या निर्देशिका का नाम बदलें।
mutation RenameFile($path: String!, $name: String!) {
renameFile(path: $path, name: $name)
}writeTextFile
किसी फ़ाइल में टेक्स्ट सामग्री लिखें। फ़ाइल पहले से मौजूद होने पर "(1)" सफ़िक्स जोड़ने के लिए overwrite=false सेट करें।
mutation WriteTextFile($path: String!, $content: String!, $overwrite: Boolean!) {
writeTextFile(path: $path, content: $content, overwrite: $overwrite) {
name path size updatedAt
}
}deleteFiles
सटीक पथ द्वारा एक या अधिक फ़ाइलें या निर्देशिकाएँ हटाएँ।
mutation DeleteFiles($paths: [String!]!) {
deleteFiles(paths: $paths)
}copyFile
किसी फ़ाइल या निर्देशिका को गंतव्य पथ पर कॉपी करें। मौजूदा फ़ाइल बदलने के लिए overwrite सेट करें।
mutation CopyFile($src: String!, $dst: String!, $overwrite: Boolean!) {
copyFile(src: $src, dst: $dst, overwrite: $overwrite)
}moveFile
किसी फ़ाइल या निर्देशिका को गंतव्य पथ पर ले जाएँ। मौजूदा फ़ाइल बदलने के लिए overwrite सेट करें।
mutation MoveFile($src: String!, $dst: String!, $overwrite: Boolean!) {
moveFile(src: $src, dst: $dst, overwrite: $overwrite)
}addFavoriteFolder
त्वरित एक्सेस के लिए एक फ़ोल्डर बुकमार्क करें। सभी बुकमार्क किए गए फ़ोल्डरों की अपडेट की गई सूची लौटाता है।
mutation AddFavoriteFolder($rootPath: String!, $fullPath: String!) {
addFavoriteFolder(rootPath: $rootPath, fullPath: $fullPath) {
rootPath fullPath alias
}
}removeFavoriteFolder
एक बुकमार्क किए गए फ़ोल्डर को हटाएँ। शेष फ़ोल्डरों की अपडेट की गई सूची लौटाता है।
mutation RemoveFavoriteFolder($fullPath: String!) {
removeFavoriteFolder(fullPath: $fullPath) {
rootPath fullPath alias
}
}setFavoriteFolderAlias
बुकमार्क किए गए फ़ोल्डर के लिए दिखाया गया उपनाम सेट या अपडेट करें। उपनाम साफ़ करने के लिए खाली स्ट्रिंग पास करें।
mutation SetFavoriteFolderAlias($fullPath: String!, $alias: String!) {
setFavoriteFolderAlias(fullPath: $fullPath, alias: $alias) {
rootPath fullPath alias
}
}deleteChunks
चंक्ड अपलोड fileId के लिए सभी संग्रहीत चंक्स हटाएँ। रद्द या विफल अपलोड के बाद डिस्क स्पेस खाली करने के लिए उपयोग करें।
mutation DeleteChunks($fileId: String!) {
deleteChunks(fileId: $fileId)
}mergeChunks
पहले अपलोड किए गए चंक्स को अंतिम फ़ाइल में मर्ज करें। परिणाम को PlainApp के content-addressable AppFile store में इम्पोर्ट करने के लिए isAppFile=true पास करें (चैट अटैचमेंट द्वारा उपयोग किया गया)।
mutation MergeChunks($fileId: String!, $totalChunks: Int!, $path: String!, $replace: Boolean!, $isAppFile: Boolean!) {
mergeChunks(fileId: $fileId, totalChunks: $totalChunks, path: $path, replace: $replace, isAppFile: $isAppFile)
}