mp-request-handler-sdk 0.3.3 → 0.4.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.
@@ -1 +1,2 @@
1
- export{IAMRequest}from"./requestHandler";
1
+ // Core SDK functionality
2
+ export { IAMRequest } from './requestHandler';
@@ -162,6 +162,17 @@ type TGetRolePermissionsPayload = {
162
162
  per_page: number;
163
163
  search: string;
164
164
  };
165
+ interface IGetLabelValuesPayload {
166
+ keys: string[];
167
+ }
168
+ export interface IGetLabelValuesResponse {
169
+ success: boolean;
170
+ error: string | null;
171
+ data: {
172
+ key: string;
173
+ value: boolean | null;
174
+ }[];
175
+ }
165
176
  interface IAMActionMap {
166
177
  createProjectUser: ICreateProjectUserPayload;
167
178
  updateProjectUser: IUpdateProjectUserPayload;
@@ -189,6 +200,7 @@ interface IAMActionMap {
189
200
  createAccessUser: ICreateAccessUserPayload;
190
201
  getRelation: IGetRelationPayload;
191
202
  updateRelation: IUpdateRelationPayload;
203
+ getLabelValues: IGetLabelValuesPayload;
192
204
  }
193
205
  declare global {
194
206
  interface Window {
@@ -241,6 +253,9 @@ declare global {
241
253
  * - **Quota Actions:**
242
254
  * - `getQuota` - Get project quota information
243
255
  *
256
+ * - **Label Values Actions:**
257
+ * - `getLabelValues` - Get label values for specified keys
258
+ *
244
259
  * @param payload - The payload specific to the action type. TypeScript will autocomplete the correct structure based on your selected action.
245
260
  *
246
261
  * @param project - Optional project code (e.g., 'PRJ1455'). When provided, will be added to request headers.
@@ -296,6 +311,13 @@ declare global {
296
311
  * }, 'PRJ1455');
297
312
  * ```
298
313
  *
314
+ * @example Getting label values
315
+ * ```typescript
316
+ * const result = await IAMRequest('getLabelValues', {
317
+ * keys: ['feature_flag_1', 'feature_flag_2', 'setting_enabled']
318
+ * }, 'PRJ1455');
319
+ * ```
320
+ *
299
321
  * @see Partner Platform documentation: https://docs.noon.partners
300
322
  * @see For detailed payload structures, TypeScript autocomplete will guide you based on your selected action
301
323
  */
@@ -1 +1 @@
1
- {"version":3,"file":"requestHandler.d.ts","sourceRoot":"","sources":["../../src/core/requestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestHandler.d.ts","sourceRoot":"","sources":["../../src/core/requestHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1,192 @@
1
- class IAMRequestHandler{constructor(){this.pendingRequests=new Map,this.isReady=!1,this.init()}init(){window.addEventListener("IAMResponse",e=>{const t=e,{data:s,error:i,requestID:n,success:u}=t.detail,r=this.pendingRequests.get(n);r&&(this.pendingRequests.delete(n),u?r.resolve(s):r.reject(new Error(i||"IAM request failed")))}),this.checkReady()}checkReady(){"function"==typeof window.IAMRequest?(this.isReady=!0,this.flushQueue()):setTimeout(()=>this.checkReady(),100)}flushQueue(){}request(e,t,s){return new Promise((i,n)=>{const u=`iam_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;if(this.pendingRequests.set(u,{resolve:i,reject:n}),setTimeout(()=>{this.pendingRequests.has(u)&&(this.pendingRequests.delete(u),n(new Error("IAM request timeout")))},1e4),this.isReady&&window.IAMRequest)window.IAMRequest(e,t,u,s);else{const i=()=>{this.isReady&&window.IAMRequest?window.IAMRequest(e,t,u,s):setTimeout(i,100)};i()}})}}const iamRequestHandler=new IAMRequestHandler;export const IAMRequest=(e,t,s)=>iamRequestHandler.request(e,t,s);export default IAMRequest;
1
+ /* eslint-disable camelcase */
2
+ // Type definitions for IAM actions and payloads
3
+ // @noon/iam-request-handler package
4
+ class IAMRequestHandler {
5
+ constructor() {
6
+ this.pendingRequests = new Map();
7
+ this.isReady = false;
8
+ this.init();
9
+ }
10
+ init() {
11
+ // Listen for responses
12
+ window.addEventListener('IAMResponse', (event) => {
13
+ const customEvent = event;
14
+ const { data, error, requestID, success } = customEvent.detail;
15
+ const pending = this.pendingRequests.get(requestID);
16
+ if (pending) {
17
+ this.pendingRequests.delete(requestID);
18
+ if (success) {
19
+ pending.resolve(data);
20
+ }
21
+ else {
22
+ pending.reject(new Error(error || 'IAM request failed'));
23
+ }
24
+ }
25
+ });
26
+ // Check if window.IAMRequest is available
27
+ this.checkReady();
28
+ }
29
+ checkReady() {
30
+ if (typeof window.IAMRequest === 'function') {
31
+ this.isReady = true;
32
+ this.flushQueue();
33
+ }
34
+ else {
35
+ // Poll until IAMRequest is available
36
+ setTimeout(() => this.checkReady(), 100);
37
+ }
38
+ }
39
+ flushQueue() {
40
+ // All requests in pendingRequests are already sent via request()
41
+ // This just marks as ready for future requests
42
+ }
43
+ request(actiontype, payload, project) {
44
+ return new Promise((resolve, reject) => {
45
+ // Generate unique request ID
46
+ const requestID = `iam_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
47
+ // Store the promise handlers
48
+ this.pendingRequests.set(requestID, { resolve, reject });
49
+ // Set timeout
50
+ setTimeout(() => {
51
+ if (this.pendingRequests.has(requestID)) {
52
+ this.pendingRequests.delete(requestID);
53
+ reject(new Error('IAM request timeout'));
54
+ }
55
+ }, 10000);
56
+ // Send request immediately if ready, otherwise wait
57
+ if (this.isReady && window.IAMRequest) {
58
+ window.IAMRequest(actiontype, payload, requestID, project);
59
+ }
60
+ else {
61
+ // Queue and send when ready
62
+ const checkAndSend = () => {
63
+ if (this.isReady && window.IAMRequest) {
64
+ window.IAMRequest(actiontype, payload, requestID, project);
65
+ }
66
+ else {
67
+ setTimeout(checkAndSend, 100);
68
+ }
69
+ };
70
+ checkAndSend();
71
+ }
72
+ });
73
+ }
74
+ }
75
+ // Export for client apps
76
+ const iamRequestHandler = new IAMRequestHandler();
77
+ /**
78
+ * Send an IAM request to manage users, roles, and access control
79
+ *
80
+ * @param actiontype - The type of IAM action to perform. Available actions:
81
+ * - **Project User Actions:**
82
+ * - `createProjectUser` - Create a new project user with authentication channels
83
+ * - `updateProjectUser` - Update an existing project user's information
84
+ * - `getProjectUserList` - Get a list of project users
85
+ * - `getProjectUserDetails` - Get details for a specific project user
86
+ *
87
+ * - **Channel Management Actions:**
88
+ * - `createChannel` - Create a new authentication channel for a user
89
+ * - `removeChannel` - Remove an authentication channel from a user
90
+ * - `regenerateCred` - Regenerate credentials for a user's authentication channel
91
+ * - `manageProjectChannels` - Manage multiple authentication channels at once
92
+ *
93
+ * - **Access Control Actions:**
94
+ * - `createAccessUser` - Grant access to a user by assigning roles to a resource
95
+ * - `getRelation` - Get relation details between a principal (user) and a resource
96
+ * - `updateRelation` - Update relation between principal and resource
97
+ *
98
+ * - **API User (Service Account) Actions:**
99
+ * - `createApiUser` - Create a new service account
100
+ * - `getApiUser` - Get details for a specific service account
101
+ * - `updateApiUser` - Update a service account
102
+ * - `getApiUserList` - Get a list of service accounts
103
+ *
104
+ * - **Group Management Actions:**
105
+ * - `getGroupList` - Get a list of groups
106
+ * - `groupCreate` - Create a new group
107
+ * - `updateGroup` - Update group details
108
+ * - `getGroupDetails` - Get details for a specific group
109
+ * - `addGroupMember` - Add a member to a group
110
+ * - `removeGroupMember` - Remove member(s) from a group
111
+ *
112
+ * - **Role & Permission Actions:**
113
+ * - `getRoles` - Get available roles
114
+ * - `getRolePermissions` - Get permissions for a specific role
115
+ * - `getRoleHierarchy` - Get the role hierarchy
116
+ *
117
+ * - **User Access Actions:**
118
+ * - `getUserAccessList` - Get list of user access entries
119
+ *
120
+ * - **Quota Actions:**
121
+ * - `getQuota` - Get project quota information
122
+ *
123
+ * - **Label Values Actions:**
124
+ * - `getLabelValues` - Get label values for specified keys
125
+ *
126
+ * @param payload - The payload specific to the action type. TypeScript will autocomplete the correct structure based on your selected action.
127
+ *
128
+ * @param project - Optional project code (e.g., 'PRJ1455'). When provided, will be added to request headers.
129
+ *
130
+ * @returns Promise that resolves with the API response data
131
+ *
132
+ * @example Creating a project user
133
+ * ```typescript
134
+ * const result = await IAMRequest('createProjectUser', {
135
+ * username: 'john.doe@noon.com',
136
+ * display_name: 'John Doe',
137
+ * channels: ['password'],
138
+ * channel_details: { password: 'secure123' }
139
+ * }, 'PRJ1455');
140
+ * ```
141
+ *
142
+ * @example Granting access to a user
143
+ * ```typescript
144
+ * const result = await IAMRequest('createAccessUser', {
145
+ * resourceNamespace: 'platform',
146
+ * resource: 'PRJ1455',
147
+ * resourceType: 'project',
148
+ * rolesAdd: [{
149
+ * role: 'platform.project.viewer',
150
+ * role_namespace: 'platform',
151
+ * role_uuid: 'fb7475ad-6e66-419f-930c-29e68e0cb825'
152
+ * }],
153
+ * principalName: 'user@noon.com',
154
+ * principal: 'USR12345'
155
+ * }, 'PRJ1455');
156
+ * ```
157
+ *
158
+ * @example Managing user channels
159
+ * ```typescript
160
+ * const result = await IAMRequest('manageProjectChannels', {
161
+ * userCode: 'USR12345',
162
+ * selectedChannels: ['password', 'phoneotp'],
163
+ * originalChannels: ['password'],
164
+ * channelDetails: {
165
+ * phoneNumber: '+971501234567',
166
+ * password: 'newpass123'
167
+ * }
168
+ * }, 'PRJ1455');
169
+ * ```
170
+ *
171
+ * @example Getting role information
172
+ * ```typescript
173
+ * const result = await IAMRequest('getRoles', {
174
+ * namespace_code: 'platform',
175
+ * search: 'viewer',
176
+ * page: 1,
177
+ * per_page: 20
178
+ * }, 'PRJ1455');
179
+ * ```
180
+ *
181
+ * @example Getting label values
182
+ * ```typescript
183
+ * const result = await IAMRequest('getLabelValues', {
184
+ * keys: ['feature_flag_1', 'feature_flag_2', 'setting_enabled']
185
+ * }, 'PRJ1455');
186
+ * ```
187
+ *
188
+ * @see Partner Platform documentation: https://docs.noon.partners
189
+ * @see For detailed payload structures, TypeScript autocomplete will guide you based on your selected action
190
+ */
191
+ export const IAMRequest = (actiontype, payload, project) => iamRequestHandler.request(actiontype, payload, project);
192
+ export default IAMRequest;
@@ -1 +1,2 @@
1
- export{useRequestHandler}from"./useRequestHandler";
1
+ // React hooks for SDK
2
+ export { useRequestHandler } from './useRequestHandler';
@@ -1 +1,26 @@
1
- import{useCallback,useState}from"react";import{IAMRequest}from"../core/requestHandler";export function useRequestHandler(){const[e,r]=useState(!1),[t,a]=useState(null),n=useCallback(async(e,t)=>{r(!0),a(null);try{return await IAMRequest(e,t)}catch(e){const r=e instanceof Error?e:new Error(String(e));throw a(r),r}finally{r(!1)}},[]);return{request:n,loading:e,error:t}}
1
+ import { useCallback, useState } from 'react';
2
+ import { IAMRequest } from '../core/requestHandler';
3
+ /**
4
+ * React hook for using IAMRequest
5
+ */
6
+ export function useRequestHandler() {
7
+ const [loading, setLoading] = useState(false);
8
+ const [error, setError] = useState(null);
9
+ const request = useCallback(async (action, payload) => {
10
+ setLoading(true);
11
+ setError(null);
12
+ try {
13
+ const response = await IAMRequest(action, payload);
14
+ return response;
15
+ }
16
+ catch (err) {
17
+ const error = err instanceof Error ? err : new Error(String(err));
18
+ setError(error);
19
+ throw error;
20
+ }
21
+ finally {
22
+ setLoading(false);
23
+ }
24
+ }, []);
25
+ return { request, loading, error };
26
+ }
package/dist/index.js CHANGED
@@ -1 +1,5 @@
1
- export*from"./core";export*from"./utils";export*from"./types";export*from"./hooks";
1
+ // Main entry point for the SDK
2
+ export * from './core';
3
+ export * from './utils';
4
+ export * from './types';
5
+ export * from './hooks';
@@ -1 +1 @@
1
- export{};
1
+ export {};
@@ -1 +1,2 @@
1
- export{parseResponse}from"./parser";
1
+ // Utility functions
2
+ export { parseResponse } from './parser';
@@ -1 +1,6 @@
1
- export function parseResponse(e){return e}
1
+ /**
2
+ * Parse API response
3
+ */
4
+ export function parseResponse(data) {
5
+ return data;
6
+ }
package/package.json CHANGED
@@ -1,23 +1,19 @@
1
1
  {
2
2
  "name": "mp-request-handler-sdk",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "Frontend SDK for request handling",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
- "dist",
9
- "scripts"
8
+ "dist"
10
9
  ],
11
10
  "scripts": {
12
11
  "build": "tsc",
13
- "minify": "find dist -name '*.js' -type f -exec terser {} -o {} -c -m \\;",
14
- "build:minified": "tsc && yarn minify",
15
12
  "dev": "tsc --watch",
16
13
  "test": "jest",
17
14
  "lint": "eslint src --ext .ts,.tsx",
18
- "pack": "yarn build:minified && npm pack --pack-destination ../../dist",
19
- "pack:tgz": "yarn build:minified && mkdir -p ../../dist && npm pack --pack-destination ../../dist",
20
- "postinstall": "node scripts/postinstall.js"
15
+ "pack": "yarn build && npm pack --pack-destination ../../dist",
16
+ "pack:tgz": "yarn build && mkdir -p ../../dist && npm pack --pack-destination ../../dist"
21
17
  },
22
18
  "keywords": [
23
19
  "sdk",
@@ -41,7 +37,6 @@
41
37
  "@typescript-eslint/parser": "^5.0.0",
42
38
  "eslint": "^8.0.0",
43
39
  "jest": "^29.5.0",
44
- "terser": "^5.44.1",
45
40
  "typescript": "^5.0.0"
46
41
  },
47
42
  "peerDependencies": {
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const colors = {
4
- reset: '\x1b[0m',
5
- bright: '\x1b[1m',
6
- cyan: '\x1b[36m',
7
- green: '\x1b[32m',
8
- yellow: '\x1b[33m',
9
- };
10
-
11
- const { bright, cyan, green, reset, yellow } = colors;
12
-
13
- const box = `
14
- ${cyan}╔════════════════════════════════════════════════════════════════╗${reset}
15
- ${cyan}║${reset} ${cyan}║${reset}
16
- ${cyan}║${reset} ${bright}MP Request Handler SDK${reset} - Installation Complete! ${cyan}║${reset}
17
- ${cyan}║${reset} ${cyan}║${reset}
18
- ${cyan}╠════════════════════════════════════════════════════════════════╣${reset}
19
- ${cyan}║${reset} ${cyan}║${reset}
20
- ${cyan}║${reset} 📖 ${green}Documentation:${reset} ${cyan}║${reset}
21
- ${cyan}║${reset} https://docs.noonstg.partners/identity/IAMEndpoints ${cyan}║${reset}
22
- ${cyan}║${reset} ${cyan}║${reset}
23
- ${cyan}║${reset} 🚀 ${green}Quick Start Example:${reset} ${cyan}║${reset}
24
- ${cyan}║${reset} ${cyan}║${reset}
25
- ${cyan}║${reset} ${yellow}import { IAMRequest } from '@mp-request-handler/sdk'; ${reset} ${cyan}║${reset}
26
- ${cyan}║${reset} ${cyan}║${reset}
27
- ${cyan}║${reset} ${yellow}const response = await IAMRequest(${reset} ${cyan}║${reset}
28
- ${cyan}║${reset} ${yellow}'createProjectUser',${reset} ${cyan}║${reset}
29
- ${cyan}║${reset} ${yellow}{ username: 'user@example.com', ... },${reset} ${cyan}║${reset}
30
- ${cyan}║${reset} ${yellow}'PRJ1455'${reset} ${cyan}║${reset}
31
- ${cyan}║${reset} ${yellow});${reset} ${cyan}║${reset}
32
- ${cyan}║${reset} ${cyan}║${reset}
33
- ${cyan}╚════════════════════════════════════════════════════════════════╝${reset}
34
- `;
35
-
36
- console.log(box);