@taruvi/sdk 1.5.0 → 1.5.1-beta.4

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 (231) hide show
  1. package/README.md +60 -1289
  2. package/dist/client.d.ts +27 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/{src/client.ts → dist/client.js} +30 -48
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +28 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +20 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lib/analytics/AnalyticsClient.d.ts +9 -0
  11. package/dist/lib/analytics/AnalyticsClient.d.ts.map +1 -0
  12. package/dist/lib/analytics/AnalyticsClient.js +17 -0
  13. package/dist/lib/analytics/AnalyticsClient.js.map +1 -0
  14. package/dist/lib/analytics/types.d.ts +6 -0
  15. package/dist/lib/analytics/types.d.ts.map +1 -0
  16. package/dist/lib/analytics/types.js +2 -0
  17. package/dist/lib/analytics/types.js.map +1 -0
  18. package/dist/lib/app/AppClient.d.ts +15 -0
  19. package/dist/lib/app/AppClient.d.ts.map +1 -0
  20. package/dist/lib/app/AppClient.js +41 -0
  21. package/dist/lib/app/AppClient.js.map +1 -0
  22. package/dist/lib/app/types.d.ts +41 -0
  23. package/dist/lib/app/types.d.ts.map +1 -0
  24. package/dist/lib/app/types.js +2 -0
  25. package/dist/lib/app/types.js.map +1 -0
  26. package/dist/lib/auth/AuthClient.d.ts +38 -0
  27. package/dist/lib/auth/AuthClient.d.ts.map +1 -0
  28. package/dist/lib/auth/AuthClient.js +105 -0
  29. package/dist/lib/auth/AuthClient.js.map +1 -0
  30. package/dist/lib/database/DatabaseClient.d.ts +76 -0
  31. package/dist/lib/database/DatabaseClient.d.ts.map +1 -0
  32. package/dist/lib/database/DatabaseClient.js +250 -0
  33. package/dist/lib/database/DatabaseClient.js.map +1 -0
  34. package/dist/lib/database/types.d.ts +66 -0
  35. package/dist/lib/database/types.d.ts.map +1 -0
  36. package/dist/lib/database/types.js +20 -0
  37. package/dist/lib/database/types.js.map +1 -0
  38. package/dist/lib/functions/FunctionsClient.d.ts +9 -0
  39. package/dist/lib/functions/FunctionsClient.d.ts.map +1 -0
  40. package/dist/lib/functions/FunctionsClient.js +20 -0
  41. package/dist/lib/functions/FunctionsClient.js.map +1 -0
  42. package/dist/lib/functions/types.d.ts +25 -0
  43. package/dist/lib/functions/types.d.ts.map +1 -0
  44. package/dist/lib/functions/types.js +2 -0
  45. package/dist/lib/functions/types.js.map +1 -0
  46. package/dist/lib/policy/PolicyClient.d.ts +25 -0
  47. package/dist/lib/policy/PolicyClient.d.ts.map +1 -0
  48. package/{src/lib/policy/PolicyClient.ts → dist/lib/policy/PolicyClient.js} +26 -40
  49. package/dist/lib/policy/PolicyClient.js.map +1 -0
  50. package/dist/lib/policy/types.d.ts +32 -0
  51. package/dist/lib/policy/types.d.ts.map +1 -0
  52. package/dist/lib/policy/types.js +2 -0
  53. package/dist/lib/policy/types.js.map +1 -0
  54. package/dist/lib/secrets/SecretsClient.d.ts +29 -0
  55. package/dist/lib/secrets/SecretsClient.d.ts.map +1 -0
  56. package/dist/lib/secrets/SecretsClient.js +66 -0
  57. package/dist/lib/secrets/SecretsClient.js.map +1 -0
  58. package/dist/lib/secrets/types.d.ts +43 -0
  59. package/dist/lib/secrets/types.d.ts.map +1 -0
  60. package/dist/lib/secrets/types.js +2 -0
  61. package/dist/lib/secrets/types.js.map +1 -0
  62. package/dist/lib/settings/SettingsClient.d.ts +9 -0
  63. package/dist/lib/settings/SettingsClient.d.ts.map +1 -0
  64. package/dist/lib/settings/SettingsClient.js +17 -0
  65. package/dist/lib/settings/SettingsClient.js.map +1 -0
  66. package/dist/lib/settings/types.d.ts +6 -0
  67. package/dist/lib/settings/types.d.ts.map +1 -0
  68. package/dist/lib/settings/types.js +2 -0
  69. package/dist/lib/settings/types.js.map +1 -0
  70. package/dist/lib/storage/StorageClient.d.ts +38 -0
  71. package/dist/lib/storage/StorageClient.d.ts.map +1 -0
  72. package/dist/lib/storage/StorageClient.js +102 -0
  73. package/dist/lib/storage/StorageClient.js.map +1 -0
  74. package/dist/lib/storage/types.d.ts +73 -0
  75. package/dist/lib/storage/types.d.ts.map +1 -0
  76. package/dist/lib/storage/types.js +2 -0
  77. package/dist/lib/storage/types.js.map +1 -0
  78. package/dist/lib/users/UserClient.d.ts +17 -0
  79. package/dist/lib/users/UserClient.d.ts.map +1 -0
  80. package/dist/lib/users/UserClient.js +40 -0
  81. package/dist/lib/users/UserClient.js.map +1 -0
  82. package/dist/lib/users/types.d.ts +108 -0
  83. package/dist/lib/users/types.d.ts.map +1 -0
  84. package/dist/lib/users/types.js +2 -0
  85. package/dist/lib/users/types.js.map +1 -0
  86. package/dist/lib-internal/errors/ErrorClient.d.ts +42 -0
  87. package/dist/lib-internal/errors/ErrorClient.d.ts.map +1 -0
  88. package/dist/lib-internal/errors/ErrorClient.js +102 -0
  89. package/dist/lib-internal/errors/ErrorClient.js.map +1 -0
  90. package/dist/lib-internal/errors/index.d.ts +4 -0
  91. package/dist/lib-internal/errors/index.d.ts.map +1 -0
  92. package/dist/lib-internal/errors/index.js +3 -0
  93. package/dist/lib-internal/errors/index.js.map +1 -0
  94. package/dist/lib-internal/errors/types.d.ts +29 -0
  95. package/dist/lib-internal/errors/types.d.ts.map +1 -0
  96. package/dist/lib-internal/errors/types.js +18 -0
  97. package/dist/lib-internal/errors/types.js.map +1 -0
  98. package/dist/lib-internal/http/HttpClient.d.ts +24 -0
  99. package/dist/lib-internal/http/HttpClient.d.ts.map +1 -0
  100. package/dist/lib-internal/http/HttpClient.js +103 -0
  101. package/dist/lib-internal/http/HttpClient.js.map +1 -0
  102. package/dist/lib-internal/http/types.d.ts +12 -0
  103. package/dist/lib-internal/http/types.d.ts.map +1 -0
  104. package/{src/lib-internal/http/types.ts → dist/lib-internal/http/types.js} +2 -3
  105. package/dist/lib-internal/http/types.js.map +1 -0
  106. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts +4 -0
  107. package/dist/lib-internal/routes/AnalyticsRoutes.d.ts.map +1 -0
  108. package/dist/lib-internal/routes/AnalyticsRoutes.js +4 -0
  109. package/dist/lib-internal/routes/AnalyticsRoutes.js.map +1 -0
  110. package/dist/lib-internal/routes/AppRoutes.d.ts +10 -0
  111. package/dist/lib-internal/routes/AppRoutes.d.ts.map +1 -0
  112. package/dist/lib-internal/routes/AppRoutes.js +6 -0
  113. package/dist/lib-internal/routes/AppRoutes.js.map +1 -0
  114. package/dist/lib-internal/routes/AuthRoutes.d.ts +2 -0
  115. package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
  116. package/dist/lib-internal/routes/AuthRoutes.js +2 -0
  117. package/dist/lib-internal/routes/AuthRoutes.js.map +1 -0
  118. package/dist/lib-internal/routes/DatabaseRoutes.d.ts +11 -0
  119. package/dist/lib-internal/routes/DatabaseRoutes.d.ts.map +1 -0
  120. package/dist/lib-internal/routes/DatabaseRoutes.js +7 -0
  121. package/dist/lib-internal/routes/DatabaseRoutes.js.map +1 -0
  122. package/dist/lib-internal/routes/FunctionRoutes.d.ts +4 -0
  123. package/dist/lib-internal/routes/FunctionRoutes.d.ts.map +1 -0
  124. package/dist/lib-internal/routes/FunctionRoutes.js +4 -0
  125. package/dist/lib-internal/routes/FunctionRoutes.js.map +1 -0
  126. package/dist/lib-internal/routes/PolicyRoutes.d.ts +5 -0
  127. package/dist/lib-internal/routes/PolicyRoutes.d.ts.map +1 -0
  128. package/dist/lib-internal/routes/PolicyRoutes.js +5 -0
  129. package/dist/lib-internal/routes/PolicyRoutes.js.map +1 -0
  130. package/dist/lib-internal/routes/SecretsRoutes.d.ts +6 -0
  131. package/dist/lib-internal/routes/SecretsRoutes.d.ts.map +1 -0
  132. package/dist/lib-internal/routes/SecretsRoutes.js +6 -0
  133. package/dist/lib-internal/routes/SecretsRoutes.js.map +1 -0
  134. package/dist/lib-internal/routes/SettingsRoutes.d.ts +5 -0
  135. package/dist/lib-internal/routes/SettingsRoutes.d.ts.map +1 -0
  136. package/{src/lib-internal/routes/SettingsRoutes.ts → dist/lib-internal/routes/SettingsRoutes.js} +2 -1
  137. package/dist/lib-internal/routes/SettingsRoutes.js.map +1 -0
  138. package/dist/lib-internal/routes/StorageRoutes.d.ts +11 -0
  139. package/dist/lib-internal/routes/StorageRoutes.d.ts.map +1 -0
  140. package/dist/lib-internal/routes/StorageRoutes.js +8 -0
  141. package/dist/lib-internal/routes/StorageRoutes.js.map +1 -0
  142. package/dist/lib-internal/routes/UserRoutes.d.ts +13 -0
  143. package/dist/lib-internal/routes/UserRoutes.d.ts.map +1 -0
  144. package/dist/lib-internal/routes/UserRoutes.js +13 -0
  145. package/dist/lib-internal/routes/UserRoutes.js.map +1 -0
  146. package/dist/lib-internal/routes/index.d.ts +2 -0
  147. package/dist/lib-internal/routes/index.d.ts.map +1 -0
  148. package/dist/lib-internal/routes/index.js +2 -0
  149. package/dist/lib-internal/routes/index.js.map +1 -0
  150. package/dist/lib-internal/token/TokenClient.d.ts +38 -0
  151. package/dist/lib-internal/token/TokenClient.d.ts.map +1 -0
  152. package/{src/lib-internal/token/TokenClient.ts → dist/lib-internal/token/TokenClient.js} +44 -59
  153. package/dist/lib-internal/token/TokenClient.js.map +1 -0
  154. package/dist/lib-internal/token/types.d.ts +2 -0
  155. package/dist/lib-internal/token/types.d.ts.map +1 -0
  156. package/dist/lib-internal/token/types.js +2 -0
  157. package/dist/lib-internal/token/types.js.map +1 -0
  158. package/dist/types.d.ts +74 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +2 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/enums.d.ts +31 -0
  163. package/dist/utils/enums.d.ts.map +1 -0
  164. package/dist/utils/enums.js +26 -0
  165. package/dist/utils/enums.js.map +1 -0
  166. package/dist/utils/utils.d.ts +6 -0
  167. package/dist/utils/utils.d.ts.map +1 -0
  168. package/dist/utils/utils.js +38 -0
  169. package/dist/utils/utils.js.map +1 -0
  170. package/package.json +11 -2
  171. package/.github/worflows/publish.yml +0 -57
  172. package/.github/workflows/publish.yml +0 -58
  173. package/.kiro/settings/lsp.json +0 -198
  174. package/MODULE_NAMING_CHANGES.md +0 -81
  175. package/PARAMETER_NAMING_CHANGES.md +0 -106
  176. package/USAGE_EXAMPLE.md +0 -86
  177. package/src/index.ts +0 -50
  178. package/src/lib/analytics/AnalyticsClient.ts +0 -24
  179. package/src/lib/analytics/types.ts +0 -8
  180. package/src/lib/app/AppClient.ts +0 -54
  181. package/src/lib/app/types.ts +0 -50
  182. package/src/lib/auth/AuthClient.ts +0 -148
  183. package/src/lib/auth/types.ts +0 -123
  184. package/src/lib/database/DatabaseClient.ts +0 -244
  185. package/src/lib/database/types.ts +0 -90
  186. package/src/lib/functions/FunctionsClient.ts +0 -27
  187. package/src/lib/functions/types.ts +0 -27
  188. package/src/lib/policy/types.ts +0 -39
  189. package/src/lib/secrets/SecretsClient.ts +0 -75
  190. package/src/lib/secrets/types.ts +0 -59
  191. package/src/lib/settings/SettingsClient.ts +0 -22
  192. package/src/lib/settings/types.ts +0 -9
  193. package/src/lib/storage/StorageClient.ts +0 -131
  194. package/src/lib/storage/types.ts +0 -86
  195. package/src/lib/users/UserClient.ts +0 -63
  196. package/src/lib/users/types.ts +0 -123
  197. package/src/lib-internal/errors/ErrorClient.ts +0 -114
  198. package/src/lib-internal/errors/index.ts +0 -3
  199. package/src/lib-internal/errors/types.ts +0 -29
  200. package/src/lib-internal/http/HttpClient.ts +0 -117
  201. package/src/lib-internal/routes/AnalyticsRoutes.ts +0 -3
  202. package/src/lib-internal/routes/AppRoutes.ts +0 -9
  203. package/src/lib-internal/routes/AuthRoutes.ts +0 -3
  204. package/src/lib-internal/routes/DatabaseRoutes.ts +0 -10
  205. package/src/lib-internal/routes/FunctionRoutes.ts +0 -3
  206. package/src/lib-internal/routes/PolicyRoutes.ts +0 -4
  207. package/src/lib-internal/routes/SecretsRoutes.ts +0 -5
  208. package/src/lib-internal/routes/StorageRoutes.ts +0 -15
  209. package/src/lib-internal/routes/UserRoutes.ts +0 -12
  210. package/src/lib-internal/routes/index.ts +0 -0
  211. package/src/lib-internal/token/types.ts +0 -0
  212. package/src/types.ts +0 -98
  213. package/src/utils/enums.ts +0 -24
  214. package/src/utils/utils.ts +0 -37
  215. package/tests/fixtures/mockClient.ts +0 -19
  216. package/tests/mocks/db.json +0 -1
  217. package/tests/unit/analytics/AnalyticsClient.test.ts +0 -84
  218. package/tests/unit/app/AppClient.test.ts +0 -114
  219. package/tests/unit/auth/AuthClient.test.ts +0 -91
  220. package/tests/unit/client/Client.test.ts +0 -87
  221. package/tests/unit/database/DatabaseClient.test.ts +0 -565
  222. package/tests/unit/edge-cases/robustness.test.ts +0 -258
  223. package/tests/unit/errors/errors.test.ts +0 -236
  224. package/tests/unit/functions/FunctionsClient.test.ts +0 -99
  225. package/tests/unit/policy/PolicyClient.test.ts +0 -180
  226. package/tests/unit/secrets/SecretsClient.test.ts +0 -146
  227. package/tests/unit/settings/SettingsClient.test.ts +0 -50
  228. package/tests/unit/storage/StorageClient.test.ts +0 -252
  229. package/tests/unit/users/UserClient.test.ts +0 -150
  230. package/tsconfig.json +0 -44
  231. package/vitest.config.ts +0 -7
