@ossy/sdk-react 0.1.3 → 0.1.5

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.
Files changed (102) hide show
  1. package/build/node_modules/ramda/es/always.js +1 -0
  2. package/build/node_modules/ramda/es/assocPath.js +1 -0
  3. package/build/node_modules/ramda/es/curry.js +1 -0
  4. package/build/node_modules/ramda/es/curryN.js +1 -0
  5. package/build/node_modules/ramda/es/equals.js +1 -0
  6. package/build/node_modules/ramda/es/findIndex.js +1 -0
  7. package/build/node_modules/ramda/es/internal/_arity.js +1 -0
  8. package/build/node_modules/ramda/es/internal/_arrayFromIterator.js +1 -0
  9. package/build/node_modules/ramda/es/internal/_arrayReduce.js +1 -0
  10. package/build/node_modules/ramda/es/internal/_assoc.js +1 -0
  11. package/build/node_modules/ramda/es/internal/_curry1.js +1 -0
  12. package/build/node_modules/ramda/es/internal/_curry2.js +1 -0
  13. package/build/node_modules/ramda/es/internal/_curry3.js +1 -0
  14. package/build/node_modules/ramda/es/internal/_curryN.js +1 -0
  15. package/build/node_modules/ramda/es/internal/_dispatchable.js +1 -0
  16. package/build/node_modules/ramda/es/internal/_equals.js +1 -0
  17. package/build/node_modules/ramda/es/internal/_functionName.js +1 -0
  18. package/build/node_modules/ramda/es/internal/_has.js +1 -0
  19. package/build/node_modules/ramda/es/internal/_includesWith.js +1 -0
  20. package/build/node_modules/ramda/es/internal/_isArguments.js +1 -0
  21. package/build/node_modules/ramda/es/internal/_isArray.js +1 -0
  22. package/build/node_modules/ramda/es/internal/_isInteger.js +1 -0
  23. package/build/node_modules/ramda/es/internal/_isPlaceholder.js +1 -0
  24. package/build/node_modules/ramda/es/internal/_isTransformer.js +1 -0
  25. package/build/node_modules/ramda/es/internal/_map.js +1 -0
  26. package/build/node_modules/ramda/es/internal/_nth.js +1 -0
  27. package/build/node_modules/ramda/es/internal/_objectIs.js +1 -0
  28. package/build/node_modules/ramda/es/internal/_path.js +1 -0
  29. package/build/node_modules/ramda/es/internal/_prop.js +1 -0
  30. package/build/node_modules/ramda/es/internal/_reduced.js +1 -0
  31. package/build/node_modules/ramda/es/internal/_xfBase.js +1 -0
  32. package/build/node_modules/ramda/es/internal/_xfindIndex.js +1 -0
  33. package/build/node_modules/ramda/es/internal/_xmap.js +1 -0
  34. package/build/node_modules/ramda/es/isNil.js +1 -0
  35. package/build/node_modules/ramda/es/keys.js +1 -0
  36. package/build/node_modules/ramda/es/lens.js +1 -0
  37. package/build/node_modules/ramda/es/lensPath.js +1 -0
  38. package/build/node_modules/ramda/es/map.js +1 -0
  39. package/build/node_modules/ramda/es/over.js +1 -0
  40. package/build/node_modules/ramda/es/path.js +1 -0
  41. package/build/node_modules/ramda/es/prop.js +1 -0
  42. package/build/node_modules/ramda/es/propEq.js +1 -0
  43. package/build/node_modules/ramda/es/remove.js +1 -0
  44. package/build/node_modules/ramda/es/set.js +1 -0
  45. package/build/node_modules/ramda/es/type.js +1 -0
  46. package/build/node_modules/tslib/tslib.es6.js +1 -0
  47. package/build/public.index.d.ts +108 -0
  48. package/build/sdk-react/src/Cache.js +1 -0
  49. package/build/sdk-react/src/WorkspaceProvider.js +1 -0
  50. package/build/sdk-react/src/asyncStatus.js +1 -0
  51. package/build/sdk-react/src/public.index.js +1 -0
  52. package/build/sdk-react/src/removeBy.js +1 -0
  53. package/build/sdk-react/src/replaceBy.js +1 -0
  54. package/build/sdk-react/src/useApiTokens.js +1 -0
  55. package/build/sdk-react/src/useAuthentication.js +1 -0
  56. package/build/sdk-react/src/useQuery.js +1 -0
  57. package/build/sdk-react/src/useResource.js +1 -0
  58. package/build/sdk-react/src/useResourceTemplate.js +1 -0
  59. package/build/sdk-react/src/useResources.js +1 -0
  60. package/build/sdk-react/src/useSdk.js +1 -0
  61. package/build/sdk-react/src/useUser.js +1 -0
  62. package/build/sdk-react/src/useUsers.js +1 -0
  63. package/build/sdk-react/src/useWorkspace.js +1 -0
  64. package/build/sdk-react/src/useWorkspaces.js +1 -0
  65. package/build/types/Cache.d.ts +10 -0
  66. package/build/types/WorkspaceProvider.d.ts +7 -0
  67. package/build/types/asyncStatus.d.ts +6 -0
  68. package/build/types/public.index.d.ts +13 -0
  69. package/build/types/removeBy.d.ts +1 -0
  70. package/build/types/replaceBy.d.ts +1 -0
  71. package/build/types/useApiTokens.d.ts +10 -0
  72. package/build/types/useAuthentication.d.ts +16 -0
  73. package/build/types/useQuery.d.ts +4 -0
  74. package/build/types/useResource.d.ts +8 -0
  75. package/build/types/useResourceTemplate.d.ts +1 -0
  76. package/build/types/useResources.d.ts +15 -0
  77. package/build/types/useSdk.d.ts +1 -0
  78. package/build/types/useUser.d.ts +5 -0
  79. package/build/types/useUsers.d.ts +5 -0
  80. package/build/types/useWorkspace.d.ts +7 -0
  81. package/build/types/useWorkspaces.d.ts +6 -0
  82. package/package.json +6 -2
  83. package/CHANGELOG.md +0 -155
  84. package/rollup.config.js +0 -44
  85. package/src/Cache.tsx +0 -76
  86. package/src/WorkspaceProvider.tsx +0 -27
  87. package/src/asyncStatus.ts +0 -6
  88. package/src/public.index.ts +0 -13
  89. package/src/removeBy.js +0 -7
  90. package/src/replaceBy.js +0 -6
  91. package/src/useApiTokens.ts +0 -63
  92. package/src/useAuthentication.ts +0 -105
  93. package/src/useQuery.ts +0 -49
  94. package/src/useResource.ts +0 -91
  95. package/src/useResourceTemplate.ts +0 -8
  96. package/src/useResources.ts +0 -163
  97. package/src/useSdk.ts +0 -7
  98. package/src/useUser.ts +0 -55
  99. package/src/useUsers.ts +0 -38
  100. package/src/useWorkspace.ts +0 -67
  101. package/src/useWorkspaces.ts +0 -49
  102. package/tsconfig.json +0 -27
