38 Commits

Author SHA1 Message Date
56039bd3b9 Add webhook management and scheduling functionality 2025-04-25 10:53:00 +02:00
FieldofClay
bc9f24fa00 allow configuring listen IP 2025-03-09 09:47:09 +11:00
CyferShepard
81fe4997d1 task scheduler rework
task manager implementation to start/stop tasks WIP
implemented socket client for internal communication between threads - needs more testing as connection string is hardcoded
added loopback in ws server to pass through toast ws messages from threads - needs more testing

fixed potential bug during config fetch function when syncing
2025-03-04 22:23:34 +02:00
CyferShepard
3813f66298 patch to fix /backup endpoints not working on download, delete, restore 2024-12-06 21:18:58 +02:00
Gavin Mogan
1d64ba0b59 Allow overriding owner of tables during migrations 2024-09-24 23:21:22 -07:00
CyferShepard
5b72864f19 fix for swagger ui docs not rendering 2024-09-16 16:41:36 +02:00
CyferShepard
77eec15318 chore: Fix base URL redirection issue 2024-09-08 13:06:42 +02:00
CyferShepard
1aeede3dc9 chore: Fix base URL redirection issue 2024-09-08 12:54:32 +02:00
CyferShepard
29d6464397 Fix to address #229 Base urls. Alot of hacky code here. hope it doesnt break 2024-09-08 00:31:13 +02:00
CyferShepard
ed917f5be8 Possible Breaking changes, will revert if next image fails to run. Dynamically builds env variables to file to be used by frontend 2024-09-06 22:46:32 +02:00
CyferShepard
f70bce6b9a Version Bump 1.1.0 => 1.1.1
Added Dynamic API loader framework for Emby/Jellyfin switching, Emby API is still WIP, DO NOT USE as per #133

Reworked ome pages for correct url mapping of emby external links

Added IS_JELLYFIN flag to config endpoint to indicate if server is displaying Emby or Jellyfin Data

Fix for #218 Require Login set to false still displays Login Page until reload

New feat: Grouped Recently added Episodes under Seasons and Episode count on Home page. Toggle to revert back to ugrouped display will be added later

Added middleware to infer param types in API to simplify value checks, eg bool or numeric parameters
2024-06-29 22:57:33 +02:00
CyferShepard
13e186ef7b chore: Update logging import paths in backend code
chore: fix swagger doc endpoints
chore: refactored code to respective classes
2024-06-20 14:43:25 +02:00
CyferShepard
b2ba7768c8 auth setup fixes 2024-04-07 15:59:08 +02:00
Thegan Govender
1c823c5bd2 optimized startup flow to reduce chances of getting stuck in setup
fixed bug where invalid token returned Unable to connect to backend page
better state tracking in activity monitor page and jellydin api calls
2024-03-10 02:04:51 +02:00
Thegan Govender
fbbe3670e5 bug fix for signup process resulting in multiple config rows and getting stuck on step 2/2
API change for updating user details
added ability to edit username
fixed weird bug with vite proxy
updated translations
2024-03-09 17:48:45 +02:00
Thegan Govender
f5f7f960d1 Fix allowfullscreen attribute casing in iframe element
Added suggested fix by @RynoXLI for axios error/access error
2024-03-03 21:01:43 +02:00
Thegan Govender
fab97c4a7b Cleanup first time setup and sync logic
Fixed checks and triggers for First time setup and sync processes so that sync wont run until setup is complete
2023-11-27 20:58:31 +02:00
Thegan Govender
837dd18014 Sync Changes
Added Sync feature to only sync Recently Added Items that don't exist in the database (this will not update existing data), default interval now set to 15 Minutes

Renamed existing sync to Full sync (should function exactly the same), default interval now set to 1 day

Reworked handling of items no longer on jellyfin. Items are no longer deleted but are now marked as archived so that we can still view their items when looking at Playback Activity.

Added options to purge Archived data. This will either purge just the item (including seasons and episodes if its a show) or the item plus all related watch activity
2023-11-19 22:17:36 +02:00
Thegan Govender
e63f52e2fb Added .dockerignore file to speed up local image builds
Changed Dockerfile as previos file was failing to build consistently
removed some unused packages
added compression to json payloads
changed vite ports to 3000 to not break existing builds
backend and frontend both use port 3000 now
2023-11-11 17:06:44 +02:00
c4lyp5o
2bdd91af59 chore: housekeeping
added some signboard
ordering of app
appended [JELLYSTAT] to console.log
added indication if database already exists
2023-11-08 12:29:22 +08:00
c4lyp5o
d986cd5b71 fix: deployment changes
disables x-powered-by
set up local deployment environment
some prettier cleanups
add dotenv for local .env usage
2023-11-07 16:49:17 +08:00
fuzz
5e238fdad2 initial commit
needs work - currently just an api endpoint that will return geolocation data for a given IP.
ToDo:
- Display IP in session-card
- Clicking IP opens modal with geolocation info
2023-10-25 16:23:25 +01:00
Thegan Govender
c21b2f2c65 Added Override Credential Params + Swagger
Added JS_USER  and JS_PASSWORD to env variables so that these credentials can be used to access jellystat incase of forgotten credentials

