anegostudios / vsmoddb Goto Github PK
View Code? Open in Web Editor NEWVS Mod DB
License: MIT License
VS Mod DB
License: MIT License
hi,
while working on #10 I've noticed that moddb.release.modid
doesn't have an index, and it's used to query all the mods on https://github.com/anegostudios/vsmoddb/blob/master/api.php#L323
this was based on tables.sql (maybe the current schema has an index)
another idea (which I think is even better long term) is to remove modidstr
's completely from /api/mods
endpoint, this way there is no need to GROUP BY, and an offset/page parameter can be used to paginate the response when there will be millions of mods.
Currently releases of new versions have to be done manually and can only be done by the person owning the mod. This slows down release cycle in general and bottlenecks updates for mods that have multiple maintainers.
Extend moddb API with an endpoint to create a new release.
POST /api/mod/[modid]/releases
string[] versions; // Game versions supported by the mod
string? description; // Optional change log message
string data; // base64 encoded file or a base64 data URI (has a prefix "data:content/type;base64,")
Example payload:
{
"versions": ["1.18.8", "1.18.13"],
"description": "",
"data": "data:@file/zip;base64,UEsDBBQAAAAIAO0cNVeTkL6mAwMAAKwKAAAVAAAA..."
}
Authentication can be provided via vs_websessionkey
cookie (or alternatively via authorization
header to keep API calls unambiguous).
If authentication failed API returns 401
if modid doesn't exist API returns 404
If modid doesn't belong to authenticated user API returns 403
If request body is in invalid format API returns 400
If server failed to create new release API returns 500
Otherwise API returns 200 and created release
This will allow developers to setup a full CI/CD pipeline severely improving their experience and allow for more operative delivery of features and fixes, improving the experience of end customers(players).
Add the ability to download a list of changes for each version of a mod via the API
This affects the following mod IDs:
1199
856
519
494
366
123
When you compare the mods endpoint "lastreleased" against the latest release in the mod info end point for that specific mod there is no release matching that time. My guess is that the release was deleted and the API doesn't update that information.
Notification of new comments for your mods. Now, in order for me to receive a notification about a new comment in my mod, it is necessary to ping me :(
So it would be nice to be able to just subscribe to the mod, like on a forum thread. Subscription may also include notification of new releases.
Trying to download the mod https://mods.vintagestory.at/medievalfashion results in the client throwing an error because the required version is not available. Looking at the json response from the mod db this is what's returned: https://i.imgur.com/cSB9oMv.png
There isn't even a version 1.00.00 of this mod on the moddb.
On safari, the comment form rectangle enlarges to cover the Add comment
button, making it impossible to comment.
Device:
iPhone 14 Pro, iOS 17.4.1
Browsers tested:
Safari,
Opera,
Brave
Some mods require others to work.
Add the ability to set for a given version of a mod the required dependencies.
Add the ability to download these dependencies via API.
It would be good if the version of the required mod could be specified in detail.
For example (like npm)
1.0.4 - specific version
~1.0.4 - any patch version >= 1.0.4
^1.0.4 - any minor version >= 1.0.4
=1.0.4 - >= any major version >= 1.0.4
List all info for given mod
have string in mod.releases.downloads
rather than int as in mod.downloads
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.