datasquirel/package-shared/api/media/get.ts
2025-11-13 07:18:15 +01:00

38 lines
1.2 KiB
TypeScript

import queryDSQLAPI from "../../functions/api/query-dsql-api";
import { APIGetMediaParams, APIResponseObject } from "../../types";
import path from "path";
import { DSQL_DATASQUIREL_USER_MEDIA } from "../../types/dsql";
import grabAPIBasePath from "../../utils/grab-api-base-path";
import grabAPIKey from "../../utils/grab-api-key";
export default async function apiMediaGET(
params: APIGetMediaParams
): Promise<
APIResponseObject<
DSQL_DATASQUIREL_USER_MEDIA | DSQL_DATASQUIREL_USER_MEDIA[]
>
> {
const basePath = grabAPIBasePath({ paradigm: "media" });
const mediaID = params.mediaID
? typeof params.mediaID === "number"
? String(params.mediaID)
: params.mediaID
: undefined;
const finalPath = path.join(basePath, mediaID || "");
const apiKey = grabAPIKey(params.apiKey);
const GET_MEDIA_RES = await queryDSQLAPI<APIGetMediaParams>({
method: "GET",
path: finalPath,
query: params,
apiKey,
useDefault: params.useDefault,
});
return GET_MEDIA_RES as APIResponseObject<
DSQL_DATASQUIREL_USER_MEDIA | DSQL_DATASQUIREL_USER_MEDIA[]
>;
}