nucleus-core-ts 0.10.74 → 0.10.76

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.
@@ -104,6 +104,24 @@ export declare function isSensitiveOutputKey(key: string): boolean;
104
104
  export declare function redactSensitiveOutput<T>(row: T): T;
105
105
  export declare function sanitizePayload(payload: Record<string, unknown>, columns: NucleusColumn[], opts?: {
106
106
  isFormData?: boolean;
107
+ /**
108
+ * Filled with the field names that were dropped for a reason the CALLER
109
+ * cannot see in the response — protected auth columns and per-column
110
+ * write-protection.
111
+ *
112
+ * Dropping them is right; doing it in silence is not. Measured on a
113
+ * pharmaceutical-leaflet install: `PATCH /users` carrying `isGod`,
114
+ * `password`, `emailVerified` and `loginCount` answered 200 with
115
+ * success:true and changed none of them. `GET /users` returns three of
116
+ * those four, so a read-modify-write client sends them back in good faith
117
+ * and is told its write succeeded.
118
+ *
119
+ * Server-managed audit columns (id, timestamps, createdBy) are NOT
120
+ * reported: every read-modify-write client sends those back, the handler
121
+ * sets them itself, and naming them every time would bury the cases that
122
+ * matter.
123
+ */
124
+ dropped?: string[];
107
125
  }): Record<string, unknown>;
108
126
  export interface AuditLogEntry {
109
127
  user_id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nucleus-core-ts",
3
- "version": "0.10.74",
3
+ "version": "0.10.76",
4
4
  "description": "Production-ready, enterprise-grade TypeScript framework for building multi-tenant APIs",
5
5
  "author": "Hidayet Can Özcan <hidayetcan@gmail.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",