strapi-plugin-bulk-updater 1.2.12 → 1.3.0

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/README.md CHANGED
@@ -31,9 +31,14 @@ Strapi allows editing entries individually or applying bulk actions within a sin
31
31
  ## ✨ Features at a Glance
32
32
 
33
33
  - 🔍 **Dynamic Cross-Collection Discovery**: Introspects all registered content types and attributes in your Strapi v5 instance.
34
+ - 🎯 **Separate Search vs Update Attributes**: Search and filter by one attribute, relation, or nested component in Section 2, while targeting a distinct attribute to update in Section 1. Side-by-side table columns display both searched and target values simultaneously.
35
+ - 🌲 **Configurable Component Nesting Depth (Levels 1–5)**: User-controlled depth exploration in the UI (`L1` to `L5`), persistent across sessions. Fully supports recursive component schema introspection, deep population, query filtering, and safe leaf mutation preserving sibling component properties.
36
+ - 🚀 **Direct Bulk Publishing & Auto-Publish Toggle**: Directly publish draft records in bulk across multiple collections without editing values, plus an auto-publish toggle that instantly publishes updated documents for draft-enabled content types.
37
+ - 📑 **Excel-Safe Bulk CSV Export**: RFC-4180 compliant CSV export with UTF-8 BOM and CRLF line breaks for seamless opening in Microsoft Excel and Numbers, with full recursive nested component support.
38
+ - 🔍 **Interactive Pre-Update Change Preview**: Inspect real-time before-and-after diffs with impact classification (`Will Update`, `Unchanged`, `Will Skip`) prior to executing batch updates.
34
39
  - 🔎 **Searchable Combobox Attribute & Entity Picker**:
35
40
  - Instant fuzzy and substring search across all scalar fields, relations, and nested component paths.
36
- - Interactive visual badges for relation targets (`relation ➔ Target`) and components.
41
+ - Interactive visual badges for relation targets (`relation ➔ Target`) and component nesting levels (`L1 component`, `L2 component`).
37
42
  - 🔗 **Full Relational Field Support**:
38
43
  - Supports `manyToOne`, `oneToOne`, `oneToMany`, and `manyToMany` relations.
39
44
  - Interactive searchable target entity dropdown populated directly from target collection records.
@@ -57,9 +62,6 @@ Strapi allows editing entries individually or applying bulk actions within a sin
57
62
  - **Convention Auto-Discovery**: Seamlessly detects and mirrors custom app collections (`api::audit-log.audit-log`).
58
63
  - **Strapi Enterprise Bridge**: Bridges events directly to native Strapi Enterprise Audit Logs (`admin::audit-logs`).
59
64
  - **Deterministic Rollback**: Restores exact prior values and relationship links using Strapi v5 Document Service.
60
- - 🧩 **Deep Nested Component Support**:
61
- - Full dot-notation introspection (e.g. `metaFields.metaDescription`, `defaultSeo.metaTitle`) in attribute dropdown and table views.
62
- - Non-destructive deep merging preserves sibling component properties during bulk updates and rollbacks.
63
65
  - ⚡ **Server-Side Filter & Full-Text Search Pushdown**:
64
66
  - Pushes text searches and attribute filters (`equals`, `contains`, `empty`, `starts_with`) directly to the database.
65
67
  - Automatically hides non-matching records and pre-selects matching rows with real-time match counters.
@@ -246,6 +248,10 @@ All routes are mounted under `/bulk-updater` and protected by Strapi Admin authe
246
248
  | `DELETE` | `/bulk-updater/validation-rules/:id` | Deletes a validation rule. |
247
249
  | `POST` | `/bulk-updater/validation-rules/:id/toggle` | Toggles rule active status. |
248
250
  | `POST` | `/bulk-updater/validation-rules/:id/scan` | Scans all existing records in target content types for violations. |
251
+ | `POST` | `/bulk-updater/preview` | Generates a dry-run diff preview across target entries before update. |
252
+ | `POST` | `/bulk-updater/publish` | Bulk publishes selected draft entries across multiple collections. |
253
+ | `POST` | `/bulk-updater/export-selected` | Exports selected entries across collections to Excel-compatible CSV. |
254
+ | `GET` | `/bulk-updater/collections/:uid/entries` | Paginated and filtered collection entries with search attribute pushdown. |
249
255
  | `GET` | `/bulk-updater/csv/template/:uid` | Generates a blank CSV template with content type headers. |
250
256
  | `GET` | `/bulk-updater/csv/export/:uid` | Exports all records for a collection type as CSV. |
251
257
  | `GET` | `/bulk-updater/csv/export-violations/:ruleId` | Exports only records violating the specified rule as CSV. |