Files

136 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Node reference
Package: **`node-red-contrib-nextcloud-ocs`** (see `nodes/nextcloud-ocs/package.json`).
All API nodes require a **nextcloud-config** configuration node unless noted.
## nextcloud-config
Configuration node — not placed on flows alone.
| Field | Description |
|-------|-------------|
| Name | Label in the editor |
| Nextcloud URL | Base URL, e.g. `https://cloud.example.com` |
| Username | Nextcloud account name |
| Password | **App password** (stored encrypted) |
## ocs-api
Generic OCS/HTTP caller.
| Config | Default |
|--------|---------|
| Endpoint | `/ocs/v2.php/cloud/user` |
| Method | `GET` |
**Runtime:** `msg.endpoint`, `msg.method`, `msg.body`, `msg.headers`.
## collectives
Nextcloud **Collectives** app. Operations use ids like `collective:list`, `page:create`, `share:updatePageShare`, etc.
Categories include: collectives, pages, trash, shares, templates, tags, user settings, sessions, public (token) APIs, search.
~80 operations — see `collectives.js` `OPERATIONS` for the full list.
## file-operations
| Operation | Protocol |
|-----------|----------|
| `list`, `get`, `upload`, `mkdir`, `move`, `copy`, `delete` | WebDAV `/remote.php/dav/files/{user}/…` |
| `listShares`, `createShare`, `deleteShare` | OCS sharing API |
| `fileInfo`, `favorites` | OCS files API |
Path placeholders: `{user}`, `{folder}`, `{path}`, `{id}`.
## mail
Mail app OCS endpoints (send, list messages, accounts, etc.). See `mail.js`.
## tables
Tables app — tables, views, rows, columns, shares. See `tables.js`.
## talk
Talk (Spreed) — rooms, messages, reactions, polls, bots, breakout rooms, etc. Largest node (~80+ operations). See `talk.js`.
## webhooks
Webhook Listeners app:
| Operation | Method |
|-----------|--------|
| `webhook:list` | GET |
| `webhook:get` | GET |
| `webhook:create` | POST |
| `webhook:update` | POST |
| `webhook:delete` | DELETE |
| `webhook:deleteByApp` | DELETE |
## dashboard
Dashboard widgets API. See `dashboard.js`.
## dav
DAV-related OCS (direct links, out-of-office). See `dav.js`.
## core
Nextcloud **core** OCS and related APIs (~50 operations), including:
- Status, capabilities, app passwords
- Navigation, profile, hover card
- Collaboration resources, references, previews, avatars
- CSRF, login flow v2, wipe, OCM discovery
- Unified search, task processing, text processing
- Translation, text-to-image, teams
Operation ids use prefixes: `status:`, `capabilities:`, `appPassword:`, `search:`, `task:`, etc. See `core.js`.
## oauth2
OAuth2 client management OCS. See `oauth2.js`.
## provisioning
User and group provisioning API. See `provisioning.js`.
## filesharing
Dedicated file sharing OCS (beyond WebDAV in file-operations). See `filesharing.js`.
## userstatus
User status (emoji/message). See `userstatus.js`.
## settings
User and admin settings OCS. See `settings.js`.
---
## Common message properties
| Property | Used by |
|----------|---------|
| `msg.operation` | All operation-based nodes |
| `msg.payload` | Response body (output) |
| `msg.statusCode` | HTTP status (output) |
| `msg.error` | Error string on failure |
Path parameters are typically available as `msg.<name>` matching the placeholder (e.g. `msg.collectiveId`, `msg.pageId`, `msg.webhookId`).
Body fields configured in the editor can often be overridden via `msg.body` object or node-specific `msg.body*` fields — check each nodes `buildBody` / handler in the `.js` file.
## Adding a new operation
1. Add entry to `OPERATIONS` in the relevant `.js` file.
2. Add dropdown option and fields in the matching `.html` file.
3. Bump `version` in `package.json`.
4. Rebuild Docker image and restart container.
For one-off APIs, use **ocs-api** instead of extending a dedicated node.