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; }
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); }
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); } }
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; }
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; }
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; }
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; }
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; } } }
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); } }
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; } }
public IEnumerable<Report> GetReports(IApiUserSource api) { return Report.GetByUser(api, this); }
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); } }
public static Token GetByToken(IApiUserSource api, string token) { return GetByToken(api, new Guid(token)); }