public async Task <IActionResult> CreateAmazonAccount(int id) { var username = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub"); var service = new InstituteRepositoryService(connString); var institute = (await service.GetInstituteById(id)).Name; var bucketSevice = new AmazonS3Service(); var bucketName = GetName(institute); await bucketSevice.CreateBucketToS3(bucketName); var iamService = new AmazonIAMService(); var iamUserName = GetName(institute); var accesKeyInfo = await iamService.CreateIAMUser("/", iamUserName); var amazonAccountModel = new InstituteAmazonAccount() { AccessKey = accesKeyInfo.AccessKey, Actor = username, BucketName = bucketName, IamUsername = iamUserName, InstituteId = id, SecretKey = accesKeyInfo.SecurityKey }; await service.CreateInstituteAmazonAccount(amazonAccountModel); var response = new GenericResponse <string>() { IsSuccess = true, Message = "Cloud account created successfully.", ResponseCode = 200, Result = "Success" }; return(Ok(response)); }
public async Task <IActionResult> DeleteIIM(string username) { var service = new AmazonIAMService(); await service.DeleteUser(username); var response = new GenericResponse <string>() { IsSuccess = true, Message = "User deleted successfully.", ResponseCode = 200, Result = "Success" }; return(Ok(response)); }
public async Task <IActionResult> CreateIAM(IAMModel model) { var s3service = new AmazonS3Service(); await s3service.CreateBucketToS3(model.BucketName); var iamservice = new AmazonIAMService(); await iamservice.CreateIAMUser(@"/" + model.BucketName + @"/", model.UserName); var response = new GenericResponse <string>() { IsSuccess = true, Message = "User created in IIM successfully.", ResponseCode = 200, Result = "Success" }; return(Ok(response)); }
public async Task <IActionResult> ListIIM() { //var username = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub"); //string value = Request.Headers["Authorization"]; //value = value.Remove(0, 7); //var jwtHandler = new JwtSecurityTokenHandler(); //var token = jwtHandler.ReadJwtToken(value); //var usernameClaim = token.Claims.Where(a=>a.Type=="sub").FirstOrDefault(); var service = new AmazonIAMService(); var res = await service.ListUsers(); var response = new GenericResponse <List <string> >() { IsSuccess = true, Message = "User created in IAM successfully.", ResponseCode = 200, Result = res }; return(Ok(response)); }
public async Task <IActionResult> Create(PublisherModel model) { var username = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub"); var service = new PublisherRepositoryService(connString); var pubId = await service.CreatePublisher(model, username); PublisherAmazonAccount amazonAccountModel; if (model.CloudAccountRequired) { var bucketSevice = new AmazonS3Service(); var bucketName = GetName(model.PublisherName); await bucketSevice.CreateBucketToS3(bucketName); var iamService = new AmazonIAMService(); var iamUserName = GetName(model.PublisherName); var accesKeyInfo = await iamService.CreateIAMUser("/", iamUserName); amazonAccountModel = new PublisherAmazonAccount() { AccessKey = accesKeyInfo.AccessKey, Actor = username, BucketName = bucketName, IamUsername = iamUserName, PublisherId = pubId, SecretKey = accesKeyInfo.SecurityKey }; await service.CreatePublisherAmazonAccount(amazonAccountModel); } var response = new GenericResponse <int>() { IsSuccess = true, Message = "Publisher created successfully.", ResponseCode = 200, Result = pubId }; return(Ok(response)); }
public async Task <IActionResult> CreateAmazonAccount(int id) { var actor = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub"); var service = new UserRepositoryService(connString); var instituteAmazonAccInfo = await service.GetInstituteAmazonAccountDetail(id); var amazons3Service = new AmazonS3Service(); var accname = instituteAmazonAccInfo.UserName.ToLower(); await amazons3Service.CreateFolder(instituteAmazonAccInfo.BucketName, accname, instituteAmazonAccInfo.AccessKey, instituteAmazonAccInfo.SecretKey); var amazoniamService = new AmazonIAMService(); var iamacc = accname + Guid.NewGuid().ToString().ToLower(); var path = "/" + instituteAmazonAccInfo.BucketName + "/" + instituteAmazonAccInfo.UserName.ToLower() + "/"; var amazonaccount = await amazoniamService.CreateIAMUser(path, iamacc); var model = new UserAmazonAccount() { AccessKey = amazonaccount.AccessKey, Actor = actor, BucketName = instituteAmazonAccInfo.BucketName, BucketPath = "/" + instituteAmazonAccInfo.UserName.ToLower(), IamUsername = iamacc, SecretKey = amazonaccount.SecurityKey, UserId = instituteAmazonAccInfo.UserId }; await service.CreateUserAmazonAccount(model); var response = new GenericResponse <string>() { IsSuccess = true, Message = "Amazon account created successfully.", ResponseCode = 200, Result = "Success" }; return(Ok(response)); }