@skylabs-digital/react-identity-access 1.0.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.
Files changed (60) hide show
  1. package/README.md +280 -0
  2. package/dist/components/FeatureFlag.d.ts +9 -0
  3. package/dist/components/FeatureFlag.d.ts.map +1 -0
  4. package/dist/components/LoginForm.d.ts +50 -0
  5. package/dist/components/LoginForm.d.ts.map +1 -0
  6. package/dist/components/PasswordRecoveryForm.d.ts +54 -0
  7. package/dist/components/PasswordRecoveryForm.d.ts.map +1 -0
  8. package/dist/components/Protected.d.ts +11 -0
  9. package/dist/components/Protected.d.ts.map +1 -0
  10. package/dist/components/ProtectedRoute.d.ts +12 -0
  11. package/dist/components/ProtectedRoute.d.ts.map +1 -0
  12. package/dist/components/SignupForm.d.ts +54 -0
  13. package/dist/components/SignupForm.d.ts.map +1 -0
  14. package/dist/components/SubscriptionGuard.d.ts +9 -0
  15. package/dist/components/SubscriptionGuard.d.ts.map +1 -0
  16. package/dist/index.d.ts +43 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.es.js +2609 -0
  19. package/dist/index.es.js.map +1 -0
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/providers/AppProvider.d.ts +41 -0
  23. package/dist/providers/AppProvider.d.ts.map +1 -0
  24. package/dist/providers/AuthProvider.d.ts +48 -0
  25. package/dist/providers/AuthProvider.d.ts.map +1 -0
  26. package/dist/providers/FeatureFlagProvider.d.ts +22 -0
  27. package/dist/providers/FeatureFlagProvider.d.ts.map +1 -0
  28. package/dist/providers/SubscriptionProvider.d.ts +24 -0
  29. package/dist/providers/SubscriptionProvider.d.ts.map +1 -0
  30. package/dist/providers/TenantProvider.d.ts +32 -0
  31. package/dist/providers/TenantProvider.d.ts.map +1 -0
  32. package/dist/services/AppApiService.d.ts +20 -0
  33. package/dist/services/AppApiService.d.ts.map +1 -0
  34. package/dist/services/AuthApiService.d.ts +29 -0
  35. package/dist/services/AuthApiService.d.ts.map +1 -0
  36. package/dist/services/FeatureFlagApiService.d.ts +19 -0
  37. package/dist/services/FeatureFlagApiService.d.ts.map +1 -0
  38. package/dist/services/HealthApiService.d.ts +9 -0
  39. package/dist/services/HealthApiService.d.ts.map +1 -0
  40. package/dist/services/HttpService.d.ts +21 -0
  41. package/dist/services/HttpService.d.ts.map +1 -0
  42. package/dist/services/PermissionApiService.d.ts +21 -0
  43. package/dist/services/PermissionApiService.d.ts.map +1 -0
  44. package/dist/services/RoleApiService.d.ts +23 -0
  45. package/dist/services/RoleApiService.d.ts.map +1 -0
  46. package/dist/services/SessionManager.d.ts +45 -0
  47. package/dist/services/SessionManager.d.ts.map +1 -0
  48. package/dist/services/SubscriptionApiService.d.ts +15 -0
  49. package/dist/services/SubscriptionApiService.d.ts.map +1 -0
  50. package/dist/services/SubscriptionPlanApiService.d.ts +19 -0
  51. package/dist/services/SubscriptionPlanApiService.d.ts.map +1 -0
  52. package/dist/services/TenantApiService.d.ts +21 -0
  53. package/dist/services/TenantApiService.d.ts.map +1 -0
  54. package/dist/services/UserApiService.d.ts +17 -0
  55. package/dist/services/UserApiService.d.ts.map +1 -0
  56. package/dist/types/api.d.ts +281 -0
  57. package/dist/types/api.d.ts.map +1 -0
  58. package/dist/utils/mappers.d.ts +29 -0
  59. package/dist/utils/mappers.d.ts.map +1 -0
  60. package/package.json +135 -0