package/CHANGELOG.md DELETED
@@ -1,155 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## 0.1.3 (2025-10-31)
7
-
8
- **Note:** Version bump only for package @ossy/sdk-react
9
-
10
-
11
-
12
-
13
-
14
- ## 0.1.2 (2025-10-31)
15
-
16
- **Note:** Version bump only for package @ossy/sdk-react
17
-
18
-
19
-
20
-
21
-
22
- ## 0.1.1 (2025-10-31)
23
-
24
- **Note:** Version bump only for package @ossy/sdk-react
25
-
26
-
27
-
28
-
29
-
30
- # 0.1.0 (2025-10-30)
31
-
32
-
33
- ### Features
34
-
35
- * **sdk:** get current workspace ([#4](https://github.com/ossy-se/packages/issues/4)) ([afce7d5](https://github.com/ossy-se/packages/commit/afce7d5787af42691f62c9eba672ea1be000e19e))
36
-
37
-
38
-
39
-
40
-
41
- ## 0.0.16 (2025-10-30)
42
-
43
- **Note:** Version bump only for package @ossy/sdk-react
44
-
45
-
46
-
47
-
48
-
49
- ## 0.0.15 (2025-10-27)
50
-
51
- **Note:** Version bump only for package @ossy/sdk-react
52
-
53
-
54
-
55
-
56
-
57
- ## 0.0.14 (2025-10-27)
58
-
59
- **Note:** Version bump only for package @ossy/sdk-react
60
-
61
-
62
-
63
-
64
-
65
- ## 0.0.13 (2025-10-27)
66
-
67
- **Note:** Version bump only for package @ossy/sdk-react
68
-
69
-
70
-
71
-
72
-
73
- ## 0.0.12 (2025-10-27)
74
-
75
- **Note:** Version bump only for package @ossy/sdk-react
76
-
77
-
78
-
79
-
80
-
81
- ## 0.0.11 (2025-10-27)
82
-
83
- **Note:** Version bump only for package @ossy/sdk-react
84
-
85
-
86
-
87
-
88
-
89
- ## 0.0.10 (2025-10-25)
90
-
91
- **Note:** Version bump only for package @ossy/sdk-react
92
-
93
-
94
-
95
-
96
-
97
- ## 0.0.9 (2025-10-25)
98
-
99
- **Note:** Version bump only for package @ossy/sdk-react
100
-
101
-
102
-
103
-
104
-
105
- ## 0.0.8 (2025-10-25)
106
-
107
- **Note:** Version bump only for package @ossy/sdk-react
108
-
109
-
110
-
111
-
112
-
113
- ## 0.0.7 (2025-10-25)
114
-
115
- **Note:** Version bump only for package @ossy/sdk-react
116
-
117
-
118
-
119
-
120
-
121
- ## 0.0.6 (2025-10-25)
122
-
123
- **Note:** Version bump only for package @ossy/sdk-react
124
-
125
-
126
-
127
-
128
-
129
- ## 0.0.5 (2025-10-25)
130
-
131
- **Note:** Version bump only for package @ossy/sdk-react
132
-
133
-
134
-
135
-
136
-
137
- ## 0.0.4 (2025-10-25)
138
-
139
- **Note:** Version bump only for package @ossy/sdk-react
140
-
141
-
142
-
143
-
144
-
145
- ## 0.0.3 (2025-10-25)
146
-
147
- **Note:** Version bump only for package @ossy/sdk-react
148
-
149
-
150
-
151
-
152
-
153
- ## 0.0.2 (2025-10-25)
154
-
155
- **Note:** Version bump only for package @ossy/sdk-react
package/rollup.config.js DELETED
@@ -1,44 +0,0 @@
1
- import babel from '@rollup/plugin-babel'
2
- import { nodeResolve as resolveDependencies } from '@rollup/plugin-node-resolve'
3
- import resolveCommonJsDependencies from '@rollup/plugin-commonjs'
4
- import removeOwnPeerDependencies from 'rollup-plugin-peer-deps-external'
5
- import minifyJS from '@rollup/plugin-terser'
6
- import typescript from '@rollup/plugin-typescript'
7
- import preserveDirectives from "rollup-plugin-preserve-directives"
8
- import { dts } from "rollup-plugin-dts"
9
- import pkg from './package.json' with { type: 'json' };
10
-
11
- export default [
12
- {
13
- input: pkg.source,
14
- output: [
15
- {
16
- dir: 'build',
17
- preserveModules: true,
18
- format: 'esm'
19
- }
20
- ],
21
- plugins: [
22
- resolveCommonJsDependencies(),
23
- resolveDependencies(),
24
- removeOwnPeerDependencies(),
25
- babel({
26
- exclude: ['**/node_modules/**/*'],
27
- presets: ['@babel/preset-react']
28
- }),
29
- minifyJS(),
30
- preserveDirectives(),
31
- typescript({
32
- tsconfig: "./tsconfig.json",
33
- outDir: 'build',
34
- }),
35
- ]
36
- },
37
- {
38
- input: "build/types/public.index.d.ts",
39
- output: [{ file: "build/public.index.d.ts", format: "es" }],
40
- plugins: [
41
- dts()
42
- ],
43
- },
44
- ]
package/src/Cache.tsx DELETED
@@ -1,76 +0,0 @@
1
- import React, {
2
- createContext,
3
- useReducer,
4
- useContext,
5
- useCallback
6
- } from 'react'
7
-
8
- const getInitialState = () => ({})
9
- export const CacheContext = createContext<any>({})
10
-
11
- const Actions = {
12
- Set: 'SET'
13
- }
14
-
15
- const createReducer = ({ set, get }: { set: any, get: any }) => (
16
- state = getInitialState(),
17
- action: any
18
- ) => {
19
- switch (action.type) {
20
-
21
- case Actions.Set: {
22
- let data
23
-
24
- if (typeof action.data === 'function') {
25
- const previousValue = get(action.cachePath, state)
26
- data = action.data(previousValue)
27
- } else {
28
- data = action.data
29
- }
30
-
31
- return set(action.cachePath, data, state)
32
- }
33
-
34
- default:
35
- return ({ ...state })
36
-
37
- }
38
- }
39
-
40
- export const createCache = ({ get: _get, set: _set }: { get: any, set: any}) => (props: any) => {
41
-
42
- const [state, updateState] = useReducer(
43
- createReducer({ set: _set, get: _get }),
44
- getInitialState()
45
- )
46
-
47
- const set = useCallback((cachePath: any) => (data: any) => {
48
- updateState({ type: Actions.Set, cachePath, data })
49
- }, [updateState])
50
-
51
- const get = useCallback((cachePath: any) =>
52
- _get(cachePath, state),
53
- [state, _get]
54
- )
55
-
56
- return (
57
- <CacheContext.Provider value={{ get, set }} {...props} />
58
- )
59
- }
60
-
61
- export const useCache = (cachePath: any, defaultValue?: any) => {
62
- // TODO: Add default value to context here, otherwise it will be undefined in the set((data) => { ... }) function
63
- const { get, set } = useContext(CacheContext)
64
-
65
- const getData = () => {
66
- const data = get(cachePath)
67
- return data === undefined || data === null
68
- ? defaultValue
69
- : data
70
- }
71
-
72
- return ({
73
- data: getData(),
74
- set: set(cachePath)
75
- })
76
- }
@@ -1,27 +0,0 @@
1
- import React, { createContext, PropsWithChildren } from 'react'
2
- import { createCache } from './Cache'
3
- import { path, set, lensPath } from 'ramda'
4
- import { type SDK } from '@ossy/sdk'
5
-
6
- export const Context = createContext<Config>({} as Config)
7
-
8
- const Cache = createCache({
9
- get: path,
10
- set: (path: any, value: any, data: any) => set(lensPath(path), value, data)
11
- })
12
-
13
- export interface Config {
14
- sdk: SDK
15
- }
16
-
17
- export const WorkspaceProvider = ({ sdk, children }: PropsWithChildren<Config>) => {
18
- return (
19
- <Cache>
20
- <Context.Provider value={{ sdk }}>
21
- {children}
22
- </Context.Provider>
23
- </Cache>
24
- )
25
- }
26
-
27
-
@@ -1,6 +0,0 @@
1
- export const AsyncStatus = {
2
- NotInitialized: 'NotInitialized',
3
- Loading: 'Loading',
4
- Success: 'Success',
5
- Error: 'Error'
6
- }
@@ -1,13 +0,0 @@
1
- export * from './asyncStatus'
2
- export * from './useApiTokens'
3
- export * from './useAuthentication'
4
- export * from './useWorkspace'
5
- export * from './useWorkspaces'
6
- export * from './useQuery'
7
- export * from './useResource'
8
- export * from './useResourceTemplate'
9
- export * from './useResources'
10
- export * from './WorkspaceProvider'
11
- export * from './useSdk'
12
- export * from './useUser'
13
- export * from './useUsers'
package/src/removeBy.js DELETED
@@ -1,7 +0,0 @@
1
- import { remove, findIndex, propEq, curry } from 'ramda'
2
-
3
- export const removeBy = curry((prop, propValue, list) => {
4
- const index = findIndex(propEq(prop, propValue), list)
5
- const temp = index === -1 ? list : remove(index, 1, list)
6
- return temp
7
- })
package/src/replaceBy.js DELETED
@@ -1,6 +0,0 @@
1
- import { curry, map } from 'ramda'
2
-
3
- export const replaceBy = curry((prop, item, list) => map(
4
- oldItem => oldItem[prop] === item[prop] ? item : oldItem,
5
- list
6
- ))
@@ -1,63 +0,0 @@
1
- import { useCallback, useEffect } from 'react'
2
- import { useCache } from './Cache'
3
- import { AsyncStatus } from './asyncStatus'
4
- import { useSdk } from './useSdk'
5
- import { removeBy } from './removeBy'
6
-
7
- const statusPath = ['apiTokens', 'status']
8
- const dataPath = ['apiTokens', 'data']
9
-
10
- export const useApiTokens = () => {
11
- const sdk = useSdk()
12
-
13
- const {
14
- data: status = AsyncStatus.NotInitialized,
15
- set: setStatus
16
- } = useCache(statusPath)
17
-
18
- const {
19
- data: tokens = [],
20
- set: setTokens
21
- } = useCache(dataPath)
22
-
23
- const createApiToken = useCallback(
24
- (token: {
25
- name: string;
26
- description: string;
27
- expiresAt: string;
28
- }) => sdk.apiTokens.create(token)
29
- .then((token: any) => {
30
- setTokens((tokens: any[]) => [...tokens, token])
31
- return token
32
- }),
33
- [sdk]
34
- )
35
-
36
- const invalidateApiToken = useCallback(
37
- (id: string) => sdk.apiTokens.invalidate({ id })
38
- .then(() => setTokens((tokens: any[]) => removeBy('id', id, tokens))),
39
- [sdk]
40
- )
41
-
42
- const loadApiTokens = useCallback(() => {
43
- setStatus(AsyncStatus.Loading)
44
- sdk.apiTokens.list()
45
- .then((tokens: any[]) => {
46
- setTokens(tokens)
47
- setStatus(AsyncStatus.Success)
48
- })
49
- .catch(() => { setStatus(AsyncStatus.Error) })
50
- }, [sdk])
51
-
52
- useEffect(() => {
53
- if (status !== AsyncStatus.NotInitialized) return
54
- loadApiTokens()
55
- }, [status])
56
-
57
- return {
58
- status,
59
- tokens,
60
- createApiToken,
61
- invalidateApiToken,
62
- }
63
- }
@@ -1,105 +0,0 @@
1
- import { useCallback, useEffect } from 'react'
2
- import { useCache } from './Cache'
3
- import { useSdk } from './useSdk'
4
-
5
- export const AuthenticationStatus = {
6
- AuthenticationError: 'AuthenticationError',
7
- NotInitialized: 'NotInitialized',
8
- NotAuthenticated: 'NotAuthenticated',
9
- Verifying: 'Verifying',
10
- Authenticated: 'Authenticated',
11
- VerifySignIn: 'VerifySignIn'
12
- }
13
-
14
- const statusPath = ['auth', 'status']
15
-
16
- export const useAuthentication = () => {
17
- const sdk = useSdk()
18
-
19
- const {
20
- data: status = AuthenticationStatus.NotInitialized,
21
- set: setStatus
22
- } = useCache(statusPath)
23
-
24
- const signUp = useCallback(
25
- (email: string) => {
26
- setStatus(() => AuthenticationStatus.Verifying)
27
- return sdk.auth.signUp({ email })
28
- .then(() => setStatus(AuthenticationStatus.VerifySignIn))
29
- .catch((error: any) => {
30
- setStatus(AuthenticationStatus.AuthenticationError)
31
- return Promise.reject(error)
32
- })
33
- },
34
- [sdk]
35
- )
36
-
37
- const signIn = useCallback(
38
- (email: any) => {
39
- setStatus(() => AuthenticationStatus.Verifying)
40
- return sdk.auth.signIn(email)
41
- .then(() => setStatus(AuthenticationStatus.VerifySignIn))
42
- .catch((error: any) => {
43
- setStatus(AuthenticationStatus.AuthenticationError)
44
- return Promise.reject(error)
45
- })
46
- },
47
- [sdk]
48
- )
49
-
50
- const verifySignIn = useCallback(
51
- (token: string) => {
52
- setStatus(() => AuthenticationStatus.Verifying)
53
- return sdk.auth.verifySignIn({ token })
54
- .then(() => setStatus(AuthenticationStatus.Authenticated))
55
- .catch((error: any) => {
56
- setStatus(AuthenticationStatus.AuthenticationError)
57
- return Promise.reject(error)
58
- })
59
- },
60
- [sdk]
61
- )
62
-
63
- const verifyInvitation = useCallback(
64
- (workspaceId: string, token: string) => {
65
- setStatus(() => AuthenticationStatus.Verifying)
66
- return sdk.auth.verifyInvitation({ workspaceId, token})
67
- .then(() => setStatus(AuthenticationStatus.Authenticated))
68
- .catch((error: any) => {
69
- setStatus(AuthenticationStatus.AuthenticationError)
70
- return Promise.reject(error)
71
- })
72
- },
73
- [sdk]
74
- )
75
-
76
- const signOff = useCallback(
77
- () => sdk.auth.signOff()
78
- .then(() => setStatus(AuthenticationStatus.NotAuthenticated)),
79
- [sdk]
80
- )
81
-
82
- useEffect(() => {
83
- if (status !== AuthenticationStatus.NotInitialized) return
84
- setStatus(() => AuthenticationStatus.Verifying)
85
-
86
- sdk.auth.getAuthenticatedUser()
87
- .then((user: any) => {
88
- if (!user) return Promise.reject()
89
- setStatus(() => AuthenticationStatus.Authenticated)
90
- })
91
- .catch(() => {
92
- setStatus(() => AuthenticationStatus.NotAuthenticated)
93
- })
94
-
95
- }, [status])
96
-
97
- return {
98
- status,
99
- signUp,
100
- signIn,
101
- signOff,
102
- verifySignIn,
103
- verifyInvitation
104
- }
105
- }
package/src/useQuery.ts DELETED
@@ -1,49 +0,0 @@
1
- import { useCallback, useMemo, useEffect } from 'react'
2
- import { useCache } from './Cache'
3
- import { AsyncStatus } from './asyncStatus'
4
- import { useSdk } from './useSdk'
5
-
6
- export const useQuery = (incomingQuery: any) => {
7
- const sdk = useSdk()
8
- const workspaceId = sdk.workspaceId
9
- const queryString = new URLSearchParams(incomingQuery).toString()
10
-
11
- const statusCachePath = useMemo(
12
- () => [workspaceId, 'queries', queryString, 'status'],
13
- [workspaceId, queryString]
14
- )
15
-
16
- const dataCachePath = useMemo(
17
- () => [workspaceId, 'queries', queryString, 'data'],
18
- [workspaceId, queryString]
19
- )
20
-
21
- const {
22
- data: status,
23
- set: setStatus
24
- } = useCache(statusCachePath, AsyncStatus.NotInitialized)
25
-
26
- const {
27
- data: resources,
28
- set: setResources
29
- } = useCache(dataCachePath, [])
30
-
31
- const loadResources = useCallback((query: any) => {
32
- setStatus(AsyncStatus.Loading)
33
- sdk.resources.get(query)
34
- .then((resources: any) => {
35
- setStatus(AsyncStatus.Success)
36
- setResources(resources)
37
- })
38
- .catch(() => { setStatus(AsyncStatus.Error) })
39
- }, [sdk])
40
-
41
- useEffect(() => {
42
- if (!workspaceId) return
43
- if (!incomingQuery) return
44
- if (status !== AsyncStatus.NotInitialized) return
45
- loadResources(incomingQuery)
46
- }, [workspaceId, incomingQuery, status])
47
-
48
- return { status, resources }
49
- }
@@ -1,91 +0,0 @@
1
- import { useCallback, useMemo, useEffect } from 'react'
2
- import { useCache } from './Cache'
3
- import { AsyncStatus } from './asyncStatus'
4
- import { useResources } from './useResources'
5
- import { useSdk } from './useSdk'
6
-
7
- export const useResource = (id: string) => {
8
- const sdk = useSdk()
9
- const workspaceId = sdk.workspaceId
10
-
11
- const statusCachePath = useMemo(
12
- () => ['resource', workspaceId, id, 'status'],
13
- [id, workspaceId]
14
- )
15
-
16
- const dataCachePath = useMemo(
17
- () => ['resource', workspaceId, id, 'data'],
18
- [id, workspaceId]
19
- )
20
-
21
- const {
22
- data: status = AsyncStatus.NotInitialized,
23
- set: setStatus
24
- } = useCache(statusCachePath)
25
-
26
- const {
27
- data: resource = {},
28
- set: setResource
29
- } = useCache(dataCachePath)
30
-
31
- const {
32
- loadResource: _loadResource,
33
- removeResource: _removeResource,
34
- updateResourceContent: _updateResourceContent,
35
- renameResource: _renameResource
36
- } = useResources()
37
-
38
- const loadResource = useCallback(() => {
39
- setStatus(AsyncStatus.Loading)
40
- setResource({})
41
- _loadResource(id)
42
- .then((resource: any) => {
43
- setStatus(AsyncStatus.Success)
44
- setResource(resource)
45
- })
46
- .catch(() => {
47
- setStatus(AsyncStatus.Error)
48
- setResource({})
49
- })
50
- }, [id, _loadResource])
51
-
52
- const removeResource = useCallback(
53
- () => _removeResource(id)
54
- .then(() => {
55
- setStatus(AsyncStatus.NotInitialized)
56
- setResource({})
57
- }),
58
- [id, _removeResource]
59
- )
60
-
61
- const updateResourceContent = useCallback(
62
- (content: any) => _updateResourceContent(id, content)
63
- .then((resource: any) => setResource(resource)),
64
- [id, _updateResourceContent]
65
- )
66
-
67
- const renameResource = useCallback(
68
- (name: string) => _renameResource(id, name)
69
- .then((resource: any) => setResource(resource)),
70
- [id, _renameResource]
71
- )
72
-
73
- useEffect(() => {
74
-
75
- if (!workspaceId) return
76
- if (!id) return
77
- if (status !== AsyncStatus.NotInitialized) return
78
-
79
- loadResource()
80
-
81
- }, [workspaceId, id, loadResource])
82
-
83
- return {
84
- status,
85
- resource,
86
- loadResource,
87
- removeResource,
88
- updateResourceContent,
89
- renameResource
90
- }
91
- }
@@ -1,8 +0,0 @@
1
- import { useWorkspace } from './useWorkspace'
2
-
3
- export const useResourceTemplate = (id: string) => {
4
- const { workspace } = useWorkspace()
5
- // TODO: workspace.resourceTemplates might not exist yet
6
- const template = workspace.resourceTemplates.find((template: { id: string }) => template.id === id)
7
- return template
8
- }