forked from Yara724/api
fanavaran added 2 apis for get payload and submit manually
This commit is contained in:
@@ -1,5 +1,25 @@
|
||||
export type FanavaranClientKey = "parsian" | "tejaratno";
|
||||
|
||||
export const FANAVARAN_CLIENT_KEYS: readonly FanavaranClientKey[] = [
|
||||
"parsian",
|
||||
"tejaratno",
|
||||
] as const;
|
||||
|
||||
export function isFanavaranClientKey(value: string): value is FanavaranClientKey {
|
||||
const normalized = value?.trim().toLowerCase();
|
||||
return normalized === "parsian" || normalized === "tejaratno";
|
||||
}
|
||||
|
||||
export function normalizeFanavaranClientKey(value: string): FanavaranClientKey {
|
||||
const normalized = value?.trim().toLowerCase();
|
||||
if (normalized === "parsian" || normalized === "tejaratno") {
|
||||
return normalized;
|
||||
}
|
||||
throw new Error(
|
||||
`Invalid Fanavaran client "${value}". Expected one of: ${FANAVARAN_CLIENT_KEYS.join(", ")}`,
|
||||
);
|
||||
}
|
||||
|
||||
export interface FanavaranAuthConfig {
|
||||
appName: string;
|
||||
secret: string;
|
||||
@@ -93,6 +113,30 @@ export function resolveFanavaranClientProfile(): FanavaranClientProfile {
|
||||
return FANAVARAN_CLIENT_PROFILES[resolveFanavaranClientKey()];
|
||||
}
|
||||
|
||||
export function fanavaranManualSubmitPath(claimCaseId: string): string {
|
||||
return `/v2/claim-request-management/fanavaran-submit/${claimCaseId}`;
|
||||
export function getFanavaranClientProfile(
|
||||
clientKey: FanavaranClientKey,
|
||||
): FanavaranClientProfile {
|
||||
return FANAVARAN_CLIENT_PROFILES[clientKey];
|
||||
}
|
||||
|
||||
export function listFanavaranClientProfiles(): FanavaranClientProfile[] {
|
||||
return FANAVARAN_CLIENT_KEYS.map((key) => FANAVARAN_CLIENT_PROFILES[key]);
|
||||
}
|
||||
|
||||
export function fanavaranPreviewPath(
|
||||
clientKey: FanavaranClientKey,
|
||||
claimCaseId: string,
|
||||
): string {
|
||||
return `/v2/fanavaran/${clientKey}/claim-cases/${claimCaseId}`;
|
||||
}
|
||||
|
||||
export function fanavaranSubmitPath(
|
||||
clientKey: FanavaranClientKey,
|
||||
claimCaseId: string,
|
||||
): string {
|
||||
return `/v2/fanavaran/${clientKey}/claim-cases/${claimCaseId}`;
|
||||
}
|
||||
|
||||
export function fanavaranManualSubmitPath(claimCaseId: string): string {
|
||||
return fanavaranSubmitPath(resolveFanavaranClientKey(), claimCaseId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user