@donotdev/oauth 0.0.2 → 0.0.3

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.
@@ -2,7 +2,7 @@
2
2
  * @fileoverview OAuth Partner Button - Simple OAuth button like AuthPartnerButton
3
3
  * @description Simple OAuth button that uses useOAuth() directly
4
4
  *
5
- * @version 0.0.1
5
+ * @version 0.0.3
6
6
  * @since 0.0.1
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
@@ -20,7 +20,7 @@ interface OAuthPartnerButtonProps {
20
20
  * Simple OAuth button like AuthPartnerButton
21
21
  * Uses useOAuth() directly - no complex logic
22
22
  *
23
- * @version 0.0.1
23
+ * @version 0.0.3
24
24
  * @since 0.0.1
25
25
  * @author AMBROISE PARK Consulting
26
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthPartnerButton.d.ts","sourceRoot":"","sources":["../../src/components/OAuthPartnerButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInE,UAAU,uBAAuB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,OAAsB,EACtB,SAAS,EACT,YAAY,EACZ,SAAc,EACd,QAAQ,EACR,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,2CAuCzE"}
1
+ {"version":3,"file":"OAuthPartnerButton.d.ts","sourceRoot":"","sources":["../../src/components/OAuthPartnerButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInE,UAAU,uBAAuB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,OAAsB,EACtB,SAAS,EACT,YAAY,EACZ,SAAc,EACd,QAAQ,EACR,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,2CAwCzE"}
@@ -1 +1 @@
1
- import{jsx as f}from"react/jsx-runtime";import{useOAuth as e}from"../useOAuth";function $({partnerId:t,purpose:o="api-access",onSuccess:n,onOAuthError:s,className:a="",children:i,disabled:d=!1,...u}){const p=e("isConnected"),l=e("connect"),h=e("disconnect"),r=e("loading"),m=e("error"),c=p(t);return f("button",{onClick:async()=>{try{c?await h(t):(await l(t,o),n?.({partnerId:t,purpose:o}))}catch(C){s?.(C)}},disabled:d||r,className:a,title:m||void 0,...u,children:i||(r?`Connecting to ${t}...`:c?`Disconnect ${t}`:`Connect ${t}`)})}export{$ as OAuthPartnerButton};
1
+ import{jsx as b}from"react/jsx-runtime";import{useOAuth as e}from"../useOAuth";function f({partnerId:n,purpose:t="api-access",onSuccess:c,onOAuthError:o,className:a="",children:i,disabled:d=!1,...u}){const p=e("isConnected"),l=e("connect"),h=e("disconnect"),s=e("status")==="initializing",m=e("error"),r=p(n);return b("button",{onClick:async()=>{try{r?await h(n):(await l(n,t),c?.({partnerId:n,purpose:t}))}catch(C){o?.(C)}},disabled:d||s,className:a,title:m||void 0,...u,children:i||(s?`Connecting to ${n}...`:r?`Disconnect ${n}`:`Connect ${n}`)})}export{f as OAuthPartnerButton};
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @fileoverview OAuth Store - Simple Zustand store
3
- * @description Single source of truth for OAuth state
3
+ * @description Single source of truth for OAuth state.
4
+ * Uses unified FeatureStatus enum for lifecycle management.
4
5
  *
5
6
  * **Architecture:**
6
7
  * - Pure Zustand store (no events)
@@ -8,11 +9,11 @@
8
9
  * - Persists OAuth connections
9
10
  * - Partner credential management
10
11
  *
11
- * @version 0.0.1
12
+ * @version 0.0.3
12
13
  * @since 0.0.1
13
14
  * @author AMBROISE PARK Consulting
14
15
  */
15
- import { type OAuthPartnerId, type OAuthCredentials, type OAuthPurpose } from '@donotdev/core';
16
+ import { type OAuthPartnerId, type OAuthCredentials, type OAuthPurpose, type FeatureStatus } from '@donotdev/core';
16
17
  /**
17
18
  * OAuth connection state for a single partner
18
19
  */
@@ -28,9 +29,11 @@ interface OAuthPartnerState {
28
29
  * OAuth store state interface
29
30
  */
30
31
  interface OAuthState {
32
+ status: FeatureStatus;
31
33
  loading: boolean;
32
34
  error: string | null;
33
35
  partners: Record<OAuthPartnerId, OAuthPartnerState>;
36
+ setStatus: (status: FeatureStatus) => void;
34
37
  setLoading: (loading: boolean) => void;
35
38
  setError: (error: string | null) => void;
36
39
  setPartnerConnecting: (partnerId: OAuthPartnerId, connecting: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"oauthStore.d.ts","sourceRoot":"","sources":["../src/oauthStore.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,UAAU,iBAAiB;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,UAAU;IAElB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAGpD,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,oBAAoB,EAAE,CACpB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,OAAO,KAChB,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,YAAY,KAClB,IAAI,CAAC;IACV,sBAAsB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAG3E,WAAW,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC;IACpD,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACvE,oBAAoB,EAAE,MAAM,cAAc,EAAE,CAAC;IAC7C,eAAe,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,iBAAiB,GAAG,IAAI,CAAC;CAC1E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oHAsGxB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,eAAgD,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,aAAa,qBAA8C,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sLAAiD,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,cAAc,6BACG,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,cAAc,YACH,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,cAAc,4BACF,CAAC"}
1
+ {"version":3,"file":"oauthStore.d.ts","sourceRoot":"","sources":["../src/oauthStore.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,UAAU,iBAAiB;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,UAAU;IAElB,MAAM,EAAE,aAAa,CAAC;IAGtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAGpD,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,oBAAoB,EAAE,CACpB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,OAAO,KAChB,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,YAAY,KAClB,IAAI,CAAC;IACV,sBAAsB,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAG3E,WAAW,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC;IACpD,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACvE,oBAAoB,EAAE,MAAM,cAAc,EAAE,CAAC;IAC7C,eAAe,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,iBAAiB,GAAG,IAAI,CAAC;CAC1E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oHAyGxB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,eAAgD,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,aAAa,qBAA8C,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sLAAiD,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,cAAc,6BACG,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,cAAc,YACH,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,cAAc,4BACF,CAAC"}
@@ -1 +1 @@
1
- import{createDoNotDevStore as i}from"@donotdev/core";const a=i({name:"oauth-store",createStore:(r,n)=>({loading:!1,error:null,partners:{},setLoading:e=>r({loading:e}),setError:e=>r({error:e}),setPartnerConnecting:(e,t)=>r(s=>({partners:{...s.partners,[e]:{...s.partners[e],isConnecting:t,error:t?null:s.partners[e]?.error}}})),setPartnerConnected:(e,t,s)=>r(o=>({partners:{...o.partners,[e]:{isConnected:!0,isConnecting:!1,credentials:t,error:null,lastConnected:new Date().toISOString(),purpose:s}}})),setPartnerDisconnected:e=>r(t=>({partners:{...t.partners,[e]:{isConnected:!1,isConnecting:!1,credentials:null,error:null,lastConnected:t.partners[e]?.lastConnected}}})),setPartnerError:(e,t)=>r(s=>({partners:{...s.partners,[e]:{...s.partners[e],isConnecting:!1,error:t}}})),isConnected:e=>n().partners[e]?.isConnected||!1,getCredentials:e=>n().partners[e]?.credentials||null,getConnectedPartners:()=>{const e=n();return Object.entries(e.partners).filter(([t,s])=>s.isConnected).map(([t])=>t)},getPartnerState:e=>n().partners[e]||null}),persistOptions:{name:"dndev-oauth-store",partialize:r=>({partners:r.partners})}}),l=()=>a(r=>r.loading),p=()=>a(r=>r.error),c=()=>a(r=>r.partners),d=r=>a(n=>n.getPartnerState(r)),u=r=>a(n=>n.isConnected(r)),C=r=>a(n=>n.getCredentials(r));export{u as useOAuthConnected,C as useOAuthCredentials,p as useOAuthError,l as useOAuthLoading,d as useOAuthPartner,c as useOAuthPartners,a as useOAuthStore};
1
+ import{createDoNotDevStore as i,FEATURE_STATUS as p}from"@donotdev/core";const a=i({name:"oauth-store",createStore:(r,n)=>({status:p.READY,loading:!1,error:null,partners:{},setStatus:e=>r({status:e}),setLoading:e=>r({loading:e}),setError:e=>r({error:e}),setPartnerConnecting:(e,t)=>r(s=>({partners:{...s.partners,[e]:{...s.partners[e],isConnecting:t,error:t?null:s.partners[e]?.error}}})),setPartnerConnected:(e,t,s)=>r(o=>({partners:{...o.partners,[e]:{isConnected:!0,isConnecting:!1,credentials:t,error:null,lastConnected:new Date().toISOString(),purpose:s}}})),setPartnerDisconnected:e=>r(t=>({partners:{...t.partners,[e]:{isConnected:!1,isConnecting:!1,credentials:null,error:null,lastConnected:t.partners[e]?.lastConnected}}})),setPartnerError:(e,t)=>r(s=>({partners:{...s.partners,[e]:{...s.partners[e],isConnecting:!1,error:t}}})),isConnected:e=>n().partners[e]?.isConnected||!1,getCredentials:e=>n().partners[e]?.credentials||null,getConnectedPartners:()=>{const e=n();return Object.entries(e.partners).filter(([t,s])=>s.isConnected).map(([t])=>t)},getPartnerState:e=>n().partners[e]||null}),persistOptions:{name:"dndev-oauth-store",partialize:r=>({partners:r.partners})}}),u=()=>a(r=>r.loading),c=()=>a(r=>r.error),l=()=>a(r=>r.partners),d=r=>a(n=>n.getPartnerState(r)),C=r=>a(n=>n.isConnected(r)),g=r=>a(n=>n.getCredentials(r));export{C as useOAuthConnected,g as useOAuthCredentials,c as useOAuthError,u as useOAuthLoading,d as useOAuthPartner,l as useOAuthPartners,a as useOAuthStore};