@@ -0,0 +1,281 @@
1
+ export interface ApiResponse<T> {
2
+ success: boolean;
3
+ message?: string;
4
+ data: T;
5
+ meta?: PaginationMeta;
6
+ }
7
+ export interface ApiError {
8
+ success: false;
9
+ error: {
10
+ code: string;
11
+ };
12
+ message: string;
13
+ type?: 'AUTH' | 'VALIDATION' | 'BUSINESS' | 'SYSTEM';
14
+ }
15
+ export interface PaginationMeta {
16
+ total: number;
17
+ page: number;
18
+ limit: number;
19
+ totalPages: number;
20
+ hasNext: boolean;
21
+ hasPrev: boolean;
22
+ }
23
+ export declare enum UserType {
24
+ SUPERUSER = "SUPERUSER",
25
+ TENANT_ADMIN = "TENANT_ADMIN",
26
+ USER = "USER"
27
+ }
28
+ export interface User {
29
+ id: string;
30
+ email: string;
31
+ name: string;
32
+ isActive: boolean;
33
+ userType: UserType;
34
+ tenantId: string;
35
+ roleId: string | null;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ }
39
+ export interface CreateUserRequest {
40
+ email: string;
41
+ name: string;
42
+ password: string;
43
+ tenantId: string;
44
+ userType?: string;
45
+ roleId?: string;
46
+ }
47
+ export interface LoginRequest {
48
+ email: string;
49
+ password: string;
50
+ tenantId: string;
51
+ }
52
+ export interface LoginResponse {
53
+ user: User;
54
+ accessToken: string;
55
+ refreshToken: string;
56
+ expiresIn: number;
57
+ }
58
+ export interface SignupRequest {
59
+ email: string;
60
+ name: string;
61
+ password: string;
62
+ tenantId: string;
63
+ }
64
+ export interface ChangePasswordRequest {
65
+ currentPassword: string;
66
+ newPassword: string;
67
+ }
68
+ export interface RefreshTokenRequest {
69
+ refreshToken: string;
70
+ }
71
+ export interface RefreshTokenResponse {
72
+ accessToken: string;
73
+ refreshToken: string;
74
+ expiresIn: number;
75
+ }
76
+ export interface Role {
77
+ id: string;
78
+ name: string;
79
+ description: string | null;
80
+ appId: string;
81
+ permissions: string[];
82
+ createdAt: string;
83
+ updatedAt: string;
84
+ }
85
+ export interface CreateRoleRequest {
86
+ name: string;
87
+ description?: string;
88
+ appId: string;
89
+ permissionIds: string[];
90
+ }
91
+ export interface AssignRoleRequest {
92
+ userId: string;
93
+ }
94
+ export interface Permission {
95
+ id: string;
96
+ name: string;
97
+ description: string | null;
98
+ resource: string;
99
+ action: string;
100
+ appId: string | null;
101
+ createdAt: string;
102
+ updatedAt: string;
103
+ }
104
+ export interface CreatePermissionRequest {
105
+ name: string;
106
+ description?: string;
107
+ resource: string;
108
+ action: string;
109
+ appId?: string;
110
+ }
111
+ export interface App {
112
+ id: string;
113
+ name: string;
114
+ description: string | null;
115
+ securityLevel: 'ADMIN' | 'USER';
116
+ isActive: boolean;
117
+ autoApproveTenants: boolean;
118
+ defaultSubscriptionPlanId: string | null;
119
+ createdAt: string;
120
+ updatedAt: string;
121
+ }
122
+ export interface JSONSchema {
123
+ $schema?: string;
124
+ $id?: string;
125
+ title?: string;
126
+ description?: string;
127
+ type?: 'object' | 'array' | 'string' | 'number' | 'integer' | 'boolean' | 'null';
128
+ properties?: {
129
+ [key: string]: JSONSchema;
130
+ };
131
+ items?: JSONSchema;
132
+ required?: string[];
133
+ enum?: unknown[];
134
+ minimum?: number;
135
+ maximum?: number;
136
+ minLength?: number;
137
+ maxLength?: number;
138
+ pattern?: string;
139
+ format?: string;
140
+ default?: unknown;
141
+ placeholder?: string;
142
+ additionalProperties?: boolean | JSONSchema;
143
+ }
144
+ export interface PublicAppInfo {
145
+ id: string;
146
+ name: string;
147
+ description: string | null;
148
+ settingsSchema: JSONSchema | null;
149
+ }
150
+ export interface CreateAppRequest {
151
+ name: string;
152
+ description?: string;
153
+ securityLevel?: 'ADMIN' | 'USER';
154
+ }
155
+ export interface Tenant {
156
+ id: string;
157
+ name: string;
158
+ domain: string | null;
159
+ isActive: boolean;
160
+ appId: string;
161
+ settings: Record<string, any>;
162
+ createdAt: string;
163
+ updatedAt: string;
164
+ }
165
+ export interface CreateTenantRequest {
166
+ name: string;
167
+ domain?: string;
168
+ appId: string;
169
+ settings?: Record<string, any>;
170
+ }
171
+ export interface PublicTenantInfo {
172
+ id: string;
173
+ name: string;
174
+ domain: string | null;
175
+ appId: string;
176
+ }
177
+ export interface TenantSettings {
178
+ [key: string]: any;
179
+ }
180
+ export interface UpdateTenantSettingsRequest {
181
+ settings: TenantSettings;
182
+ }
183
+ export interface Subscription {
184
+ id: string;
185
+ tenantId: string;
186
+ planId: string;
187
+ status: 'ACTIVE' | 'INACTIVE' | 'PENDING' | 'CANCELLED';
188
+ startDate: string;
189
+ endDate: string | null;
190
+ createdAt: string;
191
+ updatedAt: string;
192
+ }
193
+ export interface CreateSubscriptionRequest {
194
+ tenantId: string;
195
+ planId: string;
196
+ startDate?: string;
197
+ endDate?: string;
198
+ }
199
+ export interface SubscriptionPlan {
200
+ id: string;
201
+ name: string;
202
+ description: string | null;
203
+ price: number;
204
+ currency: string;
205
+ billingCycle: 'MONTHLY' | 'YEARLY';
206
+ appId: string;
207
+ features: SubscriptionFeature[];
208
+ isActive: boolean;
209
+ createdAt: string;
210
+ updatedAt: string;
211
+ }
212
+ export interface SubscriptionFeature {
213
+ id: string;
214
+ name: string;
215
+ description: string | null;
216
+ featureType: 'BOOLEAN' | 'NUMERIC' | 'TEXT';
217
+ value: any;
218
+ planId: string;
219
+ }
220
+ export interface CreateSubscriptionPlanRequest {
221
+ name: string;
222
+ description?: string;
223
+ price: number;
224
+ currency: string;
225
+ billingCycle: 'MONTHLY' | 'YEARLY';
226
+ appId: string;
227
+ features: CreateSubscriptionFeatureRequest[];
228
+ }
229
+ export interface CreateSubscriptionFeatureRequest {
230
+ name: string;
231
+ description?: string;
232
+ featureType: 'BOOLEAN' | 'NUMERIC' | 'TEXT';
233
+ value: any;
234
+ }
235
+ export interface FeatureFlag {
236
+ id: string;
237
+ name: string;
238
+ description: string | null;
239
+ isActive: boolean;
240
+ appId: string;
241
+ createdAt: string;
242
+ updatedAt: string;
243
+ }
244
+ export interface CreateFeatureFlagRequest {
245
+ name: string;
246
+ description?: string;
247
+ appId: string;
248
+ }
249
+ export interface FeatureFlagItem {
250
+ featureFlagId: string;
251
+ key: string;
252
+ name: string;
253
+ value: boolean;
254
+ isOverridden: boolean;
255
+ }
256
+ export interface FeatureFlagValueResponse {
257
+ key: string;
258
+ value: boolean;
259
+ }
260
+ export interface PlanFeature {
261
+ key: string;
262
+ name: string;
263
+ type: 'BOOLEAN' | 'NUMBER' | 'STRING' | 'boolean' | 'number' | 'string';
264
+ value: any;
265
+ description?: string;
266
+ }
267
+ export interface TenantSubscriptionFeatures {
268
+ tenantId: string;
269
+ planId: string;
270
+ planName: string;
271
+ subscriptionStatus: string;
272
+ features: PlanFeature[];
273
+ isActive: boolean;
274
+ }
275
+ export interface PaginationParams {
276
+ page?: number;
277
+ limit?: number;
278
+ sortBy?: string;
279
+ sortOrder?: 'ASC' | 'DESC';
280
+ }
281
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export declare class ApiMappers {
2
+ static toDate(dateString: string): Date;
3
+ static toISOString(date: Date): string;
4
+ static transformPaginationMeta(meta: any): {
5
+ total: any;
6
+ page: any;
7
+ limit: any;
8
+ totalPages: any;
9
+ hasNext: any;
10
+ hasPrev: any;
11
+ };
12
+ static transformUser(user: any): any;
13
+ static transformRole(role: any): any;
14
+ static transformTenant(tenant: any): any;
15
+ static transformSubscription(subscription: any): any;
16
+ static transformApp(app: any): any;
17
+ static transformFeatureFlag(featureFlag: any): any;
18
+ static transformPermission(permission: any): any;
19
+ static transformSubscriptionPlan(plan: any): any;
20
+ static transformError(error: any): {
21
+ code: any;
22
+ message: any;
23
+ type: any;
24
+ isAuthError: boolean;
25
+ isValidationError: boolean;
26
+ };
27
+ static transformQueryParams(params: any): URLSearchParams;
28
+ }
29
+ //# sourceMappingURL=mappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/utils/mappers.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IAErB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKvC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAKtC,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG;;;;;;;;IAYxC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG;IAW9B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG;IAU9B,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG;IAWlC,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,GAAG;IAa9C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG;IAW5B,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG;IAU5C,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG;IAW1C,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG;IAY1C,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG;;;;;;;IAWhC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe;CAW1D"}
package/package.json ADDED
@@ -0,0 +1,135 @@
1
+ {
2
+ "name": "@skylabs-digital/react-identity-access",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "description": "A comprehensive React library for multi-tenancy, authentication, authorization, roles, session management, and settings management",
9
+ "main": "dist/index.js",
10
+ "module": "dist/index.es.js",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.es.js",
15
+ "require": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc && vite build",
25
+ "dev": "tsc --watch & vite build --watch",
26
+ "dev:types": "tsc --watch",
27
+ "dev:template": "pnpm run dev:types & cd template && pnpm start",
28
+ "lint": "eslint \"src/**/*.{ts,tsx}\" --report-unused-disable-directives --max-warnings 0",
29
+ "lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
30
+ "format": "prettier --write \"src/**/*.{ts,tsx,json,md}\"",
31
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,json,md}\"",
32
+ "type-check": "tsc --noEmit",
33
+ "test": "vitest run",
34
+ "test:watch": "vitest",
35
+ "test:ui": "vitest --ui",
36
+ "test:coverage": "vitest run --coverage",
37
+ "ci": "pnpm type-check && pnpm test && pnpm build",
38
+ "prepublishOnly": "pnpm run build",
39
+ "prepare": "husky install",
40
+ "commit": "git-cz",
41
+ "release": "semantic-release",
42
+ "preview": "vite preview",
43
+ "demo": "cd template && pnpm start"
44
+ },
45
+ "keywords": [
46
+ "react",
47
+ "authentication",
48
+ "authorization",
49
+ "multi-tenancy",
50
+ "roles",
51
+ "session-management",
52
+ "feature-flags",
53
+ "settings-management",
54
+ "configuration",
55
+ "typescript",
56
+ "hooks",
57
+ "context"
58
+ ],
59
+ "author": "Fer <fer@skylabs.com>",
60
+ "license": "MIT",
61
+ "repository": {
62
+ "type": "git",
63
+ "url": "https://github.com/skylabs-digital/react-identity-access.git"
64
+ },
65
+ "bugs": {
66
+ "url": "https://github.com/skylabs-digital/react-identity-access/issues"
67
+ },
68
+ "homepage": "https://github.com/skylabs-digital/react-identity-access#readme",
69
+ "peerDependencies": {
70
+ "react": ">=16.8.0",
71
+ "react-dom": ">=16.8.0",
72
+ "react-router": "^7.0.0"
73
+ },
74
+ "peerDependenciesMeta": {
75
+ "react": {
76
+ "optional": false
77
+ },
78
+ "react-dom": {
79
+ "optional": false
80
+ }
81
+ },
82
+ "devDependencies": {
83
+ "@commitlint/cli": "^18.4.4",
84
+ "@commitlint/config-conventional": "^18.4.4",
85
+ "@eslint/js": "^9.0.0",
86
+ "@semantic-release/changelog": "^6.0.3",
87
+ "@semantic-release/commit-analyzer": "^11.1.0",
88
+ "@semantic-release/git": "^10.0.1",
89
+ "@semantic-release/github": "^9.2.6",
90
+ "@semantic-release/npm": "^11.0.2",
91
+ "@semantic-release/release-notes-generator": "^12.1.0",
92
+ "@testing-library/jest-dom": "^6.6.3",
93
+ "@testing-library/react": "^13.4.0",
94
+ "@testing-library/user-event": "^14.6.1",
95
+ "@types/node": "^24.3.0",
96
+ "@types/react": "^19.1.11",
97
+ "@types/react-dom": "^19.1.7",
98
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
99
+ "@typescript-eslint/parser": "^8.0.0",
100
+ "@vitejs/plugin-react": "^4.2.1",
101
+ "@vitest/coverage-v8": "^2.1.8",
102
+ "@vitest/ui": "^2.1.8",
103
+ "commitizen": "^4.3.0",
104
+ "cz-conventional-changelog": "^3.3.0",
105
+ "eslint": "^8.57.0",
106
+ "eslint-config-prettier": "^9.1.0",
107
+ "eslint-plugin-prettier": "^5.0.0",
108
+ "eslint-plugin-react": "^7.34.0",
109
+ "eslint-plugin-react-hooks": "^4.6.0",
110
+ "eslint-plugin-react-refresh": "^0.4.6",
111
+ "globals": "^15.0.0",
112
+ "husky": "^8.0.3",
113
+ "jsdom": "^25.0.1",
114
+ "lint-staged": "^15.2.10",
115
+ "prettier": "^3.0.0",
116
+ "semantic-release": "^22.0.12",
117
+ "typescript": "^5.9.2",
118
+ "vite": "^5.2.0",
119
+ "vite-plugin-dts": "^4.3.0",
120
+ "vitest": "^2.1.8"
121
+ },
122
+ "dependencies": {},
123
+ "lint-staged": {
124
+ "src/**/*.{ts,tsx}": [
125
+ "eslint --fix",
126
+ "prettier --write"
127
+ ]
128
+ },
129
+ "config": {
130
+ "commitizen": {
131
+ "path": "./node_modules/cz-conventional-changelog"
132
+ }
133
+ },
134
+ "packageManager": "pnpm@9.15.1"
135
+ }