Commit Graph

343 Commits (cf1dcbf4ae8af6efab352be78aa238d0d7fff653)

Author SHA1 Message Date
Chris Veilleux b37a566b51 moved shared package out of dev 2019-03-13 21:21:52 -03:00
Matheus Lima 0508824702 Starting to implement the stripe integration 2019-03-13 21:21:52 -03:00
Matheus Lima 7fc2a54ab0 Created PATCH request to update membership 2019-03-13 18:19:13 -03:00
Matheus Lima f02d1f151e Implemented stripe integration 2019-03-09 00:32:09 -03:00
Chris Veilleux 10b7ea675a added endpoint to get membership types and the supporting repository logic 2019-03-08 17:27:45 -06:00
Chris Veilleux ee879ff6b5 moved shared package out of dev 2019-03-08 16:56:53 -06:00
Matheus Lima 5ebad16060 Starting to implement the stripe integration 2019-03-08 19:37:45 -03:00
Matheus Lima 4f401285bd minor fix to make the core more readable 2019-03-08 17:48:29 -03:00
Matheus Lima 8484d8289b - Changing the validation in the endpoints used to update the device fields and to activate the device and to upload the skill settings
- Checking the authentication token in the before_request function. This is a tricky to make the api compatible with the mycroft core is expecting today. Today tartarus returns 401 when it calls and endpoint with a non existent path (like /device/{uuid} without pass the uuid). That is the value core expect to check if it needs to perform a device pairing. We should change that in future versions
- Changed device endpoint to send the user uuid together with the device
2019-03-08 17:09:53 -03:00
Chris Veilleux 38494522de
Merge pull request #72 from MycroftAI/put-v1-public-api
Adding the /v1 prefix to the endpoints
2019-03-07 20:14:35 -06:00
Matheus Lima 164d2280f9 Adding the /v1 prefix to the endpoints 2019-03-07 23:08:19 -03:00
Chris Veilleux 3053c5f15a added uwsgi to project requirements 2019-03-07 18:13:57 -06:00
Chris Veilleux 789a07b020 added uwsgi.ini file 2019-03-07 17:16:26 -06:00
Matheus Lima e4bd9930d7 Created endpoint to patch device fields 2019-03-06 22:39:34 -03:00
Matheus Lima 4dc2b47c63 Applying the new authentication logic in the endpoints of the public API 2019-03-06 22:10:59 -03:00
Matheus Lima e8fc54d657 Moved logic related to create a device login session to a python function, allowing it being used by the creating and refreshing token endpoint and by the behavioral tests 2019-03-06 21:31:49 -03:00
Matheus Lima c44284fbef Implemented authentication mechanism for the public API 2019-03-06 18:15:45 -03:00
Matheus Lima a4ecbae369 Moving the cache instance to the PublicEndpoint class 2019-03-06 17:11:16 -03:00
Matheus Lima fe8466a309 Created test to validate that when we update the skills settings, the device API is able to fetch the skill settings with the new values 2019-03-06 16:42:57 -03:00
Matheus Lima c1f0e70980 Created test to validate that when we update the skills settings, the device API is able to fetch the skill settings with the new values 2019-03-06 15:35:35 -03:00
Matheus Lima b85809f316 Implemented skill uploading 2019-03-06 15:35:35 -03:00
Matheus Lima fabcba8c54 Created endpoint to communicate with the wolfram alpha spoken api 2019-03-06 15:33:39 -03:00
Matheus Lima e8e30f9d6e Created endpoint to refresh device oauth token 2019-03-06 15:22:45 -03:00
Chris Veilleux b7cbc5a733 fixed a bug where the request data was not un-serialized before processing 2019-03-05 22:39:06 -06:00
Chris Veilleux c806bcc689 added configs to uwsgi.ini files 2019-03-05 21:34:25 -06:00
Chris Veilleux 84965186dc added geography endpoint and the repository code to support it 2019-03-05 16:04:38 -06:00
Chris Veilleux 1bfa7800c5 added voice endpoint and the repository code to support it 2019-03-05 15:43:32 -06:00
Chris Veilleux a039bcfb0e new endpoint to manage wake words and the repository changes to support it 2019-03-05 15:23:24 -06:00
Chris Veilleux a16bdae969 new account api endpoint to retreive account preferences, along with the necessary repository changes 2019-03-05 15:22:09 -06:00
Chris Veilleux ac7f1cb593 added device endpoint to account api and altered repository to serve it data 2019-03-05 15:20:31 -06:00
Chris Veilleux 59872f4d24 socket change 2019-03-04 00:43:56 -06:00
Chris Veilleux f1bd6ce1e2 added a uwsgi.ini file for the account api 2019-03-03 22:20:14 -06:00
Matheus Lima a5dcdf0c94 Applying model changes 2019-03-03 22:46:00 -03:00
Matheus Lima a90833f178 Fixing tests after rebase 2019-03-03 22:46:00 -03:00
Matheus Lima 737167b854 Fixed skill endpoints applying the changes related to the skill settings model. 2019-03-03 22:46:00 -03:00
Chris Veilleux c422ed26f5 changed environment setup to deal with new naming 2019-03-03 19:11:27 -06:00
Chris Veilleux 9595eef5c2 changed behavior tests to deal with naming changes 2019-03-03 19:09:16 -06:00
Chris Veilleux 2f4206a2ab removed hash column again because it was determined to be used in a device ownership feature that will be deprecated. 2019-03-03 18:20:47 -06:00
Chris Veilleux 581bf1812d renamed a few items in the database schema 2019-03-01 20:33:35 -06:00
Chris Veilleux 0d6cb7d3f1 resolve merge conflicts 2019-02-28 22:01:21 -06:00
Chris Veilleux 7cd7967091 added skill setting update logic. also added logic to return a number of devices per account 2019-02-28 21:48:35 -06:00
Chris Veilleux c3608a10bf
Merge pull request #56 from MycroftAI/populate-profile-page
Populate profile page
2019-02-28 20:44:22 -06:00
Chris Veilleux 61e884b0f6 implemented a sql trick to group by json that made the code a lot simpler 2019-02-26 14:09:31 -06:00
Chris Veilleux 638b74206d added some logic on how to determine the skill name displayed in the ui 2019-02-26 09:37:56 -06:00
Chris Veilleux d19a1fcdf6 new endpoint for account skills 2019-02-25 23:27:54 -06:00
Matheus Lima eccb83ed44 - Refactoring to use a AccountRepository to get an account using the device id
- Created tests for the metrics service
2019-02-25 19:03:08 -03:00
Matheus Lima a6533fbe32 Removed blocking operation from the db transaction 2019-02-25 16:42:11 -03:00
Matheus Lima edc43ed39a Created endpoint to communicate with metrics service 2019-02-25 16:42:11 -03:00
Matheus Lima e722e519bf Fixed the endpoint used to get the subscription type of a device and created tests for this endpoint 2019-02-25 16:28:14 -03:00
Matheus Lima 88aaccd073 Adding test for the device setting endpoint 2019-02-25 16:28:14 -03:00
Matheus Lima 588525ea47 Created test to the endpoint used to fetch a device 2019-02-25 16:28:14 -03:00
Matheus Lima ae5c148b92 Removing unused import 2019-02-22 14:23:43 -03:00
Matheus Lima b68dabe0b9 Clean up and adding tests for the device email endpoint 2019-02-22 14:23:43 -03:00
Matheus Lima 577c470d90 - Using schematics to validate POST data
- Fixed test
- Fixed error handler to present a better error message
2019-02-22 14:23:43 -03:00
Matheus Lima af45f633d1 Created endpoint to send email to the account associated to a device 2019-02-22 14:23:43 -03:00
Chris Veilleux 57d46dcd09 Merge remote-tracking branch 'remotes/origin/tartarus-overhaul' into account-api 2019-02-20 17:32:52 -06:00
Chris Veilleux a2a4b4e834 added checks to auth token refresh test to address bug. 2019-02-20 17:31:49 -06:00
Matheus Lima 1ad957142a Applying requested changes 2019-02-20 20:25:21 -03:00
Matheus Lima af83a190db Applying requested changes 2019-02-20 20:25:21 -03:00
Matheus Lima 23e056ca96 Created test to validate device pairing workflow 2019-02-20 20:25:21 -03:00
Matheus Lima 640f08ffbe Refactoring 2019-02-20 20:25:21 -03:00
Matheus Lima 750921fb7d Created endpoint to activate a device that is in a pairing process 2019-02-20 20:25:21 -03:00
Matheus Lima 5b6776c92e - Created endpoint to add a device to an account using a pairing code
- Renamed selene_cache module to cache
2019-02-20 20:25:21 -03:00
Matheus Lima 64e513a7df Created endpoint to get the device pairing code 2019-02-20 20:25:21 -03:00
Chris Veilleux 24faf0fbbd fixed a bug with new account logic when a user opts out of membership 2019-02-20 14:45:06 -06:00
Chris Veilleux afcbbc05a5 changed display name to username 2019-02-19 17:16:19 -06:00
Chris Veilleux 772a908237 removed flask-restful 2019-02-19 14:44:29 -06:00
Chris Veilleux 2b996a99ad convert from flask-restful to flask 2019-02-19 14:41:36 -06:00
Chris Veilleux c4919b155b Merge remote-tracking branch 'remotes/origin/tartarus-overhaul' into account-api 2019-02-19 14:01:34 -06:00
Chris Veilleux 0b555261b5 new tests for authentication token behaviors 2019-02-19 13:35:03 -06:00
Chris Veilleux 406f2a43a7 new file with common step code 2019-02-19 13:34:36 -06:00
Chris Veilleux b98f667f30 refactored to build access and refresh tokens independently for re-usability in other tests. 2019-02-19 13:31:58 -06:00
Chris Veilleux 97cefc9ce1 minor refactor 2019-02-19 13:30:50 -06:00
Chris Veilleux 20e9f760b9 changed test to expect new value from UI 2019-02-19 10:58:01 -06:00
Matheus Lima dea0e6737f Changing code to use relative imports 2019-02-19 10:06:30 -03:00
Matheus Lima c02f308392 Created behave test for the google stt endpoint 2019-02-19 10:06:30 -03:00
Matheus Lima d6bab8fb8f Removed unused import 2019-02-19 10:06:30 -03:00
Matheus Lima 6c25c2f85d Migrating the project from flask-restful to flask 2019-02-19 10:06:30 -03:00
Matheus Lima ed2e7eada6 Refactoring 2019-02-19 10:06:30 -03:00
Matheus Lima 73ad03c7b6 Created endpoint to communicate with the Google STT API 2019-02-19 10:06:30 -03:00
Chris Veilleux 3c624ea1e0 new version of shared package 2019-02-18 14:53:53 -06:00
Chris Veilleux 4f5512ab63 changed to use new class signature 2019-02-18 14:53:34 -06:00
Chris Veilleux ee5731d86e applied code review corrections 2019-02-18 11:12:06 -06:00
Chris Veilleux b45908da72 removed flask-restful 2019-02-15 21:47:10 -06:00
Chris Veilleux fda4f7a788 added test for a missing attribute in the new account request 2019-02-15 21:45:08 -06:00
Chris Veilleux 16b2cffc21 converted from flask-restful to flask 2019-02-15 21:44:19 -06:00
Chris Veilleux b762dc7f79 added schematics library 2019-02-15 01:02:03 -06:00
Chris Veilleux 3b083bed72 removed unused import 2019-02-15 01:01:30 -06:00
Chris Veilleux eeb8213a46 behave tests for add account feature 2019-02-15 01:00:56 -06:00
Chris Veilleux d8a6987888 change to reflect new data structure 2019-02-15 01:00:31 -06:00
Chris Veilleux ec943dad50 changed to use IDs in repository objects 2019-02-15 00:12:31 -06:00
Chris Veilleux 4abb12b60c applied agreement repository to testing setup 2019-02-12 11:19:10 -06:00
Chris Veilleux 58202b001f added tests for agreement endpoint 2019-02-12 10:44:43 -06:00
Chris Veilleux 584e91c547 added agreement endpoint and logging config 2019-02-12 10:43:20 -06:00
Chris Veilleux 0d54672b10
Merge pull request #43 from MycroftAI/account-api
added account profile endpoint to account API
2019-02-08 16:28:53 -06:00
Matheus Lima 6f6cd0aac6 Using relative imports 2019-02-08 16:13:32 -03:00
Matheus Lima 7a41eaabe7 Created endpoint to communicate with the Open Weather Map API 2019-02-08 13:10:07 -03:00
Chris Veilleux 44cf4e9e6f added tests of the account endpoint returning subscription and agreement data 2019-02-07 22:41:12 -06:00
Chris Veilleux a80d71df02 account api initial commit with an account endpoint 2019-02-07 20:04:08 -06:00
Chris Veilleux 02a3db7c0f moved token generation test code to api library for re-use 2019-02-07 20:02:43 -06:00
Chris Veilleux bfed3ab8f3
new location for response formatter 2019-02-07 19:55:20 -06:00
Matheus Lima 793caa4142 Created endpoint to communicate with the Wolfram Alpha API 2019-02-07 22:00:14 -03:00
Matheus Lima 492d298a1e Using relative imports to define package level APIs 2019-02-07 17:48:39 -03:00
Matheus Lima edaba3c812 Fixes related to previous refactoring 2019-02-07 17:34:47 -03:00
Matheus Lima e38274e92a Fixes related to previous refactoring 2019-02-07 17:12:21 -03:00
Chris Veilleux 0b28b18b39 moved all data access layer code into a new selene.data package 2019-02-07 13:14:40 -06:00
Chris Veilleux ae9d0dc3a7 fixed merge conflicts 2019-02-07 12:49:20 -06:00
Chris Veilleux 5fa2d6f707 removed commented-out code 2019-02-07 12:15:24 -06:00
Chris Veilleux 3ef7059e31 added docstrings 2019-02-07 12:14:54 -06:00
Chris Veilleux c487bcc7f9 removed a config that was used for tartarus 2019-02-07 12:14:33 -06:00
Matheus Lima 022e2780f9 - Adding comments to the code
- Fixing small issue with the get_setting_by_device_id query
2019-02-07 15:13:56 -03:00
Chris Veilleux 8dccd5e360 removed some unused packages 2019-02-07 11:54:51 -06:00
Matheus Lima 676eb3f158 - Created endpoint to fetch the subscription type using the device id 2019-02-07 12:35:46 -03:00
Chris Veilleux fb359343e3 moved some of the feature setup/teardown to scenario level 2019-02-06 22:46:36 -06:00
Matheus Lima 768a692fb8 - Refactored endpoint `device/{uuid}/skill` to fetch all skills using a single query
- Created endpoint to fetch a skill using device id and version_hash
- Removing useless sql files
2019-02-06 21:51:00 -03:00
Chris Veilleux fa5da2a914 added test for logout function 2019-02-06 13:37:39 -06:00
Chris Veilleux 8c38d69321 changed to add a dummy user at before feature and remove said user after feature 2019-02-05 17:41:13 -06:00
Chris Veilleux 1eb1d6152a passlib added 2019-02-05 17:37:26 -06:00
Chris Veilleux 745f7fd7e3 added ability to expire a token cookie 2019-02-05 13:25:22 -06:00
Chris Veilleux dc5a330a59 removed unused import 2019-02-05 13:00:36 -06:00
Chris Veilleux 6b6a687a00 updated tests to include the validate_federated endpoint 2019-02-05 12:59:23 -06:00
Chris Veilleux e6b8748296 replaced previous social login logic with new client-side implementation 2019-02-05 11:33:19 -06:00
Chris Veilleux aea9851116 moved the hook to add the cookies to the response into the base class to avoid re-coding it in every place it is needed. 2019-02-04 15:04:22 -06:00
Matheus Lima ade99800ef - Fixing setup.py to properly include the data files described by MANIFEST.in
- Initializing the API config
- Fixing the endpoints to use the config variable to access the connection pool
2019-02-02 22:39:00 -03:00
Chris Veilleux c5c287047f added the behave and hamcrest packages for testing 2019-02-02 18:53:18 -06:00
Chris Veilleux 59c1075b7e added tests for internal login endpoint and fixed bugs the test uncovered 2019-02-02 18:52:43 -06:00
Chris Veilleux 7fd66423df changed url of internal login endpoint and removed database close logic as it was being called at the wrong time 2019-02-02 18:51:19 -06:00
Matheus Lima 9f29aa5a86 Moving custom encoder logic to the util package in the shared project 2019-02-02 20:36:53 -03:00
Chris Veilleux ad0d4820f0 added logic to add a refresh token on sign in; moved refresh token functions in the account repository to their own repository; moved authentication repo into account repo 2019-02-01 22:08:59 -06:00
Matheus Lima b6440abd38 Moving setting folder content into device folder in the shared project 2019-02-01 20:34:59 -03:00
Matheus Lima f5bbaa0892 Creating endpoints to fetch device, device's setting and device's skills 2019-02-01 20:34:59 -03:00
Chris Veilleux eb4a7e5343 performed some cleanup that was causing virtualenv issues 2019-02-01 15:26:47 -06:00
Chris Veilleux ff875fc79f added refresh token logic 2019-02-01 00:31:50 -06:00
Chris Veilleux 2a3c89961e added logger and fixed a couple of minor bugs 2019-02-01 00:30:22 -06:00
Chris Veilleux a69a262e87 added some docstrings 2019-01-30 23:20:40 -06:00
Chris Veilleux db1c1ffee8 removed app-specific config file because all configs are in the global file 2019-01-30 23:18:28 -06:00
Chris Veilleux 1b4574a367 changed to use new library config code and changed internal endpoint naming 2019-01-30 23:17:59 -06:00
Chris Veilleux 5b2d65d546 renamed from "antisocial" to "internal" and changed logic to use new architecture 2019-01-30 23:16:59 -06:00
Chris Veilleux 4cf170592d moved common API logic from selene.util to new selene.api package. the util package is for non-business logic and the common api bits contain business logic 2019-01-30 19:16:46 -06:00
Chris Veilleux f1da779571 updated pipfile.lock 2019-01-30 14:53:37 -06:00
Chris Veilleux 74285d017c made the new selene package a dev requirement for pipenv 2019-01-30 14:53:08 -06:00
Chris Veilleux 3377670bf8 changed imports to use new directory structure for shared code 2019-01-30 14:52:23 -06:00
Chris Veilleux f199e0969b moved the contents of the "backend" directory up one level since this repo is now just for backend code 2019-01-30 14:47:18 -06:00