@descope/vue-sdk 0.0.0-next-c6ec4b1b-20240410 → 0.0.0-next-d3b7ecbc-20240411
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/README.md +19 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +38 -2
- package/dist/index.mjs +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -322,6 +322,25 @@ import { AccessKeyManagement } from '@descope/vue-sdk';
|
|
|
322
322
|
Example:
|
|
323
323
|
[Manage Access Keys](./example/components/ManageAccessKeys.vue)
|
|
324
324
|
|
|
325
|
+
#### Audit Management
|
|
326
|
+
|
|
327
|
+
The `AuditManagement` widget will let you embed an audit table in your site.
|
|
328
|
+
|
|
329
|
+
###### Usage
|
|
330
|
+
|
|
331
|
+
```vue
|
|
332
|
+
<template>
|
|
333
|
+
<AuditManagement tenant="tenant-id" widget-id="audit-management-widget" />
|
|
334
|
+
</template>
|
|
335
|
+
|
|
336
|
+
<script setup>
|
|
337
|
+
import { AuditManagement } from '@descope/vue-sdk';
|
|
338
|
+
</script>
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Example:
|
|
342
|
+
[Manage Audit](./example/components/ManageAudit.vue)
|
|
343
|
+
|
|
325
344
|
## Code Example
|
|
326
345
|
|
|
327
346
|
You can find an example Vue app in the [example folder](./example).
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),n=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget"),require("@descope/audit-management-widget");var s=r(t),o=r(n);const i=Symbol("$descope"),a={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-d3b7ecbc-20240411"},d="undefined"!=typeof window,u=()=>{const t=e.inject(i);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},l=()=>u().options,c=()=>u().sdk,p=e=>(...t)=>{let n;try{n=e(...t)}catch(e){console.error(e)}return n};let g;const m=e=>{const t=o.default({...e,persistTokens:d,autoRefresh:d});return g=t,t};g=m({projectId:"temp pid"});const f=()=>d?g?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),y=()=>d?g?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),h=p(((e=f(),t)=>g?.getJwtPermissions(e,t))),v=p(((e=f(),t)=>g?.getJwtRoles(e,t))),b=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var w=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(t,{emit:n}){const r=t;s.default.sdkConfigOverrides={baseHeaders:a,persistTokens:!1,hooks:{get beforeRequest(){return g.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:o,baseUrl:i}=l(),d=c(),u=e.computed((()=>r.form?JSON.stringify(r.form):"")),p=e.computed((()=>r.client?JSON.stringify(r.client):"")),m=async e=>{await(d.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),n("success",e)},f=e=>n("error",e),y=e=>n("ready",e);return(n,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-wc",{"project-id":e.unref(o),"base-url":e.unref(i),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,".errorTransformer":t.errorTransformer,"^form":e.unref(u),"^client":e.unref(p),onSuccess:m,onError:f,onReady:y},null,40,b)]))}});w.__file="src/Descope.vue";const S=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var k=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:n,baseUrl:r}=l();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-user-management-widget",{"project-id":e.unref(n),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,S)]))}});k.__file="src/UserManagement.vue";const x=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var j=e.defineComponent({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:n,baseUrl:r}=l();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-role-management-widget",{"project-id":e.unref(n),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,x)]))}});j.__file="src/RoleManagement.vue";const _=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var q=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:n,baseUrl:r}=l();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-access-key-management-widget",{"project-id":e.unref(n),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,_)]))}});q.__file="src/AccessKeyManagement.vue";const R=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var B=e.defineComponent({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:n,baseUrl:r}=l();return(s,o)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("descope-audit-management-widget",{"project-id":e.unref(n),"base-url":e.unref(r),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,R)]))}});B.__file="src/AuditManagement.vue";const E=e.ref(null);let I;var U={install:function(t,n){const r=m({...n,persistTokens:!0,autoRefresh:!0,baseHeaders:a});I=r;const s=e.ref(null),o=e.ref(""),d=e.ref(null),u=e.ref(null);r.onSessionTokenChange((e=>{o.value=e})),r.onUserChange((e=>{u.value=e}));const l=async()=>{s.value=!0,await r.refresh(),s.value=!1},c=e.computed((()=>null===s.value)),p=e.computed((()=>null===d.value));E.value=()=>new Promise(((t,n)=>{!o.value&&c.value&&l().catch(n),e.watch((()=>s.value),(()=>!s.value&&t(!!e.unref(o))),{immediate:!0})})),t.provide(i,{session:{fetchSession:l,isLoading:e.readonly(s),session:e.readonly(o),isFetchSessionWasNeverCalled:c},user:{fetchUser:async()=>{d.value=!0,await r.me(),d.value=!1},isLoading:e.readonly(d),user:e.readonly(u),isFetchUserWasNeverCalled:p},sdk:r,options:n})}};exports.AccessKeyManagement=q,exports.AuditManagement=B,exports.Descope=w,exports.RoleManagement=j,exports.UserManagement=k,exports.default=U,exports.getJwtPermissions=h,exports.getJwtRoles=v,exports.getRefreshToken=y,exports.getSdk=()=>I,exports.getSessionToken=f,exports.isRefreshTokenExpired=(e=y())=>g?.isJwtExpired(e),exports.isSessionTokenExpired=(e=f())=>g?.isJwtExpired(e),exports.routeGuard=()=>e.unref(E)?.(),exports.useDescope=c,exports.useSession=()=>{const{session:t}=u();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e.computed((()=>!!t.session.value))}},exports.useUser=()=>{const{user:t,session:n}=u(),r=()=>{!t.user.value&&n.session.value&&t.fetchUser()};return r(),e.watch(n.session,r),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { App } from 'vue';
|
|
|
3
3
|
import * as _descope_web_js_sdk from '@descope/web-js-sdk';
|
|
4
4
|
import * as _descope_core_js_sdk from '@descope/core-js-sdk';
|
|
5
5
|
|
|
6
|
-
declare const _default$
|
|
6
|
+
declare const _default$5: vue.DefineComponent<{
|
|
7
7
|
flowId: {
|
|
8
8
|
type: StringConstructor;
|
|
9
9
|
required: true;
|
|
@@ -84,6 +84,42 @@ declare const _default$4: vue.DefineComponent<{
|
|
|
84
84
|
autoFocus: boolean;
|
|
85
85
|
}>;
|
|
86
86
|
|
|
87
|
+
declare const _default$4: vue.DefineComponent<{
|
|
88
|
+
tenant: {
|
|
89
|
+
type: StringConstructor;
|
|
90
|
+
required: true;
|
|
91
|
+
};
|
|
92
|
+
widgetId: {
|
|
93
|
+
type: StringConstructor;
|
|
94
|
+
required: true;
|
|
95
|
+
};
|
|
96
|
+
theme: {
|
|
97
|
+
type: StringConstructor;
|
|
98
|
+
};
|
|
99
|
+
debug: {
|
|
100
|
+
type: BooleanConstructor;
|
|
101
|
+
};
|
|
102
|
+
}, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
103
|
+
[key: string]: any;
|
|
104
|
+
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
105
|
+
tenant: {
|
|
106
|
+
type: StringConstructor;
|
|
107
|
+
required: true;
|
|
108
|
+
};
|
|
109
|
+
widgetId: {
|
|
110
|
+
type: StringConstructor;
|
|
111
|
+
required: true;
|
|
112
|
+
};
|
|
113
|
+
theme: {
|
|
114
|
+
type: StringConstructor;
|
|
115
|
+
};
|
|
116
|
+
debug: {
|
|
117
|
+
type: BooleanConstructor;
|
|
118
|
+
};
|
|
119
|
+
}>>, {
|
|
120
|
+
debug: boolean;
|
|
121
|
+
}>;
|
|
122
|
+
|
|
87
123
|
declare const _default$3: vue.DefineComponent<{
|
|
88
124
|
tenant: {
|
|
89
125
|
type: StringConstructor;
|
|
@@ -4401,5 +4437,5 @@ declare const isRefreshTokenExpired: (token?: string) => boolean;
|
|
|
4401
4437
|
declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
|
|
4402
4438
|
declare const getJwtRoles: (token?: any, tenant?: string) => string[];
|
|
4403
4439
|
|
|
4404
|
-
export { _default$
|
|
4440
|
+
export { _default$2 as AccessKeyManagement, _default$1 as AuditManagement, _default$5 as Descope, _default$3 as RoleManagement, _default$4 as UserManagement, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, isRefreshTokenExpired, isSessionTokenExpired, routeGuard, useDescope, useSession, useUser };
|
|
4405
4441
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed as e,watch as t,inject as
|
|
1
|
+
import{computed as e,watch as t,inject as n,defineComponent as s,openBlock as r,createElementBlock as o,createElementVNode as i,unref as a,ref as d,readonly as u}from"vue";import l from"@descope/web-component";import c from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";import"@descope/audit-management-widget";const p=Symbol("$descope"),g={"x-descope-sdk-name":"vue","x-descope-sdk-version":"0.0.0-next-d3b7ecbc-20240411"},m="undefined"!=typeof window,y=()=>{const e=n(p);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},b=()=>y().options,v=()=>y().sdk,h=()=>{const{session:t}=y();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e((()=>!!t.session.value))}},f=()=>{const{user:n,session:s}=y(),r=()=>{!n.user.value&&s.session.value&&n.fetchUser()};return r(),t(s.session,r),{isLoading:e((()=>n.isLoading.value||n.isFetchUserWasNeverCalled.value)),user:n.user}},w=e=>(...t)=>{let n;try{n=e(...t)}catch(e){console.error(e)}return n};let S;const k=e=>{const t=c({...e,persistTokens:m,autoRefresh:m});return S=t,t};S=k({projectId:"temp pid"});const _=()=>m?S?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),j=()=>m?S?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),I=(e=_())=>S?.isJwtExpired(e),R=(e=j())=>S?.isJwtExpired(e),U=w(((e=_(),t)=>S?.getJwtPermissions(e,t))),q=w(((e=_(),t)=>S?.getJwtRoles(e,t))),M=["project-id","base-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus",".errorTransformer","^form","^client"];var T=s({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean},errorTransformer:{type:Function},form:{type:Object},client:{type:Object}},emits:["success","error","ready"],setup(t,{emit:n}){const s=t;l.sdkConfigOverrides={baseHeaders:g,persistTokens:!1,hooks:{get beforeRequest(){return S.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const{projectId:d,baseUrl:u}=b(),c=v(),p=e((()=>s.form?JSON.stringify(s.form):"")),m=e((()=>s.client?JSON.stringify(s.client):"")),y=async e=>{await(c.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),n("success",e)},h=e=>n("error",e),f=e=>n("ready",e);return(e,n)=>(r(),o("div",null,[i("descope-wc",{"project-id":a(d),"base-url":a(u),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,".errorTransformer":t.errorTransformer,"^form":a(p),"^client":a(m),onSuccess:y,onError:h,onReady:f},null,40,M)]))}});T.__file="src/Descope.vue";const C=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var F=s({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:n}=b();return(s,d)=>(r(),o("div",null,[i("descope-user-management-widget",{"project-id":a(t),"base-url":a(n),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,C)]))}});F.__file="src/UserManagement.vue";const N=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var x=s({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:n}=b();return(s,d)=>(r(),o("div",null,[i("descope-role-management-widget",{"project-id":a(t),"base-url":a(n),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,N)]))}});x.__file="src/RoleManagement.vue";const A=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var J=s({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:n}=b();return(s,d)=>(r(),o("div",null,[i("descope-access-key-management-widget",{"project-id":a(t),"base-url":a(n),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,A)]))}});J.__file="src/AccessKeyManagement.vue";const K=["project-id","base-url","^theme","^tenant","^debug","widget-id"];var B=s({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:n}=b();return(s,d)=>(r(),o("div",null,[i("descope-audit-management-widget",{"project-id":a(t),"base-url":a(n),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,K)]))}});B.__file="src/AuditManagement.vue";const L=d(null),O=()=>a(L)?.();let D;const W=()=>D;var E={install:function(n,s){const r=k({...s,persistTokens:!0,autoRefresh:!0,baseHeaders:g});D=r;const o=d(null),i=d(""),l=d(null),c=d(null);r.onSessionTokenChange((e=>{i.value=e})),r.onUserChange((e=>{c.value=e}));const m=async()=>{o.value=!0,await r.refresh(),o.value=!1},y=e((()=>null===o.value)),b=e((()=>null===l.value));L.value=()=>new Promise(((e,n)=>{!i.value&&y.value&&m().catch(n),t((()=>o.value),(()=>!o.value&&e(!!a(i))),{immediate:!0})})),n.provide(p,{session:{fetchSession:m,isLoading:u(o),session:u(i),isFetchSessionWasNeverCalled:y},user:{fetchUser:async()=>{l.value=!0,await r.me(),l.value=!1},isLoading:u(l),user:u(c),isFetchUserWasNeverCalled:b},sdk:r,options:s})}};export{J as AccessKeyManagement,B as AuditManagement,T as Descope,x as RoleManagement,F as UserManagement,E as default,U as getJwtPermissions,q as getJwtRoles,j as getRefreshToken,W as getSdk,_ as getSessionToken,R as isRefreshTokenExpired,I as isSessionTokenExpired,O as routeGuard,v as useDescope,h as useSession,f as useUser};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descope/vue-sdk",
|
|
3
|
-
"version": "0.0.0-next-
|
|
3
|
+
"version": "0.0.0-next-d3b7ecbc-20240411",
|
|
4
4
|
"main": "dist/index.cjs",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -37,10 +37,11 @@
|
|
|
37
37
|
]
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@descope/access-key-management-widget": "0.1.
|
|
41
|
-
"@descope/
|
|
42
|
-
"@descope/
|
|
43
|
-
"@descope/
|
|
40
|
+
"@descope/access-key-management-widget": "0.1.35",
|
|
41
|
+
"@descope/audit-management-widget": "0.1.0",
|
|
42
|
+
"@descope/role-management-widget": "0.1.35",
|
|
43
|
+
"@descope/user-management-widget": "0.4.36",
|
|
44
|
+
"@descope/web-component": "3.8.39"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
46
47
|
"vue": ">=3"
|