mirror of
https://github.com/modrinth/code.git
synced 2026-08-25 00:55:25 +00:00
* Begin external projects moderator database frontend * add copy link button * begin project page permissions settings * MEL database backend routes * include filename in external files * Hook up frontend external license page to backend * more work on user-facing external projects stuff * put user-facing stuff behind feature flag * prepr * clippy --------- Co-authored-by: aecsocket <aecsocket@tutanota.com>
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { AbstractModule } from '../../../core/abstract-module'
|
|
import type { Labrinth } from '../types'
|
|
|
|
export class LabrinthExternalProjectsInternalModule extends AbstractModule {
|
|
public getModuleID(): string {
|
|
return 'labrinth_external_projects_internal'
|
|
}
|
|
|
|
public async search(
|
|
data: Labrinth.ExternalProjects.Internal.SearchRequest,
|
|
): Promise<Labrinth.ExternalProjects.Internal.ExternalProject[]> {
|
|
return this.client.request<Labrinth.ExternalProjects.Internal.ExternalProject[]>(
|
|
'/moderation/external-license/search',
|
|
{
|
|
api: 'labrinth',
|
|
version: 'internal',
|
|
method: 'POST',
|
|
body: data,
|
|
},
|
|
)
|
|
}
|
|
|
|
public async getBySha1(
|
|
sha1: string,
|
|
): Promise<Labrinth.ExternalProjects.Internal.ExternalProject> {
|
|
return this.client.request<Labrinth.ExternalProjects.Internal.ExternalProject>(
|
|
`/moderation/external-license/by-sha1/${sha1}`,
|
|
{
|
|
api: 'labrinth',
|
|
version: 'internal',
|
|
method: 'GET',
|
|
},
|
|
)
|
|
}
|
|
|
|
public async update(
|
|
id: number,
|
|
data: Labrinth.ExternalProjects.Internal.UpdateLicenseRequest,
|
|
): Promise<Labrinth.ExternalProjects.Internal.ExternalProject> {
|
|
return this.client.request<Labrinth.ExternalProjects.Internal.ExternalProject>(
|
|
`/moderation/external-license/${id}`,
|
|
{
|
|
api: 'labrinth',
|
|
version: 'internal',
|
|
method: 'PATCH',
|
|
body: data,
|
|
},
|
|
)
|
|
}
|
|
}
|