fase(9): auth module with casl rbac and session management
This commit is contained in:
24
dist/modules/auth/application/queries/GetUserQuery.js
vendored
Normal file
24
dist/modules/auth/application/queries/GetUserQuery.js
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.GetUserQuery = void 0;
|
||||
const Result_1 = require("../../../../shared/domain/Result");
|
||||
class GetUserQuery {
|
||||
constructor(userRepository) {
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
async execute(request) {
|
||||
const user = await this.userRepository.findById(request.userId);
|
||||
if (!user) {
|
||||
return (0, Result_1.Err)('User not found');
|
||||
}
|
||||
return (0, Result_1.Ok)({
|
||||
id: user.id.toString(),
|
||||
email: user.email.value,
|
||||
name: user.name,
|
||||
role: user.role.value,
|
||||
orgId: user.orgId,
|
||||
createdAt: user.createdAt,
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.GetUserQuery = GetUserQuery;
|
||||
33
dist/modules/auth/application/queries/ListOrgMembersQuery.js
vendored
Normal file
33
dist/modules/auth/application/queries/ListOrgMembersQuery.js
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ListOrgMembersQuery = void 0;
|
||||
const Result_1 = require("../../../../shared/domain/Result");
|
||||
class ListOrgMembersQuery {
|
||||
constructor(orgRepository, userRepository) {
|
||||
this.orgRepository = orgRepository;
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
async execute(request) {
|
||||
const org = await this.orgRepository.findById(request.orgId);
|
||||
if (!org) {
|
||||
return (0, Result_1.Err)('Organization not found');
|
||||
}
|
||||
const members = await this.orgRepository.listMembers(request.orgId);
|
||||
const dtos = [];
|
||||
for (const member of members) {
|
||||
const user = await this.userRepository.findById(member.userId);
|
||||
if (user) {
|
||||
dtos.push({
|
||||
id: member.id,
|
||||
userId: member.userId,
|
||||
email: user.email.value,
|
||||
name: user.name,
|
||||
role: member.role,
|
||||
joinedAt: member.joinedAt,
|
||||
});
|
||||
}
|
||||
}
|
||||
return (0, Result_1.Ok)({ members: dtos, total: dtos.length });
|
||||
}
|
||||
}
|
||||
exports.ListOrgMembersQuery = ListOrgMembersQuery;
|
||||
Reference in New Issue
Block a user