public async Task <IActionResult> GivePermission(long company, long user, [FromBody] CreatePermissionReq req) { var cmd = new GivePermissionCmd(company, HttpContext.UserId().Value, req, user); var permission = await permissionRepository.Create(cmd); return(Ok(new PermissionResponse(permission))); }
public async Task <PermissionEntity> Create(GivePermissionCmd cmd) { var evtEntity = PermissionGivenEvt.MakeEventEntity(cmd); var insertions = await eventRepository.Create(evtEntity); if (insertions == 0) { return(null); } return(await db.FirstAsync(p => p.CreatorEventId == evtEntity.Id)); }
// [RequiresAbsoluteRole(Role.Super, Role.Admin)] public async Task <IActionResult> CreateChildren(long companyId, [FromBody] CreateCompanyReq req) { req.ParentId = companyId; var userId = HttpContext.UserId().Value; var cmd = new CreateCompanyCmd(req, userId); var company = await companyRepo.Create(cmd); var cmd2 = new GivePermissionCmd( company.Id, userId, new CreatePermissionReq { RoleId = 601 }, userId ); var permission = await permissionRepo.Create(cmd2); return(Created($"/api/companies/${company.Id}", new CompanyResult(company))); }