ফাইল
ফাইল এবং ডিরেক্টরি ব্রাউজ এবং পরিচালনা করুন। মাল্টি-মাউন্ট স্টোরেজ (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
ফাইলসিস্টেম পাথের একটি তালিকাকে তাদের মিডিয়া-স্টোর ID-তে রেজল্ভ করুন (ইনডেক্স করা না থাকলে খালি স্ট্রিং)।
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)
}