Added swagger implementation + swag doc auto-generator
2023-09-11 22:00:44 +02:00
Thegan Govender
aeb46f2a08 Task and Logging Changes
Reworked Tasks and logging to prevent overlapping tasks from executing. This is done by reworking the logging process so that the task state is stored and accurately tracked allowing us to check for currently running tasks.

Backup and sync tasks also reworked to reduce code redundancy and allow for better error handling

Websockets finally fixed and implementation has begun

Added Toast notifications
2023-09-03 20:47:52 +02:00
Thegan Govender
e7912397d2 Code clean-up + API Keys
Cleaned up redundant code and moved around classes to be better grouped eg routes folder

Moved endpoints to other route files to better represent their actions

Removed redundant endpoints

Renamed endpoints to be more meaningful

Added API Key authorisations to utilize the API outside of Jellystat UI (Still need to document Endpoints)

Added new column to app_config to store api keys

New API Section under settings

Updated backups route name
2023-07-01 22:52:19 +02:00
Thegan Govender
364aa2ac09 Tasks + UI improvements
Changed Tasks to run based on last successful execution time in the logs table vs an interval counter that counts from startup. This prevents an issue where if a server is restarted before the interval time, the task timer essentially resets.

Fixed User Image in session card

Disabled websocket proxy
2023-06-19 19:52:29 +02:00
Thegan Govender
550e1d3f7c v1.0.4.10 Beta 2023-06-18 21:02:18 +02:00
Thegan Govender
03ab7fc2ff Create backup function
Create backup feature to store data as a json file

Modified Terminal to be more dynamic in the backend to be used by multiple modules, messages are now stored and send from server side instead of in the session.

Added username to last watched items in library activity

fixed navbar home url

Reverted stats to ut nor rely on jf_all_playback_activity as it has not been implemented yet
2023-04-23 22:20:14 +02:00
Thegan Govender
692d0c8ec0 Item Cards and stats
Added drill down views for individual items

Created view to see basic metadata for libraries

Created Table to store item metadata such as file size and codec support

Scrape and display File and library sizes

Removed a redundant view(TBH there's still alot left)

Amended some UI elements

Started work on backup code WIP (Does not work)

Changed out Nivo to recharts for stat graphs to remove <0 behaviour of charts
2023-04-15 23:04:25 +02:00
Thegan Govender
590ae82f85 DB Migrations
Implemented better Database initializations and migrations.

No longer dependent on default postgres user and set owner to POSTGRES_USER
2023-04-08 13:07:23 +02:00
Thegan Govender
b313e6e22d stat fixes+dynamic user content
Fixed more sql quereis

Noticed hardcoded userid value for last-played/recently played stats, changed to dynamic admin userid due to full permission access of libraries
2023-04-05 23:16:48 +02:00
Thegan Govender
3a85fcdea3 Stats Changes
Added more stuff to statistics page

Playback per hour page has a bug
2023-04-02 22:15:28 +02:00
Thegan Govender
74faa14940 Secured API
Secured API endpoints with JWT

Added Login ,Signup and Configuration Pages
2023-04-02 19:06:06 +02:00
Thegan Govender
0b0e08b295 Stats Page
Added stats page, fixed auto init
2023-04-01 12:36:28 +02:00
Thegan Govender
dc3f900c5a users page + db auto create(WIP)
Created users info page when viewing user data on user tab

Added DB Procs to retrieve data for those components

Added db auto initialize to the backend in preparation for docker images, this needs work as it still crashes if it cant connect to the db
2023-03-23 22:37:04 +02:00
Thegan Govender
582a39918e full change to statistics
1) Created components for statistic reporting.
2) Database changes and PROC/Function creations. Still need to make MOST VIEWED LIBRARIES/CLIENTS/ MOST ACTIVE USERS dynamically load with date range (Function Creation on DB side)
2023-03-19 22:01:40 +02:00
Thegan Govender
28ed76d6c4 bck/frnt end changes to accomade sync and stats 2023-03-12 20:48:34 +02:00
Thegan Govender
504aaee682 initial commit 2023-03-08 06:59:56 +02:00