8 Commits

Author SHA1 Message Date
343a8c5f45
generic: provide configured encoder
This encoder emits data identical to upstream API response body.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-18 04:53:12 +09:00
bb1164d081
song: enrich metadata from API
This should be the last of the API interactions we need.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-18 04:10:38 +09:00
2d6b87702d
generic: move StringInt padding to string method
This allows the implementation to be reused for url and filename
formatting in the downloader.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 08:02:18 +09:00
c2c4171a3a
generic: emulate nullable string behaviour
This fills the gap for nullable strings returned by the API.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 07:47:57 +09:00
7dd470f9ae
generic: struct for response common fields
This is common across all responses.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 06:57:16 +09:00
b001ef50aa
generic: pad for different lengths
This can be autodetected based on existing string.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 06:40:35 +09:00
cc45f04800
generic: pad string representation
This replicates api behaviour.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 06:01:00 +09:00
5b9d1e4fe8
generic: parse string representation of integer
This makes the data easier to handle down the pipeline.

Signed-off-by: Yonah <contrib@gensokyo.uk>
2025-09-17 05:41:40 +09:00