// GetTransaction retrieves an existing Transaction based on its ID func GetTransaction(transactionID bson.ObjectId) api.Response { dbTransaction, err := transactionservice.GetTransaction(transactionID) if err != nil || dbTransaction == nil { return api.NotFound(api.ErrEntityNotFound) } transaction := &models.Transaction{} transaction.Expand(dbTransaction) return api.JSONResponse(http.StatusOK, transaction) }
// GetAllSessions retrieves all the sessions for a certain user account func (a *AuthAPI) GetAllSessions(params *api.Request) api.Response { userID, found, err := filter.GetIDParameter("token", params.Form) if !found { return api.BadRequest(api.ErrIDParamNotSpecified) } if err != nil { return api.InternalServerError(err) } userSessions, err := cookies.GetUserSessions(userID) if err != nil { return api.InternalServerError(err) } return api.JSONResponse(http.StatusOK, userSessions) }
// CreateAppUser is an endpoint used for creating application users func (v *DevAPI) CreateAppUser(params *api.Request) api.Response { model := &AppUserModel{} err := util.DeserializeJSON(params.Body, model) if err != nil { return api.BadRequest(api.ErrEntityFormat) } var activationServiceLink = config.HTTPServerAddress + config.APIInstance + "dev/ActivateAppUser?token=%s" user, err := auth.CreateAppUser(model.Email, model.Password, model.AccountType, activationServiceLink) if err != nil { return api.InternalServerError(err) } return api.JSONResponse(http.StatusOK, user) }
// CreateTransaction creates a new Transaction func CreateTransaction(transaction *models.Transaction) api.Response { if !apifilter.CheckTransactionIntegrity(transaction) { return api.BadRequest(api.ErrEntityIntegrity) } dbTransaction := transaction.Collapse() if dbTransaction == nil { return api.InternalServerError(api.ErrEntityProcessing) } err := transactionservice.CreateTransaction(dbTransaction) if err != nil { return api.InternalServerError(api.ErrEntityProcessing) } transaction.ID = dbTransaction.ID return api.JSONResponse(http.StatusCreated, transaction) }