@fluxfiles/node 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -138,11 +138,24 @@ interface BaseTokenOptions {
138
138
  * All default off; inert unless the module is installed & licensed on the server. */
139
139
  allowShare?: boolean;
140
140
  allowIntake?: boolean;
141
+ allowVersioning?: boolean;
141
142
  allowAiVision?: boolean;
142
143
  allowOcr?: boolean;
143
144
  allowVirusScan?: boolean;
144
145
  allowBackup?: boolean;
145
146
  allowC2pa?: boolean;
147
+ /** Prior versions kept per file (Versioning module). `0`/omitted = default (10, cap 100). */
148
+ versioningMax?: number;
149
+ /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
150
+ versioningMaxMb?: number;
151
+ /** Webhooks module: fire a signed HTTP POST on file events. */
152
+ allowWebhooks?: boolean;
153
+ /** Endpoint the signed event is POSTed to (http/s only). */
154
+ webhookUrl?: string;
155
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
156
+ webhookEvents?: string[];
157
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
158
+ webhookSecret?: string;
146
159
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
147
160
  allowZip?: boolean;
148
161
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
package/dist/index.d.ts CHANGED
@@ -138,11 +138,24 @@ interface BaseTokenOptions {
138
138
  * All default off; inert unless the module is installed & licensed on the server. */
139
139
  allowShare?: boolean;
140
140
  allowIntake?: boolean;
141
+ allowVersioning?: boolean;
141
142
  allowAiVision?: boolean;
142
143
  allowOcr?: boolean;
143
144
  allowVirusScan?: boolean;
144
145
  allowBackup?: boolean;
145
146
  allowC2pa?: boolean;
147
+ /** Prior versions kept per file (Versioning module). `0`/omitted = default (10, cap 100). */
148
+ versioningMax?: number;
149
+ /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
150
+ versioningMaxMb?: number;
151
+ /** Webhooks module: fire a signed HTTP POST on file events. */
152
+ allowWebhooks?: boolean;
153
+ /** Endpoint the signed event is POSTed to (http/s only). */
154
+ webhookUrl?: string;
155
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
156
+ webhookEvents?: string[];
157
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
158
+ webhookSecret?: string;
146
159
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
147
160
  allowZip?: boolean;
148
161
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */
package/dist/index.js CHANGED
@@ -176,6 +176,13 @@ function applyTenantOverrides(payload, opts) {
176
176
  if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
177
177
  if (opts.allowShare !== void 0) payload.allow_share = !!opts.allowShare;
178
178
  if (opts.allowIntake !== void 0) payload.allow_intake = !!opts.allowIntake;
179
+ if (opts.allowVersioning !== void 0) payload.allow_versioning = !!opts.allowVersioning;
180
+ if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
181
+ if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
182
+ if (opts.allowWebhooks !== void 0) payload.allow_webhooks = !!opts.allowWebhooks;
183
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
184
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
185
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
179
186
  if (opts.allowAiVision !== void 0) payload.allow_ai_vision = !!opts.allowAiVision;
180
187
  if (opts.allowOcr !== void 0) payload.allow_ocr = !!opts.allowOcr;
181
188
  if (opts.allowVirusScan !== void 0) payload.allow_virus_scan = !!opts.allowVirusScan;
package/dist/index.mjs CHANGED
@@ -154,6 +154,13 @@ function applyTenantOverrides(payload, opts) {
154
154
  if (opts.allowOptimize !== void 0) payload.allow_optimize = !!opts.allowOptimize;
155
155
  if (opts.allowShare !== void 0) payload.allow_share = !!opts.allowShare;
156
156
  if (opts.allowIntake !== void 0) payload.allow_intake = !!opts.allowIntake;
157
+ if (opts.allowVersioning !== void 0) payload.allow_versioning = !!opts.allowVersioning;
158
+ if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
159
+ if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
160
+ if (opts.allowWebhooks !== void 0) payload.allow_webhooks = !!opts.allowWebhooks;
161
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
162
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
163
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
157
164
  if (opts.allowAiVision !== void 0) payload.allow_ai_vision = !!opts.allowAiVision;
158
165
  if (opts.allowOcr !== void 0) payload.allow_ocr = !!opts.allowOcr;
159
166
  if (opts.allowVirusScan !== void 0) payload.allow_virus_scan = !!opts.allowVirusScan;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxfiles/node",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "Server-side Node/TypeScript SDK for minting FluxFiles JWTs (plain + BYOB), byte-compatible with the PHP core",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
package/src/token.ts CHANGED
@@ -149,6 +149,13 @@ function applyTenantOverrides(payload: Record<string, unknown>, opts: BaseTokenO
149
149
  // Other paid-module claims (inert unless the module is installed + licensed).
150
150
  if (opts.allowShare !== undefined) payload.allow_share = !!opts.allowShare;
151
151
  if (opts.allowIntake !== undefined) payload.allow_intake = !!opts.allowIntake;
152
+ if (opts.allowVersioning !== undefined) payload.allow_versioning = !!opts.allowVersioning;
153
+ if (opts.versioningMax && opts.versioningMax > 0) payload.versioning_max = Math.trunc(opts.versioningMax);
154
+ if (opts.versioningMaxMb && opts.versioningMaxMb > 0) payload.versioning_max_mb = Math.trunc(opts.versioningMaxMb);
155
+ if (opts.allowWebhooks !== undefined) payload.allow_webhooks = !!opts.allowWebhooks;
156
+ if (opts.webhookUrl) payload.webhook_url = String(opts.webhookUrl);
157
+ if (opts.webhookEvents && opts.webhookEvents.length) payload.webhook_events = opts.webhookEvents;
158
+ if (opts.webhookSecret) payload.webhook_secret = String(opts.webhookSecret);
152
159
  if (opts.allowAiVision !== undefined) payload.allow_ai_vision = !!opts.allowAiVision;
153
160
  if (opts.allowOcr !== undefined) payload.allow_ocr = !!opts.allowOcr;
154
161
  if (opts.allowVirusScan !== undefined) payload.allow_virus_scan = !!opts.allowVirusScan;
package/src/types.ts CHANGED
@@ -142,11 +142,24 @@ export interface BaseTokenOptions {
142
142
  * All default off; inert unless the module is installed & licensed on the server. */
143
143
  allowShare?: boolean;
144
144
  allowIntake?: boolean;
145
+ allowVersioning?: boolean;
145
146
  allowAiVision?: boolean;
146
147
  allowOcr?: boolean;
147
148
  allowVirusScan?: boolean;
148
149
  allowBackup?: boolean;
149
150
  allowC2pa?: boolean;
151
+ /** Prior versions kept per file (Versioning module). `0`/omitted = default (10, cap 100). */
152
+ versioningMax?: number;
153
+ /** Skip versioning files bigger than this many MB. `0`/omitted = default (25). */
154
+ versioningMaxMb?: number;
155
+ /** Webhooks module: fire a signed HTTP POST on file events. */
156
+ allowWebhooks?: boolean;
157
+ /** Endpoint the signed event is POSTed to (http/s only). */
158
+ webhookUrl?: string;
159
+ /** Only these event names fire the webhook (e.g. `['upload','delete']`). Empty = all. */
160
+ webhookEvents?: string[];
161
+ /** HMAC signing secret for the payload (`X-FluxFiles-Signature`). Empty = server secret. */
162
+ webhookSecret?: string;
150
163
  /** Allow downloading a multi-file/-folder selection as a zip (POST /api/fm/zip). Default true. */
151
164
  allowZip?: boolean;
152
165
  /** Allow extracting a zip in place (POST /api/fm/extract). Default true. */