Skip to content

Commit 9f03ff4

Browse files
authored
Merge pull request #58 from spring-media/SPR-20873
SPR-20873: add jaId method
2 parents d8aec80 + 1360481 commit 9f03ff4

5 files changed

+172
-8
lines changed

dist/ps-web-apis.cjs.js

+50-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,39 @@
22

33
Object.defineProperty(exports, '__esModule', { value: true });
44

5-
function requireApi(name) {
5+
function provide(packageNameActual, packActual) {
6+
// -- START -- static loader
7+
var unresolvedPackages = {};
8+
var providedPackages = {};
9+
var loaderName = "pssmasloader";
10+
var loader = (window[loaderName] = window[loaderName] || {
11+
_: {
12+
u: unresolvedPackages,
13+
p: providedPackages
14+
},
15+
require: function (packageName, cb) {
16+
var pack = providedPackages[packageName];
17+
if (pack !== undefined) {
18+
cb(pack, null);
19+
}
20+
else {
21+
unresolvedPackages[packageName] = unresolvedPackages[packageName] || [];
22+
unresolvedPackages[packageName].push(cb);
23+
}
24+
}
25+
});
26+
unresolvedPackages = loader._.u;
27+
providedPackages = loader._.p;
28+
// -- END -- static loader
29+
var unresolvedRequires = unresolvedPackages[packageNameActual] || [];
30+
providedPackages[packageNameActual] = packActual;
31+
for (var i = 0; i < unresolvedRequires.length; i++) {
32+
unresolvedRequires[i](packActual, null);
33+
}
34+
return packActual;
35+
}
36+
37+
function requirePackage(name) {
638
// -- START -- static loader
739
var unresolvedPackages = {};
840
var providedPackages = {};
@@ -41,7 +73,23 @@ function requireApi(name) {
4173
});
4274
}
4375
function whoamiV1() {
44-
return requireApi("whoami:v1");
76+
return requirePackage("whoami:v1");
77+
}
78+
function utilsV1() {
79+
return requirePackage("utils:v1");
80+
}
81+
function CligV1() {
82+
return requirePackage("ppclig:v1");
83+
}
84+
function CligV2() {
85+
return requirePackage("clig:v2");
4586
}
87+
var provideApi = provide;
88+
var requireApi = requirePackage;
4689

4790
exports.whoamiV1 = whoamiV1;
91+
exports.utilsV1 = utilsV1;
92+
exports.CligV1 = CligV1;
93+
exports.CligV2 = CligV2;
94+
exports.provideApi = provideApi;
95+
exports.requireApi = requireApi;

dist/ps-web-apis.d.ts

