aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth/ModrinthAPI.h
blob: 4ae8b8f9d67438ff2227ccab85b2927f3a0f69f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "modplatform/ModAPI.h"

class ModrinthAPI : public ModAPI {
   public:
    inline QString getModSearchURL(int offset, QString query, QString sort, bool fabricCompatible, QString version) const override 
    { 
        return QString("https://api.modrinth.com/v2/search?"
                "offset=%1&"   "limit=25&"   "query=%2&"   "index=%3&"
                "facets=[[\"categories:%4\"],[\"versions:%5\"],[\"project_type:mod\"]]")
                  .arg(offset)
                  .arg(query)
                  .arg(sort)
                  .arg(fabricCompatible ? "fabric" : "forge")
                  .arg(version);
    };

    inline QString getVersionsURL(const QString& addonId) const override
    {
        return QString("https://api.modrinth.com/v2/project/%1/version").arg(addonId);
    };

    inline QString getAuthorURL(const QString& name) const override { return "https://modrinth.com/user/" + name; };
};