Commit Graph

42 Commits (e923853ca8a1310ec1a0fff54f35310126f9597d)

Author SHA1 Message Date
ZeldaZach c378a1e4ab Add Audit Logging for several endpoints
- Use transactions for DB commits to avoid audit-less logs

Endpoints Supported:
- Manual Link
- Reset Row
- Update Row
2 months ago
Mike Lang fd78ff288e fix bugs in postgres schema from earlier changes 2 months ago
Mike Lang 23ad78d592 Record in database when end time is "--"
We need this so that reverse sync reproduces these values correctly.

To handle this in the database, we have a composite type (dashed: boolean, value: timestamp).
Value is always valid and is equivalent to the old timestamp column,
but must be equal to start_time if dashed is true.

The only place we directly reference this column outside sheetsync is thrimshim, where we
always consider the value only.
3 months ago
Mike Lang 69bfa79e24 Make video transition durations floats, not intervals
Almost all code was already expecting this.
3 months ago
Mike Lang 227be23cab postgres setup: split schema into its own file
This is more convenient for development since it's a standalone file that you can
apply without using the script, it also means we get syntax highlighting.
3 months ago
Mike Lang a3aaa37bb0 Restructure playlists table
to have all tags, not just playlists.
Notably, this means playlist ids may be null.
3 months ago
Mike Lang 8dd6741ee9 schema: Playlist tags may be null, indicating "match nothing"
This is intended for partially-entered playlist data where tags have not been specified yet.
3 months ago
Mike Lang be111ccb2a Change database primary key from UUID to TEXT
We still store uuids, but in text form.
This allows us to store non-UUID ids for systems that have other ids.
3 months ago
Mike Lang 115fd8bba3 schema: Add first and last event ids to playlist table
These represent a pinned first/last video in a playlist.
On the choice of a video id vs an event id:
- Event ids are known before video ids, so we can "set and forget" before a video is uploaded
- No need to re-set if an event's video is re-edited or changed
- In cases where an external video is desired, we can use manual link to associate an event with it

Since we're referencing a primary key, we might as well also make it a proper foreign key
with sensible delete behaviour, though in practice we never delete events.
3 months ago
Mike Lang 01f93a798a bus_analyzer: Also determine time of day 1 year ago
Mike Lang be77f4ea14 bus_analyzer: Also record the clock 1 year ago
Mike Lang 76daceff19 bus_analyzer: initial implementation 1 year ago
Mike Lang 734a7371f3 Add bus_data DB table and have thrimshim able to query it for latest odo reading 1 year ago
Mike Lang 30d5ccc483 Fix all old references to github.com/ekimekim/wubloader 1 year ago
Mike Lang 9f6b0416b6 postgres: Don't allow state = MODIFIED without video_link set
This is an illegal state but it happened :(
2 years ago
Mike Lang 34a33fdeb6 partially implement playlist links in video descriptions
We make them conceptually "part of the footer" so they're updated only when the video
is otherwise updated (which would generally mean MODIFIED).
2 years ago
Mike Lang ce1f50db06 Database changes for thumbnails 2 years ago
Mike Lang 46468409cb Add "public" column to control if videos are unlisted
This column is modifyable.
This replaces the old "hidden" argument to youtube upload backends.
2 years ago
Mike Lang c4a1d72240 Add new state to postgres and implement cutter logic 2 years ago
Mike Lang 953eb8b2a6 Fix typo in postgres schema 3 years ago
Mike Lang 467edf3d19 Read dynamic playlist manager config from sheet
The sheetsync loads playlist ids and tags into a new table `playlists`.
playlist manager reads this table and merges it with the playlists given on the command line.
3 years ago
Mike Lang a47c29fff4 Link images to github repo by adding a LABEL
When pushed, this tells github to associate the ghcr.io repo that was pushed to
with the github repo specified (the owner needs to match).

This does a few things.
Most importantly, this automatically gives github actions credentials to push to these
repositories when run in the context of the wubloader repo.
3 years ago
Mike Lang aab8cf2f0f Set up plumbing for multi-range videos and implement no-transition fast cut videos only
This is the simplest case as we can just cut each range like we already do,
then concat the results.

We still allow for the full design in the database and cutter, but error out if transitions
is ever anything but hard cuts or if it's a full cut.

We also update the restreamer to allow accepting ranges, however for usability we still allow
the old "just one start and end" args.

Note this changes the thrimshim API to give and take the new "video_ranges" and "video_transitions" columns.
3 years ago
Mike Lang fa1f305fda postgres: Changes to work with version 12
In postgres 12, recovery.conf is removed in favor of normal config options
plus a signal file.

See https://www.2ndquadrant.com/en/blog/replication-configuration-changes-in-postgresql-12/
for a good rundown.
4 years ago
Mike Lang a044b30465 postgres: Fix replica not working when there are spaces in the password 4 years ago
Mike Lang 68b75fa891 Add tags and video_tags database columns
tags is a sheet input which provides a default list of tags for the editor.
video_tags is set upon the video being edited and is used by the cutter to set video tags on supported upload locations.
4 years ago
Mike Lang 8086c917fe Force correct postgres version 5 years ago
Mike Lang 4bbcc8bc06 Revert "Merge pull request #155 from ekimekim/mike/manual-uploads"
This reverts commit 99de586353, reversing
changes made to 4b04f70b6f.

We don't need this feature and it complicates things and adds bugs.
5 years ago
Christopher Usher 1325ccf280 added a read only user to database setup script 5 years ago
Mike Lang c580671da2 Create upload pending state 5 years ago
Mike Lang 48593e2b06 database, sheetsync: Add worksheet name column 'sheet_name'
This tells us which sheet a row came from
(so we don't need to scan every sheet to find it if we're trying to do
lookups in that direction).

It is also needed in order to tag the videos with the Day number.
5 years ago
Christopher Usher ff5c1f8ecd fixes based on ekim's suggestions 5 years ago
Christopher Usher f75f3e61e8 Removed schema from common/database.py 5 years ago
Christopher Usher af086e26e5 moved schema into database startup script 5 years ago
Christopher Usher 027c2900e2 fixes in response to ekim's comments 5 years ago
Christopher Usher 57962c8104 allow nodes and editors to be read from csv files on start up 5 years ago
Christopher Usher 0eefdb94e0 docker compose updates; option not to replicate 5 years ago
Christopher Usher 38801ea6d3 Replication working 5 years ago
Christopher Usher 37b0efb66a postgres now needs building 5 years ago
Chris Usher a20f65d70f moving stuff around 5 years ago
Christopher Usher 413c86d908 script to read in dumps 5 years ago
Christopher Usher 1a7d3e6ff1 script for dumpting the database 5 years ago