+66-1
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,39 @@
1+
import { provide } from "./apiprovide";
2+
declare function requirePackage<T>(name: string): Promise<T>;
13
export interface WhoamiUserInfo {
24
user_id: string;
35
first_name?: string;
46
last_name?: string;
7+
email: string;
58
}
9+
export interface PurchaseData {
10+
entitlements: [string];
11+
}
12+
export declare type FetchOptions = RequestInit & {
13+
timeout?: number;
14+
};
15+
/**
16+
* Custom fetch interface which includes the possibility to customize timeouts for fetch requests
17+
*/
18+
export declare type Fetch = (input: RequestInfo, init?: FetchOptions) => Promise<Response>;
619
export interface WhoamiV1 {
720
/**
821
* will assert valid not outdated session before fetch will be done. backend credentials will be added automatically
922
* an error is resolved if session is invalid and not refeshable (= user logged out)
23+
* Important: as of version 1.9.9 all requests are timeout after 5s by default.
24+
* Can be changed by adding the field timeout to the FetchOptions Interface
1025
*/
11-
authorizedFetch: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
26+
authorizedFetch: Fetch;
1227
/**
1328
* gives information if user is currently loggedin from ui perspective
1429
*/
1530
isLoggedIn(): boolean;
31+
/**
32+
* gives information if the user is currently a C1 User. These are users which are not logged in from
33+
* sso/mypass perspective. These users are originated from the apps and have potentially in app purchases.
34+
* If this method resolves to true isLogged in will resolve to false.
35+
*/
36+
isC1User(): boolean;
1637
/**
1738
* will assert valid not outdated session before promise is resolved
1839
* an error is resolved if session is invalid and not refeshable (= user logged out)
@@ -48,5 +69,49 @@ export interface WhoamiV1 {
4869
* @param clientId The string identifier of the client for which the customer id is requested.
4970
*/
5071
getCustomerId(clientId: string): Promise<string>;
72+
/**
73+
* will provide unsafe purchase data
74+
*/
75+
getUnsafePurchaseData(): Promise<PurchaseData>;
76+
/**
77+
* will provide jaId
78+
*/
79+
getJaId(): string;
80+
}
81+
export interface UtilsV1 {
82+
fetchWithTimeout: Fetch;
83+
}
84+
export declare type ILayer = "privacy" | "reject";
85+
export declare type IApp = "offerpage" | "checkout";
86+
export declare type ITenant = "welt" | "bild";
87+
export interface IAccount {
88+
accountId: number | string;
89+
propertyId: number | string;
90+
baseEndpoint: string;
91+
purEntitlement: string;
92+
layers: {
93+
[key in ILayer]: number | string;
94+
};
95+
}
96+
export declare type IAppConfig = {
97+
[key in ITenant]: IAccount;
98+
} & {
99+
urlsWithoutConsentLayer: string[];
100+
};
101+
export declare type IConfig = {
102+
[key in IApp]: IAppConfig;
103+
};
104+
export interface ICligV1 {
105+
init: (app: IApp) => Promise<void>;
106+
open: (layer: ILayer) => void;
51107
}
108+
export declare type ICligV2 = (app: IApp) => Promise<{
109+
open: (layer: ILayer) => void;
110+
}>;
52111
export declare function whoamiV1(): Promise<WhoamiV1>;
112+
export declare function utilsV1(): Promise<UtilsV1>;
113+
export declare function CligV1(): Promise<ICligV1>;
114+
export declare function CligV2(): Promise<ICligV2>;
115+
export declare const provideApi: typeof provide;
116+
export declare const requireApi: typeof requirePackage;
117+
export {};

dist/ps-web-apis.esm.js

+46-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,36 @@
1-
function requireApi(name) {
1+
function provide(packageNameActual, packActual) {
2+
// -- START -- static loader
3+
var unresolvedPackages = {};
4+
var providedPackages = {};
5+
var loaderName = "pssmasloader";
6+
var loader = (window[loaderName] = window[loaderName] || {
7+
_: {
8+
u: unresolvedPackages,
9+
p: providedPackages
10+
},
11+
require: function (packageName, cb) {
12+
var pack = providedPackages[packageName];
13+
if (pack !== undefined) {
14+
cb(pack, null);
15+
}
16+
else {
17+
unresolvedPackages[packageName] = unresolvedPackages[packageName] || [];
18+
unresolvedPackages[packageName].push(cb);
19+
}
20+
}
21+
});
22+
unresolvedPackages = loader._.u;
23+
providedPackages = loader._.p;
24+
// -- END -- static loader
25+
var unresolvedRequires = unresolvedPackages[packageNameActual] || [];
26+
providedPackages[packageNameActual] = packActual;
27+
for (var i = 0; i < unresolvedRequires.length; i++) {
28+
unresolvedRequires[i](packActual, null);
29+
}
30+
return packActual;
31+
}
32+
33+
function requirePackage(name) {
234
// -- START -- static loader
335
var unresolvedPackages = {};
436
var providedPackages = {};
@@ -37,7 +69,18 @@ function requireApi(name) {
3769
});
3870
}
3971
function whoamiV1() {
40-
return requireApi("whoami:v1");
72+
return requirePackage("whoami:v1");
73+
}
74+
function utilsV1() {
75+
return requirePackage("utils:v1");
76+
}
77+
function CligV1() {
78+
return requirePackage("ppclig:v1");
79+
}
80+
function CligV2() {
81+
return requirePackage("clig:v2");
4182
}
83+
var provideApi = provide;
84+
var requireApi = requirePackage;
4285

43-
export { whoamiV1 };
86+
export { whoamiV1, utilsV1, CligV1, CligV2, provideApi, requireApi };

package-lock.json

+4-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ps-web-apis.ts

+6
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ export interface WhoamiV1 {
112112
* will provide unsafe purchase data
113113
*/
114114
getUnsafePurchaseData(): Promise<PurchaseData>;
115+
116+
/**
117+
* will provide jaId for logged in users, otherwise
118+
* @throws error
119+
*/
120+
getJaId(): string;
115121
}
116122

117123
export interface UtilsV1 {

0 commit comments

Comments
 (0)