Skip to content

Commit 1eded90

Browse files
Merge pull request #12 from Fullscript/support-custom-domain
feat(featureutil.ts): support custom domain
2 parents 45c83dd + 5ab6ecb commit 1eded90

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

src/feature/featureUtil.spec.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,23 @@ describe("getFeatureUrl", () => {
3636
"https://us-snd.fullscript.io/api/embeddable/session/treatment_plans/new?patient[id]=patientId&secret_token=secretToken&public_key=publicKey&frame_id=uuid&target_origin=http://localhost"
3737
);
3838
});
39+
40+
it("returns proper custom url if domain is present", () => {
41+
const customDomain = "https://staging.r.fullscript.io";
42+
mockFullscriptOptions = {
43+
...mockFullscriptOptions,
44+
domain: customDomain,
45+
};
46+
47+
const url = getFeatureURL(
48+
"treatmentPlan",
49+
mockFeatureOptions,
50+
mockFullscriptOptions,
51+
mockFrameId
52+
);
53+
54+
expect(url).toEqual(
55+
`${customDomain}/api/embeddable/session/treatment_plans/new?patient[id]=patientId&secret_token=secretToken&public_key=publicKey&frame_id=uuid&target_origin=http://localhost`
56+
);
57+
});
3958
});

src/feature/featureUtil.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ const getFeatureURL = <F extends FeatureType>(
1111
fullscriptOptions: FullscriptOptions,
1212
frameId: string
1313
): string => {
14-
const { publicKey, env } = fullscriptOptions;
14+
const { publicKey, env, domain } = fullscriptOptions;
1515
const queryString = buildQueryString({ ...featureOptions, publicKey, frameId });
1616
validateFeatureType(featureType);
17+
const fsDomain = domain ? domain : FULLSCRIPT_DOMAINS[env];
1718

18-
return `${FULLSCRIPT_DOMAINS[env]}/api/embeddable/session${FEATURE_PATHS[featureType]}${queryString}&target_origin=${window.location.origin}`;
19+
return `${fsDomain}/api/embeddable/session${FEATURE_PATHS[featureType]}${queryString}&target_origin=${window.location.origin}`;
1920
};
2021

2122
export { getFeatureURL };

src/fullscript.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const FULLSCRIPT_DOMAINS: { [key: string]: FullscriptDomain } = {
1414
};
1515

1616
type FullscriptEnv = "us" | "ca" | "us-snd" | "ca-snd" | "dev";
17-
type FullscriptOptions = { publicKey: string; env: FullscriptEnv };
17+
type FullscriptOptions = { publicKey: string; env: FullscriptEnv; domain?: string };
1818

1919
export { FULLSCRIPT_DOMAINS };
2020
export type { FullscriptEnv, FullscriptOptions, FullscriptDomain };

0 commit comments

Comments
 (0)