Beispiel #1
0
        public Either <IError, User> GetUserByToken(string token)
        {
            Message <TokenMessage> message = new Message <TokenMessage>("GetUser")
            {
                Data = new TokenMessage()
                {
                    Token = token
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic.Equals("Response"))
            {
                Message <UserMessage> successMessage = new Message <UserMessage>(response);

                User user = new User
                {
                    FirstName = successMessage.Data.FirstName,
                    LastName  = successMessage.Data.LastName,
                    Key       = successMessage.Data.Token
                };

                return(new Right <IError, User>(user));
            }

            return(new Left <IError, User>(GetError(response)));
        }
Beispiel #2
0
        public Either <IError, CreateLambdaDto> CreateLambda(CreateLambdaDto createlambda)
        {
            var memoryStream = new MemoryStream();

            createlambda.File.OpenReadStream().CopyTo(memoryStream);


            Message <LambdaMessage> message = new Message <LambdaMessage>("CreateLambda")
            {
                Data = new LambdaMessage()
                {
                    Name    = createlambda.Name,
                    Trigger = createlambda.Trigger,
                    Runtime = createlambda.Runtime,
                    OwnerId = "",
                    ImageId = "",
                    Guid    = ""
                },
                Bytes = new NetMQFrame(memoryStream.ToArray())
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic == "Response")
            {
                Message <LambdaMessage> successMessage = new Message <LambdaMessage>(response);
                return(new Right <IError, CreateLambdaDto>(LambdaConverter.LambdaMessageToDto(successMessage.Data)));
            }

            return(new Left <IError, CreateLambdaDto>(GetError(response)));
        }
Beispiel #3
0
        public Either <IError, User> RegisterUser(User user)
        {
            Message <UserMessage> message = new Message <UserMessage>("RegisterUser")
            {
                Data = new UserMessage()
                {
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Email     = user.Email,
                    Password  = user.Password
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic.Equals("Response"))
            {
                Message <UserMessage> successMessage = new Message <UserMessage>(response);

                return(new Right <IError, User>(user));
            }

            return(new Left <IError, User>(GetError(response)));
        }
Beispiel #4
0
        public Either <IError, KeyDto> Authenticate(User user)
        {
            Message <UserMessage> message = new Message <UserMessage>("AuthenticateUser")
            {
                Data = new UserMessage()
                {
                    Email    = user.Email,
                    Password = user.Password
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic.Equals("Response"))
            {
                Message <TokenMessage> successMessage = new Message <TokenMessage>(response);

                KeyDto keyDto = new KeyDto();
                keyDto.Key = successMessage.Data.Token;

                return(new Right <IError, KeyDto>(keyDto));
            }

            return(new Left <IError, KeyDto>(GetError(response)));
        }
Beispiel #5
0
        public Either <IError, List <string> > ListBucketContent(string token, string id)
        {
            Message <BucketMessage> message = new Message <BucketMessage>("bucket/listBucketContent")
            {
                Data = new BucketMessage()
                {
                    Token = token,
                    Path  = "/" + id
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic.Equals("Response"))
            {
                Message <BucketMessage> successMessage = new Message <BucketMessage>(response);

                List <string> bucketContent = new List <string>(successMessage.Data.ReturnItems);

                return(new Right <IError, List <string> >(bucketContent));
            }

            return(new Left <IError, List <string> >(GetError(response)));
        }
Beispiel #6
0
        public Either <IError, DownloadFileDto> DownloadFile(string token, StringDto fileName)
        {
            Message <BucketMessage> message = new Message <BucketMessage>("bucket/getFile")
            {
                Data = new BucketMessage()
                {
                    Token = token,
                    Path  = fileName.Path + "/" + fileName.Value
                }
            };


            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();


            if (responseTopic.Equals("Response"))
            {
                Message <BucketMessage> successMessage = new Message <BucketMessage>(response);
                byte[]          data   = successMessage.Bytes.ToByteArray();
                DownloadFileDto upload = new DownloadFileDto();
                upload.File  = data;
                upload.Value = fileName.Value;
                upload.Type  = GetContentType(fileName.Value);
                return(new Right <IError, DownloadFileDto>(upload));
            }

            return(new Left <IError, DownloadFileDto>(GetError(response)));
        }
Beispiel #7
0
        public Either <IError, UploadFileDto> UploadFile(string token, UploadFileDto uploadFile)
        {
            if (uploadFile.Path.Equals("/"))
            {
                return(new Left <IError, UploadFileDto>(new FormatError("You must be in bucket to upload file.", Either.Enums.ErrorCode.PutFileError)));
            }
            Message <BucketMessage> message;

            using (Stream stream = new MemoryStream())
            {
                uploadFile.File.CopyTo(stream);
                message = new Message <BucketMessage>("bucket/putFile")
                {
                    Data = new BucketMessage()
                    {
                        Token = token,
                        Path  = uploadFile.Path + uploadFile.Value
                    },
                    Bytes = new NetMQFrame(stream.ToByteArray())
                };
            }
            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();


            if (responseTopic.Equals("Response"))
            {
                return(new Right <IError, UploadFileDto>(uploadFile));
            }

            return(new Left <IError, UploadFileDto>(GetError(response)));
        }
Beispiel #8
0
        public Either <IError, StringDto> CreateBucket(string token, StringDto bucketName)
        {
            Message <BucketMessage> message;

            if (bucketName.Path.Equals("/"))
            {
                message = new Message <BucketMessage>("bucket/createBucket")
                {
                    Data = new BucketMessage()
                    {
                        Token = token,
                        Path  = bucketName.Path + bucketName.Value
                    }
                };
            }
            else
            {
                message = new Message <BucketMessage>("bucket/createFolder")
                {
                    Data = new BucketMessage()
                    {
                        Token = token,
                        Path  = bucketName.Path + "/" + bucketName.Value
                    }
                };
            }

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();


            if (responseTopic.Equals("Response"))
            {
                Message <BucketMessage> successMessage = new Message <BucketMessage>(response);
                bucketName.Value = successMessage.Data.ReturnItems[0];
                return(new Right <IError, StringDto>(bucketName));
            }

            return(new Left <IError, StringDto>(GetError(response)));
        }
Beispiel #9
0
        public Either <IError, StringDto> DeleteBucket(string token, StringDto bucketName)
        {
            Message <BucketMessage> message = new Message <BucketMessage>("bucket/deleteBucket")
            {
                Data = new BucketMessage()
                {
                    Token = token,
                    Path  = bucketName.Path + "/" + bucketName.Value
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic.Equals("Response"))
            {
                return(new Right <IError, StringDto>(bucketName));
            }

            return(new Left <IError, StringDto>(GetError(response)));
        }
Beispiel #10
0
        public Either <IError, string> GetLambda(string lambdaId, string token)
        {
            Message <GetLambdaMessage> message = new Message <GetLambdaMessage>("GetLambda")
            {
                Data = new GetLambdaMessage()
                {
                    Token    = token,
                    LambdaId = lambdaId
                }
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic == "Response")
            {
                Message <GetLambdaMessage> successMessage = new Message <GetLambdaMessage>(response);
                return(successMessage.Data.Result);
            }

            return(new Left <IError, string>(GetError(response)));
        }