dominus-sdk-nodejs 1.1.8 → 1.2.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure.d.ts","sourceRoot":"","sources":["../../src/namespaces/secure.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAMzC;;;;;OAKG;IACG,MAAM,CAAC,MAAM,SAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IASrD;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAStE;;;;;;;OAOG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC;IAwBvB;;;;;;;;OAQG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,SAAW,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAWnC;;;;;;;;;OASG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,SAAW,GAChB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrC;;;;;;;;OAQG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,SAAW,GAChB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAWrC;;;;;;;;OAQG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,SAAW,GAChB,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAU9E"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Secure Namespace - Operations requiring audit logging.
3
+ *
4
+ * Provides convenience methods for accessing tables registered as secure.
5
+ * All operations automatically include reason/actor for audit trail.
6
+ *
7
+ * Secure tables are registered via auth.createSecureTable() and require
8
+ * a justification reason for every access.
9
+ */
10
+ export class SecureNamespace {
11
+ client;
12
+ constructor(client) {
13
+ this.client = client;
14
+ }
15
+ // ========================================
16
+ // SECURE DATA OPERATIONS
17
+ // ========================================
18
+ /**
19
+ * List tables in a schema.
20
+ *
21
+ * @param schema - Schema name (default: "public")
22
+ * @returns List of table metadata
23
+ */
24
+ async tables(schema = 'public') {
25
+ const result = await this.client.request({
26
+ endpoint: `/api/scribe/data/${schema}/tables`,
27
+ method: 'GET',
28
+ });
29
+ if (Array.isArray(result))
30
+ return result;
31
+ return result.tables || [];
32
+ }
33
+ /**
34
+ * List columns in a table.
35
+ *
36
+ * @param table - Table name
37
+ * @param schema - Schema name (default: "public")
38
+ * @returns List of column metadata
39
+ */
40
+ async columns(table, schema = 'public') {
41
+ const result = await this.client.request({
42
+ endpoint: `/api/scribe/data/${schema}/${table}/columns`,
43
+ method: 'GET',
44
+ });
45
+ if (Array.isArray(result))
46
+ return result;
47
+ return result.columns || [];
48
+ }
49
+ /**
50
+ * Query secure table data with audit logging.
51
+ *
52
+ * @param table - Table name
53
+ * @param context - Access context (reason and actor required)
54
+ * @param options - Query options
55
+ * @returns Query result with rows and total count
56
+ */
57
+ async query(table, context, options = {}) {
58
+ const { schema = 'public', filters, sortBy, sortOrder = 'ASC', limit = 100, offset = 0, } = options;
59
+ return this.client.request({
60
+ endpoint: `/api/scribe/data/${schema}/${table}/query`,
61
+ body: {
62
+ filters,
63
+ sort_by: sortBy,
64
+ sort_order: sortOrder,
65
+ limit,
66
+ offset,
67
+ reason: context.reason,
68
+ actor: context.actor,
69
+ },
70
+ });
71
+ }
72
+ /**
73
+ * Insert a row into a secure table with audit logging.
74
+ *
75
+ * @param table - Table name
76
+ * @param data - Column:value dictionary
77
+ * @param context - Access context (reason and actor required)
78
+ * @param schema - Schema name (default: "public")
79
+ * @returns Inserted row data
80
+ */
81
+ async insert(table, data, context, schema = 'public') {
82
+ return this.client.request({
83
+ endpoint: `/api/scribe/data/${schema}/${table}/insert`,
84
+ body: {
85
+ data,
86
+ reason: context.reason,
87
+ actor: context.actor,
88
+ },
89
+ });
90
+ }
91
+ /**
92
+ * Update rows in a secure table with audit logging.
93
+ *
94
+ * @param table - Table name
95
+ * @param data - Column:value dictionary of updates
96
+ * @param filters - Column:value dictionary for WHERE clause
97
+ * @param context - Access context (reason and actor required)
98
+ * @param schema - Schema name (default: "public")
99
+ * @returns Affected rows count
100
+ */
101
+ async update(table, data, filters, context, schema = 'public') {
102
+ return this.client.request({
103
+ endpoint: `/api/scribe/data/${schema}/${table}/update`,
104
+ body: {
105
+ data,
106
+ filters,
107
+ reason: context.reason,
108
+ actor: context.actor,
109
+ },
110
+ });
111
+ }
112
+ /**
113
+ * Delete rows from a secure table with audit logging.
114
+ *
115
+ * @param table - Table name
116
+ * @param filters - Column:value dictionary for WHERE clause
117
+ * @param context - Access context (reason and actor required)
118
+ * @param schema - Schema name (default: "public")
119
+ * @returns Affected rows count
120
+ */
121
+ async delete(table, filters, context, schema = 'public') {
122
+ return this.client.request({
123
+ endpoint: `/api/scribe/data/${schema}/${table}/delete`,
124
+ body: {
125
+ filters,
126
+ reason: context.reason,
127
+ actor: context.actor,
128
+ },
129
+ });
130
+ }
131
+ /**
132
+ * Insert multiple rows into a secure table with audit logging.
133
+ *
134
+ * @param table - Table name
135
+ * @param rows - List of column:value dictionaries
136
+ * @param context - Access context (reason and actor required)
137
+ * @param schema - Schema name (default: "public")
138
+ * @returns Insert count and optionally rows
139
+ */
140
+ async bulkInsert(table, rows, context, schema = 'public') {
141
+ return this.client.request({
142
+ endpoint: `/api/scribe/data/${schema}/${table}/bulk-insert`,
143
+ body: {
144
+ rows,
145
+ reason: context.reason,
146
+ actor: context.actor,
147
+ },
148
+ });
149
+ }
150
+ }
151
+ //# sourceMappingURL=secure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure.js","sourceRoot":"","sources":["../../src/namespaces/secure.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dominus-sdk-nodejs",
3
- "version": "1.1.8",
3
+ "version": "1.2.1",
4
4
  "description": "Node.js SDK for the Dominus Orchestrator Platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",