mCaptcha/templates/widget/fetchPoWConfig.ts

34 lines
856 B
TypeScript
Raw Permalink Normal View History

// Copyright © 2021 Aravinth Manivnanan <realaravinth@batsense.net>.
// SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
//
// SPDX-License-Identifier: MIT OR Apache-2.0
2021-12-01 11:53:47 +00:00
import genJsonPayload from "../utils/genJsonPayload";
2021-10-08 09:54:29 +00:00
import * as CONST from "./const";
import { PoWConfig } from "./types";
type GetConfigPayload = {
key: string;
};
/**
* fetch proof-of-work configuration
* @returns {PoWConfig} pow config
* */
2021-10-08 09:54:29 +00:00
export const fetchPoWConfig = async (): Promise<PoWConfig> => {
const payload: GetConfigPayload = {
key: CONST.sitekey(),
};
2021-10-08 09:54:29 +00:00
const res = await fetch(CONST.ROUTES.getConfig, genJsonPayload(payload));
if (res.ok) {
const config: PoWConfig = await res.json();
return config;
} else {
const err = await res.json();
throw new Error(err);
}
};
export default fetchPoWConfig;