private void CheckAuth() { // TODO auth - meanwhile I use this if (UtilApi.GetHeaderValue(Request, "expensetracker-api-token") == null || UtilApi.GetHeaderValue(Request, "expensetracker-api-token") != ConfigurationManager.AppSettings.Get("expensetracker-api-token")) { throw new HttpResponseException(HttpStatusCode.Unauthorized); } }
// GET api/PaymentTypes public async Task <IEnumerable <PaymentType> > GetAsync() { CheckAuth(); MongoHelper <PaymentType> paymentTypeHelper = new MongoHelper <PaymentType>(); List <PaymentType> paymentTypeList = await paymentTypeHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName")) .ToListAsync(); return(paymentTypeList); }
// GET api/Expenses public async Task <IEnumerable <Expense> > GetAsync() { CheckAuth(); MongoHelper <Expense> expenseHelper = new MongoHelper <Expense>(); List <Expense> expenseList = await expenseHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName")) .ToListAsync(); // test // List<Expense> expenseList = new List<Expense>() { new Expense() { Date = DateTime.Now, UserName = "******", Description = "web test" } }; return(expenseList); }
// GET api/Expenses public async Task <IEnumerable <string> > GetAsync() { CheckAuth(); MongoHelper <Expense> expenseHelper = new MongoHelper <Expense>(); IList <string> returnList = new List <string>(); await expenseHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName")) .ForEachAsync(expenseDocument => { string docJson = Newtonsoft.Json.JsonConvert.SerializeObject(expenseDocument); returnList.Add(docJson); } ); return(returnList.ToArray()); }
public async Task <HttpResponseMessage> UpdateUserFcmToken() { CheckAuth(); try { string userName = UtilApi.GetHeaderValue(Request, "CurrentUserName"); HttpContent requestContent = Request.Content; string fcmTokenReceived = requestContent.ReadAsStringAsync().Result; var filter = Builders <User> .Filter.Eq(u => u.UserName, userName); var update = Builders <User> .Update.Set("FirebaseCloudMessagingToken", fcmTokenReceived); MongoHelper <User> userHelper = new MongoHelper <User>(); UpdateResult updateResult = await userHelper.Collection.UpdateOneAsync(filter, update); if (updateResult.IsAcknowledged) { return(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }); } else { return(new HttpResponseMessage() { StatusCode = HttpStatusCode.NotFound }); } } catch (Exception e) { Trace.TraceError("UpdateUserFcmToken error : " + e.Message); return(new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(e.Message) }); } }