23 Commits

Author SHA1 Message Date
747cd7d7f2 backend: add api server stubs (#36)
Reviewed-on: #36
Reviewed-by: PL Pery <kar@karitham.dev>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-30 12:43:23 -04:00
f0448f0f37 ligmen: add package implementing emote image encoding (#34)
Reviewed-on: #34
Reviewed-by: Pierre-Louis Pery <kar@karitham.dev>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-29 14:50:58 -04:00
266f4a6305 api: define the rest (#33)
Define the user management, chat management, and moderation API
interfaces. Everything except auth at this point.

Also update config so that mise gen:api in the repository root handles
everything.

For #11.

Reviewed-on: #33
Reviewed-by: snail <snail@noreply.localhost>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-28 18:32:19 -04:00
09f8363753 Initial postgres migrations. (#35)
There are some minor modifications that should be scrutinized, and a change to remove set_id from user_connections to be replaced with a join table of connection_id (new) and set_id

Reviewed-on: #35
Reviewed-by: snail <snail@noreply.localhost>
Reviewed-by: zephyr <zephyr@noreply.localhost>
2025-05-24 19:40:00 -04:00
aefb569157 api: add endpoint to mark emote use (#32)
Reviewed-on: #32
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-15 00:10:23 -04:00
feb4ef6fc9 Convert driver to postgres and init river work queue client (#31)
- Converts the driver to postgres
- Sets up pg pool
- adds river and goose as go tools
- updates the mise job for doing migrations

Reviewed-on: #31
Reviewed-by: zephyr <zephyr@noreply.localhost>
2025-05-11 22:21:16 -04:00
4fed18b7eb api: general updates (#30)
Update TypeSpec to v1.0.0.

Version the API. It will live at api.ligmotes.com/v1.

Change emote sets to include both the emote ID and the file content hash for the 1x scale.
Queries can choose a media type, although currently we only enumerate AVIF.

Reviewed-on: #30
Reviewed-by: smantic <tyler@smantic.dev>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-11 21:44:34 -04:00
aceda8c083 emote management api (#27)
For #6.

Reviewed-on: #27
Reviewed-by: smantic <tyler@smantic.dev>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-10 19:04:59 -04:00
1213426c33 go rest api scaffold (#25)
Basic scaffold to get started on the go api.

Reviewed-on: #25
Reviewed-by: zephyr <zephyr@noreply.localhost>
Co-authored-by: karitham <kar@karitham.dev>
Co-committed-by: karitham <kar@karitham.dev>
2025-05-10 18:38:20 -04:00
f3194a3a03 api: manually set operation ids (#26)
Reviewed-on: #26
Reviewed-by: kar <kar@noreply.localhost>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-08 09:20:24 -04:00
a2214b766b read api specification (#20)
Fixes #14.

Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Reviewed-on: #20
Reviewed-by: hamza <hamza@noreply.localhost>
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-07 15:26:40 -04:00
44dd051924 infra: add dev task task and cleanup revision in logger (#24)
Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Co-committed-by: Hamza Ali <sunturtle@hamza.sh>
2025-05-06 22:39:21 -04:00
60a0e7e79d infra: setup compose and add mise tasks (#23)
Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Co-committed-by: Hamza Ali <sunturtle@hamza.sh>
2025-05-06 21:35:36 -04:00
51bc6c44de fixup go env via mise (#22)
Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Co-committed-by: Hamza Ali <sunturtle@hamza.sh>
2025-05-06 20:20:47 -04:00
e2e114bf1b Initalize go project (#18)
- Sets up the go module.
- Sets up goose to use for database migrations.
- Begins setup of some other basic things such as the logger and the http server.

Closes 	#17 and #8

Reviewed-on: #18
2025-05-06 19:24:22 -04:00
0f1c354dfe schema: adjustments (#15)
Add emote.color for sorting by color.

Add index on emote.uploader for querying emotes uploaded by a user.

Add user_connection.platform_name for searching users.

Include platform_id in user_connection unique index so a person who uses
multiple Twitch accounts can use a single Ligmotes account to manage all
of them.

Rearrange list_editor from (list, user) to (user, list) since we can
express every editor query we could want in terms of user as input.

Various renamings & index adjustments.

Reviewed-on: #15
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Co-committed-by: Branden J Brown <zephyrtronium@gmail.com>
2025-05-06 14:58:35 -04:00
2c81978ea2 schema: initialize database (#12)
Define the initial schemata for emotes, users, and lists.

Fixes #9.

Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Reviewed-on: #12
Reviewed-by: hamza <hamza@noreply.localhost>
2025-05-03 19:10:26 -04:00
0d25fe733f meta: add .vscode configuring elixirls (#4)
Co-authored-by: Branden J Brown <zephyrtronium@gmail.com>
Reviewed-on: #4
Reviewed-by: hamza <hamza@noreply.localhost>
Reviewed-by: jolheiser <jolheiser@noreply.localhost>
2025-04-30 21:57:05 -04:00
b6913f6270
feat: add elixir and erland to mise 2025-04-28 18:29:37 -04:00
5d7b95fb22
feat: add mise.toml 2025-04-28 18:27:34 -04:00
6b8afd472b
feat: add basic svelte app for dashboard (#3)
Reviewed-on: #3
Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Co-committed-by: Hamza Ali <sunturtle@hamza.sh>
2025-04-28 18:01:09 -04:00
bafcf94af6
feat: add boilerplate for elixir backend (#2)
Reviewed-on: #2
Reviewed-by: snail <snail@noreply.localhost>
Co-authored-by: Hamza Ali <sunturtle@hamza.sh>
Co-committed-by: Hamza Ali <sunturtle@hamza.sh>
2025-04-28 18:00:42 -04:00
6585188d26
initial commit 2025-04-28 18:00:27 -04:00