refactor(actions): extract shared relay client for direct services
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
# Actions Clients
|
||||
|
||||
This folder is reserved for extracted client wrappers from `actions/index.js` as part of the Priority 1 refactor plan.
|
||||
This folder contains extracted client wrappers from `actions/index.js` as part of the Priority 1 refactor plan.
|
||||
|
||||
Phase 1 delivered core helper extraction and compatibility barrel support.
|
||||
Client-level extraction (`relayClient`, `endpointClient`, `fileClient`, `notifyClient`) is planned for the next increment.
|
||||
Current extracted clients:
|
||||
|
||||
- `relayClient` (shared hash-signing helper used by account/portal/document direct services)
|
||||
- `endpointClient` (shared JSON request helpers for GET and generic axios config requests)
|
||||
|
||||
Notes:
|
||||
|
||||
- Core helper extraction and compatibility barrel support remain in place.
|
||||
- Additional client extraction (`fileClient`, `notifyClient`) can be layered in incrementally without changing public exports from `actions/index.js`.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import axios from "axios";
|
||||
|
||||
export const getJson = async (url, config) => {
|
||||
const response = await axios.get(url, config);
|
||||
return response.data;
|
||||
};
|
||||
|
||||
export const requestJson = async (config) => {
|
||||
const response = await axios(config);
|
||||
return response.data;
|
||||
};
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./relayClient";
|
||||
export * from "./endpointClient";
|
||||
@@ -0,0 +1,22 @@
|
||||
import axios from "axios";
|
||||
import { hashAPIPath } from "../core/hash";
|
||||
|
||||
export const buildHashedQueryUrl = async (queryUrl) => {
|
||||
try {
|
||||
const signRes = await axios.get(
|
||||
"/api/endpoint/gethash_api?path=" + encodeURIComponent(queryUrl)
|
||||
);
|
||||
|
||||
if (!signRes?.data?.hash) {
|
||||
throw new Error("Hash signature unavailable");
|
||||
}
|
||||
|
||||
return queryUrl + signRes.data.hash;
|
||||
} catch (error) {
|
||||
if (typeof window === "undefined" && process.env.HASHKEY) {
|
||||
return queryUrl + hashAPIPath(queryUrl);
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user