@imposium-hub/components 2.8.0-7 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/app-wrapper/AppWrapper.js +5 -0
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +26 -0
- package/dist/cjs/components/app-wrapper/AppWrapperV2.js +266 -0
- package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +19 -0
- package/dist/cjs/components/app-wrapper/AppWrapperV3.js +195 -0
- package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
- package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
- package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
- package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
- package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
- package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
- package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +104 -0
- package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
- package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
- package/dist/cjs/components/header/Header.js +3 -2
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
- package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
- package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
- package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
- package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
- package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
- package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
- package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
- package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
- package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
- package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
- package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
- package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
- package/dist/cjs/components/header/StoryDropdown.js +111 -0
- package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
- package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +52 -23
- package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +23 -11
- package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/cjs/constants/copy.d.ts +1 -1
- package/dist/cjs/constants/copy.js +1 -1
- package/dist/cjs/constants/copy.js.map +1 -1
- package/dist/cjs/constants/publish.d.ts +3 -0
- package/dist/cjs/constants/publish.js +5 -3
- package/dist/cjs/constants/publish.js.map +1 -1
- package/dist/cjs/redux/actions/auth.d.ts +9 -0
- package/dist/cjs/redux/actions/auth.js +30 -0
- package/dist/cjs/redux/actions/auth.js.map +1 -0
- package/dist/cjs/redux/reducers/auth.d.ts +3 -0
- package/dist/cjs/redux/reducers/auth.js +67 -0
- package/dist/cjs/redux/reducers/auth.js.map +1 -0
- package/dist/cjs/services/API.d.ts +2 -2
- package/dist/cjs/services/API.js +7 -4
- package/dist/cjs/services/API.js.map +1 -1
- package/dist/cjs/services/Auth0.d.ts +18 -0
- package/dist/cjs/services/Auth0.js +102 -0
- package/dist/cjs/services/Auth0.js.map +1 -0
- package/dist/cjs/services/Session.d.ts +26 -0
- package/dist/cjs/services/Session.js +155 -0
- package/dist/cjs/services/Session.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper.js +5 -0
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
- package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
- package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
- package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
- package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
- package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
- package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
- package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
- package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
- package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
- package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
- package/dist/esm/components/auth-gate/AuthGate.js +59 -0
- package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
- package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
- package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +72 -0
- package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
- package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
- package/dist/esm/components/header/Header.js +3 -2
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
- package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
- package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
- package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
- package/dist/esm/components/header/Header_BASE_73021.js +322 -0
- package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
- package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
- package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
- package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
- package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
- package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
- package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
- package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
- package/dist/esm/components/header/StoryDropdown.js +82 -0
- package/dist/esm/components/header/StoryDropdown.js.map +1 -0
- package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +43 -14
- package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +20 -11
- package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +1 -1
- package/dist/esm/constants/copy.d.ts +1 -1
- package/dist/esm/constants/copy.js +1 -1
- package/dist/esm/constants/copy.js.map +1 -1
- package/dist/esm/constants/publish.d.ts +3 -0
- package/dist/esm/constants/publish.js +4 -2
- package/dist/esm/constants/publish.js.map +1 -1
- package/dist/esm/redux/actions/auth.d.ts +9 -0
- package/dist/esm/redux/actions/auth.js +25 -0
- package/dist/esm/redux/actions/auth.js.map +1 -0
- package/dist/esm/redux/reducers/auth.d.ts +3 -0
- package/dist/esm/redux/reducers/auth.js +27 -0
- package/dist/esm/redux/reducers/auth.js.map +1 -0
- package/dist/esm/services/API.d.ts +2 -2
- package/dist/esm/services/API.js +7 -4
- package/dist/esm/services/API.js.map +1 -1
- package/dist/esm/services/Auth0.d.ts +18 -0
- package/dist/esm/services/Auth0.js +68 -0
- package/dist/esm/services/Auth0.js.map +1 -0
- package/dist/esm/services/Session.d.ts +26 -0
- package/dist/esm/services/Session.js +107 -0
- package/dist/esm/services/Session.js.map +1 -0
- package/package.json +1 -1
- package/src/components/app-wrapper/AppWrapper.tsx +6 -0
- package/src/components/header/Header.tsx +3 -2
- package/src/components/publish-wizard/publish/EmailWorkflow.tsx +66 -24
- package/src/constants/copy.ts +1 -1
- package/src/constants/publish.ts +7 -2
- package/src/services/API.ts +11 -6
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as auth0 from 'auth0-js';
|
|
2
|
+
export default class AuthService {
|
|
3
|
+
static IMPOSIUM_APP_DEFAULTS = {
|
|
4
|
+
scope: 'openid',
|
|
5
|
+
audience: 'https://api.4cinsights.io/',
|
|
6
|
+
responseType: 'token id_token',
|
|
7
|
+
redirectUri: `${window.location.origin}/auth`
|
|
8
|
+
};
|
|
9
|
+
// Auth0 JS client
|
|
10
|
+
static auth0Client;
|
|
11
|
+
/*
|
|
12
|
+
Initialize the auth0 web client with client ID for a given app-wrapper
|
|
13
|
+
*/
|
|
14
|
+
static bindToClient = (clientID, domain) => {
|
|
15
|
+
AuthService.auth0Client = new auth0.WebAuth({
|
|
16
|
+
clientID,
|
|
17
|
+
domain,
|
|
18
|
+
...AuthService.IMPOSIUM_APP_DEFAULTS
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
/*
|
|
22
|
+
redirect to auth0 for login
|
|
23
|
+
*/
|
|
24
|
+
static login = () => {
|
|
25
|
+
AuthService.auth0Client.authorize();
|
|
26
|
+
};
|
|
27
|
+
/*
|
|
28
|
+
Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
|
|
29
|
+
*/
|
|
30
|
+
static logout = () => {
|
|
31
|
+
AuthService.auth0Client.logout({ returnTo: `${window.location.origin}/auth` });
|
|
32
|
+
};
|
|
33
|
+
/*
|
|
34
|
+
Validate auth0 expiry timestamp
|
|
35
|
+
*/
|
|
36
|
+
static checkExpiry = (expiry) => expiry > Date.now().valueOf() / 1000;
|
|
37
|
+
/*
|
|
38
|
+
Parse out identity from hash
|
|
39
|
+
*/
|
|
40
|
+
static parseIdFromHash = (hash) => {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
AuthService.auth0Client.parseHash({ options: hash }, (e, id) => {
|
|
43
|
+
if (!e) {
|
|
44
|
+
resolve(id);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
reject(e);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
/*
|
|
53
|
+
Defer to auth0 web servers to check if users session is valid
|
|
54
|
+
*/
|
|
55
|
+
static checkSession = () => {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
AuthService.auth0Client.checkSession({}, (e, id) => {
|
|
58
|
+
if (!e) {
|
|
59
|
+
resolve(id);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
reject(e);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=Auth0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth0.js","sourceRoot":"","sources":["../../../src/services/Auth0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAWlC,MAAM,CAAC,OAAO,OAAO,WAAW;IACpB,MAAM,CAAU,qBAAqB,GAAQ;QACjD,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO;KAChD,CAAC;IAEF,kBAAkB;IACV,MAAM,CAAC,WAAW,CAAgB;IAE1C;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;QACpE,WAAW,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;YACxC,QAAQ;YACR,MAAM;YACN,GAAG,WAAW,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,KAAK,GAAG,GAAS,EAAE;QAC7B,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;QAC9B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9F;;OAEG;IACI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAY,EAAsB,EAAE;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBAC7E,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,GAA+B,EAAE;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBACjE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IIdentity } from './Auth0';
|
|
2
|
+
export interface IHubSession {
|
|
3
|
+
sub: string;
|
|
4
|
+
organization_id: string;
|
|
5
|
+
story_id: string;
|
|
6
|
+
}
|
|
7
|
+
export default class SessionService {
|
|
8
|
+
private static readonly LOGIN_STORY_ID_CACHE;
|
|
9
|
+
private static readonly LOGIN_ORG_ID_CACHE;
|
|
10
|
+
private static readonly SESSION_COOKIE_NAME;
|
|
11
|
+
private static readonly FRESH_COOKIE;
|
|
12
|
+
static getAccessData: (idToken: string, baseUrl?: string, getTotalRenders?: boolean, accountId?: string) => Promise<any[]>;
|
|
13
|
+
static getSession: () => IHubSession;
|
|
14
|
+
static removeSession: () => void;
|
|
15
|
+
static buildFreshSession: (freshIdentity: IIdentity, orgId?: string, storyId?: string) => void;
|
|
16
|
+
static storeSession: (values: any, auth0Expiry: number) => void;
|
|
17
|
+
static cacheOrgId: (organizationId: string) => void;
|
|
18
|
+
static clearCachedOrgId: () => void;
|
|
19
|
+
static getCachedOrgId: () => string;
|
|
20
|
+
static cacheStoryId: (storyId: string) => void;
|
|
21
|
+
static clearCachedStoryId: () => void;
|
|
22
|
+
static getCachedStoryId: () => string;
|
|
23
|
+
static updateSession: (values: any, auth0Expiry: number) => void;
|
|
24
|
+
private static scrapeDomain;
|
|
25
|
+
private static determineAccessUrl;
|
|
26
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as Cookies from 'js-cookie';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
export default class SessionService {
|
|
4
|
+
static LOGIN_STORY_ID_CACHE = 'imp_hub_last_story_id';
|
|
5
|
+
static LOGIN_ORG_ID_CACHE = 'imp_hub_last_org_id';
|
|
6
|
+
static SESSION_COOKIE_NAME = 'auth_state';
|
|
7
|
+
static FRESH_COOKIE = {
|
|
8
|
+
sub: '',
|
|
9
|
+
organization_id: '',
|
|
10
|
+
story_id: ''
|
|
11
|
+
};
|
|
12
|
+
/*
|
|
13
|
+
Get list of accessible services with themes from Imposium API
|
|
14
|
+
*/
|
|
15
|
+
static getAccessData = (idToken, baseUrl, getTotalRenders = false, accountId) => {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
let accessUrl = baseUrl ? `${baseUrl}/access` : SessionService.determineAccessUrl();
|
|
18
|
+
const headers = { Authorization: `Bearer ${idToken}` };
|
|
19
|
+
if (getTotalRenders) {
|
|
20
|
+
accessUrl += '?include_total_renders=true';
|
|
21
|
+
}
|
|
22
|
+
if (accountId && accountId !== 'undefined') {
|
|
23
|
+
headers['X-Imposium-Account-Id'] = accountId;
|
|
24
|
+
}
|
|
25
|
+
axios
|
|
26
|
+
.get(accessUrl, { headers })
|
|
27
|
+
.then((res) => {
|
|
28
|
+
resolve(res.data ? res.data : []);
|
|
29
|
+
})
|
|
30
|
+
.catch((e) => {
|
|
31
|
+
reject(e);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
static getSession = () => Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
|
|
36
|
+
static removeSession = () => {
|
|
37
|
+
const domain = SessionService.scrapeDomain();
|
|
38
|
+
Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain });
|
|
39
|
+
SessionService.clearCachedOrgId();
|
|
40
|
+
SessionService.clearCachedStoryId();
|
|
41
|
+
};
|
|
42
|
+
static buildFreshSession = (freshIdentity, orgId = null, storyId = null) => {
|
|
43
|
+
const { idTokenPayload: { sub, exp } } = freshIdentity;
|
|
44
|
+
const freshSession = {
|
|
45
|
+
sub
|
|
46
|
+
};
|
|
47
|
+
if (orgId) {
|
|
48
|
+
freshSession.organization_id = orgId;
|
|
49
|
+
}
|
|
50
|
+
if (storyId) {
|
|
51
|
+
freshSession.story_id = storyId;
|
|
52
|
+
}
|
|
53
|
+
SessionService.storeSession(freshSession, exp);
|
|
54
|
+
};
|
|
55
|
+
static storeSession = (values, auth0Expiry) => {
|
|
56
|
+
const cookieData = { ...SessionService.FRESH_COOKIE, ...values };
|
|
57
|
+
const domain = SessionService.scrapeDomain();
|
|
58
|
+
const expiry = new Date(auth0Expiry * 1000);
|
|
59
|
+
Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain, expires: expiry });
|
|
60
|
+
};
|
|
61
|
+
static cacheOrgId = (organizationId) => {
|
|
62
|
+
localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
|
|
63
|
+
};
|
|
64
|
+
static clearCachedOrgId = () => {
|
|
65
|
+
localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
66
|
+
};
|
|
67
|
+
static getCachedOrgId = () => {
|
|
68
|
+
return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
|
|
69
|
+
};
|
|
70
|
+
static cacheStoryId = (storyId) => {
|
|
71
|
+
localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
|
|
72
|
+
};
|
|
73
|
+
static clearCachedStoryId = () => {
|
|
74
|
+
localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
75
|
+
};
|
|
76
|
+
static getCachedStoryId = () => {
|
|
77
|
+
return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
|
|
78
|
+
};
|
|
79
|
+
static updateSession = (values, auth0Expiry) => {
|
|
80
|
+
const prevCookieData = SessionService.getSession();
|
|
81
|
+
const nextCookieData = { ...prevCookieData, ...values };
|
|
82
|
+
SessionService.storeSession(nextCookieData, auth0Expiry);
|
|
83
|
+
};
|
|
84
|
+
/*
|
|
85
|
+
Determine which domain to assign cookie to
|
|
86
|
+
*/
|
|
87
|
+
static scrapeDomain = () => {
|
|
88
|
+
const domainParts = window.location.host.split('.').reverse();
|
|
89
|
+
return domainParts.length > 2 ? `.${domainParts[1]}.${domainParts[0].split(':')[0]}` : null;
|
|
90
|
+
};
|
|
91
|
+
/*
|
|
92
|
+
Figure out which access endpoint to hit based on env
|
|
93
|
+
*/
|
|
94
|
+
static determineAccessUrl = () => {
|
|
95
|
+
const { location: { hostname, host } } = window;
|
|
96
|
+
if (hostname === 'localhost') {
|
|
97
|
+
return 'https://api/access';
|
|
98
|
+
}
|
|
99
|
+
else if (host.includes('.staging.')) {
|
|
100
|
+
return 'https://api.staging.imposium.com/access';
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return 'https://api.imposium.com/access';
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=Session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -229,6 +229,12 @@ export const AppWrapper: React.FC<IAppWrapperProps> = (props) => {
|
|
|
229
229
|
})
|
|
230
230
|
.catch((e: Error) => {
|
|
231
231
|
setErrorState(APP_WRAPPER_ERROR_STATES.UNAUTHORIZED_ORG);
|
|
232
|
+
|
|
233
|
+
// Attempt to get the access data again without the org ID, so we can at least shoe the user the org dropdown
|
|
234
|
+
api.init(baseUrl, getAccessTokenSilently, null);
|
|
235
|
+
api.getAccessData(false).then((freshAccess: any) => {
|
|
236
|
+
props.setAccessData(freshAccess);
|
|
237
|
+
});
|
|
232
238
|
});
|
|
233
239
|
|
|
234
240
|
// If we're not loading, and we're not authenticated, call login, and cache story + org ID from URL if it's there
|
|
@@ -73,7 +73,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
|
|
|
73
73
|
|
|
74
74
|
private static readonly SDK_DOCS_LINK: string = 'https://docs.imposium.com/js-sdk/';
|
|
75
75
|
|
|
76
|
-
private static readonly DEFAULT_ACCOUNT_TOGGLE_COLOR: string = '
|
|
76
|
+
private static readonly DEFAULT_ACCOUNT_TOGGLE_COLOR: string = '#AF1126';
|
|
77
77
|
|
|
78
78
|
private static readonly NO_STORIES_COPY: string = 'No stories were found';
|
|
79
79
|
|
|
@@ -144,7 +144,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
|
|
|
144
144
|
: [];
|
|
145
145
|
|
|
146
146
|
let dropdownToggleColor: string = ImposiumHeader.DEFAULT_ACCOUNT_TOGGLE_COLOR;
|
|
147
|
-
let activeFirstChar: string = '';
|
|
147
|
+
let activeFirstChar: string = 'X';
|
|
148
148
|
|
|
149
149
|
if (activeOrganizationBlob && activeOrganizationBlob.hasOwnProperty('name')) {
|
|
150
150
|
dropdownToggleColor = string2HexCode(activeOrganizationBlob.name);
|
|
@@ -209,6 +209,7 @@ class ImposiumHeader extends React.PureComponent<IHeaderProps, IHeaderState> {
|
|
|
209
209
|
api.cacheActiveStory(activeServiceId, orgId, storyId);
|
|
210
210
|
} else {
|
|
211
211
|
pushRoute(`/${orgId}`);
|
|
212
|
+
api.cacheActiveStory(activeServiceId, orgId);
|
|
212
213
|
}
|
|
213
214
|
})
|
|
214
215
|
.catch((e) => {
|
|
@@ -12,7 +12,13 @@ import { connect } from 'react-redux';
|
|
|
12
12
|
import SelectField from '../../select-field/SelectField';
|
|
13
13
|
import { updateAssociation, getBatch, setPage } from '../../../redux/actions/active-batch';
|
|
14
14
|
import TextField from '../../text-field/TextField';
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
ADSTUDIO_POST_RENDER_ACTION,
|
|
17
|
+
ASSET_NAME_VAR,
|
|
18
|
+
ASSETS_POST_RENDER_ACTION,
|
|
19
|
+
CRM_PLACEMENT_VARS
|
|
20
|
+
} from '../../../constants/publish';
|
|
21
|
+
import CheckboxField from '../../checkbox-field/CheckboxField';
|
|
16
22
|
|
|
17
23
|
interface IEmailWorkflowProps {
|
|
18
24
|
story: any;
|
|
@@ -69,12 +75,12 @@ interface IEmailWorkflowProps {
|
|
|
69
75
|
onNext: (val: boolean) => void;
|
|
70
76
|
next: boolean;
|
|
71
77
|
isCrM: boolean;
|
|
78
|
+
isCrMAsset?: boolean;
|
|
72
79
|
}
|
|
73
80
|
|
|
74
81
|
interface CrMOverrides {
|
|
75
82
|
creative_id: string;
|
|
76
83
|
creative_library_id: string;
|
|
77
|
-
notification_email: string;
|
|
78
84
|
placement_type: string;
|
|
79
85
|
}
|
|
80
86
|
|
|
@@ -124,7 +130,6 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
|
|
|
124
130
|
creativeManagerOverrides: {
|
|
125
131
|
creative_id: '',
|
|
126
132
|
creative_library_id: '',
|
|
127
|
-
notification_email: '',
|
|
128
133
|
placement_type: 'crm-adstudio'
|
|
129
134
|
},
|
|
130
135
|
waitingForPublish: false,
|
|
@@ -266,6 +271,8 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
|
|
|
266
271
|
const { name } = this.props.story;
|
|
267
272
|
const { isCrM } = this.props;
|
|
268
273
|
const { inventory, inventoryKeys } = this.state;
|
|
274
|
+
const uploadAsAssets =
|
|
275
|
+
this.state.creativeManagerOverrides.placement_type === ASSETS_POST_RENDER_ACTION;
|
|
269
276
|
|
|
270
277
|
const maskConfig: any[] = inventoryKeys.map((currKey: string) => {
|
|
271
278
|
let value = '';
|
|
@@ -288,12 +295,27 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
|
|
|
288
295
|
});
|
|
289
296
|
|
|
290
297
|
if (isCrM) {
|
|
291
|
-
|
|
292
|
-
maskConfig.push(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
298
|
+
if (uploadAsAssets) {
|
|
299
|
+
maskConfig.push(
|
|
300
|
+
{
|
|
301
|
+
id: ASSET_NAME_VAR,
|
|
302
|
+
name: ASSET_NAME_VAR,
|
|
303
|
+
show: true
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
id: 'creative_library_id',
|
|
307
|
+
name: 'creative_library_id',
|
|
308
|
+
show: true
|
|
309
|
+
}
|
|
310
|
+
);
|
|
311
|
+
} else {
|
|
312
|
+
for (const id of CRM_PLACEMENT_VARS) {
|
|
313
|
+
maskConfig.push({
|
|
314
|
+
id,
|
|
315
|
+
name: id,
|
|
316
|
+
show: true
|
|
317
|
+
});
|
|
318
|
+
}
|
|
297
319
|
}
|
|
298
320
|
}
|
|
299
321
|
|
|
@@ -436,12 +458,7 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
|
|
|
436
458
|
private getPostRenderActions() {
|
|
437
459
|
const CrMUploadAction = { data: {} };
|
|
438
460
|
const {
|
|
439
|
-
creativeManagerOverrides: {
|
|
440
|
-
placement_type,
|
|
441
|
-
creative_id,
|
|
442
|
-
creative_library_id,
|
|
443
|
-
notification_email
|
|
444
|
-
}
|
|
461
|
+
creativeManagerOverrides: { placement_type, creative_id, creative_library_id }
|
|
445
462
|
} = this.state;
|
|
446
463
|
|
|
447
464
|
CrMUploadAction['type'] = placement_type;
|
|
@@ -451,9 +468,6 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
|
|
|
451
468
|
if (creative_library_id) {
|
|
452
469
|
CrMUploadAction.data['creative_library_id'] = creative_library_id;
|
|
453
470
|
}
|
|
454
|
-
if (notification_email) {
|
|
455
|
-
CrMUploadAction.data['notification_email'] = notification_email;
|
|
456
|
-
}
|
|
457
471
|
|
|
458
472
|
return [CrMUploadAction];
|
|
459
473
|
}
|
|
@@ -911,10 +925,8 @@ const CrMOptions: React.FC<ICrMOptionsProps> = ({ options, onChange, errorCopy =
|
|
|
911
925
|
</div>
|
|
912
926
|
) : null;
|
|
913
927
|
|
|
914
|
-
|
|
928
|
+
const standardInterface = (
|
|
915
929
|
<>
|
|
916
|
-
<HRule />
|
|
917
|
-
<br />
|
|
918
930
|
<h2>{copy.publish.crmPlacement}</h2>
|
|
919
931
|
<p>{copy.publish.crmData}</p>
|
|
920
932
|
{e}
|
|
@@ -933,14 +945,44 @@ const CrMOptions: React.FC<ICrMOptionsProps> = ({ options, onChange, errorCopy =
|
|
|
933
945
|
value={options.creative_id}
|
|
934
946
|
onChange={(v) => onInputChange('creative_id', v)}
|
|
935
947
|
/>
|
|
948
|
+
</>
|
|
949
|
+
);
|
|
950
|
+
|
|
951
|
+
const assetInterface = (
|
|
952
|
+
<>
|
|
953
|
+
<h2>{copy.publish.crmPlacement}</h2>
|
|
954
|
+
<p>{copy.publish.crmData}</p>
|
|
955
|
+
{e}
|
|
956
|
+
<br />
|
|
936
957
|
<TextField
|
|
937
958
|
width={'33%'}
|
|
938
959
|
labelPosition='top'
|
|
939
|
-
label={copy.publish.
|
|
940
|
-
value={options.
|
|
941
|
-
onChange={(v) => onInputChange('
|
|
960
|
+
label={copy.publish.creativeLibraryId}
|
|
961
|
+
value={options.creative_library_id}
|
|
962
|
+
onChange={(v) => onInputChange('creative_library_id', v)}
|
|
942
963
|
/>
|
|
964
|
+
</>
|
|
965
|
+
);
|
|
966
|
+
return (
|
|
967
|
+
<>
|
|
968
|
+
<HRule />
|
|
943
969
|
<br />
|
|
970
|
+
{options['placement_type'] === ASSETS_POST_RENDER_ACTION
|
|
971
|
+
? assetInterface
|
|
972
|
+
: standardInterface}
|
|
973
|
+
<br />
|
|
974
|
+
<HRule />
|
|
975
|
+
<CheckboxField
|
|
976
|
+
value={options['placement_type'] === ASSETS_POST_RENDER_ACTION ? true : false}
|
|
977
|
+
label={copy.publish.uploadAsAssets}
|
|
978
|
+
onChange={(v) => {
|
|
979
|
+
if (v === false) {
|
|
980
|
+
onInputChange('placement_type', ADSTUDIO_POST_RENDER_ACTION);
|
|
981
|
+
} else {
|
|
982
|
+
onInputChange('placement_type', ASSETS_POST_RENDER_ACTION);
|
|
983
|
+
}
|
|
984
|
+
}}
|
|
985
|
+
/>
|
|
944
986
|
<HRule />
|
|
945
987
|
</>
|
|
946
988
|
);
|
package/src/constants/copy.ts
CHANGED
|
@@ -123,6 +123,7 @@ export const compositions = {
|
|
|
123
123
|
};
|
|
124
124
|
|
|
125
125
|
export const publish = {
|
|
126
|
+
uploadAsAssets: 'Upload as Assets',
|
|
126
127
|
noVariablesError:
|
|
127
128
|
'No variables found on the project. Cannot proceed with publishing to Creative Manager until at least one variable is added to the project.',
|
|
128
129
|
publishInProgress: 'Publish to Creative Manager in progress',
|
|
@@ -130,7 +131,6 @@ export const publish = {
|
|
|
130
131
|
btnCrM: 'Creative Manager',
|
|
131
132
|
creativeLibraryId: 'Creative Library ID',
|
|
132
133
|
creativeId: 'Creative ID',
|
|
133
|
-
email: 'Notification Email',
|
|
134
134
|
missingFields: 'Please provide the missing fields and try again!',
|
|
135
135
|
crmPlacement: 'Creative Manager Placement Variables',
|
|
136
136
|
crmData: `If your CSV batch data doesn't contain the required Creative Manager placement variables, or you would like to override them, enter the values below before you upload the batch data.`,
|
package/src/constants/publish.ts
CHANGED
|
@@ -14,11 +14,16 @@ export const CRM_PLACEMENT_OPTIONS = [
|
|
|
14
14
|
}
|
|
15
15
|
];
|
|
16
16
|
|
|
17
|
+
export const ASSET_NAME_VAR = 'asset-name';
|
|
18
|
+
|
|
17
19
|
export const CRM_PLACEMENT_VARS = [
|
|
18
20
|
'creative_library_id',
|
|
19
21
|
'creative_id',
|
|
20
22
|
'version-name',
|
|
21
23
|
'version-id',
|
|
22
|
-
'clickTag1'
|
|
23
|
-
'notificiaton_email'
|
|
24
|
+
'clickTag1'
|
|
24
25
|
];
|
|
26
|
+
|
|
27
|
+
export const ADSTUDIO_POST_RENDER_ACTION = 'crm-adstudio';
|
|
28
|
+
|
|
29
|
+
export const ASSETS_POST_RENDER_ACTION = 'crm-asset';
|
package/src/services/API.ts
CHANGED
|
@@ -148,7 +148,7 @@ export interface IImposiumAPI {
|
|
|
148
148
|
getAssetMap(storyId: string);
|
|
149
149
|
clearStoryCache(storyId: string);
|
|
150
150
|
debugId(id: string);
|
|
151
|
-
cacheActiveStory(serviceId: any, orgId: string, storyId
|
|
151
|
+
cacheActiveStory(serviceId: any, orgId: string, storyId?: string);
|
|
152
152
|
getCachedStoryForOrg(serviceId: string, orgId: string);
|
|
153
153
|
getAccessData(includeTotalRenders?: boolean, orgId?: string);
|
|
154
154
|
deleteExperience(experienceId: string, eraseMedia?: boolean);
|
|
@@ -1718,16 +1718,21 @@ export default class API {
|
|
|
1718
1718
|
});
|
|
1719
1719
|
};
|
|
1720
1720
|
|
|
1721
|
-
public cacheActiveStory = (serviceId, orgId, storyId): Promise<any | Error> => {
|
|
1721
|
+
public cacheActiveStory = (serviceId, orgId, storyId?): Promise<any | Error> => {
|
|
1722
1722
|
const route = `/service/${serviceId}/${orgId}/active`;
|
|
1723
1723
|
|
|
1724
|
+
const data: any = {
|
|
1725
|
+
organization_id: orgId
|
|
1726
|
+
};
|
|
1727
|
+
|
|
1728
|
+
if (storyId) {
|
|
1729
|
+
data['story_id'] = storyId;
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1724
1732
|
return this.doRequest({
|
|
1725
1733
|
method: 'POST',
|
|
1726
1734
|
url: route,
|
|
1727
|
-
data
|
|
1728
|
-
story_id: storyId,
|
|
1729
|
-
organization_id: orgId
|
|
1730
|
-
}
|
|
1735
|
+
data
|
|
1731
1736
|
});
|
|
1732
1737
|
};
|
|
1733
1738
|
|