@explorins/pers-shared 2.1.54 → 2.1.57
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 +0 -6
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/auth.dto.d.ts +18 -0
- package/dist/cjs/shared-lib/dto/auth/auth.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/auth.dto.js +51 -6
- package/dist/cjs/shared-lib/dto/auth/auth.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.d.ts +41 -0
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.js +137 -0
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.d.ts +0 -1
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.js +0 -7
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts +0 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.js +0 -8
- package/dist/cjs/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/business/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/index.js +1 -0
- package/dist/cjs/shared-lib/dto/business/index.js.map +1 -1
- package/dist/cjs/shared-lib/enum/index.d.ts +1 -0
- package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/index.js +1 -0
- package/dist/cjs/shared-lib/enum/index.js.map +1 -1
- package/dist/cjs/shared-lib/enum/membership-role.enum.d.ts +42 -0
- package/dist/cjs/shared-lib/enum/membership-role.enum.d.ts.map +1 -0
- package/dist/cjs/shared-lib/enum/membership-role.enum.js +56 -0
- package/dist/cjs/shared-lib/enum/membership-role.enum.js.map +1 -0
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +16 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +16 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +12 -0
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.js +22 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/error-codes.d.ts +3 -0
- package/dist/cjs/shared-lib/errors/error-codes.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/error-codes.js +4 -0
- package/dist/cjs/shared-lib/errors/error-codes.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/auth-request-context.interface.d.ts +28 -0
- package/dist/cjs/shared-lib/interfaces/auth-request-context.interface.d.ts.map +1 -0
- package/dist/cjs/shared-lib/interfaces/auth-request-context.interface.js +3 -0
- package/dist/cjs/shared-lib/interfaces/auth-request-context.interface.js.map +1 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts +1 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/index.js +1 -0
- package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts +2 -0
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts +8 -1
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +1 -1
- package/dist/cjs/shared-patterns/errors/error-factory.js +25 -0
- package/dist/cjs/shared-patterns/errors/error-factory.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth/auth.dto.d.ts +18 -0
- package/dist/esm/shared-lib/dto/auth/auth.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/auth/auth.dto.js +46 -4
- package/dist/esm/shared-lib/dto/auth/auth.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-membership.dto.d.ts +41 -0
- package/dist/esm/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/business/business-membership.dto.js +115 -0
- package/dist/esm/shared-lib/dto/business/business-membership.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.d.ts +0 -1
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.js +0 -6
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts +0 -1
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.js +0 -7
- package/dist/esm/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/business/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/index.js +1 -0
- package/dist/esm/shared-lib/dto/business/index.js.map +1 -1
- package/dist/esm/shared-lib/enum/index.d.ts +1 -0
- package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/index.js +1 -0
- package/dist/esm/shared-lib/enum/index.js.map +1 -1
- package/dist/esm/shared-lib/enum/membership-role.enum.d.ts +42 -0
- package/dist/esm/shared-lib/enum/membership-role.enum.d.ts.map +1 -0
- package/dist/esm/shared-lib/enum/membership-role.enum.js +52 -0
- package/dist/esm/shared-lib/enum/membership-role.enum.js.map +1 -0
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +16 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js +15 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +12 -0
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.js +18 -0
- package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/error-codes.d.ts +3 -0
- package/dist/esm/shared-lib/errors/error-codes.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/error-codes.js +4 -0
- package/dist/esm/shared-lib/errors/error-codes.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/auth-request-context.interface.d.ts +28 -0
- package/dist/esm/shared-lib/interfaces/auth-request-context.interface.d.ts.map +1 -0
- package/dist/esm/shared-lib/interfaces/auth-request-context.interface.js +2 -0
- package/dist/esm/shared-lib/interfaces/auth-request-context.interface.js.map +1 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts +1 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/index.js +1 -0
- package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts +2 -0
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
- package/dist/esm/shared-patterns/errors/error-factory.d.ts +8 -1
- package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +1 -1
- package/dist/esm/shared-patterns/errors/error-factory.js +26 -1
- package/dist/esm/shared-patterns/errors/error-factory.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,12 +32,6 @@ Pure data contracts for frontends, third-party integrations, and API consumers.
|
|
|
32
32
|
}
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
## Architecture
|
|
36
|
-
|
|
37
|
-
**Public Contracts** (this library) vs **Private Patterns** (pers-shared-patterns):
|
|
38
|
-
- **Public**: Pure DTOs, interfaces, types safe for external consumption
|
|
39
|
-
- **Private**: Business logic, database schemas, internal patterns
|
|
40
|
-
|
|
41
35
|
## Usage
|
|
42
36
|
|
|
43
37
|
```bash
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
// Core domain contracts
|
|
20
20
|
__exportStar(require("./shared-lib/enum"), exports);
|
|
21
|
-
__exportStar(require("./shared-lib/types"), exports);
|
|
21
|
+
__exportStar(require("./shared-lib/types"), exports);
|
|
22
22
|
// export * from './shared-lib/errors'; // Export actual error classes and functions
|
|
23
23
|
// Shared patterns (architecture components)
|
|
24
24
|
// export * from './shared-patterns';
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAElC,qDAAmC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAElC,qDAAmC;AAKnC,oFAAoF;AAEpF,4CAA4C;AAC5C,qCAAqC;AAErC,0FAA0F;AAC1F,iFAAiF"}
|
|
@@ -2,9 +2,27 @@ import { UserDTO } from "../user.dto";
|
|
|
2
2
|
import { BusinessDTO } from "../business";
|
|
3
3
|
import { AccountOwnerType } from "../../enum";
|
|
4
4
|
import { AdminDTO } from "../admin";
|
|
5
|
+
import { AuthContext } from "../../interfaces/auth-request-context.interface";
|
|
6
|
+
/**
|
|
7
|
+
* Auth Context DTO
|
|
8
|
+
*
|
|
9
|
+
* Nested object for explicit business/tenant selection.
|
|
10
|
+
* Used when users have multiple memberships.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AuthContextDTO implements AuthContext {
|
|
13
|
+
businessId?: string;
|
|
14
|
+
tenantId?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Session Authentication Request DTO
|
|
18
|
+
*
|
|
19
|
+
* Use the nested `context` object for explicit context selection
|
|
20
|
+
* when users have multiple memberships.
|
|
21
|
+
*/
|
|
5
22
|
export declare class SessionAuthRequestDTO {
|
|
6
23
|
authToken: string;
|
|
7
24
|
authType?: AccountOwnerType;
|
|
25
|
+
context?: AuthContextDTO;
|
|
8
26
|
rawLoginData?: Record<string, any>;
|
|
9
27
|
}
|
|
10
28
|
export declare class RefreshTokenRequestDTO {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/auth.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/auth.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAG,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,WAAW;IAQ9C,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAQ9B,SAAS,EAAE,MAAM,CAAM;IAMvB,QAAQ,CAAC,EAAE,gBAAgB,CAAyB;IASpD,OAAO,CAAC,EAAE,cAAc,CAAC;IAOzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAGD,qBAAa,sBAAsB;IAO/B,YAAY,EAAE,MAAM,CAAM;CAC7B;AAGD,qBAAa,sBAAuB,SAAQ,sBAAsB;IAQ9D,WAAW,EAAE,MAAM,CAAM;CAExB;AAEL,qBAAa,6BAA8B,SAAQ,sBAAsB;IAKrE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAMjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAMf,QAAQ,CAAC,EAAE,WAAW,CAAC;IAQvB,QAAQ,EAAE,gBAAgB,CAAyB;CACtD"}
|
|
@@ -9,17 +9,55 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SessionAuthContextResponseDTO = exports.SessionAuthResponseDTO = exports.RefreshTokenRequestDTO = exports.SessionAuthRequestDTO = void 0;
|
|
12
|
+
exports.SessionAuthContextResponseDTO = exports.SessionAuthResponseDTO = exports.RefreshTokenRequestDTO = exports.SessionAuthRequestDTO = exports.AuthContextDTO = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
16
|
const user_dto_1 = require("../user.dto");
|
|
16
17
|
const business_1 = require("../business");
|
|
17
18
|
const enum_1 = require("../../enum");
|
|
18
19
|
const admin_1 = require("../admin");
|
|
20
|
+
/**
|
|
21
|
+
* Auth Context DTO
|
|
22
|
+
*
|
|
23
|
+
* Nested object for explicit business/tenant selection.
|
|
24
|
+
* Used when users have multiple memberships.
|
|
25
|
+
*/
|
|
26
|
+
class AuthContextDTO {
|
|
27
|
+
businessId;
|
|
28
|
+
tenantId;
|
|
29
|
+
}
|
|
30
|
+
exports.AuthContextDTO = AuthContextDTO;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
33
|
+
description: 'Explicit business ID for multi-business users. Required when user has multiple business memberships.',
|
|
34
|
+
example: '550e8400-e29b-41d4-a716-446655440000',
|
|
35
|
+
type: String
|
|
36
|
+
}),
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
(0, class_validator_1.IsString)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], AuthContextDTO.prototype, "businessId", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
43
|
+
description: 'Explicit tenant ID for multi-tenant users. Required when user has multiple tenant memberships.',
|
|
44
|
+
example: '550e8400-e29b-41d4-a716-446655440001',
|
|
45
|
+
type: String
|
|
46
|
+
}),
|
|
47
|
+
(0, class_validator_1.IsOptional)(),
|
|
48
|
+
(0, class_validator_1.IsString)(),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], AuthContextDTO.prototype, "tenantId", void 0);
|
|
51
|
+
/**
|
|
52
|
+
* Session Authentication Request DTO
|
|
53
|
+
*
|
|
54
|
+
* Use the nested `context` object for explicit context selection
|
|
55
|
+
* when users have multiple memberships.
|
|
56
|
+
*/
|
|
19
57
|
class SessionAuthRequestDTO {
|
|
20
58
|
authToken = '';
|
|
21
|
-
// @IsEnum(AccountOwnerType)
|
|
22
59
|
authType = enum_1.AccountOwnerType.USER;
|
|
60
|
+
context;
|
|
23
61
|
rawLoginData;
|
|
24
62
|
}
|
|
25
63
|
exports.SessionAuthRequestDTO = SessionAuthRequestDTO;
|
|
@@ -37,13 +75,20 @@ __decorate([
|
|
|
37
75
|
__decorate([
|
|
38
76
|
(0, swagger_1.ApiPropertyOptional)({
|
|
39
77
|
description: 'Authentication context type - explicitly declares intent for admin vs user auth',
|
|
40
|
-
// type: AccountOwnerType,
|
|
41
78
|
enum: enum_1.AccountOwnerType,
|
|
42
|
-
})
|
|
43
|
-
// @IsEnum(AccountOwnerType)
|
|
44
|
-
,
|
|
79
|
+
}),
|
|
45
80
|
__metadata("design:type", String)
|
|
46
81
|
], SessionAuthRequestDTO.prototype, "authType", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
84
|
+
description: 'Optional context for explicit business/tenant selection. Required when user has multiple memberships of that type.',
|
|
85
|
+
type: () => AuthContextDTO,
|
|
86
|
+
}),
|
|
87
|
+
(0, class_validator_1.IsOptional)(),
|
|
88
|
+
(0, class_validator_1.ValidateNested)(),
|
|
89
|
+
(0, class_transformer_1.Type)(() => AuthContextDTO),
|
|
90
|
+
__metadata("design:type", AuthContextDTO)
|
|
91
|
+
], SessionAuthRequestDTO.prototype, "context", void 0);
|
|
47
92
|
__decorate([
|
|
48
93
|
(0, swagger_1.ApiPropertyOptional)({
|
|
49
94
|
description: 'if Tenant settings allowJWTForUnauthenticatedUsers is true, this field contains data to create user and setup unauthenticated user session instead of token verification. Useful for sandbox or trial modes. For now it is only used to create unauthenticated users.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/auth.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/auth.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MembershipRole } from "../../enum/membership-role.enum";
|
|
2
|
+
/**
|
|
3
|
+
* Business Membership DTO
|
|
4
|
+
*
|
|
5
|
+
* Represents a user's membership/access to a business.
|
|
6
|
+
* Used in authentication flows and authorization checks.
|
|
7
|
+
*
|
|
8
|
+
* Note: Permissions are derived from role, not stored separately.
|
|
9
|
+
* Uses IDs for both user and business - consumer fetches full objects when needed.
|
|
10
|
+
*/
|
|
11
|
+
export declare class BusinessMembershipDTO {
|
|
12
|
+
id: string;
|
|
13
|
+
userId: string;
|
|
14
|
+
businessId: string;
|
|
15
|
+
role: MembershipRole;
|
|
16
|
+
createdAt?: Date;
|
|
17
|
+
updatedAt?: Date;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Request DTO for adding a member to a business
|
|
21
|
+
* Used with POST /businesses/:businessId/members
|
|
22
|
+
*/
|
|
23
|
+
export declare class AddBusinessMemberRequestDTO {
|
|
24
|
+
userId: string;
|
|
25
|
+
role: MembershipRole;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Request DTO for creating a business membership (legacy/admin)
|
|
29
|
+
*/
|
|
30
|
+
export declare class CreateBusinessMembershipRequestDTO {
|
|
31
|
+
userId: string;
|
|
32
|
+
businessId: string;
|
|
33
|
+
role: MembershipRole;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Request DTO for updating a business membership
|
|
37
|
+
*/
|
|
38
|
+
export declare class UpdateBusinessMembershipRequestDTO {
|
|
39
|
+
role?: MembershipRole;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=business-membership.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business-membership.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-membership.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAI9B,EAAE,EAAE,MAAM,CAAM;IAKhB,MAAM,EAAE,MAAM,CAAM;IAKpB,UAAU,EAAE,MAAM,CAAM;IAOxB,IAAI,EAAE,cAAc,CAAyB;IAK7C,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,2BAA2B;IAIpC,MAAM,EAAG,MAAM,CAAC;IAOhB,IAAI,EAAE,cAAc,CAAyB;CAChD;AAED;;GAEG;AACH,qBAAa,kCAAkC;IAI3C,MAAM,EAAG,MAAM,CAAC;IAKhB,UAAU,EAAG,MAAM,CAAC;IAOpB,IAAI,EAAE,cAAc,CAAyB;CAChD;AAED;;GAEG;AACH,qBAAa,kCAAkC;IAK3C,IAAI,CAAC,EAAE,cAAc,CAAC;CACzB"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateBusinessMembershipRequestDTO = exports.CreateBusinessMembershipRequestDTO = exports.AddBusinessMemberRequestDTO = exports.BusinessMembershipDTO = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const membership_role_enum_1 = require("../../enum/membership-role.enum");
|
|
15
|
+
/**
|
|
16
|
+
* Business Membership DTO
|
|
17
|
+
*
|
|
18
|
+
* Represents a user's membership/access to a business.
|
|
19
|
+
* Used in authentication flows and authorization checks.
|
|
20
|
+
*
|
|
21
|
+
* Note: Permissions are derived from role, not stored separately.
|
|
22
|
+
* Uses IDs for both user and business - consumer fetches full objects when needed.
|
|
23
|
+
*/
|
|
24
|
+
class BusinessMembershipDTO {
|
|
25
|
+
id = '';
|
|
26
|
+
userId = '';
|
|
27
|
+
businessId = '';
|
|
28
|
+
role = membership_role_enum_1.MembershipRole.VIEWER;
|
|
29
|
+
createdAt;
|
|
30
|
+
updatedAt;
|
|
31
|
+
}
|
|
32
|
+
exports.BusinessMembershipDTO = BusinessMembershipDTO;
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, swagger_1.ApiProperty)({
|
|
35
|
+
description: 'Unique identifier for this membership'
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], BusinessMembershipDTO.prototype, "id", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, swagger_1.ApiProperty)({
|
|
41
|
+
description: 'The user ID who has access to this business'
|
|
42
|
+
}),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], BusinessMembershipDTO.prototype, "userId", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, swagger_1.ApiProperty)({
|
|
47
|
+
description: 'The business ID this membership belongs to'
|
|
48
|
+
}),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], BusinessMembershipDTO.prototype, "businessId", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, swagger_1.ApiProperty)({
|
|
53
|
+
description: 'The role the user has in this business. Permissions are derived from role.',
|
|
54
|
+
enum: membership_role_enum_1.MembershipRole,
|
|
55
|
+
example: membership_role_enum_1.MembershipRole.OWNER
|
|
56
|
+
}),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], BusinessMembershipDTO.prototype, "role", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
61
|
+
description: 'When the membership was created'
|
|
62
|
+
}),
|
|
63
|
+
__metadata("design:type", Date)
|
|
64
|
+
], BusinessMembershipDTO.prototype, "createdAt", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
67
|
+
description: 'When the membership was last updated'
|
|
68
|
+
}),
|
|
69
|
+
__metadata("design:type", Date)
|
|
70
|
+
], BusinessMembershipDTO.prototype, "updatedAt", void 0);
|
|
71
|
+
/**
|
|
72
|
+
* Request DTO for adding a member to a business
|
|
73
|
+
* Used with POST /businesses/:businessId/members
|
|
74
|
+
*/
|
|
75
|
+
class AddBusinessMemberRequestDTO {
|
|
76
|
+
userId;
|
|
77
|
+
role = membership_role_enum_1.MembershipRole.VIEWER;
|
|
78
|
+
}
|
|
79
|
+
exports.AddBusinessMemberRequestDTO = AddBusinessMemberRequestDTO;
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, swagger_1.ApiProperty)({
|
|
82
|
+
description: 'The user ID to add as a member'
|
|
83
|
+
}),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], AddBusinessMemberRequestDTO.prototype, "userId", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, swagger_1.ApiProperty)({
|
|
88
|
+
description: 'The role to assign (permissions derived from role)',
|
|
89
|
+
enum: membership_role_enum_1.MembershipRole,
|
|
90
|
+
default: membership_role_enum_1.MembershipRole.VIEWER
|
|
91
|
+
}),
|
|
92
|
+
__metadata("design:type", String)
|
|
93
|
+
], AddBusinessMemberRequestDTO.prototype, "role", void 0);
|
|
94
|
+
/**
|
|
95
|
+
* Request DTO for creating a business membership (legacy/admin)
|
|
96
|
+
*/
|
|
97
|
+
class CreateBusinessMembershipRequestDTO {
|
|
98
|
+
userId;
|
|
99
|
+
businessId;
|
|
100
|
+
role = membership_role_enum_1.MembershipRole.VIEWER;
|
|
101
|
+
}
|
|
102
|
+
exports.CreateBusinessMembershipRequestDTO = CreateBusinessMembershipRequestDTO;
|
|
103
|
+
__decorate([
|
|
104
|
+
(0, swagger_1.ApiProperty)({
|
|
105
|
+
description: 'The user ID to grant access to'
|
|
106
|
+
}),
|
|
107
|
+
__metadata("design:type", String)
|
|
108
|
+
], CreateBusinessMembershipRequestDTO.prototype, "userId", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, swagger_1.ApiProperty)({
|
|
111
|
+
description: 'The business ID to grant access to'
|
|
112
|
+
}),
|
|
113
|
+
__metadata("design:type", String)
|
|
114
|
+
], CreateBusinessMembershipRequestDTO.prototype, "businessId", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, swagger_1.ApiProperty)({
|
|
117
|
+
description: 'The role to assign (permissions derived from role)',
|
|
118
|
+
enum: membership_role_enum_1.MembershipRole,
|
|
119
|
+
default: membership_role_enum_1.MembershipRole.VIEWER
|
|
120
|
+
}),
|
|
121
|
+
__metadata("design:type", String)
|
|
122
|
+
], CreateBusinessMembershipRequestDTO.prototype, "role", void 0);
|
|
123
|
+
/**
|
|
124
|
+
* Request DTO for updating a business membership
|
|
125
|
+
*/
|
|
126
|
+
class UpdateBusinessMembershipRequestDTO {
|
|
127
|
+
role;
|
|
128
|
+
}
|
|
129
|
+
exports.UpdateBusinessMembershipRequestDTO = UpdateBusinessMembershipRequestDTO;
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
132
|
+
description: 'The new role to assign (permissions derived from role)',
|
|
133
|
+
enum: membership_role_enum_1.MembershipRole
|
|
134
|
+
}),
|
|
135
|
+
__metadata("design:type", String)
|
|
136
|
+
], UpdateBusinessMembershipRequestDTO.prototype, "role", void 0);
|
|
137
|
+
//# sourceMappingURL=business-membership.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business-membership.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-membership.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,0EAAiE;AAGjE;;;;;;;;GAQG;AACH,MAAa,qBAAqB;IAI9B,EAAE,GAAW,EAAE,CAAC;IAKhB,MAAM,GAAW,EAAE,CAAC;IAKpB,UAAU,GAAW,EAAE,CAAC;IAOxB,IAAI,GAAmB,qCAAc,CAAC,MAAM,CAAC;IAK7C,SAAS,CAAQ;IAKjB,SAAS,CAAQ;CACpB;AAhCD,sDAgCC;AA5BG;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,uCAAuC;KACvD,CAAC;;iDACc;AAKhB;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,6CAA6C;KAC7D,CAAC;;qDACkB;AAKpB;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,4CAA4C;KAC5D,CAAC;;yDACsB;AAOxB;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,qCAAc;QACpB,OAAO,EAAE,qCAAc,CAAC,KAAK;KAChC,CAAC;;mDAC2C;AAK7C;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iCAAiC;KACjD,CAAC;8BACU,IAAI;wDAAC;AAKjB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,sCAAsC;KACtD,CAAC;8BACU,IAAI;wDAAC;AAGrB;;;GAGG;AACH,MAAa,2BAA2B;IAIpC,MAAM,CAAU;IAOhB,IAAI,GAAmB,qCAAc,CAAC,MAAM,CAAC;CAChD;AAZD,kEAYC;AARG;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,gCAAgC;KAChD,CAAC;;2DACc;AAOhB;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oDAAoD;QACjE,IAAI,EAAE,qCAAc;QACpB,OAAO,EAAE,qCAAc,CAAC,MAAM;KACjC,CAAC;;yDAC2C;AAGjD;;GAEG;AACH,MAAa,kCAAkC;IAI3C,MAAM,CAAU;IAKhB,UAAU,CAAU;IAOpB,IAAI,GAAmB,qCAAc,CAAC,MAAM,CAAC;CAChD;AAjBD,gFAiBC;AAbG;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,gCAAgC;KAChD,CAAC;;kEACc;AAKhB;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oCAAoC;KACpD,CAAC;;sEACkB;AAOpB;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oDAAoD;QACjE,IAAI,EAAE,qCAAc;QACpB,OAAO,EAAE,qCAAc,CAAC,MAAM;KACjC,CAAC;;gEAC2C;AAGjD;;GAEG;AACH,MAAa,kCAAkC;IAK3C,IAAI,CAAkB;CACzB;AAND,gFAMC;AADG;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wDAAwD;QACrE,IAAI,EAAE,qCAAc;KACvB,CAAC;;gEACoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business-update.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-update.request.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,wBAAwB;IAKjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,
|
|
1
|
+
{"version":3,"file":"business-update.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-update.request.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,wBAAwB;IAKjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,aAAa,CAAC,EAAE,MAAM,CAAC;IAKvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -13,7 +13,6 @@ exports.BusinessUpdateRequestDTO = void 0;
|
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
class BusinessUpdateRequestDTO {
|
|
15
15
|
email;
|
|
16
|
-
primaryOwnerId;
|
|
17
16
|
businessLegalName;
|
|
18
17
|
displayName;
|
|
19
18
|
description;
|
|
@@ -34,12 +33,6 @@ __decorate([
|
|
|
34
33
|
}),
|
|
35
34
|
__metadata("design:type", String)
|
|
36
35
|
], BusinessUpdateRequestDTO.prototype, "email", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
(0, swagger_1.ApiPropertyOptional)({
|
|
39
|
-
description: 'The user ID of the primary owner who can authenticate as this business. Setting this enables business login for the specified user.'
|
|
40
|
-
}),
|
|
41
|
-
__metadata("design:type", String)
|
|
42
|
-
], BusinessUpdateRequestDTO.prototype, "primaryOwnerId", void 0);
|
|
43
36
|
__decorate([
|
|
44
37
|
(0, swagger_1.ApiPropertyOptional)({
|
|
45
38
|
description: 'The legal name of the business, this is the name that will be used for legal purposes.'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business-update.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-update.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AAEtD,MAAa,wBAAwB;IAKjC,KAAK,CAAU;IAKf,
|
|
1
|
+
{"version":3,"file":"business-update.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business-update.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsD;AAEtD,MAAa,wBAAwB;IAKjC,KAAK,CAAU;IAKf,iBAAiB,CAAU;IAK3B,WAAW,CAAU;IAKrB,WAAW,CAAU;IAKrB,gBAAgB,CAAU;IAK1B,UAAU,CAAU;IAKpB,QAAQ,CAAU;IAKlB,aAAa,CAAU;IAKvB,IAAI,CAAU;IAKd,UAAU,CAAU;IAKpB,cAAc,CAAU;IAKxB,eAAe,CAAU;IAKzB,cAAc,CAAU;CAC3B;AAlED,4DAkEC;AA7DG;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,sFAAsF;KACtG,CAAC;;uDACa;AAKf;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,wFAAwF;KACxG,CAAC;;mEACyB;AAK3B;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,sFAAsF;KACtG,CAAC;;6DACmB;AAKrB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,4FAA4F;KAC5G,CAAC;;6DACmB;AAKrB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,kGAAkG;KAClH,CAAC;;kEACwB;AAK1B;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oFAAoF;KACpG,CAAC;;4DACkB;AAKpB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,gFAAgF;KAChG,CAAC;;0DACgB;AAKlB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,oFAAoF;KACpG,CAAC;;+DACqB;AAKvB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,8EAA8E;KAC9F,CAAC;;sDACY;AAKd;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,4FAA4F;KAC5G,CAAC;;4DACkB;AAKpB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,sFAAsF;KACtG,CAAC;;gEACsB;AAKxB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uFAAuF;KACvG,CAAC;;iEACuB;AAKzB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,gGAAgG;KAChH,CAAC;;gEACsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,WAAW;IAIpB,EAAE,EAAE,MAAM,CAAM;IAShB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMrC,
|
|
1
|
+
{"version":3,"file":"business.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,WAAW;IAIpB,EAAE,EAAE,MAAM,CAAM;IAShB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMlC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMlC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMpC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQtC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAQ;IAK5C,QAAQ,EAAE,OAAO,CAAS;IAK1B,YAAY,EAAE,OAAO,CAAS;IAK9B,cAAc,EAAE,OAAO,CAAS;IAKhC,cAAc,EAAE,OAAO,CAAS;IAKhC,kBAAkB,EAAE,OAAO,CAAS;CACvC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAI9C,aAAa,EAAE,MAAM,CAAM;CAC9B;AAGD,qBAAa,wBAAyB,SAAQ,WAAW;IAMrD,aAAa,EAAE,eAAe,EAAE,CAAM;CACzC"}
|
|
@@ -19,7 +19,6 @@ class BusinessDTO {
|
|
|
19
19
|
/* @ApiProperty()
|
|
20
20
|
userName: string = ''; */
|
|
21
21
|
email = null;
|
|
22
|
-
primaryOwnerId = null;
|
|
23
22
|
accountAddress = null;
|
|
24
23
|
businessLegalName = null;
|
|
25
24
|
displayName = null;
|
|
@@ -53,13 +52,6 @@ __decorate([
|
|
|
53
52
|
}),
|
|
54
53
|
__metadata("design:type", Object)
|
|
55
54
|
], BusinessDTO.prototype, "email", void 0);
|
|
56
|
-
__decorate([
|
|
57
|
-
(0, swagger_1.ApiProperty)({
|
|
58
|
-
description: 'The primary owner user ID who can authenticate as this business.',
|
|
59
|
-
nullable: true
|
|
60
|
-
}),
|
|
61
|
-
__metadata("design:type", Object)
|
|
62
|
-
], BusinessDTO.prototype, "primaryOwnerId", void 0);
|
|
63
55
|
__decorate([
|
|
64
56
|
(0, swagger_1.ApiProperty)({
|
|
65
57
|
description: 'The address of the business, this is the address that will be shown to the public.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,kEAA6D;AAC7D,2DAAsD;AAEtD,MAAa,WAAW;IAIpB,EAAE,GAAW,EAAE,CAAC;IAEhB;6BACyB;IAMzB,KAAK,GAAkB,IAAI,CAAC;IAM5B,cAAc,GAAkB,IAAI,CAAC;IAMrC,
|
|
1
|
+
{"version":3,"file":"business.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/business.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './business.dto';
|
|
2
2
|
export * from './business-type.dto';
|
|
3
|
+
export * from './business-membership.dto';
|
|
3
4
|
export * from './business-create.request.dto';
|
|
4
5
|
export * from './business-update.request.dto';
|
|
5
6
|
export * from './businessSetAllAsTokenMinter.request.dto';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
// Business DTOs
|
|
18
18
|
__exportStar(require("./business.dto"), exports);
|
|
19
19
|
__exportStar(require("./business-type.dto"), exports);
|
|
20
|
+
__exportStar(require("./business-membership.dto"), exports);
|
|
20
21
|
__exportStar(require("./business-create.request.dto"), exports);
|
|
21
22
|
__exportStar(require("./business-update.request.dto"), exports);
|
|
22
23
|
__exportStar(require("./businessSetAllAsTokenMinter.request.dto"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,gBAAgB;AAChB,iDAA+B;AAC/B,sDAAoC;AACpC,gEAA8C;AAC9C,gEAA8C;AAC9C,4EAA0D;AAC1D,qEAAmD;AACnD,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/business/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,gBAAgB;AAChB,iDAA+B;AAC/B,sDAAoC;AACpC,4DAA0C;AAC1C,gEAA8C;AAC9C,gEAA8C;AAC9C,4EAA0D;AAC1D,qEAAmD;AACnD,mEAAiD"}
|
|
@@ -4,6 +4,7 @@ export * from './transaction-status.enum';
|
|
|
4
4
|
export * from './transaction-trigger-process-type.enum';
|
|
5
5
|
export * from './api-key-type.enum';
|
|
6
6
|
export * from './admin-type.enum';
|
|
7
|
+
export * from './membership-role.enum';
|
|
7
8
|
export * from './web3-contract-type.enum';
|
|
8
9
|
export * from './owner-type.enum';
|
|
9
10
|
export * from './storageType.enum';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC"}
|
|
@@ -21,6 +21,7 @@ __exportStar(require("./transaction-status.enum"), exports);
|
|
|
21
21
|
__exportStar(require("./transaction-trigger-process-type.enum"), exports);
|
|
22
22
|
__exportStar(require("./api-key-type.enum"), exports);
|
|
23
23
|
__exportStar(require("./admin-type.enum"), exports);
|
|
24
|
+
__exportStar(require("./membership-role.enum"), exports);
|
|
24
25
|
__exportStar(require("./web3-contract-type.enum"), exports);
|
|
25
26
|
__exportStar(require("./owner-type.enum"), exports);
|
|
26
27
|
__exportStar(require("./storageType.enum"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,0EAAwD;AACxD,sDAAoC;AACpC,oDAAkC;AAClC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,gEAA8C;AAC9C,gDAA8B;AAC9B,gDAA8B;AAC9B,oDAAkC;AAElC,6CAA2B;AAC3B,+CAA6B;AAE7B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,0EAAwD;AACxD,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC;AACvC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,gEAA8C;AAC9C,gDAA8B;AAC9B,gDAA8B;AAC9B,oDAAkC;AAElC,6CAA2B;AAC3B,+CAA6B;AAE7B,6CAA2B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Membership Roles
|
|
3
|
+
*
|
|
4
|
+
* Generic roles that work across different membership contexts:
|
|
5
|
+
* - BusinessMembership (User → Business)
|
|
6
|
+
* - TenantMembership (Admin → Tenant) - future
|
|
7
|
+
* - CampaignMembership, etc. - future
|
|
8
|
+
*
|
|
9
|
+
* Follows traditional RBAC pattern: Owner > Admin > Editor > Viewer
|
|
10
|
+
*/
|
|
11
|
+
export declare enum MembershipRole {
|
|
12
|
+
/**
|
|
13
|
+
* Full control - can delete entity, transfer ownership, manage everything
|
|
14
|
+
*/
|
|
15
|
+
OWNER = "OWNER",
|
|
16
|
+
/**
|
|
17
|
+
* Administrative access - manage members & settings, but cannot delete entity
|
|
18
|
+
*/
|
|
19
|
+
ADMIN = "ADMIN",
|
|
20
|
+
/**
|
|
21
|
+
* Editor access - create/modify content, cannot manage members or settings
|
|
22
|
+
*/
|
|
23
|
+
EDITOR = "EDITOR",
|
|
24
|
+
/**
|
|
25
|
+
* Read-only access - view data only
|
|
26
|
+
*/
|
|
27
|
+
VIEWER = "VIEWER"
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Role hierarchy for permission checks
|
|
31
|
+
* Higher index = more permissions
|
|
32
|
+
*/
|
|
33
|
+
export declare const MEMBERSHIP_ROLE_HIERARCHY: MembershipRole[];
|
|
34
|
+
/**
|
|
35
|
+
* Check if a role has at least the required level
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* hasMinimumRole(MembershipRole.ADMIN, MembershipRole.EDITOR) // true
|
|
39
|
+
* hasMinimumRole(MembershipRole.VIEWER, MembershipRole.ADMIN) // false
|
|
40
|
+
*/
|
|
41
|
+
export declare function hasMinimumRole(userRole: MembershipRole, requiredRole: MembershipRole): boolean;
|
|
42
|
+
//# sourceMappingURL=membership-role.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership-role.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/membership-role.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,oBAAY,cAAc;IACtB;;OAEG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,MAAM,WAAW;IAEjB;;OAEG;IACH,MAAM,WAAW;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAAc,EAKrD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,cAAc,GAC7B,OAAO,CAIT"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MEMBERSHIP_ROLE_HIERARCHY = exports.MembershipRole = void 0;
|
|
4
|
+
exports.hasMinimumRole = hasMinimumRole;
|
|
5
|
+
/**
|
|
6
|
+
* Universal Membership Roles
|
|
7
|
+
*
|
|
8
|
+
* Generic roles that work across different membership contexts:
|
|
9
|
+
* - BusinessMembership (User → Business)
|
|
10
|
+
* - TenantMembership (Admin → Tenant) - future
|
|
11
|
+
* - CampaignMembership, etc. - future
|
|
12
|
+
*
|
|
13
|
+
* Follows traditional RBAC pattern: Owner > Admin > Editor > Viewer
|
|
14
|
+
*/
|
|
15
|
+
var MembershipRole;
|
|
16
|
+
(function (MembershipRole) {
|
|
17
|
+
/**
|
|
18
|
+
* Full control - can delete entity, transfer ownership, manage everything
|
|
19
|
+
*/
|
|
20
|
+
MembershipRole["OWNER"] = "OWNER";
|
|
21
|
+
/**
|
|
22
|
+
* Administrative access - manage members & settings, but cannot delete entity
|
|
23
|
+
*/
|
|
24
|
+
MembershipRole["ADMIN"] = "ADMIN";
|
|
25
|
+
/**
|
|
26
|
+
* Editor access - create/modify content, cannot manage members or settings
|
|
27
|
+
*/
|
|
28
|
+
MembershipRole["EDITOR"] = "EDITOR";
|
|
29
|
+
/**
|
|
30
|
+
* Read-only access - view data only
|
|
31
|
+
*/
|
|
32
|
+
MembershipRole["VIEWER"] = "VIEWER";
|
|
33
|
+
})(MembershipRole || (exports.MembershipRole = MembershipRole = {}));
|
|
34
|
+
/**
|
|
35
|
+
* Role hierarchy for permission checks
|
|
36
|
+
* Higher index = more permissions
|
|
37
|
+
*/
|
|
38
|
+
exports.MEMBERSHIP_ROLE_HIERARCHY = [
|
|
39
|
+
MembershipRole.VIEWER,
|
|
40
|
+
MembershipRole.EDITOR,
|
|
41
|
+
MembershipRole.ADMIN,
|
|
42
|
+
MembershipRole.OWNER,
|
|
43
|
+
];
|
|
44
|
+
/**
|
|
45
|
+
* Check if a role has at least the required level
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* hasMinimumRole(MembershipRole.ADMIN, MembershipRole.EDITOR) // true
|
|
49
|
+
* hasMinimumRole(MembershipRole.VIEWER, MembershipRole.ADMIN) // false
|
|
50
|
+
*/
|
|
51
|
+
function hasMinimumRole(userRole, requiredRole) {
|
|
52
|
+
const userLevel = exports.MEMBERSHIP_ROLE_HIERARCHY.indexOf(userRole);
|
|
53
|
+
const requiredLevel = exports.MEMBERSHIP_ROLE_HIERARCHY.indexOf(requiredRole);
|
|
54
|
+
return userLevel >= requiredLevel;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=membership-role.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership-role.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/membership-role.enum.ts"],"names":[],"mappings":";;;AAkDA,wCAOC;AAzDD;;;;;;;;;GASG;AACH,IAAY,cAoBX;AApBD,WAAY,cAAc;IACtB;;OAEG;IACH,iCAAe,CAAA;IAEf;;OAEG;IACH,iCAAe,CAAA;IAEf;;OAEG;IACH,mCAAiB,CAAA;IAEjB;;OAEG;IACH,mCAAiB,CAAA;AACrB,CAAC,EApBW,cAAc,8BAAd,cAAc,QAoBzB;AAED;;;GAGG;AACU,QAAA,yBAAyB,GAAqB;IACvD,cAAc,CAAC,MAAM;IACrB,cAAc,CAAC,MAAM;IACrB,cAAc,CAAC,KAAK;IACpB,cAAc,CAAC,KAAK;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,cAAc,CAC1B,QAAwB,EACxB,YAA4B;IAE5B,MAAM,SAAS,GAAG,iCAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,iCAAyB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtE,OAAO,SAAS,IAAI,aAAa,CAAC;AACtC,CAAC"}
|