@cortezaproject/corteza-vue 2021.9.6-dev.5 → 2022.3.0-dev.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.
@@ -0,0 +1,3 @@
1
+ export declare function AssertStrict(obj: any, query: string, field?: string, ...fields: Array<string>): boolean;
2
+ export declare function AssertFuzzy(obj: any, query: string, field?: string, ...fields: Array<string>): boolean;
3
+ export declare function Assert(obj: any, query: string, field?: string, ...fields: Array<string>): boolean;
@@ -90,11 +90,6 @@ export declare class Auth {
90
90
  * wrapper for console (when in debug mode) or a simple no-op obj
91
91
  */
92
92
  get log(): Logger;
93
- /**
94
- * Returns prefixed key
95
- * @param key
96
- */
97
- get refreshTokenKey(): string;
98
93
  /**
99
94
  * Returns function that returns current access token
100
95
  */
@@ -114,6 +109,33 @@ export declare class Auth {
114
109
  * if user is authorized, continue with execution
115
110
  */
116
111
  handle(req?: URL): Promise<AuthInfo | null>;
112
+ /**
113
+ * Flagging session storage
114
+ *
115
+ * Challenge with sessions and browser tabs:
116
+ * Each browser tab & window interacts with an isolated session. When user clicks on a link to and wants to open
117
+ * it in a new window or a tab, or when tab is duplicated, session contents are copied!
118
+ *
119
+ * Consequences of that are that two (or more) tabs end up with the same session
120
+ * and the same refresh token, and we need to detect if we're dealing with refresh token in an old or new session.
121
+ *
122
+ * With this function we start the final state and flag the session. This way we'll
123
+ * know, after the redirection to the final location, if this is a final stage or not and if the refresh token
124
+ * belongs to this session or not.
125
+ */
126
+ startFinalState(dst: string): void;
127
+ /**
128
+ * Called when refresh token is re-fetched.
129
+ *
130
+ * Cleanup aux items in the session store
131
+ */
132
+ completeFinalState(): void;
133
+ /**
134
+ * Are we in a final state or not?
135
+ *
136
+ * See startFinalState function for more details
137
+ */
138
+ inFinalState(): boolean;
117
139
  /**
118
140
  * Checks current auth state; is access token loaded OR do we have a refresh token we can use
119
141
  *
@@ -135,6 +157,11 @@ export declare class Auth {
135
157
  * keep track of before-flow-start location of the user
136
158
  */
137
159
  startAuthenticationFlow(): void;
160
+ /**
161
+ * protects against too many tries when we try to auto-fix the "state does not match" error
162
+ * by restarting the aut flow.
163
+ */
164
+ private incFlowCounter;
138
165
  /**
139
166
  * Exchanges authorization code for access and refresh tokens
140
167
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cortezaproject/corteza-vue",
3
3
  "description": "Corteza Vue.js JavaScript/TypeScript libs",
4
- "version": "2021.9.6-dev.5",
4
+ "version": "2022.3.0-dev.1",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Denis Arh <denis.arh@crust.tech>",
7
7
  "main": "dist/index.js",
@@ -22,13 +22,16 @@
22
22
  "pre-commit": "yarn lint"
23
23
  },
24
24
  "dependencies": {
25
- "@cortezaproject/corteza-js": "^2021.9.6-dev.4",
25
+ "@cortezaproject/corteza-js": "^2022.3.0-dev.1",
26
26
  "@fortawesome/fontawesome-svg-core": "^1.2.26",
27
27
  "@fortawesome/free-solid-svg-icons": "^5.12.0",
28
28
  "@fortawesome/vue-fontawesome": "^0.1.9",
29
29
  "@panter/vue-i18next": "^0.15.0",
30
30
  "acorn": "^7.3.1",
31
31
  "bootstrap-vue": "^2.21.2",
32
+ "chartjs-plugin-colorschemes": "^0.4.0",
33
+ "chartjs-plugin-funnel": "^1.1.5",
34
+ "fuzzysort": "^1.2.1",
32
35
  "highlight.js": "^10.4.1",
33
36
  "html-parse-stringify": "^3.0.1",
34
37
  "i18next": "^20.0.0",
@@ -1,2 +0,0 @@
1
- export { default as FieldItem } from './FieldItem.vue';
2
- export { default as FieldPicker } from './FieldPicker.vue';