@@ -1,150 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest'
2
- import { User } from '../../../src/lib/users/UserClient.js'
3
- import { Client } from '../../../src/client.js'
4
-
5
- const mockHttpClient = {
6
- get: vi.fn(),
7
- post: vi.fn(),
8
- put: vi.fn(),
9
- delete: vi.fn()
10
- }
11
-
12
- const mockClient = {
13
- getConfig: () => ({ apiKey: 'test-key', appSlug: 'test-app', apiUrl: 'https://api.test.com' }),
14
- httpClient: mockHttpClient
15
- } as unknown as Client
16
-
17
- describe('User', () => {
18
- beforeEach(() => {
19
- vi.clearAllMocks()
20
- })
21
-
22
- describe('getUser()', () => {
23
- it('fetches user by username', async () => {
24
- const userData = { username: 'john_doe', email: 'john@example.com' }
25
- mockHttpClient.get.mockResolvedValue(userData)
26
-
27
- const user = new User(mockClient)
28
- const result = await user.getUser('john_doe')
29
-
30
- expect(mockHttpClient.get).toHaveBeenCalledWith('api/users/john_doe/')
31
- expect(result).toEqual(userData)
32
- })
33
- })
34
-
35
- describe('createUser()', () => {
36
- it('creates user with provided data', async () => {
37
- const createData = {
38
- username: 'new_user',
39
- email: 'new@example.com',
40
- password: 'pass123',
41
- confirm_password: 'pass123',
42
- first_name: 'New',
43
- last_name: 'User',
44
- is_active: true,
45
- is_staff: false,
46
- attributes: ''
47
- }
48
- const response = { id: '1', ...createData }
49
- mockHttpClient.post.mockResolvedValue(response)
50
-
51
- const user = new User(mockClient)
52
- const result = await user.createUser(createData)
53
-
54
- expect(mockHttpClient.post).toHaveBeenCalledWith('api/users/', createData)
55
- expect(result).toEqual(response)
56
- })
57
- })
58
-
59
- describe('updateUser()', () => {
60
- it('updates user by username', async () => {
61
- const updateData = { email: 'updated@example.com', first_name: 'Updated' }
62
- const response = { username: 'john_doe', ...updateData }
63
- mockHttpClient.put.mockResolvedValue(response)
64
-
65
- const user = new User(mockClient)
66
- const result = await user.updateUser('john_doe', updateData)
67
-
68
- expect(mockHttpClient.put).toHaveBeenCalledWith('api/users/john_doe/', updateData)
69
- expect(result).toEqual(response)
70
- })
71
- })
72
-
73
- describe('deleteUser()', () => {
74
- it('deletes user by username', async () => {
75
- mockHttpClient.delete.mockResolvedValue(undefined)
76
-
77
- const user = new User(mockClient)
78
- await user.deleteUser('john_doe')
79
-
80
- expect(mockHttpClient.delete).toHaveBeenCalledWith('api/users/john_doe/')
81
- })
82
- })
83
-
84
- describe('list()', () => {
85
- it('lists users with filters', async () => {
86
- const users = [{ username: 'user1' }, { username: 'user2' }]
87
- mockHttpClient.get.mockResolvedValue(users)
88
-
89
- const user = new User(mockClient)
90
- const result = await user.list({ search: 'john', is_active: true, page: 1, page_size: 20 })
91
-
92
- expect(mockHttpClient.get).toHaveBeenCalledWith(
93
- expect.stringContaining('api/users/')
94
- )
95
- expect(result).toEqual(users)
96
- })
97
-
98
- it('builds query string from filters', async () => {
99
- mockHttpClient.get.mockResolvedValue([])
100
-
101
- const user = new User(mockClient)
102
- await user.list({ search: 'test', ordering: '-date_joined' })
103
-
104
- const url = mockHttpClient.get.mock.calls[0][0]
105
- expect(url).toContain('search=test')
106
- expect(url).toContain('ordering=-date_joined')
107
- })
108
- })
109
-
110
- describe('getUserApps()', () => {
111
- it('fetches apps for user', async () => {
112
- const apps = [{ name: 'App1', slug: 'app1' }, { name: 'App2', slug: 'app2' }]
113
- mockHttpClient.get.mockResolvedValue(apps)
114
-
115
- const user = new User(mockClient)
116
- const result = await user.getUserApps('john_doe')
117
-
118
- expect(mockHttpClient.get).toHaveBeenCalledWith('api/users/john_doe/apps/')
119
- expect(result).toEqual(apps)
120
- })
121
- })
122
-
123
- describe('assignRoles()', () => {
124
- it('assigns roles to user', async () => {
125
- const request = { username: 'john_doe', roles: ['admin', 'editor'] }
126
- const response = { success: true }
127
- mockHttpClient.post.mockResolvedValue(response)
128
-
129
- const user = new User(mockClient)
130
- const result = await user.assignRoles(request)
131
-
132
- expect(mockHttpClient.post).toHaveBeenCalledWith('api/assign/roles/', request)
133
- expect(result).toEqual(response)
134
- })
135
- })
136
-
137
- describe('revokeRoles()', () => {
138
- it('revokes roles from user', async () => {
139
- const request = { username: 'john_doe', roles: ['admin'] }
140
- const response = { success: true }
141
- mockHttpClient.delete.mockResolvedValue(response)
142
-
143
- const user = new User(mockClient)
144
- const result = await user.revokeRoles(request)
145
-
146
- expect(mockHttpClient.delete).toHaveBeenCalledWith('api/revoke/roles/', request)
147
- expect(result).toEqual(response)
148
- })
149
- })
150
- })
package/tsconfig.json DELETED
@@ -1,44 +0,0 @@
1
- {
2
- // Visit https://aka.ms/tsconfig to read more about this file
3
- "compilerOptions": {
4
- // File Layout
5
- "rootDir": "./src",
6
- "outDir": "./dist",
7
-
8
- // Environment Settings
9
- // See also https://aka.ms/tsconfig/module
10
- "module": "nodenext",
11
- "target": "esnext",
12
- "lib": ["esnext", "dom"],
13
- "types": ["node"],
14
-
15
- // Other Outputs
16
- "sourceMap": true,
17
- "declaration": true,
18
- "declarationMap": true,
19
-
20
- // Stricter Typechecking Options
21
- "noUncheckedIndexedAccess": true,
22
- "exactOptionalPropertyTypes": true,
23
-
24
- // Style Options
25
- // "noImplicitReturns": true,
26
- // "noImplicitOverride": true,
27
- // "noUnusedLocals": true,
28
- // "noUnusedParameters": true,
29
- // "noFallthroughCasesInSwitch": true,
30
- // "noPropertyAccessFromIndexSignature": true,
31
-
32
- // Recommended Options
33
- "strict": true,
34
- "jsx": "react-jsx",
35
- "verbatimModuleSyntax": true,
36
- "isolatedModules": true,
37
- "resolveJsonModule": true,
38
- "noUncheckedSideEffectImports": true,
39
- "moduleDetection": "force",
40
- "skipLibCheck": true,
41
- },
42
- "include": ["src/**/*"],
43
- "exclude": ["node_modules", "dist", "taruvi-platform", "tests"]
44
- }
package/vitest.config.ts DELETED
@@ -1,7 +0,0 @@
1
- import { defineConfig } from 'vitest/config'
2
-
3
- export default defineConfig({
4
- test: {
5
- include: ['tests/**/*.test.ts']
6
- }
7
- })