@ahksolution/permissions-sdk 1.2.1 → 1.3.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/README.md +266 -12
- package/dist/client/permissions-grpc.client.d.ts +22 -1
- package/dist/client/permissions-grpc.client.d.ts.map +1 -1
- package/dist/client/permissions-grpc.client.js +132 -0
- package/dist/client/permissions-grpc.client.js.map +1 -1
- package/dist/proto/permissions.proto +110 -0
- package/dist/types/grpc.types.d.ts +81 -0
- package/dist/types/grpc.types.d.ts.map +1 -1
- package/dist/types/grpc.types.js +13 -1
- package/dist/types/grpc.types.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/jwt.types.d.ts +81 -0
- package/dist/types/jwt.types.d.ts.map +1 -1
- package/dist/types/jwt.types.js +12 -0
- package/dist/types/jwt.types.js.map +1 -1
- package/package.json +1 -1
- package/src/proto/permissions.proto +110 -0
package/README.md
CHANGED
|
@@ -261,18 +261,20 @@ export class OrderService {
|
|
|
261
261
|
|
|
262
262
|
### PermissionsGrpcClient
|
|
263
263
|
|
|
264
|
-
| Method | Description
|
|
265
|
-
| --------------------------------------------------------- |
|
|
266
|
-
| `validateToken(token)` | Validates JWT and returns `ValidateTokenResult`
|
|
267
|
-
| `hasPermission(userId, permissionCode)` | Returns `boolean` - does user have this permission?
|
|
268
|
-
| `hasAllPermissions(userId, permissionCodes)` | Returns `boolean` - does user have ALL permissions?
|
|
269
|
-
| `hasAnyPermission(userId, permissionCodes)` | Returns `boolean` - does user have ANY permission?
|
|
270
|
-
| `checkPermission(userId, permissionCode, options?)` | Returns full `EvaluationResult` with details
|
|
271
|
-
| `checkBulkPermissions(userId, permissionCodes, options?)` | Returns results for multiple permissions
|
|
272
|
-
| `getEffectivePermissions(userId)` | Returns all permissions and roles for a user
|
|
273
|
-
| `getUserInfo(userId)` | Returns complete user profile with roles & permissions
|
|
274
|
-
| `getUserRoles(userId)` | Returns user's roles only
|
|
275
|
-
| `getUserPermissions(userId)` | Returns user's permission codes only
|
|
264
|
+
| Method | Description |
|
|
265
|
+
| --------------------------------------------------------- | ----------------------------------------------------------- |
|
|
266
|
+
| `validateToken(token)` | Validates JWT and returns `ValidateTokenResult` |
|
|
267
|
+
| `hasPermission(userId, permissionCode)` | Returns `boolean` - does user have this permission? |
|
|
268
|
+
| `hasAllPermissions(userId, permissionCodes)` | Returns `boolean` - does user have ALL permissions? |
|
|
269
|
+
| `hasAnyPermission(userId, permissionCodes)` | Returns `boolean` - does user have ANY permission? |
|
|
270
|
+
| `checkPermission(userId, permissionCode, options?)` | Returns full `EvaluationResult` with details |
|
|
271
|
+
| `checkBulkPermissions(userId, permissionCodes, options?)` | Returns results for multiple permissions |
|
|
272
|
+
| `getEffectivePermissions(userId)` | Returns all permissions and roles for a user |
|
|
273
|
+
| `getUserInfo(userId)` | Returns complete user profile with roles & permissions |
|
|
274
|
+
| `getUserRoles(userId)` | Returns user's roles only |
|
|
275
|
+
| `getUserPermissions(userId)` | Returns user's permission codes only |
|
|
276
|
+
| `getBulkUserInfo(userIds, options?)` | Returns user data for multiple users with optional flags |
|
|
277
|
+
| `createUser(options)` | Creates a new user with validations and optional magic link |
|
|
276
278
|
|
|
277
279
|
### Decorators
|
|
278
280
|
|
|
@@ -410,9 +412,123 @@ export class UserProfileService {
|
|
|
410
412
|
}
|
|
411
413
|
```
|
|
412
414
|
|
|
415
|
+
### Bulk User Data (v1.4.0+)
|
|
416
|
+
|
|
417
|
+
Fetch data for multiple users in a single gRPC call with optional flags to control what data is returned.
|
|
418
|
+
|
|
419
|
+
```typescript
|
|
420
|
+
import { Injectable, NotFoundException } from '@nestjs/common';
|
|
421
|
+
import { PermissionsGrpcClient } from '@ahksolution/permissions-sdk';
|
|
422
|
+
|
|
423
|
+
@Injectable()
|
|
424
|
+
export class TeamService {
|
|
425
|
+
constructor(private readonly permissions: PermissionsGrpcClient) {}
|
|
426
|
+
|
|
427
|
+
// Get basic info for multiple users (no roles/permissions)
|
|
428
|
+
async getTeamMembers(userIds: string[]) {
|
|
429
|
+
const result = await this.permissions.getBulkUserInfo(userIds);
|
|
430
|
+
|
|
431
|
+
return Object.entries(result.users)
|
|
432
|
+
.filter(([_, item]) => item.found)
|
|
433
|
+
.map(([userId, item]) => ({
|
|
434
|
+
id: item.user!.id,
|
|
435
|
+
email: item.user!.email,
|
|
436
|
+
name: item.user!.profile?.fullName,
|
|
437
|
+
}));
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// Get users with their roles included
|
|
441
|
+
async getTeamWithRoles(userIds: string[]) {
|
|
442
|
+
const result = await this.permissions.getBulkUserInfo(userIds, {
|
|
443
|
+
includeRoles: true,
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
return Object.entries(result.users)
|
|
447
|
+
.filter(([_, item]) => item.found)
|
|
448
|
+
.map(([userId, item]) => ({
|
|
449
|
+
id: item.user!.id,
|
|
450
|
+
email: item.user!.email,
|
|
451
|
+
roles: item.user!.roles.map((r) => r.name),
|
|
452
|
+
}));
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// Get users with both roles and permissions
|
|
456
|
+
async getTeamWithFullAccess(userIds: string[]) {
|
|
457
|
+
const result = await this.permissions.getBulkUserInfo(userIds, {
|
|
458
|
+
includeRoles: true,
|
|
459
|
+
includePermissions: true,
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
return Object.entries(result.users).map(([userId, item]) => {
|
|
463
|
+
if (!item.found) {
|
|
464
|
+
return { userId, error: item.errorMessage };
|
|
465
|
+
}
|
|
466
|
+
return {
|
|
467
|
+
userId,
|
|
468
|
+
email: item.user!.email,
|
|
469
|
+
roles: item.user!.roles,
|
|
470
|
+
permissions: item.user!.permissions,
|
|
471
|
+
hasAllAccess: item.user!.hasAllAccess,
|
|
472
|
+
};
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// Handle mixed results (some users found, some not)
|
|
477
|
+
async validateUserIds(userIds: string[]) {
|
|
478
|
+
const result = await this.permissions.getBulkUserInfo(userIds);
|
|
479
|
+
|
|
480
|
+
const found: string[] = [];
|
|
481
|
+
const notFound: string[] = [];
|
|
482
|
+
const inactive: string[] = [];
|
|
483
|
+
|
|
484
|
+
for (const [userId, item] of Object.entries(result.users)) {
|
|
485
|
+
if (item.found) {
|
|
486
|
+
found.push(userId);
|
|
487
|
+
} else if (item.errorMessage === 'USER_INACTIVE') {
|
|
488
|
+
inactive.push(userId);
|
|
489
|
+
} else {
|
|
490
|
+
notFound.push(userId);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
return { found, notFound, inactive };
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
**Options:**
|
|
500
|
+
|
|
501
|
+
| Option | Type | Default | Description |
|
|
502
|
+
| -------------------- | --------- | ------- | ------------------------------------ |
|
|
503
|
+
| `includeRoles` | `boolean` | `false` | Include user roles in response |
|
|
504
|
+
| `includePermissions` | `boolean` | `false` | Include user permissions in response |
|
|
505
|
+
|
|
413
506
|
**Return Types:**
|
|
414
507
|
|
|
415
508
|
```typescript
|
|
509
|
+
interface GetBulkUserInfoResult {
|
|
510
|
+
users: Record<string, BulkUserInfoItem>;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
interface BulkUserInfoItem {
|
|
514
|
+
found: boolean;
|
|
515
|
+
errorMessage?: string; // 'USER_NOT_FOUND' | 'USER_INACTIVE' | 'INTERNAL_ERROR'
|
|
516
|
+
user?: BulkUserData; // Only populated if found=true
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
interface BulkUserData {
|
|
520
|
+
id: string;
|
|
521
|
+
email: string | null;
|
|
522
|
+
phone: string | null;
|
|
523
|
+
userType: string;
|
|
524
|
+
status: string;
|
|
525
|
+
isProfileComplete: boolean;
|
|
526
|
+
roles: RoleInfo[]; // Empty array if includeRoles=false
|
|
527
|
+
permissions: string[]; // Empty array if includePermissions=false
|
|
528
|
+
hasAllAccess: boolean;
|
|
529
|
+
profile?: UserProfileData;
|
|
530
|
+
}
|
|
531
|
+
|
|
416
532
|
interface GetUserInfoResult {
|
|
417
533
|
found: boolean;
|
|
418
534
|
errorMessage?: string; // 'USER_NOT_FOUND' | 'USER_INACTIVE' | 'INTERNAL_ERROR'
|
|
@@ -433,6 +549,144 @@ interface GetUserPermissionsResult {
|
|
|
433
549
|
}
|
|
434
550
|
```
|
|
435
551
|
|
|
552
|
+
### Create User (v1.5.0+)
|
|
553
|
+
|
|
554
|
+
Create new users via gRPC with full validation support including email uniqueness, magic link sending, role assignment, and organization assignment.
|
|
555
|
+
|
|
556
|
+
```typescript
|
|
557
|
+
import { Injectable, BadRequestException, ConflictException } from '@nestjs/common';
|
|
558
|
+
import { PermissionsGrpcClient, UserType } from '@ahksolution/permissions-sdk';
|
|
559
|
+
|
|
560
|
+
@Injectable()
|
|
561
|
+
export class UserManagementService {
|
|
562
|
+
constructor(private readonly permissions: PermissionsGrpcClient) {}
|
|
563
|
+
|
|
564
|
+
// Create an admin user with magic link
|
|
565
|
+
async createAdminUser(email: string, firstName: string, lastName: string) {
|
|
566
|
+
const result = await this.permissions.createUser({
|
|
567
|
+
firstName,
|
|
568
|
+
lastName,
|
|
569
|
+
email,
|
|
570
|
+
userType: UserType.ADMIN,
|
|
571
|
+
sendMagicLink: true, // Default: true
|
|
572
|
+
});
|
|
573
|
+
|
|
574
|
+
if (!result.success) {
|
|
575
|
+
// Handle specific error codes
|
|
576
|
+
if (result.errorCode === 'EMAIL_EXISTS') {
|
|
577
|
+
throw new ConflictException('A user with this email already exists');
|
|
578
|
+
}
|
|
579
|
+
throw new BadRequestException(result.errorMessage);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
return {
|
|
583
|
+
userId: result.user!.id,
|
|
584
|
+
email: result.user!.email,
|
|
585
|
+
magicLinkSent: result.magicLinkSent,
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
// Create a customer user with roles and organization
|
|
590
|
+
async createCustomerWithRoles(data: {
|
|
591
|
+
firstName: string;
|
|
592
|
+
lastName: string;
|
|
593
|
+
email?: string;
|
|
594
|
+
phone?: string;
|
|
595
|
+
departmentId?: string;
|
|
596
|
+
designationId?: string;
|
|
597
|
+
roleIds?: string[];
|
|
598
|
+
}) {
|
|
599
|
+
const result = await this.permissions.createUser({
|
|
600
|
+
firstName: data.firstName,
|
|
601
|
+
lastName: data.lastName,
|
|
602
|
+
email: data.email,
|
|
603
|
+
phone: data.phone,
|
|
604
|
+
userType: UserType.CUSTOMER,
|
|
605
|
+
departmentId: data.departmentId,
|
|
606
|
+
designationId: data.designationId,
|
|
607
|
+
roleIds: data.roleIds,
|
|
608
|
+
sendMagicLink: false, // Don't send magic link for customers
|
|
609
|
+
});
|
|
610
|
+
|
|
611
|
+
if (!result.success) {
|
|
612
|
+
this.handleCreateUserError(result.errorCode, result.errorMessage);
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
return result.user;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
private handleCreateUserError(errorCode?: string, errorMessage?: string): never {
|
|
619
|
+
switch (errorCode) {
|
|
620
|
+
case 'EMAIL_EXISTS':
|
|
621
|
+
throw new ConflictException('Email already registered');
|
|
622
|
+
case 'PHONE_EXISTS':
|
|
623
|
+
throw new ConflictException('Phone number already registered');
|
|
624
|
+
case 'INVALID_ROLE':
|
|
625
|
+
throw new BadRequestException('One or more role IDs are invalid');
|
|
626
|
+
case 'INVALID_ORG':
|
|
627
|
+
throw new BadRequestException('Invalid department or designation ID');
|
|
628
|
+
case 'VALIDATION_ERROR':
|
|
629
|
+
throw new BadRequestException(errorMessage ?? 'Validation failed');
|
|
630
|
+
default:
|
|
631
|
+
throw new BadRequestException(errorMessage ?? 'Failed to create user');
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
**Options:**
|
|
638
|
+
|
|
639
|
+
```typescript
|
|
640
|
+
interface CreateUserOptions {
|
|
641
|
+
firstName: string; // Required
|
|
642
|
+
lastName: string; // Required
|
|
643
|
+
email?: string; // Required if phone not provided
|
|
644
|
+
phone?: string; // Required if email not provided
|
|
645
|
+
userType: UserType; // Required: UserType.ADMIN or UserType.CUSTOMER
|
|
646
|
+
departmentId?: string; // Optional: Department for org assignment
|
|
647
|
+
designationId?: string; // Optional: Designation for org assignment
|
|
648
|
+
roleIds?: string[]; // Optional: Role IDs to assign to user
|
|
649
|
+
sendMagicLink?: boolean; // Optional: Send magic link email (default: true)
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
enum UserType {
|
|
653
|
+
ADMIN = 'ADMIN',
|
|
654
|
+
CUSTOMER = 'CUSTOMER',
|
|
655
|
+
}
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
**Return Types:**
|
|
659
|
+
|
|
660
|
+
```typescript
|
|
661
|
+
interface CreateUserResult {
|
|
662
|
+
success: boolean;
|
|
663
|
+
errorCode?: string; // 'EMAIL_EXISTS' | 'PHONE_EXISTS' | 'INVALID_ROLE' | 'INVALID_ORG' | 'VALIDATION_ERROR' | 'INTERNAL_ERROR'
|
|
664
|
+
errorMessage?: string;
|
|
665
|
+
user?: CreatedUserData; // Only populated if success=true
|
|
666
|
+
magicLinkSent: boolean;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
interface CreatedUserData {
|
|
670
|
+
id: string;
|
|
671
|
+
email: string | null;
|
|
672
|
+
phone: string | null;
|
|
673
|
+
userType: string;
|
|
674
|
+
status: string;
|
|
675
|
+
profile?: UserProfileData;
|
|
676
|
+
}
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
**Error Codes:**
|
|
680
|
+
|
|
681
|
+
| Error Code | Description |
|
|
682
|
+
| ------------------ | -------------------------------------- |
|
|
683
|
+
| `EMAIL_EXISTS` | A user with this email already exists |
|
|
684
|
+
| `PHONE_EXISTS` | A user with this phone number exists |
|
|
685
|
+
| `INVALID_ROLE` | One or more role IDs are invalid |
|
|
686
|
+
| `INVALID_ORG` | Invalid department or designation ID |
|
|
687
|
+
| `VALIDATION_ERROR` | General validation error (see message) |
|
|
688
|
+
| `INTERNAL_ERROR` | Server-side error during user creation |
|
|
689
|
+
|
|
436
690
|
## Environment Variables
|
|
437
691
|
|
|
438
692
|
| Variable | Description | Default |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { ClientGrpc } from '@nestjs/microservices';
|
|
3
|
-
import type { BulkPermissionResultRecord, EffectivePermissions, EvaluationResult, GetUserInfoResult, GetUserPermissionsResult, GetUserRolesResult, RequestContext, ResourceContext, ValidateTokenResult } from '../types';
|
|
3
|
+
import type { BulkPermissionResultRecord, CreateUserOptions, CreateUserResult, EffectivePermissions, EvaluationResult, GetBulkUserInfoResult, GetUserInfoResult, GetUserPermissionsResult, GetUserRolesResult, RequestContext, ResourceContext, ValidateTokenResult } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* gRPC client for the Permissions Service
|
|
6
6
|
* Provides methods to check permissions via gRPC calls to the permissions microservice
|
|
@@ -63,5 +63,26 @@ export declare class PermissionsGrpcClient implements OnModuleInit {
|
|
|
63
63
|
* Get user's permission codes only by userId
|
|
64
64
|
*/
|
|
65
65
|
getUserPermissions(userId: string): Promise<GetUserPermissionsResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Get bulk user info for multiple users at once
|
|
68
|
+
* Supports flags to conditionally include roles and permissions
|
|
69
|
+
*/
|
|
70
|
+
getBulkUserInfo(userIds: string[], options?: {
|
|
71
|
+
includeRoles?: boolean;
|
|
72
|
+
includePermissions?: boolean;
|
|
73
|
+
}): Promise<GetBulkUserInfoResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Maps gRPC bulk user data to BulkUserData type
|
|
76
|
+
*/
|
|
77
|
+
private mapToBulkUserData;
|
|
78
|
+
/**
|
|
79
|
+
* Create a new user with all validations
|
|
80
|
+
* Supports email validation, magic link sending, org assignment, and role assignment
|
|
81
|
+
*/
|
|
82
|
+
createUser(options: CreateUserOptions): Promise<CreateUserResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Maps UserType to gRPC enum
|
|
85
|
+
*/
|
|
86
|
+
private mapUserTypeToGrpc;
|
|
66
87
|
}
|
|
67
88
|
//# sourceMappingURL=permissions-grpc.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-grpc.client.d.ts","sourceRoot":"","sources":["../../src/client/permissions-grpc.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,KAAK,EACV,0BAA0B,
|
|
1
|
+
{"version":3,"file":"permissions-grpc.client.d.ts","sourceRoot":"","sources":["../../src/client/permissions-grpc.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,KAAK,EACV,0BAA0B,EAG1B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAEhB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAElB,cAAc,EACd,eAAe,EAEf,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAwGlB;;;GAGG;AACH,qBACa,qBAAsB,YAAW,YAAY;IAMtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,kBAAkB,CAA0B;gBAIjC,MAAM,EAAE,UAAU;IAGrC,YAAY,IAAI,IAAI;IAMpB;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GACA,OAAO,CAAC,gBAAgB,CAAC;IAiB5B;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GACA,OAAO,CAAC,0BAA0B,CAAC;IAwBtC;;OAEG;IACG,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB5E;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY7E;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpF;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAYnF;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBhE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwB7D;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgC/D;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA2B3E;;;OAGG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GACA,OAAO,CAAC,qBAAqB,CAAC;IA6BjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyDvE;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -17,6 +17,8 @@ exports.PermissionsGrpcClient = void 0;
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const rxjs_1 = require("rxjs");
|
|
19
19
|
const constants_1 = require("../constants");
|
|
20
|
+
const types_1 = require("../types");
|
|
21
|
+
const grpc_types_1 = require("../types/grpc.types");
|
|
20
22
|
/**
|
|
21
23
|
* Maps gRPC evaluation source enum to TypeScript type
|
|
22
24
|
*/
|
|
@@ -255,6 +257,14 @@ let PermissionsGrpcClient = PermissionsGrpcClient_1 = class PermissionsGrpcClien
|
|
|
255
257
|
})),
|
|
256
258
|
permissions: userData.permissions,
|
|
257
259
|
hasAllAccess: userData.hasAllAccess,
|
|
260
|
+
profile: userData.profile === undefined
|
|
261
|
+
? undefined
|
|
262
|
+
: {
|
|
263
|
+
firstName: userData.profile.firstName,
|
|
264
|
+
lastName: userData.profile.lastName,
|
|
265
|
+
fullName: userData.profile.fullName,
|
|
266
|
+
profilePicUrl: userData.profile.profilePicUrl,
|
|
267
|
+
},
|
|
258
268
|
};
|
|
259
269
|
}
|
|
260
270
|
/**
|
|
@@ -337,6 +347,128 @@ let PermissionsGrpcClient = PermissionsGrpcClient_1 = class PermissionsGrpcClien
|
|
|
337
347
|
throw new common_1.ServiceUnavailableException('User service unavailable');
|
|
338
348
|
}
|
|
339
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Get bulk user info for multiple users at once
|
|
352
|
+
* Supports flags to conditionally include roles and permissions
|
|
353
|
+
*/
|
|
354
|
+
async getBulkUserInfo(userIds, options) {
|
|
355
|
+
try {
|
|
356
|
+
const response = await (0, rxjs_1.firstValueFrom)(this.permissionsService.getBulkUserInfo({
|
|
357
|
+
userIds,
|
|
358
|
+
includeRoles: options?.includeRoles ?? false,
|
|
359
|
+
includePermissions: options?.includePermissions ?? false,
|
|
360
|
+
}));
|
|
361
|
+
const users = {};
|
|
362
|
+
for (const [userId, item] of Object.entries(response.users)) {
|
|
363
|
+
users[userId] = {
|
|
364
|
+
found: item.found,
|
|
365
|
+
errorMessage: item.errorMessage !== '' ? item.errorMessage : undefined,
|
|
366
|
+
user: item.user !== undefined ? this.mapToBulkUserData(item.user) : undefined,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
return { users };
|
|
370
|
+
}
|
|
371
|
+
catch (error) {
|
|
372
|
+
const grpcError = error;
|
|
373
|
+
this.logger.error(`gRPC getBulkUserInfo failed - code: ${String(grpcError.code)}, details: ${String(grpcError.details)}, message: ${String(grpcError.message)}`);
|
|
374
|
+
throw new common_1.ServiceUnavailableException('User service unavailable');
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Maps gRPC bulk user data to BulkUserData type
|
|
379
|
+
*/
|
|
380
|
+
mapToBulkUserData(userData) {
|
|
381
|
+
return {
|
|
382
|
+
id: userData.id,
|
|
383
|
+
email: userData.email !== '' ? userData.email : null,
|
|
384
|
+
phone: userData.phone !== '' ? userData.phone : null,
|
|
385
|
+
userType: userData.userType,
|
|
386
|
+
status: userData.status,
|
|
387
|
+
isProfileComplete: userData.isProfileComplete,
|
|
388
|
+
roles: userData.roles.map((role) => ({
|
|
389
|
+
id: role.id,
|
|
390
|
+
code: role.code,
|
|
391
|
+
name: role.name,
|
|
392
|
+
isSystem: role.isSystem,
|
|
393
|
+
})),
|
|
394
|
+
permissions: userData.permissions,
|
|
395
|
+
hasAllAccess: userData.hasAllAccess,
|
|
396
|
+
profile: userData.profile === undefined
|
|
397
|
+
? undefined
|
|
398
|
+
: {
|
|
399
|
+
firstName: userData.profile.firstName,
|
|
400
|
+
lastName: userData.profile.lastName,
|
|
401
|
+
fullName: userData.profile.fullName,
|
|
402
|
+
profilePicUrl: userData.profile.profilePicUrl,
|
|
403
|
+
},
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Create a new user with all validations
|
|
408
|
+
* Supports email validation, magic link sending, org assignment, and role assignment
|
|
409
|
+
*/
|
|
410
|
+
async createUser(options) {
|
|
411
|
+
try {
|
|
412
|
+
const response = await (0, rxjs_1.firstValueFrom)(this.permissionsService.createUser({
|
|
413
|
+
firstName: options.firstName,
|
|
414
|
+
lastName: options.lastName,
|
|
415
|
+
email: options.email ?? '',
|
|
416
|
+
phone: options.phone ?? '',
|
|
417
|
+
userType: this.mapUserTypeToGrpc(options.userType),
|
|
418
|
+
departmentId: options.departmentId ?? '',
|
|
419
|
+
designationId: options.designationId ?? '',
|
|
420
|
+
roleIds: options.roleIds ?? [],
|
|
421
|
+
sendMagicLink: options.sendMagicLink ?? true,
|
|
422
|
+
}));
|
|
423
|
+
if (!response.success) {
|
|
424
|
+
return {
|
|
425
|
+
success: false,
|
|
426
|
+
errorCode: response.errorCode !== '' ? response.errorCode : undefined,
|
|
427
|
+
errorMessage: response.errorMessage !== '' ? response.errorMessage : undefined,
|
|
428
|
+
magicLinkSent: false,
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
success: true,
|
|
433
|
+
user: response.user === undefined
|
|
434
|
+
? undefined
|
|
435
|
+
: {
|
|
436
|
+
id: response.user.id,
|
|
437
|
+
email: response.user.email !== '' ? response.user.email : null,
|
|
438
|
+
phone: response.user.phone !== '' ? response.user.phone : null,
|
|
439
|
+
userType: response.user.userType,
|
|
440
|
+
status: response.user.status,
|
|
441
|
+
profile: response.user.profile === undefined
|
|
442
|
+
? undefined
|
|
443
|
+
: {
|
|
444
|
+
firstName: response.user.profile.firstName,
|
|
445
|
+
lastName: response.user.profile.lastName,
|
|
446
|
+
fullName: response.user.profile.fullName,
|
|
447
|
+
profilePicUrl: response.user.profile.profilePicUrl,
|
|
448
|
+
},
|
|
449
|
+
},
|
|
450
|
+
magicLinkSent: response.magicLinkSent,
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
catch (error) {
|
|
454
|
+
const grpcError = error;
|
|
455
|
+
this.logger.error(`gRPC createUser failed - code: ${String(grpcError.code)}, details: ${String(grpcError.details)}, message: ${String(grpcError.message)}`);
|
|
456
|
+
throw new common_1.ServiceUnavailableException('User service unavailable');
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Maps UserType to gRPC enum
|
|
461
|
+
*/
|
|
462
|
+
mapUserTypeToGrpc(userType) {
|
|
463
|
+
switch (userType) {
|
|
464
|
+
case types_1.UserType.ADMIN:
|
|
465
|
+
return grpc_types_1.GrpcUserType.USER_TYPE_ADMIN;
|
|
466
|
+
case types_1.UserType.CUSTOMER:
|
|
467
|
+
return grpc_types_1.GrpcUserType.USER_TYPE_CUSTOMER;
|
|
468
|
+
default:
|
|
469
|
+
return grpc_types_1.GrpcUserType.USER_TYPE_UNSPECIFIED;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
340
472
|
};
|
|
341
473
|
exports.PermissionsGrpcClient = PermissionsGrpcClient;
|
|
342
474
|
exports.PermissionsGrpcClient = PermissionsGrpcClient = PermissionsGrpcClient_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-grpc.client.js","sourceRoot":"","sources":["../../src/client/permissions-grpc.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAMwB;AAExB,+BAAsC;AAEtC,4CAAiF;AAuBjF;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAA4B;IACvD,MAAM,SAAS,GAAmD;QAChE,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,QAAQ;KACZ,CAAC;IACF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAiC;IAC3D,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;KAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAyB;IAStD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3D,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO;QACL,EAAE;QACF,IAAI;QACJ,OAAO;QACP,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAwB;IASpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO;QACL,EAAE;QACF,SAAS;QACT,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACJ,CAAC;AAED;;;GAGG;AAEI,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAMb;IALF,MAAM,GAAG,IAAI,eAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IACzD,kBAAkB,CAA0B;IAEpD,YAEmB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAClC,CAAC;IAEJ,YAAY;QACV,IAAI,CAAC,kBAAkB;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAyB,oCAAwB,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,cAAsB,EACtB,OAGC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC;gBACtC,MAAM;gBACN,cAAc;gBACd,eAAe,EAAE,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACzD,cAAc,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC;aACvD,CAAC,CACH,CAAC;YACF,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3E,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,eAAyB,EACzB,OAGC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAiC,MAAM,IAAA,qBAAc,EACjE,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;gBAC3C,MAAM;gBACN,eAAe;gBACf,eAAe,EAAE,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACzD,cAAc,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC;aACvD,CAAC,CACH,CAAC;YACF,MAAM,OAAO,GAAqC,EAAE,CAAC;YACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;gBACL,OAAO;gBACP,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,MAAc;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAC5D,CAAC;YACF,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;aAC1C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YACnF,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,cAAsB;QACxD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAClE,CAAC;YACF,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,eAAyB;QAC/D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CACvE,CAAC;YACF,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7E,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,eAAyB;QAC9D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CACtE,CAAC;YACF,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,oCAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAExF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAA8D,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC5I,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,oCAAoC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAuB;QAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACpD,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACpD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAEvF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAA8D,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC1I,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,0BAA0B,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAExF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAe,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK;aACN,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAA8D,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC3I,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,0BAA0B,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,WAAW,EAAE,EAAE;oBACf,YAAY,EAAE,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAA8D,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CACjJ,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,0BAA0B,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF,CAAA;AArSY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;;GALvB,qBAAqB,CAqSjC"}
|
|
1
|
+
{"version":3,"file":"permissions-grpc.client.js","sourceRoot":"","sources":["../../src/client/permissions-grpc.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,18 @@ service PermissionsService {
|
|
|
60
60
|
* Get user's permission codes only by userId
|
|
61
61
|
*/
|
|
62
62
|
rpc GetUserPermissions(GetUserPermissionsRequest) returns (GetUserPermissionsResponse);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get bulk user info for multiple users at once
|
|
66
|
+
* Supports flags to conditionally include roles and permissions
|
|
67
|
+
*/
|
|
68
|
+
rpc GetBulkUserInfo(GetBulkUserInfoRequest) returns (GetBulkUserInfoResponse);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Create a new user with all validations (email uniqueness, magic link, etc.)
|
|
72
|
+
* Supports creating users with optional roles and organization assignment
|
|
73
|
+
*/
|
|
74
|
+
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
|
|
63
75
|
}
|
|
64
76
|
|
|
65
77
|
// ============================================================================
|
|
@@ -203,6 +215,18 @@ message UserData {
|
|
|
203
215
|
bool has_all_access = 9;
|
|
204
216
|
bool mfa_enabled = 10;
|
|
205
217
|
bool mfa_verified = 11;
|
|
218
|
+
// Profile fields
|
|
219
|
+
UserProfile profile = 12;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* User profile data
|
|
224
|
+
*/
|
|
225
|
+
message UserProfile {
|
|
226
|
+
string first_name = 1;
|
|
227
|
+
string last_name = 2;
|
|
228
|
+
string full_name = 3;
|
|
229
|
+
string profile_pic_url = 4;
|
|
206
230
|
}
|
|
207
231
|
|
|
208
232
|
/**
|
|
@@ -249,3 +273,89 @@ message GetUserPermissionsResponse {
|
|
|
249
273
|
repeated string permissions = 3;
|
|
250
274
|
bool has_all_access = 4;
|
|
251
275
|
}
|
|
276
|
+
|
|
277
|
+
// ============================================================================
|
|
278
|
+
// Bulk User Data Lookup Messages
|
|
279
|
+
// ============================================================================
|
|
280
|
+
|
|
281
|
+
message GetBulkUserInfoRequest {
|
|
282
|
+
repeated string user_ids = 1; // Array of user IDs to fetch
|
|
283
|
+
bool include_roles = 2; // Flag to include roles data
|
|
284
|
+
bool include_permissions = 3; // Flag to include permissions data
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* User data for bulk responses (same structure as UserData)
|
|
289
|
+
*/
|
|
290
|
+
message BulkUserData {
|
|
291
|
+
string id = 1;
|
|
292
|
+
string email = 2;
|
|
293
|
+
string phone = 3;
|
|
294
|
+
string user_type = 4;
|
|
295
|
+
string status = 5;
|
|
296
|
+
bool is_profile_complete = 6;
|
|
297
|
+
repeated UserRoleInfo roles = 7; // Populated only if include_roles=true
|
|
298
|
+
repeated string permissions = 8; // Populated only if include_permissions=true
|
|
299
|
+
bool has_all_access = 9;
|
|
300
|
+
bool mfa_enabled = 10;
|
|
301
|
+
bool mfa_verified = 11;
|
|
302
|
+
UserProfile profile = 12;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Individual user result in bulk response
|
|
307
|
+
*/
|
|
308
|
+
message BulkUserInfoItem {
|
|
309
|
+
bool found = 1;
|
|
310
|
+
string error_message = 2; // "USER_NOT_FOUND", "USER_INACTIVE"
|
|
311
|
+
BulkUserData user = 3; // Only populated if found=true
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
message GetBulkUserInfoResponse {
|
|
315
|
+
map<string, BulkUserInfoItem> users = 1; // Key is user_id
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// ============================================================================
|
|
319
|
+
// User Creation Messages
|
|
320
|
+
// ============================================================================
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* User type enum - matches Prisma UserType
|
|
324
|
+
*/
|
|
325
|
+
enum GrpcUserType {
|
|
326
|
+
USER_TYPE_UNSPECIFIED = 0;
|
|
327
|
+
USER_TYPE_ADMIN = 1;
|
|
328
|
+
USER_TYPE_CUSTOMER = 2;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
message CreateUserRequest {
|
|
332
|
+
string first_name = 1; // Required: User's first name
|
|
333
|
+
string last_name = 2; // Required: User's last name
|
|
334
|
+
string email = 3; // Optional: Email (required if phone not provided)
|
|
335
|
+
string phone = 4; // Optional: Phone (required if email not provided)
|
|
336
|
+
GrpcUserType user_type = 5; // Required: Type of user to create
|
|
337
|
+
string department_id = 6; // Optional: Department for org assignment
|
|
338
|
+
string designation_id = 7; // Optional: Designation for org assignment
|
|
339
|
+
repeated string role_ids = 8; // Optional: Role IDs to assign
|
|
340
|
+
bool send_magic_link = 9; // Whether to send magic link email (default: true)
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Created user data returned in response
|
|
345
|
+
*/
|
|
346
|
+
message CreatedUserData {
|
|
347
|
+
string id = 1;
|
|
348
|
+
string email = 2;
|
|
349
|
+
string phone = 3;
|
|
350
|
+
string user_type = 4;
|
|
351
|
+
string status = 5;
|
|
352
|
+
UserProfile profile = 6;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
message CreateUserResponse {
|
|
356
|
+
bool success = 1;
|
|
357
|
+
string error_code = 2; // "EMAIL_EXISTS", "PHONE_EXISTS", "INVALID_ROLE", "INVALID_ORG", "VALIDATION_ERROR", "INTERNAL_ERROR"
|
|
358
|
+
string error_message = 3;
|
|
359
|
+
CreatedUserData user = 4; // Only populated if success=true
|
|
360
|
+
bool magic_link_sent = 5; // Whether magic link was sent
|
|
361
|
+
}
|
|
@@ -91,6 +91,15 @@ export interface GrpcUserRoleInfo {
|
|
|
91
91
|
name: string;
|
|
92
92
|
isSystem: boolean;
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* gRPC User profile data
|
|
96
|
+
*/
|
|
97
|
+
export interface GrpcUserProfile {
|
|
98
|
+
firstName: string;
|
|
99
|
+
lastName: string;
|
|
100
|
+
fullName: string;
|
|
101
|
+
profilePicUrl: string;
|
|
102
|
+
}
|
|
94
103
|
export interface GrpcUserData {
|
|
95
104
|
id: string;
|
|
96
105
|
email: string;
|
|
@@ -101,6 +110,9 @@ export interface GrpcUserData {
|
|
|
101
110
|
roles: GrpcUserRoleInfo[];
|
|
102
111
|
permissions: string[];
|
|
103
112
|
hasAllAccess: boolean;
|
|
113
|
+
mfaEnabled: boolean;
|
|
114
|
+
mfaVerified: boolean;
|
|
115
|
+
profile?: GrpcUserProfile;
|
|
104
116
|
}
|
|
105
117
|
export interface ValidateTokenResponse {
|
|
106
118
|
valid: boolean;
|
|
@@ -133,6 +145,73 @@ export interface GetUserPermissionsResponse {
|
|
|
133
145
|
permissions: string[];
|
|
134
146
|
hasAllAccess: boolean;
|
|
135
147
|
}
|
|
148
|
+
export interface GetBulkUserInfoRequest {
|
|
149
|
+
userIds: string[];
|
|
150
|
+
includeRoles: boolean;
|
|
151
|
+
includePermissions: boolean;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* gRPC Bulk user data (same structure as GrpcUserData)
|
|
155
|
+
*/
|
|
156
|
+
export interface GrpcBulkUserData {
|
|
157
|
+
id: string;
|
|
158
|
+
email: string;
|
|
159
|
+
phone: string;
|
|
160
|
+
userType: string;
|
|
161
|
+
status: string;
|
|
162
|
+
isProfileComplete: boolean;
|
|
163
|
+
roles: GrpcUserRoleInfo[];
|
|
164
|
+
permissions: string[];
|
|
165
|
+
hasAllAccess: boolean;
|
|
166
|
+
mfaEnabled: boolean;
|
|
167
|
+
mfaVerified: boolean;
|
|
168
|
+
profile?: GrpcUserProfile;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Individual user result in bulk response
|
|
172
|
+
*/
|
|
173
|
+
export interface GrpcBulkUserInfoItem {
|
|
174
|
+
found: boolean;
|
|
175
|
+
errorMessage: string;
|
|
176
|
+
user?: GrpcBulkUserData;
|
|
177
|
+
}
|
|
178
|
+
export interface GetBulkUserInfoResponse {
|
|
179
|
+
users: Record<string, GrpcBulkUserInfoItem>;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* gRPC User type enum (matches proto definition)
|
|
183
|
+
*/
|
|
184
|
+
export declare enum GrpcUserType {
|
|
185
|
+
USER_TYPE_UNSPECIFIED = 0,
|
|
186
|
+
USER_TYPE_ADMIN = 1,
|
|
187
|
+
USER_TYPE_CUSTOMER = 2
|
|
188
|
+
}
|
|
189
|
+
export interface CreateUserRequest {
|
|
190
|
+
firstName: string;
|
|
191
|
+
lastName: string;
|
|
192
|
+
email: string;
|
|
193
|
+
phone: string;
|
|
194
|
+
userType: GrpcUserType;
|
|
195
|
+
departmentId: string;
|
|
196
|
+
designationId: string;
|
|
197
|
+
roleIds: string[];
|
|
198
|
+
sendMagicLink: boolean;
|
|
199
|
+
}
|
|
200
|
+
export interface GrpcCreatedUserData {
|
|
201
|
+
id: string;
|
|
202
|
+
email: string;
|
|
203
|
+
phone: string;
|
|
204
|
+
userType: string;
|
|
205
|
+
status: string;
|
|
206
|
+
profile?: GrpcUserProfile;
|
|
207
|
+
}
|
|
208
|
+
export interface CreateUserResponse {
|
|
209
|
+
success: boolean;
|
|
210
|
+
errorCode: string;
|
|
211
|
+
errorMessage: string;
|
|
212
|
+
user?: GrpcCreatedUserData;
|
|
213
|
+
magicLinkSent: boolean;
|
|
214
|
+
}
|
|
136
215
|
/**
|
|
137
216
|
* gRPC Permissions Service client interface
|
|
138
217
|
* This interface is used by NestJS microservices to define the client methods
|
|
@@ -148,5 +227,7 @@ export interface PermissionsGrpcService {
|
|
|
148
227
|
getUserInfo: (request: GetUserInfoRequest) => Observable<GetUserInfoResponse>;
|
|
149
228
|
getUserRoles: (request: GetUserRolesRequest) => Observable<GetUserRolesResponse>;
|
|
150
229
|
getUserPermissions: (request: GetUserPermissionsRequest) => Observable<GetUserPermissionsResponse>;
|
|
230
|
+
getBulkUserInfo: (request: GetBulkUserInfoRequest) => Observable<GetBulkUserInfoResponse>;
|
|
231
|
+
createUser: (request: CreateUserRequest) => Observable<CreateUserResponse>;
|
|
151
232
|
}
|
|
152
233
|
//# sourceMappingURL=grpc.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.types.d.ts","sourceRoot":"","sources":["../../src/types/grpc.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"grpc.types.d.ts","sourceRoot":"","sources":["../../src/types/grpc.types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/grpc.types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GrpcEvaluationSource = void 0;
|
|
3
|
+
exports.GrpcUserType = exports.GrpcEvaluationSource = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* gRPC Evaluation source enum (as number from proto)
|
|
6
6
|
*/
|
|
@@ -12,4 +12,16 @@ var GrpcEvaluationSource;
|
|
|
12
12
|
GrpcEvaluationSource[GrpcEvaluationSource["EVALUATION_SOURCE_BREAK_GLASS"] = 3] = "EVALUATION_SOURCE_BREAK_GLASS";
|
|
13
13
|
GrpcEvaluationSource[GrpcEvaluationSource["EVALUATION_SOURCE_DENIED"] = 4] = "EVALUATION_SOURCE_DENIED";
|
|
14
14
|
})(GrpcEvaluationSource || (exports.GrpcEvaluationSource = GrpcEvaluationSource = {}));
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// User Creation Types
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* gRPC User type enum (matches proto definition)
|
|
20
|
+
*/
|
|
21
|
+
var GrpcUserType;
|
|
22
|
+
(function (GrpcUserType) {
|
|
23
|
+
GrpcUserType[GrpcUserType["USER_TYPE_UNSPECIFIED"] = 0] = "USER_TYPE_UNSPECIFIED";
|
|
24
|
+
GrpcUserType[GrpcUserType["USER_TYPE_ADMIN"] = 1] = "USER_TYPE_ADMIN";
|
|
25
|
+
GrpcUserType[GrpcUserType["USER_TYPE_CUSTOMER"] = 2] = "USER_TYPE_CUSTOMER";
|
|
26
|
+
})(GrpcUserType || (exports.GrpcUserType = GrpcUserType = {}));
|
|
15
27
|
//# sourceMappingURL=grpc.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.types.js","sourceRoot":"","sources":["../../src/types/grpc.types.ts"],"names":[],"mappings":";;;AAkCA;;GAEG;AACH,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,iHAAiC,CAAA;IACjC,mGAA0B,CAAA;IAC1B,mGAA0B,CAAA;IAC1B,iHAAiC,CAAA;IACjC,uGAA4B,CAAA;AAC9B,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B"}
|
|
1
|
+
{"version":3,"file":"grpc.types.js","sourceRoot":"","sources":["../../src/types/grpc.types.ts"],"names":[],"mappings":";;;AAkCA;;GAEG;AACH,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,iHAAiC,CAAA;IACjC,mGAA0B,CAAA;IAC1B,mGAA0B,CAAA;IAC1B,iHAAiC,CAAA;IACjC,uGAA4B,CAAA;AAC9B,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AA0LD,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iFAAyB,CAAA;IACzB,qEAAmB,CAAA;IACnB,2EAAsB,CAAA;AACxB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./evaluation.types"), exports);
|
|
18
18
|
__exportStar(require("./grpc.types"), exports);
|
|
19
|
+
__exportStar(require("./jwt.types"), exports);
|
|
19
20
|
__exportStar(require("./permission.types"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { RoleInfo } from './permission.types';
|
|
2
|
+
/**
|
|
3
|
+
* User profile data returned from gRPC
|
|
4
|
+
*/
|
|
5
|
+
export interface UserProfileData {
|
|
6
|
+
readonly firstName: string;
|
|
7
|
+
readonly lastName: string;
|
|
8
|
+
readonly fullName: string;
|
|
9
|
+
readonly profilePicUrl: string;
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
12
|
* User data returned from JWT validation via gRPC
|
|
4
13
|
* Contains full user information with roles and permissions
|
|
@@ -13,6 +22,7 @@ export interface JwtUserData {
|
|
|
13
22
|
readonly roles: readonly RoleInfo[];
|
|
14
23
|
readonly permissions: readonly string[];
|
|
15
24
|
readonly hasAllAccess: boolean;
|
|
25
|
+
readonly profile?: UserProfileData;
|
|
16
26
|
}
|
|
17
27
|
/**
|
|
18
28
|
* Result of token validation from gRPC
|
|
@@ -48,4 +58,75 @@ export interface GetUserPermissionsResult {
|
|
|
48
58
|
readonly permissions: readonly string[];
|
|
49
59
|
readonly hasAllAccess: boolean;
|
|
50
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* User data for bulk responses (roles/permissions may be empty based on flags)
|
|
63
|
+
*/
|
|
64
|
+
export interface BulkUserData {
|
|
65
|
+
readonly id: string;
|
|
66
|
+
readonly email: string | null;
|
|
67
|
+
readonly phone: string | null;
|
|
68
|
+
readonly userType: string;
|
|
69
|
+
readonly status: string;
|
|
70
|
+
readonly isProfileComplete: boolean;
|
|
71
|
+
readonly roles: readonly RoleInfo[];
|
|
72
|
+
readonly permissions: readonly string[];
|
|
73
|
+
readonly hasAllAccess: boolean;
|
|
74
|
+
readonly profile?: UserProfileData;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Individual user result in bulk response
|
|
78
|
+
*/
|
|
79
|
+
export interface BulkUserInfoItem {
|
|
80
|
+
readonly found: boolean;
|
|
81
|
+
readonly errorMessage?: string;
|
|
82
|
+
readonly user?: BulkUserData;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Result of GetBulkUserInfo from gRPC
|
|
86
|
+
*/
|
|
87
|
+
export interface GetBulkUserInfoResult {
|
|
88
|
+
readonly users: Record<string, BulkUserInfoItem>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* User type enum for creating users (matches Prisma UserType)
|
|
92
|
+
*/
|
|
93
|
+
export declare enum UserType {
|
|
94
|
+
ADMIN = "ADMIN",
|
|
95
|
+
CUSTOMER = "CUSTOMER"
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Options for creating a new user
|
|
99
|
+
*/
|
|
100
|
+
export interface CreateUserOptions {
|
|
101
|
+
readonly firstName: string;
|
|
102
|
+
readonly lastName: string;
|
|
103
|
+
readonly email?: string;
|
|
104
|
+
readonly phone?: string;
|
|
105
|
+
readonly userType: UserType;
|
|
106
|
+
readonly departmentId?: string;
|
|
107
|
+
readonly designationId?: string;
|
|
108
|
+
readonly roleIds?: string[];
|
|
109
|
+
readonly sendMagicLink?: boolean;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Created user data returned from gRPC
|
|
113
|
+
*/
|
|
114
|
+
export interface CreatedUserData {
|
|
115
|
+
readonly id: string;
|
|
116
|
+
readonly email: string | null;
|
|
117
|
+
readonly phone: string | null;
|
|
118
|
+
readonly userType: string;
|
|
119
|
+
readonly status: string;
|
|
120
|
+
readonly profile?: UserProfileData;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Result of CreateUser from gRPC
|
|
124
|
+
*/
|
|
125
|
+
export interface CreateUserResult {
|
|
126
|
+
readonly success: boolean;
|
|
127
|
+
readonly errorCode?: string;
|
|
128
|
+
readonly errorMessage?: string;
|
|
129
|
+
readonly user?: CreatedUserData;
|
|
130
|
+
readonly magicLinkSent: boolean;
|
|
131
|
+
}
|
|
51
132
|
//# sourceMappingURL=jwt.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.types.d.ts","sourceRoot":"","sources":["../../src/types/jwt.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"jwt.types.d.ts","sourceRoot":"","sources":["../../src/types/jwt.types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/jwt.types.js
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserType = void 0;
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// User Creation Types
|
|
6
|
+
// ============================================================================
|
|
7
|
+
/**
|
|
8
|
+
* User type enum for creating users (matches Prisma UserType)
|
|
9
|
+
*/
|
|
10
|
+
var UserType;
|
|
11
|
+
(function (UserType) {
|
|
12
|
+
UserType["ADMIN"] = "ADMIN";
|
|
13
|
+
UserType["CUSTOMER"] = "CUSTOMER";
|
|
14
|
+
})(UserType || (exports.UserType = UserType = {}));
|
|
3
15
|
//# sourceMappingURL=jwt.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.types.js","sourceRoot":"","sources":["../../src/types/jwt.types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"jwt.types.js","sourceRoot":"","sources":["../../src/types/jwt.types.ts"],"names":[],"mappings":";;;AAmGA,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,iCAAqB,CAAA;AACvB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ahksolution/permissions-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "gRPC client SDK for AHK Solution Permissions Microservice - provides NestJS guard, decorators, and client for inter-service permission checks",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -60,6 +60,18 @@ service PermissionsService {
|
|
|
60
60
|
* Get user's permission codes only by userId
|
|
61
61
|
*/
|
|
62
62
|
rpc GetUserPermissions(GetUserPermissionsRequest) returns (GetUserPermissionsResponse);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get bulk user info for multiple users at once
|
|
66
|
+
* Supports flags to conditionally include roles and permissions
|
|
67
|
+
*/
|
|
68
|
+
rpc GetBulkUserInfo(GetBulkUserInfoRequest) returns (GetBulkUserInfoResponse);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Create a new user with all validations (email uniqueness, magic link, etc.)
|
|
72
|
+
* Supports creating users with optional roles and organization assignment
|
|
73
|
+
*/
|
|
74
|
+
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
|
|
63
75
|
}
|
|
64
76
|
|
|
65
77
|
// ============================================================================
|
|
@@ -203,6 +215,18 @@ message UserData {
|
|
|
203
215
|
bool has_all_access = 9;
|
|
204
216
|
bool mfa_enabled = 10;
|
|
205
217
|
bool mfa_verified = 11;
|
|
218
|
+
// Profile fields
|
|
219
|
+
UserProfile profile = 12;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* User profile data
|
|
224
|
+
*/
|
|
225
|
+
message UserProfile {
|
|
226
|
+
string first_name = 1;
|
|
227
|
+
string last_name = 2;
|
|
228
|
+
string full_name = 3;
|
|
229
|
+
string profile_pic_url = 4;
|
|
206
230
|
}
|
|
207
231
|
|
|
208
232
|
/**
|
|
@@ -249,3 +273,89 @@ message GetUserPermissionsResponse {
|
|
|
249
273
|
repeated string permissions = 3;
|
|
250
274
|
bool has_all_access = 4;
|
|
251
275
|
}
|
|
276
|
+
|
|
277
|
+
// ============================================================================
|
|
278
|
+
// Bulk User Data Lookup Messages
|
|
279
|
+
// ============================================================================
|
|
280
|
+
|
|
281
|
+
message GetBulkUserInfoRequest {
|
|
282
|
+
repeated string user_ids = 1; // Array of user IDs to fetch
|
|
283
|
+
bool include_roles = 2; // Flag to include roles data
|
|
284
|
+
bool include_permissions = 3; // Flag to include permissions data
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* User data for bulk responses (same structure as UserData)
|
|
289
|
+
*/
|
|
290
|
+
message BulkUserData {
|
|
291
|
+
string id = 1;
|
|
292
|
+
string email = 2;
|
|
293
|
+
string phone = 3;
|
|
294
|
+
string user_type = 4;
|
|
295
|
+
string status = 5;
|
|
296
|
+
bool is_profile_complete = 6;
|
|
297
|
+
repeated UserRoleInfo roles = 7; // Populated only if include_roles=true
|
|
298
|
+
repeated string permissions = 8; // Populated only if include_permissions=true
|
|
299
|
+
bool has_all_access = 9;
|
|
300
|
+
bool mfa_enabled = 10;
|
|
301
|
+
bool mfa_verified = 11;
|
|
302
|
+
UserProfile profile = 12;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Individual user result in bulk response
|
|
307
|
+
*/
|
|
308
|
+
message BulkUserInfoItem {
|
|
309
|
+
bool found = 1;
|
|
310
|
+
string error_message = 2; // "USER_NOT_FOUND", "USER_INACTIVE"
|
|
311
|
+
BulkUserData user = 3; // Only populated if found=true
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
message GetBulkUserInfoResponse {
|
|
315
|
+
map<string, BulkUserInfoItem> users = 1; // Key is user_id
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// ============================================================================
|
|
319
|
+
// User Creation Messages
|
|
320
|
+
// ============================================================================
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* User type enum - matches Prisma UserType
|
|
324
|
+
*/
|
|
325
|
+
enum GrpcUserType {
|
|
326
|
+
USER_TYPE_UNSPECIFIED = 0;
|
|
327
|
+
USER_TYPE_ADMIN = 1;
|
|
328
|
+
USER_TYPE_CUSTOMER = 2;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
message CreateUserRequest {
|
|
332
|
+
string first_name = 1; // Required: User's first name
|
|
333
|
+
string last_name = 2; // Required: User's last name
|
|
334
|
+
string email = 3; // Optional: Email (required if phone not provided)
|
|
335
|
+
string phone = 4; // Optional: Phone (required if email not provided)
|
|
336
|
+
GrpcUserType user_type = 5; // Required: Type of user to create
|
|
337
|
+
string department_id = 6; // Optional: Department for org assignment
|
|
338
|
+
string designation_id = 7; // Optional: Designation for org assignment
|
|
339
|
+
repeated string role_ids = 8; // Optional: Role IDs to assign
|
|
340
|
+
bool send_magic_link = 9; // Whether to send magic link email (default: true)
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Created user data returned in response
|
|
345
|
+
*/
|
|
346
|
+
message CreatedUserData {
|
|
347
|
+
string id = 1;
|
|
348
|
+
string email = 2;
|
|
349
|
+
string phone = 3;
|
|
350
|
+
string user_type = 4;
|
|
351
|
+
string status = 5;
|
|
352
|
+
UserProfile profile = 6;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
message CreateUserResponse {
|
|
356
|
+
bool success = 1;
|
|
357
|
+
string error_code = 2; // "EMAIL_EXISTS", "PHONE_EXISTS", "INVALID_ROLE", "INVALID_ORG", "VALIDATION_ERROR", "INTERNAL_ERROR"
|
|
358
|
+
string error_message = 3;
|
|
359
|
+
CreatedUserData user = 4; // Only populated if success=true
|
|
360
|
+
bool magic_link_sent = 5; // Whether magic link was sent
|
|
361
|
+
}
|