Commit Graph

76 Commits

Author SHA1 Message Date
212a6864f1 Fix: Redis call chain (#147)
* Moved redis mock client to separate file

* To keep cache response & api response consistent, alter call chain

* Resolved linting issues
2022-09-25 13:39:48 +02:00
2b6ad301a8 Resolved exception where readWithoutUserData was not defined (#145) 2022-09-25 13:39:23 +02:00
6732ed988d Register plex instance with token parameter for authenticated calls to plex (#144) 2022-09-25 13:39:07 +02:00
696f9f989c Fix: Plex errors (#141)
* inPlex function returns promise for more consistent return types

* plexUserId should default to null on falsey
2022-08-25 17:28:29 +02:00
93d394c2fe Return parsed json from redis cache (#142) 2022-08-25 17:20:52 +02:00
13470d7372 Custom errors for view hsitory/tautulli exceptions (#140) 2022-08-25 17:20:39 +02:00
7168950dfe Feat: es modules (#139)
* All file imports change from commonjs to es-module

* Improved plex error responses back from api

* Converted viewHistory to es module

* Es-module requires file extension, updated all imports

* Fix esmodule not having __dirname defined in scope

* Replace dynamic-require with fs readFileSync

* Short message service module function is exported as default

* Resolved lint issues & ignore import/extension rule until typescript

* All tests file imports changed from commonjs to es-module

* Import json fixtures with new helper
2022-08-25 17:19:23 +02:00
628ed52012 Fix: Tests lint and src folder (#138)
* Automaticly fixable eslint issues, mostly 3 -> 2 space indentation

* fix: updated plex_userid to camelcase

* Linted and some consistency refactor on middleware

* eslint uses ecmaversion 2020 & allow empty catch rule

* Started linting source files

* Fixed eslint errors & improved a lot of error handling

* Set 2 eslint rules as warning temporarly

* Updated all import statements to be relative

* Updated mocha & nyc, resolved all lint issues in tests/

* Updated mocha & nyc. Removed production config. Updated gitignore

* Updated test commands to omit system tests, no exit code

* Updated test configuration w/ missing keys

* Chai modules defined in package.json & resolved linting errors

* Dockerfile copies development.example -> production.json. Simplified commands

* All api calls from tests use same chaiHttp implementation

Removes a list of fetch alternatives after being replaced by chaiHttp:
 - request
 - request-promise
 - supertest
 - supertest-as-promised

* Tests should use redis (mock) cache, not tmdb sqlite cache

* Disabled test asADeveloperIWantTheServerToStart

* Re-enable tests/system

* Use chaiHttp in asAUserIWantToRequestAMovie.

* Fixed redis expire & mock implmentation

* Replaced all fetch alternatives from source code and package.json

* Pass error from tmdb api back to client as errorMessage

* Updated authentication middleware to handle checks consitenctly

* Prevent assert error when checking request status, returns success 200

* Resolved merge conflicts

* Only build and publish docker container when branch master
2022-08-20 17:41:46 +02:00
1815a429b0 Fix: Linter warnings (#137)
* Automaticly fixable eslint issues, mostly 3 -> 2 space indentation

* fix: updated plex_userid to camelcase

* Linted and some consistency refactor on middleware

* eslint uses ecmaversion 2020 & allow empty catch rule

* Started linting source files

* Fixed eslint errors & improved a lot of error handling

* Set 2 eslint rules as warning temporarly
2022-08-20 17:21:25 +02:00
a4b2e8f51c Instead of having a list of emojis, generate from code point 2022-08-19 10:08:34 +02:00
56262a45c8 Moved contents of seasoned_api up to root folder 2022-08-19 01:03:27 +02:00
47aa638fd8 Moved eveything related to the api to a seperate folder seasoned_api. 2017-08-06 16:45:02 +02:00
bc4eff795e Added quotes to poster url 2017-08-06 09:19:39 +02:00
fbf49e4cd9 Updated to use sqlite3 instead of sqlite in api 2017-07-29 13:21:25 +02:00
6b5a2341bf Class file that creates and returns objects for the mail sender in a single place. 2017-07-16 13:47:49 +02:00
30d26d82c3 Added nodemailer to send email of the requested movie 2017-07-16 13:47:06 +02:00
e77a05db07 Merge pull request #14 from KevinMidboe/client_feature
Client feature
2017-07-16 11:19:15 +02:00
c45df8a131 Added controller for calling POST request function for media items. 2017-07-16 11:08:14 +02:00
91606fc9b8 Removed unused import 2017-07-16 11:05:30 +02:00
3047dce147 Opened the POST endpoint for requesting a movie in the server 2017-07-16 11:04:56 +02:00
Kevin Midbøe
2c97803d82 Added a sendRequest function for handliing the post of a movie request 2017-07-16 11:03:30 +02:00
b2848e6a7e Merge pull request #13 from KevinMidboe/api
Verify that respond has content, if so send the content back. If no c…
2017-07-01 08:47:19 +02:00
1663f5931d Verify that respond has content, if so send the content back. If no content was found, send 404 status and error message 2017-07-01 08:46:37 +02:00
5b8394c5a0 Merge pull request #12 from KevinMidboe/api
If search request returns empty array from tmdb, then send a 404 repo…
2017-07-01 08:37:53 +02:00
ba3a1fa028 If search request returns empty array from tmdb, then send a 404 reponse with error message back to client. 2017-07-01 08:37:29 +02:00
3bb43f08f2 Controller for handling submits of item requests. 2017-06-04 00:13:35 +02:00
703e3d3785 Added a api endpoint for submitting a movie request. 2017-06-04 00:13:02 +02:00
6496988e51 Changed variable names to better reflect their purpose 2017-06-04 00:12:38 +02:00
069d984c39 Added for handling input of movie request, but still need to work on the way the python script is run. 2017-06-04 00:10:35 +02:00
907bc73a7f Added overview (description) from tmdb movie to movieObject. 2017-06-03 13:07:49 +02:00
d05aa13c39 Changes to more strict origin policy. 2017-06-03 11:17:09 +02:00
9d11798133 Removed test logging functions 2017-06-02 12:14:19 +02:00
76b8c46197 Test if bitrate exists 2017-06-02 08:49:20 +02:00
5ab71d9ed8 Added morgan for logging purposes 2017-06-02 08:49:00 +02:00
c8090dfb96 Added option for filtering in verified and page number when searching through all stray episodes. 2017-05-15 12:30:18 +02:00
a5f8a2adce Linting, added newline at eos 2017-05-14 08:19:24 +02:00
c4a1fb5c78 In readall, the verified status is also sent. 2017-05-13 13:21:17 +02:00
9f67354bd4 Controllers for routing tmdb requests to correct functions is tmdbRepo and returns approp status messgaes on errors 2017-05-10 20:19:37 -06:00
9424de9037 Classes for holding info from different parts of a plex stream 2017-05-10 20:18:38 -06:00
dfb8c40a29 Routes request to correct function in plexRepo and if error, returns correct error. 2017-05-10 20:16:35 -06:00
a5ecaff00e Routes request to correct function in plexRepo and if error, returns correct error. 2017-05-10 20:16:05 -06:00
98d30257f0 Routes plex webhook to handler. 2017-05-10 20:14:55 -06:00
4bdffad9fb Similar to tmdb and plex search and lookup. This uses both at same time to check if a searched tmdb item is in plex and adds matchedInPlex tag to the item. 2017-05-10 20:13:45 -06:00
8d16a4952f Just console logs the request from plex webhook. This was created just to test webhooks for plex and will later handle input 2017-05-10 20:00:51 -06:00
3a83b98df0 Function that converts json object about stream from plex format to wanted custom format. 2017-05-10 19:59:25 -06:00
baa8515bd4 Creates a stream object that converts the plex now_playing json format to contain only the wanted information about the palyer, user, transcode, and whats playing 2017-05-10 19:57:49 -06:00
5464837682 Removed unused import 2017-05-10 19:46:59 -06:00
81b41c0d39 Added new endpoints to api. All for plex and tmdb. 2017-05-10 19:45:52 -06:00
53ab8cd002 Changed search funciton to use the correct default multi_search type. The search function now also filters the items by popularity so movies that are pretty unknown are not returned, this will maybe be set manually later. New lookup function that gets movie info from tmdb by id. Tmdb function now also uses items from new methodType object. 2017-05-10 19:44:28 -06:00
b7f229ac77 Now have player, movie, mediaInfo and user. These are small classes that holds vars for the specific type. The movie class is the same as the one prev in src/movie/movie.js 2017-05-10 19:40:29 -06:00