예제 #1
0
        public async Task <User> AddUser(User newUser)
        {
            try
            {
                Console.WriteLine(newUser.ToJson());

                var collection = _database.GetCollection <User>("users");

                if (newUser.locker == null)
                {
                    var locker = new LockerDirectory()
                    {
                        name    = $"{newUser.name}-locker",
                        content = new List <LockerObject>()
                    };
                    newUser.locker = locker;
                }

                await collection.InsertOneAsync(newUser);

                var filter = Builders <User> .Filter.Eq("email", newUser.email);

                var result = await collection.FindAsync <User>(filter);

                return(result.First());
            }
            catch (Exception ex)
            {
                Console.WriteLine($"AddUser: {ex.ToString()}");
                return(null);
            }
        }
        private async Task SendFileCatalogUpdate(LockerDirectory fileCatalog)
        {
            var msg = new FileCatalogUpdateMessage {
                files = fileCatalog.content
            };

            await SendMessage(msg);
        }