typarr.routers¶
typarr.routers.buckets¶
REST endpoints for bucket CRUD operations.
- async typarr.routers.buckets.create_bucket(body: BucketCreate, user=Depends(dependency=<function require_global_admin>, use_cache=True, scope=None), svc: BucketService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Create a new bucket (initializes a git repo with .meta.yml).
- async typarr.routers.buckets.delete_bucket(slug: str, _user=Depends(dependency=<function require_global_admin>, use_cache=True, scope=None), svc: BucketService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Delete a bucket and its git repo from disk.
- async typarr.routers.buckets.get_bucket(slug: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: BucketService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Get metadata for a single bucket.
- async typarr.routers.buckets.list_buckets(user=Depends(dependency=<function get_current_user>, use_cache=True, scope=None), svc: BucketService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
List buckets the user has access to, with their resolved role.
- async typarr.routers.buckets.update_bucket(slug: str, body: BucketUpdate, user=Depends(dependency=<function require_global_admin>, use_cache=True, scope=None), svc: BucketService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Update a bucket’s description or access rules.
typarr.routers.collab¶
WebSocket endpoint for real-time collaborative editing via Yjs CRDT.
typarr.routers.compile¶
REST endpoints for compiling Typst files to SVG or PDF.
- async typarr.routers.compile.compile_pdf(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: CompilerService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Compile a .typ file and return the PDF.
- async typarr.routers.compile.compile_svg(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: CompilerService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Compile a .typ file and return a list of SVG strings (one per page).
- async typarr.routers.compile.compile_svg_live(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: CompilerService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Compile live editor content from the Yjs room, falling back to disk.
typarr.routers.events¶
WebSocket endpoint for bucket-level file change notifications.
typarr.routers.files¶
REST endpoints for file CRUD within a bucket’s working tree.
- async typarr.routers.files.create_file(slug: str, body: FileCreate, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Create a new file in the bucket. Fails if the file already exists.
- async typarr.routers.files.delete_dir(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Delete a directory and all its contents.
- async typarr.routers.files.delete_file(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Delete a file from the bucket’s working tree.
- async typarr.routers.files.list_files(slug: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
List all files and directories in a bucket (excludes .git and .meta.yml).
- async typarr.routers.files.raw_file(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Serve a file’s raw content (for images, binary previews, etc.).
- async typarr.routers.files.read_file(slug: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Read a single file’s content by path.
- async typarr.routers.files.rename_dir(slug: str, body: dict, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Rename/move a directory and all its contents.
- async typarr.routers.files.rename_file(slug: str, body: dict, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Rename/move a single file.
- async typarr.routers.files.save_file(slug: str, path: str, body: FileSave, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Overwrite a file’s content (used by manual save and auto-save).
- async typarr.routers.files.upload_files(slug: str, files: list[UploadFile] = File(PydanticUndefined), prefix: str = '', _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: FileService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Upload one or more binary/text files via multipart form data. ZIP files are extracted.
typarr.routers.git¶
REST endpoints for git operations on a bucket’s repository.
- async typarr.routers.git.git_commit(slug: str, body: CommitRequest, user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Stage the selected files and create a new commit.
- async typarr.routers.git.git_diff(slug: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), path: str | None = Query(None))¶
Return unified diffs for modified files in the working tree.
- async typarr.routers.git.git_log(slug: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), path: str | None = Query(None), max_count: int = Query(50))¶
Return commit history, optionally filtered to a single file path.
- async typarr.routers.git.git_restore(slug: str, body: RestoreRequest, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None), collab: CollabManager = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Restore file(s) from a specific commit into the working tree.
- async typarr.routers.git.git_show(slug: str, ref: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Retrieve a file’s content at a specific commit ref.
- async typarr.routers.git.git_show_raw(slug: str, ref: str, path: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Serve a file’s raw bytes at a specific commit ref (for images).
- async typarr.routers.git.git_status(slug: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Return per-file working tree status (modified, untracked, deleted, staged).
- async typarr.routers.git.git_tree(slug: str, ref: str, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: GitService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
List all files at a specific commit ref.
typarr.routers.templates¶
REST endpoints for browsing and initializing Typst templates.
- async typarr.routers.templates.init_template(slug: str, body: TemplateInit, _user=Depends(dependency=<function _require_role.<locals>.dependency>, use_cache=True, scope=None), svc: TemplateService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Initialize a bucket from a Typst template via typst init.
- async typarr.routers.templates.list_local_templates(_user=Depends(dependency=<function get_current_user>, use_cache=True, scope=None), svc: TemplateService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Return templates from the local package directory.
- async typarr.routers.templates.list_templates(_user=Depends(dependency=<function get_current_user>, use_cache=True, scope=None), svc: TemplateService = Depends(dependency=<functools._lru_cache_wrapper object>, use_cache=True, scope=None))¶
Return all available Typst templates from the package index.