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.
- package/dist/index.d.ts +86 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/cache.d.ts +112 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +237 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +42 -26
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/crypto.d.ts +70 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +95 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/namespaces/secure.d.ts +102 -0
- package/dist/namespaces/secure.d.ts.map +1 -0
- package/dist/namespaces/secure.js +151 -0
- package/dist/namespaces/secure.js.map +1 -0
- package/package.json +1 -1
|
@@ -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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"}
|