Exemplo n.º 1
0
        public void SetApi(IApiUserSource api)
        {
            if (api == null)
                throw new ArgumentNullException("api");
            if (api.ApiUser == null)
                throw new InvalidOperationException("'api.ApiUser' is null.");

            this.ApiKey = api.ApiUser.ApiKey;
        }
Exemplo n.º 2
0
        public static IEnumerable<Report> GetAll(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);

                return db.GetCollection<Report>().Find(query);
            }
        }
        public static void AddApiConstraint(this QueryDocument doc, IApiUserSource source)
        {
            if (source == null)
                throw new ArgumentNullException("source");
            if (source.ApiUser == null)
                throw new ArgumentNullException("source.ApiUser");

            // set...
            doc.Add(ApiUser.ApiKeyKey, source.ApiUser.ApiKey);
        }
Exemplo n.º 4
0
        public static Token GetByToken(IApiUserSource api, Guid token)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(TheTokenKey, token);

                return db.GetCollection<Token>().FindOne(query);
            }
        }
Exemplo n.º 5
0
        public void SetApi(IApiUserSource api)
        {
            if (api == null)
            {
                throw new ArgumentNullException("api");
            }
            if (api.ApiUser == null)
            {
                throw new InvalidOperationException("'api.ApiUser' is null.");
            }

            this.ApiKey = api.ApiUser.ApiKey;
        }
Exemplo n.º 6
0
        public static User CreateUser(IApiUserSource api, string username, string email, string password)
        {
            User user = new User();
            user.SetApi(api);
            user.Username = username;
            user.Email = email;
            user.SetPassword(password);

            // dump...
            using (MongoConnection db = FooRuntime.GetDatabase())
                db.GetCollection<User>().Insert(user);

            // return...
            return user;
        }
Exemplo n.º 7
0
        public static Token CreateToken(IApiUserSource api, User user)
        {
            Token item = new Token();
            item.SetApi(api);
            item.TheToken = Guid.NewGuid();
            item.UserId = user._id;
            item.UpdateExpiration(false);

            // save...
            using (MongoConnection db = FooRuntime.GetDatabase())
                db.GetCollection<Token>().Insert(item);

            // return...
            return item;
        }
Exemplo n.º 8
0
        public static Report CreateReport(IApiUserSource api, User owner, string title, string description, decimal latitude, decimal longitude)
        {
            Report report = new Report();
            report.SetApi(api);
            report.OwnerUserId = owner._id;
            report.Title = title;
            report.Description = description;
            report.Latitude = latitude;
            report.Longitude = longitude;

            // dump...
            using (MongoConnection db = FooRuntime.GetDatabase())
                db.GetCollection<Report>().Insert(report);

            // return...
            return report;
        }
Exemplo n.º 9
0
        public static User GetById(IApiUserSource api, ObjectId userId, bool throwIfNotFound)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(IdKey, userId);

                User user = db.GetCollection<User>().FindOne(query);
                if (user != null)
                    return user;
                else
                {
                    if (throwIfNotFound)
                        throw new InvalidOperationException(string.Format("A user with ID '{0}' was not found.", userId));
                    else
                        return null;
                }
            }
        }
Exemplo n.º 10
0
        public static User GetByUsername(IApiUserSource api, string username)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add(UsernameKey, username);

                return db.GetCollection<User>().FindOne(query);
            }
        }
Exemplo n.º 11
0
        public bool HasReports(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add("ownerUserId", this._id);

                Report report = db.GetCollection<Report>().FindOne(query);
                return report != null;
            }
        }
Exemplo n.º 12
0
 public IEnumerable<Report> GetReports(IApiUserSource api)
 {
     return Report.GetByUser(api, this);
 }
Exemplo n.º 13
0
        public void DeleteReport(IApiUserSource api)
        {
            using (MongoConnection db = FooRuntime.GetDatabase())
            {
                QueryDocument query = new QueryDocument();
                query.AddApiConstraint(api);
                query.Add("id", this._id);

                db.GetCollection<Report>().Remove(query);
            }
        }
Exemplo n.º 14
0
 public static Token GetByToken(IApiUserSource api, string token)
 {
     return GetByToken(api, new Guid(token));
 }