mirror of
https://github.com/HeyPuter/puter.git
synced 2026-11-01 23:06:52 +01:00
Page:
src backend features batch_and_symlinks
Pages
AI
Home
README
api README
api concepts share_link
api drivers
api group
api notifications
api share
api type_tagged
api types app_share
api types file_share
backend Kernel
backend README
backend contributors boot_sequence
backend contributors modules
backend contributors structure
backend features protected_apps
backend features service_scripts
backend howto_make_driver
backend lists_of_things list_of_permissions
backend lists_of_things list_of_tto_types
backend modules puterai requests
backend modules test_drivers requests
backend notes 2024_10_03_email_in_use_checks
contributors comment_prefixes
contributors email_testing
contributors extensions README
contributors extensions definitions
contributors extensions events
contributors extensions
contributors structure
contributors vscode
devmeta track_comments
docmeta
gui webpack_attempts
phoenix missing_posix
phoenix parser
planning alternatives_to_$
planning micro_modules
prod
scratch
self_hosters config
self_hosters config_values
self_hosters credit_context
self_hosters domains
self_hosters first_run_issues
self_hosters instructions
self_hosters support
src backend A&A auth
src backend A&A permission
src backend A_and_A auth
src backend A_and_A permission
src backend Kernel
src backend README
src backend contributors boot_sequence
src backend contributors coding_style
src backend contributors modules
src backend contributors structure
src backend features batch_and_symlinks
src backend features metered_services
src backend features protected_apps
src backend features service_scripts
src backend howto_make_driver
src backend lists_of_things list_of_permissions
src backend lists_of_things list_of_tto_types
src backend modules puterai README
src backend notes 2024_10_03_email_in_use_checks
src backend services config
src backend services log
src backend src modules puterai README
src backend src modules puterai ai_services_config
src backend src modules puterai api_examples
src backend src modules puterai config
src backend src modules puterai contributors ai_usage_testing
src backend src modules puterai requests
src backend src modules test_drivers requests
src gui el()
src gui webpack_attempts
src phoenix missing_posix
src phoenix parser
testing_with_email
tools api_tester cartesian
uncategorized README
uncategorized es6_note
uncategorized puter_mods
No results
1
src backend features batch_and_symlinks
KernelDeimos edited this page 2025-02-25 15:32:16 -05:00
Table of contents
Batch and Symlinks
2024-10-08
Batch and Symlinks
All filesystem operations will eventually be available through batch requests.
Since batch requests can also handle the cases for single files, it seems silly
to support those endpoints too, so eventually most calls will be done through
/batch. Puter's legacy filesystem endpoints will always be supported, but a
future api.___/fs/v2.0 urlspace for the filesystem API might not include them.
This is batch:
await (async () => {
const endpoint = 'http://api.puter.localhost:4100/batch';
const ops = [
{
op: 'mkdir',
path: '/default_user/Desktop/some-dir',
},
{
op: 'write',
path: '/default_user/Desktop/some-file.txt',
}
];
const blob = new Blob(["12345678"], { type: 'text/plain' });
const formData = new FormData();
for ( const op of ops ) {
formData.append('operation', JSON.stringify(op));
}
formData.append('fileinfo', JSON.stringify({
name: 'file.txt',
size: 8,
mime: 'text/plain',
}));
formData.append('file', blob, 'hello.txt');
const response = await fetch(endpoint, {
method: 'POST',
headers: { 'Authorization': `Bearer ${puter.authToken}` },
body: formData
});
return await response.json();
})();
Symlinks are also created via /batch
await (async () => {
const endpoint = 'http://api.puter.localhost:4100/batch';
const ops = [
{
op: 'symlink',
path: '~/Desktop',
name: 'link',
target: '/bb/Desktop/some'
},
];
const formData = new FormData();
for ( const op of ops ) {
formData.append('operation', JSON.stringify(op));
}
const response = await fetch(endpoint, {
method: 'POST',
headers: { 'Authorization': `Bearer ${puter.authToken}` },
body: formData
});
return await response.json();
})();
General
API
- Index (README.md)
- api drivers
- Group Endpoints
- Notification Endpoints
- Share Endpoints
- Type-Tagged Objects
Concepts
Types
For Contributors
- Comment Prefixes
- contributors vscode
- Local Email Testing
- Puter Extensions
- Repository Structure and Tooling
Extensions
Devmeta
Planning
- Micro Modules
- [planning alternatives_to_
](planning-alternatives_to_)
Self_hosters
- Configuring Domains for Self-Hosted Puter
- Configuring Puter
- First Run Issues
- self_hosters config_values
- self_hosters support
- Self-Hosting Puter
Src
Backend
A_and_A
For Contributors
- Backend Style
- Puter Backend - Directory Structure
- Puter Backend Boot Sequence
- Puter Kernel Moduels and Services
Features
- Batch and Symlinks
- Metered Services and Cost Management
- Protected Apps and Subdomains
- Service Scripts
Lists_of_things
Modules
Puterai
Notes
Services
Src
Modules
Puterai
- Index (README.md)
- Configuring AI Services
- PuterAI API Request Examples
- src backend src modules puterai config
####### For Contributors
Test_drivers
Gui
Phoenix
Tools
Api_tester
Uncategorized
This wiki is generated from the repository. Do not edit files the wiki.
You are reading documentation for Puter, an open-source high-level operating system.
Getting started with Puter on localhost is as simple as:
git clone https://github.com/HeyPuter/puter.git
npm install
npm run start