dominus-sdk-nodejs-dev 1.2.4
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/LLM-GUIDE.md +537 -0
- package/README.md +585 -0
- package/dist/index.d.ts +191 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +224 -0
- package/dist/index.js.map +1 -0
- 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 +38 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/client.js +425 -0
- package/dist/lib/client.js.map +1 -0
- package/dist/lib/config.d.ts +20 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +32 -0
- package/dist/lib/config.js.map +1 -0
- 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/lib/errors.d.ts +77 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +134 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/namespaces/auth.d.ts +237 -0
- package/dist/namespaces/auth.d.ts.map +1 -0
- package/dist/namespaces/auth.js +785 -0
- package/dist/namespaces/auth.js.map +1 -0
- package/dist/namespaces/courier.d.ts +67 -0
- package/dist/namespaces/courier.d.ts.map +1 -0
- package/dist/namespaces/courier.js +90 -0
- package/dist/namespaces/courier.js.map +1 -0
- package/dist/namespaces/db.d.ts +117 -0
- package/dist/namespaces/db.d.ts.map +1 -0
- package/dist/namespaces/db.js +149 -0
- package/dist/namespaces/db.js.map +1 -0
- package/dist/namespaces/ddl.d.ts +84 -0
- package/dist/namespaces/ddl.d.ts.map +1 -0
- package/dist/namespaces/ddl.js +211 -0
- package/dist/namespaces/ddl.js.map +1 -0
- package/dist/namespaces/files.d.ts +107 -0
- package/dist/namespaces/files.d.ts.map +1 -0
- package/dist/namespaces/files.js +161 -0
- package/dist/namespaces/files.js.map +1 -0
- package/dist/namespaces/health.d.ts +30 -0
- package/dist/namespaces/health.d.ts.map +1 -0
- package/dist/namespaces/health.js +66 -0
- package/dist/namespaces/health.js.map +1 -0
- package/dist/namespaces/logs.d.ts +97 -0
- package/dist/namespaces/logs.d.ts.map +1 -0
- package/dist/namespaces/logs.js +194 -0
- package/dist/namespaces/logs.js.map +1 -0
- package/dist/namespaces/open.d.ts +27 -0
- package/dist/namespaces/open.d.ts.map +1 -0
- package/dist/namespaces/open.js +46 -0
- package/dist/namespaces/open.js.map +1 -0
- package/dist/namespaces/portal.d.ts +172 -0
- package/dist/namespaces/portal.d.ts.map +1 -0
- package/dist/namespaces/portal.js +332 -0
- package/dist/namespaces/portal.js.map +1 -0
- package/dist/namespaces/redis.d.ts +144 -0
- package/dist/namespaces/redis.d.ts.map +1 -0
- package/dist/namespaces/redis.js +218 -0
- package/dist/namespaces/redis.js.map +1 -0
- package/dist/namespaces/secrets.d.ts +50 -0
- package/dist/namespaces/secrets.d.ts.map +1 -0
- package/dist/namespaces/secrets.js +93 -0
- package/dist/namespaces/secrets.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 +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/lib/crypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,YAAoB;IACxE,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,OAAe;IACzD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAM,GAAG,EAAE;IAC1C,MAAM,QAAQ,GAAG,wEAAwE,CAAC;IAC1F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAM,GAAG,EAAE;IACvC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dominus SDK Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Custom exceptions for the Dominus SDK with structured error information.
|
|
5
|
+
*/
|
|
6
|
+
export interface ErrorDetails {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Base exception for all Dominus SDK errors.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DominusError extends Error {
|
|
13
|
+
readonly statusCode?: number;
|
|
14
|
+
readonly details: ErrorDetails;
|
|
15
|
+
readonly endpoint?: string;
|
|
16
|
+
constructor(message: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
17
|
+
toString(): string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Raised when authentication fails (invalid token, expired JWT, etc.).
|
|
21
|
+
*/
|
|
22
|
+
export declare class AuthenticationError extends DominusError {
|
|
23
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Raised when authorization fails (insufficient permissions).
|
|
27
|
+
*/
|
|
28
|
+
export declare class AuthorizationError extends DominusError {
|
|
29
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Raised when a requested resource is not found.
|
|
33
|
+
*/
|
|
34
|
+
export declare class NotFoundError extends DominusError {
|
|
35
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Raised when request validation fails.
|
|
39
|
+
*/
|
|
40
|
+
export declare class ValidationError extends DominusError {
|
|
41
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Raised when there's a conflict (duplicate key, version mismatch, etc.).
|
|
45
|
+
*/
|
|
46
|
+
export declare class ConflictError extends DominusError {
|
|
47
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Raised when a backend service error occurs.
|
|
51
|
+
*/
|
|
52
|
+
export declare class ServiceError extends DominusError {
|
|
53
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Raised when connection to the backend fails.
|
|
57
|
+
*/
|
|
58
|
+
export declare class ConnectionError extends DominusError {
|
|
59
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Raised when a request times out.
|
|
63
|
+
*/
|
|
64
|
+
export declare class TimeoutError extends DominusError {
|
|
65
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Raised when accessing a secure table without providing a reason.
|
|
69
|
+
*/
|
|
70
|
+
export declare class SecureTableError extends DominusError {
|
|
71
|
+
constructor(message?: string, statusCode?: number, details?: ErrorDetails, endpoint?: string);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Raise appropriate DominusError subclass based on status code.
|
|
75
|
+
*/
|
|
76
|
+
export declare function raiseForStatus(statusCode: number, message: string, details?: ErrorDetails, endpoint?: string): never;
|
|
77
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;IAcnB,QAAQ,IAAI,MAAM;CAUnB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;gBAEjD,OAAO,SAA0B,EACjC,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;gBAEhD,OAAO,SAAsB,EAC7B,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAE3C,OAAO,SAAuB,EAC9B,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBAE7C,OAAO,SAAsB,EAC7B,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAE3C,OAAO,SAAa,EACpB,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;gBAE1C,OAAO,SAAkB,EACzB,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBAE7C,OAAO,SAAsB,EAC7B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;gBAE1C,OAAO,SAAsB,EAC7B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;gBAE9C,OAAO,SAAuD,EAC9D,UAAU,SAAM,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM;CAKpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,KAAK,CAeP"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dominus SDK Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Custom exceptions for the Dominus SDK with structured error information.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base exception for all Dominus SDK errors.
|
|
8
|
+
*/
|
|
9
|
+
export class DominusError extends Error {
|
|
10
|
+
statusCode;
|
|
11
|
+
details;
|
|
12
|
+
endpoint;
|
|
13
|
+
constructor(message, statusCode, details, endpoint) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = 'DominusError';
|
|
16
|
+
this.statusCode = statusCode;
|
|
17
|
+
this.details = details || {};
|
|
18
|
+
this.endpoint = endpoint;
|
|
19
|
+
// Maintains proper stack trace for where error was thrown
|
|
20
|
+
if (Error.captureStackTrace) {
|
|
21
|
+
Error.captureStackTrace(this, this.constructor);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
toString() {
|
|
25
|
+
const parts = [this.message];
|
|
26
|
+
if (this.statusCode) {
|
|
27
|
+
parts.push(`(status ${this.statusCode})`);
|
|
28
|
+
}
|
|
29
|
+
if (this.endpoint) {
|
|
30
|
+
parts.push(`at ${this.endpoint}`);
|
|
31
|
+
}
|
|
32
|
+
return parts.join(' ');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Raised when authentication fails (invalid token, expired JWT, etc.).
|
|
37
|
+
*/
|
|
38
|
+
export class AuthenticationError extends DominusError {
|
|
39
|
+
constructor(message = 'Authentication failed', statusCode = 401, details, endpoint) {
|
|
40
|
+
super(message, statusCode, details, endpoint);
|
|
41
|
+
this.name = 'AuthenticationError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Raised when authorization fails (insufficient permissions).
|
|
46
|
+
*/
|
|
47
|
+
export class AuthorizationError extends DominusError {
|
|
48
|
+
constructor(message = 'Permission denied', statusCode = 403, details, endpoint) {
|
|
49
|
+
super(message, statusCode, details, endpoint);
|
|
50
|
+
this.name = 'AuthorizationError';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Raised when a requested resource is not found.
|
|
55
|
+
*/
|
|
56
|
+
export class NotFoundError extends DominusError {
|
|
57
|
+
constructor(message = 'Resource not found', statusCode = 404, details, endpoint) {
|
|
58
|
+
super(message, statusCode, details, endpoint);
|
|
59
|
+
this.name = 'NotFoundError';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Raised when request validation fails.
|
|
64
|
+
*/
|
|
65
|
+
export class ValidationError extends DominusError {
|
|
66
|
+
constructor(message = 'Validation failed', statusCode = 400, details, endpoint) {
|
|
67
|
+
super(message, statusCode, details, endpoint);
|
|
68
|
+
this.name = 'ValidationError';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Raised when there's a conflict (duplicate key, version mismatch, etc.).
|
|
73
|
+
*/
|
|
74
|
+
export class ConflictError extends DominusError {
|
|
75
|
+
constructor(message = 'Conflict', statusCode = 409, details, endpoint) {
|
|
76
|
+
super(message, statusCode, details, endpoint);
|
|
77
|
+
this.name = 'ConflictError';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Raised when a backend service error occurs.
|
|
82
|
+
*/
|
|
83
|
+
export class ServiceError extends DominusError {
|
|
84
|
+
constructor(message = 'Service error', statusCode = 500, details, endpoint) {
|
|
85
|
+
super(message, statusCode, details, endpoint);
|
|
86
|
+
this.name = 'ServiceError';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Raised when connection to the backend fails.
|
|
91
|
+
*/
|
|
92
|
+
export class ConnectionError extends DominusError {
|
|
93
|
+
constructor(message = 'Connection failed', statusCode, details, endpoint) {
|
|
94
|
+
super(message, statusCode, details, endpoint);
|
|
95
|
+
this.name = 'ConnectionError';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Raised when a request times out.
|
|
100
|
+
*/
|
|
101
|
+
export class TimeoutError extends DominusError {
|
|
102
|
+
constructor(message = 'Request timed out', statusCode, details, endpoint) {
|
|
103
|
+
super(message, statusCode, details, endpoint);
|
|
104
|
+
this.name = 'TimeoutError';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Raised when accessing a secure table without providing a reason.
|
|
109
|
+
*/
|
|
110
|
+
export class SecureTableError extends DominusError {
|
|
111
|
+
constructor(message = "Access to secure table requires 'reason' parameter", statusCode = 403, details, endpoint) {
|
|
112
|
+
super(message, statusCode, details, endpoint);
|
|
113
|
+
this.name = 'SecureTableError';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Raise appropriate DominusError subclass based on status code.
|
|
118
|
+
*/
|
|
119
|
+
export function raiseForStatus(statusCode, message, details, endpoint) {
|
|
120
|
+
const errorClasses = {
|
|
121
|
+
400: ValidationError,
|
|
122
|
+
401: AuthenticationError,
|
|
123
|
+
403: AuthorizationError,
|
|
124
|
+
404: NotFoundError,
|
|
125
|
+
409: ConflictError,
|
|
126
|
+
500: ServiceError,
|
|
127
|
+
502: ServiceError,
|
|
128
|
+
503: ServiceError,
|
|
129
|
+
504: TimeoutError,
|
|
130
|
+
};
|
|
131
|
+
const ErrorClass = errorClasses[statusCode] || DominusError;
|
|
132
|
+
throw new ErrorClass(message, statusCode, details, endpoint);
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth Namespace - Guardian authentication/authorization management.
|
|
3
|
+
*
|
|
4
|
+
* Provides RESTful access to users, roles, scopes, clients, tenants, etc.
|
|
5
|
+
*/
|
|
6
|
+
import type { DominusClient } from '../lib/client.js';
|
|
7
|
+
export declare class AuthNamespace {
|
|
8
|
+
private client;
|
|
9
|
+
private _publicKeyCache;
|
|
10
|
+
constructor(client: DominusClient);
|
|
11
|
+
createUser(params: {
|
|
12
|
+
username: string;
|
|
13
|
+
email: string;
|
|
14
|
+
password: string;
|
|
15
|
+
status?: string;
|
|
16
|
+
}): Promise<Record<string, unknown>>;
|
|
17
|
+
getUser(userId: string): Promise<Record<string, unknown>>;
|
|
18
|
+
listUsers(params?: {
|
|
19
|
+
status?: string;
|
|
20
|
+
limit?: number;
|
|
21
|
+
offset?: number;
|
|
22
|
+
orderBy?: string;
|
|
23
|
+
orderDesc?: boolean;
|
|
24
|
+
}): Promise<Record<string, unknown>>;
|
|
25
|
+
updateUser(userId: string, data: {
|
|
26
|
+
username?: string;
|
|
27
|
+
email?: string;
|
|
28
|
+
status?: string;
|
|
29
|
+
}): Promise<Record<string, unknown>>;
|
|
30
|
+
deleteUser(userId: string): Promise<Record<string, unknown>>;
|
|
31
|
+
updatePassword(userId: string, password: string): Promise<Record<string, unknown>>;
|
|
32
|
+
verifyPassword(userId: string, password: string): Promise<Record<string, unknown>>;
|
|
33
|
+
getUserRoles(userId: string): Promise<Array<Record<string, unknown>>>;
|
|
34
|
+
addUserRoles(userId: string, roleIds: string[]): Promise<Record<string, unknown>>;
|
|
35
|
+
removeUserRoles(userId: string, roleIds: string[]): Promise<Record<string, unknown>>;
|
|
36
|
+
getUserScopes(userId: string): Promise<Array<Record<string, unknown>>>;
|
|
37
|
+
addUserScopes(userId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
38
|
+
removeUserScopes(userId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
39
|
+
getUserTenants(userId: string): Promise<Array<Record<string, unknown>>>;
|
|
40
|
+
addUserTenants(userId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
41
|
+
removeUserTenants(userId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
42
|
+
getUserSubtypes(userId: string): Promise<Array<Record<string, unknown>>>;
|
|
43
|
+
addUserSubtypes(userId: string, subtypeIds: string[]): Promise<Record<string, unknown>>;
|
|
44
|
+
removeUserSubtypes(userId: string, subtypeIds: string[]): Promise<Record<string, unknown>>;
|
|
45
|
+
createRole(params: {
|
|
46
|
+
name: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
}): Promise<Record<string, unknown>>;
|
|
49
|
+
getRole(roleId: string): Promise<Record<string, unknown>>;
|
|
50
|
+
listRoles(params?: {
|
|
51
|
+
limit?: number;
|
|
52
|
+
offset?: number;
|
|
53
|
+
}): Promise<Record<string, unknown>>;
|
|
54
|
+
updateRole(roleId: string, data: {
|
|
55
|
+
name?: string;
|
|
56
|
+
description?: string;
|
|
57
|
+
}): Promise<Record<string, unknown>>;
|
|
58
|
+
deleteRole(roleId: string): Promise<Record<string, unknown>>;
|
|
59
|
+
getRoleScopes(roleId: string): Promise<Array<Record<string, unknown>>>;
|
|
60
|
+
addRoleScopes(roleId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
61
|
+
removeRoleScopes(roleId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
62
|
+
createScope(params: {
|
|
63
|
+
slug: string;
|
|
64
|
+
displayName: string;
|
|
65
|
+
description?: string;
|
|
66
|
+
}): Promise<Record<string, unknown>>;
|
|
67
|
+
getScope(scopeId: string): Promise<Record<string, unknown>>;
|
|
68
|
+
listScopes(params?: {
|
|
69
|
+
limit?: number;
|
|
70
|
+
offset?: number;
|
|
71
|
+
}): Promise<Record<string, unknown>>;
|
|
72
|
+
updateScope(scopeId: string, data: {
|
|
73
|
+
slug?: string;
|
|
74
|
+
displayName?: string;
|
|
75
|
+
description?: string;
|
|
76
|
+
}): Promise<Record<string, unknown>>;
|
|
77
|
+
deleteScope(scopeId: string): Promise<Record<string, unknown>>;
|
|
78
|
+
createClient(params: {
|
|
79
|
+
label: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
}): Promise<Record<string, unknown>>;
|
|
82
|
+
getClient(clientId: string): Promise<Record<string, unknown>>;
|
|
83
|
+
listClients(params?: {
|
|
84
|
+
limit?: number;
|
|
85
|
+
offset?: number;
|
|
86
|
+
}): Promise<Record<string, unknown>>;
|
|
87
|
+
updateClient(clientId: string, data: {
|
|
88
|
+
label?: string;
|
|
89
|
+
description?: string;
|
|
90
|
+
status?: string;
|
|
91
|
+
}): Promise<Record<string, unknown>>;
|
|
92
|
+
deleteClient(clientId: string): Promise<Record<string, unknown>>;
|
|
93
|
+
regeneratePsk(clientId: string): Promise<Record<string, unknown>>;
|
|
94
|
+
verifyPsk(clientId: string, psk: string): Promise<Record<string, unknown>>;
|
|
95
|
+
getClientTenants(clientId: string): Promise<Array<Record<string, unknown>>>;
|
|
96
|
+
addClientTenants(clientId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
97
|
+
removeClientTenants(clientId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
98
|
+
createTenant(params: {
|
|
99
|
+
name: string;
|
|
100
|
+
slug: string;
|
|
101
|
+
categoryId?: string;
|
|
102
|
+
displayName?: string;
|
|
103
|
+
description?: string;
|
|
104
|
+
}): Promise<Record<string, unknown>>;
|
|
105
|
+
getTenant(tenantId: string): Promise<Record<string, unknown>>;
|
|
106
|
+
listTenants(params?: {
|
|
107
|
+
status?: string;
|
|
108
|
+
categoryId?: string;
|
|
109
|
+
limit?: number;
|
|
110
|
+
offset?: number;
|
|
111
|
+
}): Promise<Record<string, unknown>>;
|
|
112
|
+
updateTenant(tenantId: string, data: {
|
|
113
|
+
name?: string;
|
|
114
|
+
displayName?: string;
|
|
115
|
+
status?: string;
|
|
116
|
+
}): Promise<Record<string, unknown>>;
|
|
117
|
+
deleteTenant(tenantId: string): Promise<Record<string, unknown>>;
|
|
118
|
+
createTenantCategory(params: {
|
|
119
|
+
name: string;
|
|
120
|
+
slug: string;
|
|
121
|
+
description?: string;
|
|
122
|
+
color?: string;
|
|
123
|
+
}): Promise<Record<string, unknown>>;
|
|
124
|
+
getTenantCategory(categoryId: string): Promise<Record<string, unknown>>;
|
|
125
|
+
listTenantCategories(params?: {
|
|
126
|
+
limit?: number;
|
|
127
|
+
offset?: number;
|
|
128
|
+
}): Promise<Record<string, unknown>>;
|
|
129
|
+
updateTenantCategory(categoryId: string, data: {
|
|
130
|
+
name?: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
color?: string;
|
|
133
|
+
}): Promise<Record<string, unknown>>;
|
|
134
|
+
deleteTenantCategory(categoryId: string): Promise<Record<string, unknown>>;
|
|
135
|
+
createSubtype(params: {
|
|
136
|
+
name: string;
|
|
137
|
+
slug: string;
|
|
138
|
+
description?: string;
|
|
139
|
+
}): Promise<Record<string, unknown>>;
|
|
140
|
+
getSubtype(subtypeId: string): Promise<Record<string, unknown>>;
|
|
141
|
+
listSubtypes(params?: {
|
|
142
|
+
limit?: number;
|
|
143
|
+
offset?: number;
|
|
144
|
+
}): Promise<Record<string, unknown>>;
|
|
145
|
+
updateSubtype(subtypeId: string, data: {
|
|
146
|
+
name?: string;
|
|
147
|
+
description?: string;
|
|
148
|
+
}): Promise<Record<string, unknown>>;
|
|
149
|
+
deleteSubtype(subtypeId: string): Promise<Record<string, unknown>>;
|
|
150
|
+
createPage(params: {
|
|
151
|
+
path: string;
|
|
152
|
+
name: string;
|
|
153
|
+
description?: string;
|
|
154
|
+
isActive?: boolean;
|
|
155
|
+
showInNav?: boolean;
|
|
156
|
+
}): Promise<Record<string, unknown>>;
|
|
157
|
+
getPage(pageId: string): Promise<Record<string, unknown>>;
|
|
158
|
+
listPages(params?: {
|
|
159
|
+
isActive?: boolean;
|
|
160
|
+
limit?: number;
|
|
161
|
+
offset?: number;
|
|
162
|
+
}): Promise<Record<string, unknown>>;
|
|
163
|
+
updatePage(pageId: string, data: {
|
|
164
|
+
path?: string;
|
|
165
|
+
name?: string;
|
|
166
|
+
description?: string;
|
|
167
|
+
isActive?: boolean;
|
|
168
|
+
showInNav?: boolean;
|
|
169
|
+
}): Promise<Record<string, unknown>>;
|
|
170
|
+
deletePage(pageId: string): Promise<Record<string, unknown>>;
|
|
171
|
+
getPageTenants(pageId: string): Promise<Array<Record<string, unknown>>>;
|
|
172
|
+
addPageTenants(pageId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
173
|
+
removePageTenants(pageId: string, tenantIds: string[]): Promise<Record<string, unknown>>;
|
|
174
|
+
getPageScopes(pageId: string): Promise<Array<Record<string, unknown>>>;
|
|
175
|
+
addPageScopes(pageId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
176
|
+
removePageScopes(pageId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
177
|
+
setPageScopes(pageId: string, scopeIds: string[]): Promise<Array<Record<string, unknown>>>;
|
|
178
|
+
createNavItem(params: {
|
|
179
|
+
tenantId: string;
|
|
180
|
+
title: string;
|
|
181
|
+
icon?: string;
|
|
182
|
+
description?: string;
|
|
183
|
+
pageId?: string;
|
|
184
|
+
parentId?: string;
|
|
185
|
+
isHeader?: boolean;
|
|
186
|
+
isActive?: boolean;
|
|
187
|
+
sortOrder?: number;
|
|
188
|
+
isExpandedDefault?: boolean;
|
|
189
|
+
}): Promise<Record<string, unknown>>;
|
|
190
|
+
getNavItem(navId: string): Promise<Record<string, unknown>>;
|
|
191
|
+
listNavItems(params?: {
|
|
192
|
+
tenantId?: string;
|
|
193
|
+
parentId?: string;
|
|
194
|
+
isActive?: boolean;
|
|
195
|
+
limit?: number;
|
|
196
|
+
offset?: number;
|
|
197
|
+
orderBy?: string;
|
|
198
|
+
orderDesc?: boolean;
|
|
199
|
+
}): Promise<Record<string, unknown>>;
|
|
200
|
+
updateNavItem(navId: string, data: {
|
|
201
|
+
title?: string;
|
|
202
|
+
icon?: string;
|
|
203
|
+
description?: string;
|
|
204
|
+
pageId?: string;
|
|
205
|
+
parentId?: string;
|
|
206
|
+
isHeader?: boolean;
|
|
207
|
+
isActive?: boolean;
|
|
208
|
+
sortOrder?: number;
|
|
209
|
+
isExpandedDefault?: boolean;
|
|
210
|
+
}): Promise<Record<string, unknown>>;
|
|
211
|
+
deleteNavItem(navId: string): Promise<Record<string, unknown>>;
|
|
212
|
+
getNavScopes(navId: string): Promise<Array<Record<string, unknown>>>;
|
|
213
|
+
addNavScopes(navId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
214
|
+
removeNavScopes(navId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
215
|
+
getNavRoles(navId: string): Promise<Array<Record<string, unknown>>>;
|
|
216
|
+
addNavRoles(navId: string, roleIds: string[]): Promise<Record<string, unknown>>;
|
|
217
|
+
removeNavRoles(navId: string, roleIds: string[]): Promise<Record<string, unknown>>;
|
|
218
|
+
getNavSubtypes(navId: string): Promise<Array<Record<string, unknown>>>;
|
|
219
|
+
addNavSubtypes(navId: string, subtypeIds: string[]): Promise<Record<string, unknown>>;
|
|
220
|
+
removeNavSubtypes(navId: string, subtypeIds: string[]): Promise<Record<string, unknown>>;
|
|
221
|
+
createSecureTable(params: {
|
|
222
|
+
tableName: string;
|
|
223
|
+
schemaName?: string;
|
|
224
|
+
}): Promise<Record<string, unknown>>;
|
|
225
|
+
getSecureTable(secureTableId: string): Promise<Record<string, unknown>>;
|
|
226
|
+
listSecureTables(params?: {
|
|
227
|
+
limit?: number;
|
|
228
|
+
offset?: number;
|
|
229
|
+
}): Promise<Record<string, unknown>>;
|
|
230
|
+
deleteSecureTable(secureTableId: string): Promise<Record<string, unknown>>;
|
|
231
|
+
getSecureTableScopes(secureTableId: string): Promise<Array<Record<string, unknown>>>;
|
|
232
|
+
addSecureTableScopes(secureTableId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
233
|
+
removeSecureTableScopes(secureTableId: string, scopeIds: string[]): Promise<Record<string, unknown>>;
|
|
234
|
+
getJwks(): Promise<Record<string, unknown>>;
|
|
235
|
+
validateJwt(token: string): Promise<Record<string, unknown>>;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/namespaces/auth.ts"],"names":[],"mappings":"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"}
|