@synnaxlabs/client 0.47.0 → 0.49.0

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 (311) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/dist/client.cjs +35 -35
  3. package/dist/client.js +6264 -5984
  4. package/dist/eslint.config.d.ts +3 -2
  5. package/dist/eslint.config.d.ts.map +1 -1
  6. package/dist/src/access/client.d.ts +3 -1
  7. package/dist/src/access/client.d.ts.map +1 -1
  8. package/dist/src/access/enforce.d.ts +35 -0
  9. package/dist/src/access/enforce.d.ts.map +1 -0
  10. package/dist/src/access/enforce.spec.d.ts +2 -0
  11. package/dist/src/access/enforce.spec.d.ts.map +1 -0
  12. package/dist/src/access/external.d.ts +3 -0
  13. package/dist/src/access/external.d.ts.map +1 -1
  14. package/dist/src/access/payload.d.ts +0 -6
  15. package/dist/src/access/payload.d.ts.map +1 -1
  16. package/dist/src/access/policy/access.spec.d.ts +2 -0
  17. package/dist/src/access/policy/access.spec.d.ts.map +1 -0
  18. package/dist/src/access/policy/client.d.ts +485 -31
  19. package/dist/src/access/policy/client.d.ts.map +1 -1
  20. package/dist/src/access/policy/payload.d.ts +36 -113
  21. package/dist/src/access/policy/payload.d.ts.map +1 -1
  22. package/dist/src/access/role/client.d.ts +135 -0
  23. package/dist/src/access/role/client.d.ts.map +1 -0
  24. package/dist/src/access/role/external.d.ts.map +1 -0
  25. package/dist/src/access/role/index.d.ts +2 -0
  26. package/dist/src/access/role/index.d.ts.map +1 -0
  27. package/dist/src/access/role/payload.d.ts +27 -0
  28. package/dist/src/access/role/payload.d.ts.map +1 -0
  29. package/dist/src/access/role/role.spec.d.ts +2 -0
  30. package/dist/src/access/role/role.spec.d.ts.map +1 -0
  31. package/dist/src/arc/access.spec.d.ts +2 -0
  32. package/dist/src/arc/access.spec.d.ts.map +1 -0
  33. package/dist/src/arc/client.d.ts +5 -14
  34. package/dist/src/arc/client.d.ts.map +1 -1
  35. package/dist/src/arc/payload.d.ts +11 -2
  36. package/dist/src/arc/payload.d.ts.map +1 -1
  37. package/dist/src/auth/auth.d.ts +5 -3
  38. package/dist/src/auth/auth.d.ts.map +1 -1
  39. package/dist/src/channel/access.spec.d.ts +2 -0
  40. package/dist/src/channel/access.spec.d.ts.map +1 -0
  41. package/dist/src/channel/client.d.ts +0 -1
  42. package/dist/src/channel/client.d.ts.map +1 -1
  43. package/dist/src/channel/payload.d.ts +19 -8
  44. package/dist/src/channel/payload.d.ts.map +1 -1
  45. package/dist/src/channel/payload.spec.d.ts +2 -0
  46. package/dist/src/channel/payload.spec.d.ts.map +1 -0
  47. package/dist/src/channel/retriever.d.ts +4 -6
  48. package/dist/src/channel/retriever.d.ts.map +1 -1
  49. package/dist/src/channel/writer.d.ts.map +1 -1
  50. package/dist/src/client.d.ts +18 -10
  51. package/dist/src/client.d.ts.map +1 -1
  52. package/dist/src/connection/checker.d.ts +2 -3
  53. package/dist/src/connection/checker.d.ts.map +1 -1
  54. package/dist/src/connection.spec.d.ts +2 -0
  55. package/dist/src/connection.spec.d.ts.map +1 -0
  56. package/dist/src/device/access.spec.d.ts +2 -0
  57. package/dist/src/device/access.spec.d.ts.map +1 -0
  58. package/dist/src/{hardware/device → device}/client.d.ts +14 -7
  59. package/dist/src/device/client.d.ts.map +1 -0
  60. package/dist/src/device/device.spec.d.ts.map +1 -0
  61. package/dist/src/device/external.d.ts.map +1 -0
  62. package/dist/src/device/index.d.ts.map +1 -0
  63. package/dist/src/{hardware/device → device}/payload.d.ts +1 -1
  64. package/dist/src/device/payload.d.ts.map +1 -0
  65. package/dist/src/errors.d.ts +3 -0
  66. package/dist/src/errors.d.ts.map +1 -1
  67. package/dist/src/framer/adapter.d.ts +2 -2
  68. package/dist/src/framer/adapter.d.ts.map +1 -1
  69. package/dist/src/framer/client.d.ts +8 -1
  70. package/dist/src/framer/client.d.ts.map +1 -1
  71. package/dist/src/framer/frame.d.ts +11 -5
  72. package/dist/src/framer/frame.d.ts.map +1 -1
  73. package/dist/src/framer/iterator.d.ts +3 -3
  74. package/dist/src/framer/streamer.d.ts +24 -21
  75. package/dist/src/framer/streamer.d.ts.map +1 -1
  76. package/dist/src/framer/writer.d.ts +13 -13
  77. package/dist/src/index.d.ts +6 -7
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/label/access.spec.d.ts +2 -0
  80. package/dist/src/label/access.spec.d.ts.map +1 -0
  81. package/dist/src/label/client.d.ts +20 -11
  82. package/dist/src/label/client.d.ts.map +1 -1
  83. package/dist/src/ontology/client.d.ts +6 -6
  84. package/dist/src/ontology/client.d.ts.map +1 -1
  85. package/dist/src/ontology/group/access.spec.d.ts +2 -0
  86. package/dist/src/ontology/group/access.spec.d.ts.map +1 -0
  87. package/dist/src/ontology/group/client.d.ts +2 -2
  88. package/dist/src/ontology/group/client.d.ts.map +1 -1
  89. package/dist/src/ontology/group/payload.d.ts +1 -2
  90. package/dist/src/ontology/group/payload.d.ts.map +1 -1
  91. package/dist/src/ontology/payload.d.ts +23 -17
  92. package/dist/src/ontology/payload.d.ts.map +1 -1
  93. package/dist/src/ontology/writer.d.ts +10 -10
  94. package/dist/src/ontology/writer.d.ts.map +1 -1
  95. package/dist/src/rack/access.spec.d.ts +2 -0
  96. package/dist/src/rack/access.spec.d.ts.map +1 -0
  97. package/dist/src/{hardware/rack → rack}/client.d.ts +15 -8
  98. package/dist/src/rack/client.d.ts.map +1 -0
  99. package/dist/src/rack/external.d.ts.map +1 -0
  100. package/dist/src/rack/index.d.ts.map +1 -0
  101. package/dist/src/{hardware/rack → rack}/payload.d.ts +1 -1
  102. package/dist/src/rack/payload.d.ts.map +1 -0
  103. package/dist/src/rack/rack.spec.d.ts.map +1 -0
  104. package/dist/src/ranger/access.spec.d.ts +2 -0
  105. package/dist/src/ranger/access.spec.d.ts.map +1 -0
  106. package/dist/src/ranger/alias.d.ts +1 -8
  107. package/dist/src/ranger/alias.d.ts.map +1 -1
  108. package/dist/src/ranger/client.d.ts +12 -5
  109. package/dist/src/ranger/client.d.ts.map +1 -1
  110. package/dist/src/ranger/kv.d.ts +0 -3
  111. package/dist/src/ranger/kv.d.ts.map +1 -1
  112. package/dist/src/ranger/writer.d.ts +2 -2
  113. package/dist/src/ranger/writer.d.ts.map +1 -1
  114. package/dist/src/status/access.spec.d.ts +2 -0
  115. package/dist/src/status/access.spec.d.ts.map +1 -0
  116. package/dist/src/status/client.d.ts +4 -4
  117. package/dist/src/status/client.d.ts.map +1 -1
  118. package/dist/src/status/payload.d.ts +9 -2
  119. package/dist/src/status/payload.d.ts.map +1 -1
  120. package/dist/src/task/access.spec.d.ts +2 -0
  121. package/dist/src/task/access.spec.d.ts.map +1 -0
  122. package/dist/src/{hardware/task → task}/client.d.ts +26 -15
  123. package/dist/src/task/client.d.ts.map +1 -0
  124. package/dist/src/task/external.d.ts +3 -0
  125. package/dist/src/task/external.d.ts.map +1 -0
  126. package/dist/src/task/index.d.ts.map +1 -0
  127. package/dist/src/{hardware/task → task}/payload.d.ts +45 -6
  128. package/dist/src/task/payload.d.ts.map +1 -0
  129. package/dist/src/task/task.spec.d.ts.map +1 -0
  130. package/dist/src/testutil/access.d.ts +4 -0
  131. package/dist/src/testutil/access.d.ts.map +1 -0
  132. package/dist/src/testutil/client.d.ts +3 -3
  133. package/dist/src/testutil/client.d.ts.map +1 -1
  134. package/dist/src/transport.d.ts.map +1 -1
  135. package/dist/src/user/access.spec.d.ts +2 -0
  136. package/dist/src/user/access.spec.d.ts.map +1 -0
  137. package/dist/src/user/client.d.ts +10 -1
  138. package/dist/src/user/client.d.ts.map +1 -1
  139. package/dist/src/user/external.d.ts +1 -1
  140. package/dist/src/user/external.d.ts.map +1 -1
  141. package/dist/src/user/payload.d.ts.map +1 -1
  142. package/dist/src/workspace/access.spec.d.ts +2 -0
  143. package/dist/src/workspace/access.spec.d.ts.map +1 -0
  144. package/dist/src/workspace/client.d.ts +10 -5
  145. package/dist/src/workspace/client.d.ts.map +1 -1
  146. package/dist/src/workspace/lineplot/access.spec.d.ts +2 -0
  147. package/dist/src/workspace/lineplot/access.spec.d.ts.map +1 -0
  148. package/dist/src/workspace/lineplot/client.d.ts +8 -1
  149. package/dist/src/workspace/lineplot/client.d.ts.map +1 -1
  150. package/dist/src/workspace/log/access.spec.d.ts +2 -0
  151. package/dist/src/workspace/log/access.spec.d.ts.map +1 -0
  152. package/dist/src/workspace/log/client.d.ts +8 -1
  153. package/dist/src/workspace/log/client.d.ts.map +1 -1
  154. package/dist/src/workspace/schematic/access.spec.d.ts +2 -0
  155. package/dist/src/workspace/schematic/access.spec.d.ts.map +1 -0
  156. package/dist/src/workspace/schematic/client.d.ts +8 -1
  157. package/dist/src/workspace/schematic/client.d.ts.map +1 -1
  158. package/dist/src/workspace/schematic/symbol/access.spec.d.ts +2 -0
  159. package/dist/src/workspace/schematic/symbol/access.spec.d.ts.map +1 -0
  160. package/dist/src/workspace/schematic/symbol/client.d.ts +1 -5
  161. package/dist/src/workspace/schematic/symbol/client.d.ts.map +1 -1
  162. package/dist/src/workspace/schematic/symbol/payload.d.ts +2 -2
  163. package/dist/src/workspace/table/access.spec.d.ts +2 -0
  164. package/dist/src/workspace/table/access.spec.d.ts.map +1 -0
  165. package/dist/src/workspace/table/client.d.ts +8 -1
  166. package/dist/src/workspace/table/client.d.ts.map +1 -1
  167. package/eslint.config.ts +3 -1
  168. package/package.json +8 -8
  169. package/src/access/client.ts +5 -2
  170. package/src/access/enforce.spec.ts +189 -0
  171. package/src/access/enforce.ts +84 -0
  172. package/src/access/external.ts +3 -0
  173. package/src/access/payload.ts +1 -13
  174. package/src/access/policy/access.spec.ts +147 -0
  175. package/src/access/policy/client.ts +21 -25
  176. package/src/access/policy/payload.ts +9 -5
  177. package/src/access/role/client.ts +135 -0
  178. package/src/access/role/external.ts +11 -0
  179. package/src/{hardware → access/role}/index.ts +1 -1
  180. package/src/access/role/payload.ts +32 -0
  181. package/src/access/role/role.spec.ts +95 -0
  182. package/src/arc/access.spec.ts +143 -0
  183. package/src/arc/client.ts +7 -31
  184. package/src/arc/payload.ts +4 -0
  185. package/src/auth/auth.spec.ts +13 -13
  186. package/src/auth/auth.ts +33 -11
  187. package/src/channel/access.spec.ts +116 -0
  188. package/src/channel/channel.spec.ts +63 -73
  189. package/src/channel/client.ts +2 -8
  190. package/src/channel/payload.spec.ts +171 -0
  191. package/src/channel/payload.ts +37 -8
  192. package/src/channel/retriever.ts +10 -11
  193. package/src/channel/writer.ts +3 -7
  194. package/src/client.ts +38 -28
  195. package/src/connection/checker.ts +10 -10
  196. package/src/connection/connection.spec.ts +13 -13
  197. package/src/connection.spec.ts +145 -0
  198. package/src/device/access.spec.ts +159 -0
  199. package/src/{hardware/device → device}/client.ts +12 -21
  200. package/src/{hardware/device → device}/device.spec.ts +70 -34
  201. package/src/device/external.ts +11 -0
  202. package/src/{hardware/rack → device}/index.ts +1 -1
  203. package/src/{hardware/device → device}/payload.ts +3 -3
  204. package/src/errors.ts +2 -0
  205. package/src/framer/adapter.spec.ts +351 -13
  206. package/src/framer/adapter.ts +23 -13
  207. package/src/framer/client.spec.ts +14 -20
  208. package/src/framer/client.ts +3 -5
  209. package/src/framer/deleter.spec.ts +1 -1
  210. package/src/framer/frame.spec.ts +427 -0
  211. package/src/framer/frame.ts +30 -3
  212. package/src/framer/iterator.ts +4 -4
  213. package/src/framer/streamer.spec.ts +155 -10
  214. package/src/framer/streamer.ts +35 -12
  215. package/src/framer/writer.spec.ts +5 -5
  216. package/src/index.ts +13 -7
  217. package/src/label/access.spec.ts +109 -0
  218. package/src/label/client.ts +10 -14
  219. package/src/ontology/client.ts +4 -6
  220. package/src/ontology/group/access.spec.ts +77 -0
  221. package/src/ontology/group/client.ts +3 -7
  222. package/src/ontology/group/group.spec.ts +18 -0
  223. package/src/ontology/group/payload.ts +2 -2
  224. package/src/ontology/ontology.spec.ts +2 -0
  225. package/src/ontology/payload.ts +18 -2
  226. package/src/ontology/writer.ts +3 -7
  227. package/src/rack/access.spec.ts +102 -0
  228. package/src/{hardware/rack → rack}/client.ts +14 -19
  229. package/src/{hardware/device/index.ts → rack/external.ts} +2 -1
  230. package/src/{hardware/external.ts → rack/index.ts} +1 -1
  231. package/src/{hardware/rack → rack}/payload.ts +2 -2
  232. package/src/{hardware/rack → rack}/rack.spec.ts +43 -17
  233. package/src/ranger/access.spec.ts +115 -0
  234. package/src/ranger/alias.ts +6 -14
  235. package/src/ranger/client.ts +13 -14
  236. package/src/ranger/kv.ts +7 -9
  237. package/src/ranger/ranger.spec.ts +4 -4
  238. package/src/ranger/writer.ts +3 -7
  239. package/src/status/access.spec.ts +129 -0
  240. package/src/status/client.ts +5 -9
  241. package/src/status/payload.ts +3 -2
  242. package/src/task/access.spec.ts +131 -0
  243. package/src/{hardware/task → task}/client.ts +50 -25
  244. package/src/task/external.ts +11 -0
  245. package/src/{hardware/task → task}/index.ts +1 -1
  246. package/src/{hardware/task → task}/payload.ts +22 -3
  247. package/src/{hardware/task → task}/task.spec.ts +197 -34
  248. package/src/testutil/access.ts +34 -0
  249. package/src/testutil/channels.ts +3 -3
  250. package/src/testutil/client.ts +4 -4
  251. package/src/transport.ts +1 -3
  252. package/src/user/access.spec.ts +107 -0
  253. package/src/user/client.ts +10 -12
  254. package/src/user/external.ts +12 -1
  255. package/src/user/payload.ts +3 -5
  256. package/src/workspace/access.spec.ts +108 -0
  257. package/src/workspace/client.ts +11 -27
  258. package/src/workspace/lineplot/access.spec.ts +134 -0
  259. package/src/workspace/lineplot/client.ts +8 -13
  260. package/src/workspace/log/access.spec.ts +134 -0
  261. package/src/workspace/log/client.ts +8 -13
  262. package/src/workspace/schematic/access.spec.ts +134 -0
  263. package/src/workspace/schematic/client.ts +9 -18
  264. package/src/workspace/schematic/symbol/access.spec.ts +172 -0
  265. package/src/workspace/schematic/symbol/client.ts +6 -17
  266. package/src/workspace/schematic/symbol/payload.ts +1 -1
  267. package/src/workspace/table/access.spec.ts +134 -0
  268. package/src/workspace/table/client.ts +8 -13
  269. package/dist/src/access/policy/policy.spec.d.ts +0 -2
  270. package/dist/src/access/policy/policy.spec.d.ts.map +0 -1
  271. package/dist/src/hardware/client.d.ts +0 -10
  272. package/dist/src/hardware/client.d.ts.map +0 -1
  273. package/dist/src/hardware/device/client.d.ts.map +0 -1
  274. package/dist/src/hardware/device/device.spec.d.ts.map +0 -1
  275. package/dist/src/hardware/device/external.d.ts.map +0 -1
  276. package/dist/src/hardware/device/index.d.ts.map +0 -1
  277. package/dist/src/hardware/device/payload.d.ts.map +0 -1
  278. package/dist/src/hardware/external.d.ts +0 -2
  279. package/dist/src/hardware/external.d.ts.map +0 -1
  280. package/dist/src/hardware/index.d.ts +0 -2
  281. package/dist/src/hardware/index.d.ts.map +0 -1
  282. package/dist/src/hardware/rack/client.d.ts.map +0 -1
  283. package/dist/src/hardware/rack/external.d.ts.map +0 -1
  284. package/dist/src/hardware/rack/index.d.ts.map +0 -1
  285. package/dist/src/hardware/rack/payload.d.ts.map +0 -1
  286. package/dist/src/hardware/rack/rack.spec.d.ts.map +0 -1
  287. package/dist/src/hardware/task/client.d.ts.map +0 -1
  288. package/dist/src/hardware/task/external.d.ts.map +0 -1
  289. package/dist/src/hardware/task/index.d.ts.map +0 -1
  290. package/dist/src/hardware/task/payload.d.ts.map +0 -1
  291. package/dist/src/hardware/task/task.spec.d.ts.map +0 -1
  292. package/dist/src/user/retriever.d.ts +0 -16
  293. package/dist/src/user/retriever.d.ts.map +0 -1
  294. package/dist/src/user/writer.d.ts +0 -11
  295. package/dist/src/user/writer.d.ts.map +0 -1
  296. package/src/access/policy/policy.spec.ts +0 -329
  297. package/src/hardware/client.ts +0 -24
  298. package/src/hardware/device/external.ts +0 -11
  299. package/src/hardware/rack/external.ts +0 -11
  300. package/src/hardware/task/external.ts +0 -11
  301. package/src/user/retriever.ts +0 -41
  302. package/src/user/writer.ts +0 -84
  303. /package/dist/src/{hardware/device → access/role}/external.d.ts +0 -0
  304. /package/dist/src/{hardware/device → device}/device.spec.d.ts +0 -0
  305. /package/dist/src/{hardware/rack → device}/external.d.ts +0 -0
  306. /package/dist/src/{hardware/device → device}/index.d.ts +0 -0
  307. /package/dist/src/{hardware/task → rack}/external.d.ts +0 -0
  308. /package/dist/src/{hardware/rack → rack}/index.d.ts +0 -0
  309. /package/dist/src/{hardware/rack → rack}/rack.spec.d.ts +0 -0
  310. /package/dist/src/{hardware/task → task}/index.d.ts +0 -0
  311. /package/dist/src/{hardware/task → task}/task.spec.d.ts +0 -0
@@ -11,7 +11,7 @@ import { sendRequired, type UnaryClient } from "@synnaxlabs/freighter";
11
11
  import { array, type record } from "@synnaxlabs/x";
12
12
  import { z } from "zod";
13
13
 
14
- import { type ontology } from "@/ontology";
14
+ import { ontology } from "@/ontology";
15
15
  import { checkForMultipleOrNoResults } from "@/util/retrieve";
16
16
  import { type Key as WorkspaceKey, keyZ as workspaceKeyZ } from "@/workspace/payload";
17
17
  import {
@@ -24,12 +24,6 @@ import {
24
24
  type Table,
25
25
  } from "@/workspace/table/payload";
26
26
 
27
- const RETRIEVE_ENDPOINT = "/workspace/table/retrieve";
28
- const CREATE_ENDPOINT = "/workspace/table/create";
29
- const RENAME_ENDPOINT = "/workspace/table/rename";
30
- const SET_DATA_ENDPOINT = "/workspace/table/set-data";
31
- const DELETE_ENDPOINT = "/workspace/table/delete";
32
-
33
27
  const renameReqZ = z.object({ key: keyZ, name: z.string() });
34
28
 
35
29
  const setDataReqZ = z.object({ key: keyZ, data: z.string() });
@@ -65,7 +59,7 @@ export class Client {
65
59
  const isMany = Array.isArray(tables);
66
60
  const res = await sendRequired(
67
61
  this.client,
68
- CREATE_ENDPOINT,
62
+ "/workspace/table/create",
69
63
  { workspace, tables: array.toArray(tables) },
70
64
  createReqZ,
71
65
  createResZ,
@@ -76,7 +70,7 @@ export class Client {
76
70
  async rename(key: Key, name: string): Promise<void> {
77
71
  await sendRequired(
78
72
  this.client,
79
- RENAME_ENDPOINT,
73
+ "/workspace/table/rename",
80
74
  { key, name },
81
75
  renameReqZ,
82
76
  emptyResZ,
@@ -86,7 +80,7 @@ export class Client {
86
80
  async setData(key: Key, data: record.Unknown): Promise<void> {
87
81
  await sendRequired(
88
82
  this.client,
89
- SET_DATA_ENDPOINT,
83
+ "/workspace/table/set-data",
90
84
  { key, data: JSON.stringify(data) },
91
85
  setDataReqZ,
92
86
  emptyResZ,
@@ -101,7 +95,7 @@ export class Client {
101
95
  const isSingle = singleRetrieveArgsZ.safeParse(args).success;
102
96
  const res = await sendRequired(
103
97
  this.client,
104
- RETRIEVE_ENDPOINT,
98
+ "/workspace/table/retrieve",
105
99
  args,
106
100
  retrieveArgsZ,
107
101
  retrieveResZ,
@@ -113,7 +107,7 @@ export class Client {
113
107
  async delete(keys: Params): Promise<void> {
114
108
  await sendRequired(
115
109
  this.client,
116
- DELETE_ENDPOINT,
110
+ "/workspace/table/delete",
117
111
  { keys: array.toArray(keys) },
118
112
  deleteReqZ,
119
113
  emptyResZ,
@@ -121,4 +115,5 @@ export class Client {
121
115
  }
122
116
  }
123
117
 
124
- export const ontologyID = (key: Key): ontology.ID => ({ type: "table", key });
118
+ export const ontologyID = ontology.createIDFactory<Key>("table");
119
+ export const TYPE_ONTOLOGY_ID = ontologyID("");
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=policy.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.spec.d.ts","sourceRoot":"","sources":["../../../../src/access/policy/policy.spec.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { device } from './device';
2
- import { rack } from './rack';
3
- import { task } from './task';
4
- export declare class Client {
5
- readonly tasks: task.Client;
6
- readonly racks: rack.Client;
7
- readonly devices: device.Client;
8
- constructor(tasks: task.Client, racks: rack.Client, devices: device.Client);
9
- }
10
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,MAAM;IACjB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;gBAEpB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM;CAK3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hardware/device/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,GAAG,EAER,KAAK,GAAG,EAET,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAYtD,QAAA,MAAM,gBAAgB;;;;;;;;;;;iBAWpB,CAAC;AAGH,QAAA,MAAM,mBAAmB;;;;;;;;;GAQpB,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;mBAAmD,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,WAAW;IAIzB,QAAQ,CACZ,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEjE,QAAQ,CACZ,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAsB1E,MAAM,CACV,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,CACV,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IAoBzE,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/C;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,KAAG,QAAQ,CAAC,EAA+B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"device.spec.d.ts","sourceRoot":"","sources":["../../../../src/hardware/device/device.spec.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/hardware/device/external.ts"],"names":[],"mappings":"AASA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hardware/device/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../src/hardware/device/payload.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,MAAM,EAAE,MAAM,EAAO,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAEvC,eAAO,MAAM,mBAAmB;;;iBAA6C,CAAC;AAC9E,eAAO,MAAM,OAAO;;;kBAAsC,CAAC;AAE3D,MAAM,WAAW,MAAO,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC;CAAG;AAE1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUlB,CAAC;AAEH,MAAM,WAAW,MAAM,CACrB,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9D,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEf,CAAC;AACH,MAAM,WAAW,GAAG,CAClB,UAAU,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAClD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE,YAAY,CAAC;IAChD,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd"}
@@ -1,2 +0,0 @@
1
- export * from './client';
2
- //# sourceMappingURL=external.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/hardware/external.ts"],"names":[],"mappings":"AASA,cAAc,mBAAmB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * as hardware from './external';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hardware/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hardware/rack/client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/hardware/rack/external.ts"],"names":[],"mappings":"AASA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hardware/rack/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../src/hardware/rack/payload.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAO,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAEvC,eAAO,MAAM,mBAAmB;;iBAA2B,CAAC;AAC5D,eAAO,MAAM,OAAO;;kBAAsC,CAAC;AAE3D,MAAM,WAAW,MAAO,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC;CAAG;AAE1D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIhB,CAAC;AAEH,MAAM,WAAW,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC;CAAG;AAEzD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA+B,CAAC;AACjD,MAAM,WAAW,GAAI,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rack.spec.d.ts","sourceRoot":"","sources":["../../../../src/hardware/rack/rack.spec.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hardware/task/client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/hardware/task/external.ts"],"names":[],"mappings":"AASA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hardware/task/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../src/hardware/task/payload.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAI9D,eAAO,MAAM,IAAI,oJAIf,CAAC;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAEvC,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,UAAU;;;;iBACvB,CAAC;AAEvD,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAC/D,UAAU,CAAC,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,CAC9C,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,UAAU,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,UAAU;;;;kBAChC,CAAC;AAEvC,MAAM,MAAM,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CACvE,UAAU,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CACvC,CAAC;AAEF,eAAO,MAAM,KAAK,GAChB,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,EAE3C,UAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAIxC;;;;;;;;;;;;iBAUC,CAAC;AAEL,MAAM,WAAW,OAAO,CACtB,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAExC,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,UAAU,CAAC;CAC9B;AAED,MAAM,MAAM,OAAO,CACjB,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IACtC;IACF,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,IAAI,GACf,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,EAE3C,UAAU,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;iBAOvC,CAAC;AAEP,MAAM,MAAM,GAAG,CACb,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAClC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;UAQF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACzD,CAAC;AAEH,MAAM,WAAW,OAAQ,SAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,EAAE,MAAM,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,CAC3D,SAAQ,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAAG;AAEjE,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEvF,eAAO,MAAM,OAAO,GAAI,KAAK,GAAG,KAAG,OAAqC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.spec.d.ts","sourceRoot":"","sources":["../../../../src/hardware/task/task.spec.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { UnaryClient } from '@synnaxlabs/freighter';
2
- import { z } from 'zod';
3
- import { User } from './payload';
4
- declare const reqZ: z.ZodObject<{
5
- keys: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
6
- usernames: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
- }, z.core.$strip>;
8
- interface Request extends z.infer<typeof reqZ> {
9
- }
10
- export declare class Retriever {
11
- private readonly client;
12
- constructor(client: UnaryClient);
13
- retrieve(req: Request): Promise<User[]>;
14
- }
15
- export {};
16
- //# sourceMappingURL=retriever.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../../src/user/retriever.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAQ,KAAK,IAAI,EAAS,MAAM,gBAAgB,CAAC;AAExD,QAAA,MAAM,IAAI;;;iBAGR,CAAC;AACH,UAAU,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;CAAG;AAIjD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,WAAW;IAIzB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAU9C"}
@@ -1,11 +0,0 @@
1
- import { UnaryClient } from '@synnaxlabs/freighter';
2
- import { Key, New, User } from './payload';
3
- export declare class Writer {
4
- private readonly client;
5
- constructor(client: UnaryClient);
6
- create(users: New | New[]): Promise<User[]>;
7
- changeUsername(key: Key, newUsername: string): Promise<void>;
8
- rename(key: Key, firstName?: string, lastName?: string): Promise<void>;
9
- delete(keys: Key | Key[]): Promise<void>;
10
- }
11
- //# sourceMappingURL=writer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/user/writer.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIvE,OAAO,EAAE,KAAK,GAAG,EAAQ,KAAK,GAAG,EAAQ,KAAK,IAAI,EAAS,MAAM,gBAAgB,CAAC;AAuBlF,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,WAAW;IAIzB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAW3C,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/C"}
@@ -1,329 +0,0 @@
1
- // Copyright 2025 Synnax Labs, Inc.
2
- //
3
- // Use of this software is governed by the Business Source License included in the file
4
- // licenses/BSL.txt.
5
- //
6
- // As of the Change Date specified in that file, in accordance with the Business Source
7
- // License, use of this software will be governed by the Apache License, Version 2.0,
8
- // included in the file licenses/APL.txt.
9
-
10
- import { id } from "@synnaxlabs/x";
11
- import { describe, expect, test } from "vitest";
12
-
13
- import { type policy } from "@/access/policy";
14
- import { AuthError } from "@/errors";
15
- import { createTestClient } from "@/testutil/client";
16
- import { user } from "@/user";
17
-
18
- const client = createTestClient();
19
-
20
- describe("Policy", () => {
21
- describe("create", () => {
22
- describe("one", () => {
23
- test("without key", async () => {
24
- const policy = await client.access.policy.create({
25
- subjects: "user",
26
- objects: ["user", "channel"],
27
- actions: "delete",
28
- });
29
- expect(policy.key).toBeDefined();
30
- expect(policy.subjects.length).toEqual(1);
31
- expect(policy.subjects[0].key).toEqual("");
32
- expect(policy.subjects[0].type).toEqual("user");
33
- expect(policy.objects.length).toEqual(2);
34
- expect(policy.objects[0].key).toEqual("");
35
- expect(policy.objects[1].key).toEqual("");
36
- expect(policy.objects[0].type).toEqual("user");
37
- expect(policy.objects[1].type).toEqual("channel");
38
- expect(policy.actions).toEqual(["delete"]);
39
- await client.access.policy.delete(policy.key);
40
- });
41
-
42
- test("missing subjects", async () => {
43
- const policy = await client.access.policy.create({
44
- subjects: [],
45
- objects: [],
46
- actions: [],
47
- });
48
- expect(policy.key).toBeDefined();
49
- expect(policy.subjects).toHaveLength(0);
50
- expect(policy.objects).toHaveLength(0);
51
- expect(policy.actions).toHaveLength(0);
52
- const retrievedPolicy = await client.access.policy.retrieve({
53
- key: policy.key,
54
- });
55
- expect(retrievedPolicy).toMatchObject(policy);
56
- });
57
- test("missing objects", async () => {
58
- const policy = await client.access.policy.create({
59
- subjects: "user",
60
- objects: [],
61
- actions: [],
62
- });
63
- expect(policy.key).toBeDefined();
64
- expect(policy.subjects.length).toEqual(1);
65
- expect(policy.subjects[0].key).toEqual("");
66
- expect(policy.subjects[0].type).toEqual("user");
67
- expect(policy.objects).toHaveLength(0);
68
- expect(policy.actions).toHaveLength(0);
69
- const retrievedPolicy = await client.access.policy.retrieve({
70
- key: policy.key,
71
- });
72
- expect(retrievedPolicy).toMatchObject(policy);
73
- });
74
- test("with key", async () => {
75
- const policy = await client.access.policy.create({
76
- subjects: [
77
- { type: "user", key: "1" },
78
- { type: "channel", key: "2" },
79
- ],
80
- objects: { type: "channel", key: "3" },
81
- actions: ["delete", "retrieve"],
82
- });
83
- expect(policy.key).toBeDefined();
84
- expect(policy.subjects.length).toEqual(2);
85
- expect(policy.subjects[0].key).toEqual("1");
86
- expect(policy.subjects[0].type).toEqual("user");
87
- expect(policy.subjects[1].key).toEqual("2");
88
- expect(policy.subjects[1].type).toEqual("channel");
89
- expect(policy.objects.length).toEqual(1);
90
- expect(policy.objects[0].key).toEqual("3");
91
- expect(policy.objects[0].type).toEqual("channel");
92
- expect(policy.actions).toEqual(["delete", "retrieve"]);
93
- await client.access.policy.delete(policy.key);
94
- });
95
- });
96
- describe("many", () => {
97
- test("with keys", async () => {
98
- const policiesToCreate: policy.New[] = [
99
- {
100
- subjects: [{ type: "user", key: "10" }],
101
- objects: [
102
- { type: "user", key: "20" },
103
- { type: "schematic", key: "21" },
104
- ],
105
- actions: ["retrieve"],
106
- },
107
- {
108
- subjects: [
109
- { type: "user", key: "20" },
110
- { type: "schematic", key: "21" },
111
- ],
112
- objects: [
113
- { type: "user", key: "20" },
114
- { type: "schematic", key: "30" },
115
- ],
116
- actions: ["delete"],
117
- },
118
- ];
119
- const policies = await client.access.policy.create(policiesToCreate);
120
- expect(policies[0]).toMatchObject(policiesToCreate[0]);
121
- expect(policies[1]).toMatchObject(policiesToCreate[1]);
122
- await client.access.policy.delete([policies[0].key, policies[1].key]);
123
- });
124
- test("without keys", async () => {
125
- const policies = await client.access.policy.create([
126
- {
127
- subjects: "user",
128
- objects: ["user", "schematic"],
129
- actions: ["retrieve"],
130
- },
131
- {
132
- subjects: ["user", "schematic"],
133
- objects: ["channel"],
134
- actions: "retrieve",
135
- },
136
- ]);
137
- expect(policies.length).toEqual(2);
138
- expect(policies[0].key).toBeDefined();
139
- expect(policies[0].subjects.length).toEqual(1);
140
- expect(policies[0].subjects[0].key).toEqual("");
141
- expect(policies[0].subjects[0].type).toEqual("user");
142
- expect(policies[0].objects.length).toEqual(2);
143
- expect(policies[0].objects[0].key).toEqual("");
144
- expect(policies[0].objects[1].key).toEqual("");
145
- expect(policies[0].objects[0].type).toEqual("user");
146
- expect(policies[0].objects[1].type).toEqual("schematic");
147
- expect(policies[0].actions).toEqual(["retrieve"]);
148
- expect(policies[1].key).toBeDefined();
149
- expect(policies[1].subjects.length).toEqual(2);
150
- expect(policies[1].subjects[0].key).toEqual("");
151
- expect(policies[1].subjects[1].key).toEqual("");
152
- expect(policies[1].subjects[0].type).toEqual("user");
153
- expect(policies[1].subjects[1].type).toEqual("schematic");
154
- expect(policies[1].objects.length).toEqual(1);
155
- expect(policies[1].objects[0].key).toEqual("");
156
- expect(policies[1].objects[0].type).toEqual("channel");
157
- expect(policies[1].actions).toEqual(["retrieve"]);
158
- await client.access.policy.delete([policies[0].key, policies[1].key]);
159
- });
160
- });
161
- });
162
- describe("retrieve", async () => {
163
- test("by key", async () => {
164
- const policies = await client.access.policy.create([
165
- {
166
- subjects: "user",
167
- objects: ["user", "channel"],
168
- actions: "delete",
169
- },
170
- {
171
- subjects: "user",
172
- objects: ["schematic", "channel"],
173
- actions: "retrieve",
174
- },
175
- ]);
176
- const result = await client.access.policy.retrieve({ key: policies[0].key });
177
- expect(result).toMatchObject(policies[0]);
178
- const results = await client.access.policy.retrieve({
179
- keys: [policies[0].key, policies[1].key],
180
- });
181
- expect(results).toHaveLength(2);
182
- expect(results[0]).toMatchObject(policies[0]);
183
- expect(results[1]).toMatchObject(policies[1]);
184
- expect(results.sort()).toMatchObject(policies.sort());
185
- await client.access.policy.delete([policies[0].key, policies[1].key]);
186
- });
187
- test("by subject", async () => {
188
- const key1 = id.create();
189
- const key2 = id.create();
190
- const created = await client.access.policy.create([
191
- {
192
- subjects: [
193
- { type: "user", key: key1 },
194
- { type: "user", key: key2 },
195
- ],
196
- objects: [
197
- { type: "user", key: "234" },
198
- { type: "channel", key: "30" },
199
- ],
200
- actions: ["retrieve"],
201
- },
202
- {
203
- subjects: { type: "user", key: key1 },
204
- objects: [
205
- { type: "label", key: "23123" },
206
- { type: "channel", key: "30" },
207
- ],
208
- actions: "delete",
209
- },
210
- ]);
211
- const received = await client.access.policy.retrieve({
212
- for: user.ontologyID(key2),
213
- });
214
- const newReceived = received.filter((p) => created.some((c) => c.key === p.key));
215
- expect(created[0]).toMatchObject(newReceived[0]);
216
- await client.access.policy.delete([created[0].key, created[1].key]);
217
- });
218
- });
219
- describe("delete", async () => {
220
- test("one", async () => {
221
- const id1 = id.create();
222
- const id2 = id.create();
223
- const id3 = id.create();
224
- const policies: policy.New[] = [
225
- {
226
- subjects: [
227
- { type: "user", key: id1 },
228
- { type: "user", key: id2 },
229
- ],
230
- objects: [
231
- { type: "user", key: "20" },
232
- { type: "channel", key: "30" },
233
- ],
234
- actions: ["retrieve"],
235
- },
236
- {
237
- subjects: [
238
- { type: "user", key: id1 },
239
- { type: "user", key: id3 },
240
- ],
241
- objects: [
242
- { type: "label", key: "20" },
243
- { type: "channel", key: "30" },
244
- ],
245
- actions: ["delete"],
246
- },
247
- ];
248
-
249
- const created = await client.access.policy.create(policies);
250
- await client.access.policy.delete(created[0].key);
251
- await expect(
252
- client.access.policy.retrieve({ key: created[0].key }),
253
- ).rejects.toThrow();
254
- await client.access.policy.delete(created[1].key);
255
- });
256
- test("many", async () => {
257
- const id1 = id.create();
258
- const id2 = id.create();
259
- const id3 = id.create();
260
- const policies: policy.New[] = [
261
- {
262
- subjects: [
263
- { type: "user", key: id1 },
264
- { type: "user", key: id2 },
265
- ],
266
- objects: [
267
- { type: "user", key: "20" },
268
- { type: "channel", key: "30" },
269
- ],
270
- actions: ["retrieve"],
271
- },
272
- {
273
- subjects: [
274
- { type: "user", key: id1 },
275
- { type: "user", key: id3 },
276
- ],
277
- objects: [
278
- { type: "label", key: "20" },
279
- { type: "channel", key: "30" },
280
- ],
281
- actions: ["delete"],
282
- },
283
- ];
284
-
285
- const created = await client.access.policy.create(policies);
286
- await client.access.policy.delete([created[0].key, created[1].key]);
287
- await expect(
288
- client.access.policy.retrieve({ key: created[0].key }),
289
- ).rejects.toThrow();
290
- await expect(
291
- client.access.policy.retrieve({ key: created[1].key }),
292
- ).rejects.toThrow();
293
- });
294
- });
295
- });
296
-
297
- describe("privilege", async () => {
298
- test("new user", async () => {
299
- const username = id.create();
300
- const user2 = await client.users.create({ username, password: "pwd1" });
301
- expect(user2).toBeDefined();
302
- const client2 = createTestClient({ username: user2.username, password: "pwd1" });
303
- await expect(
304
- client2.users.create({ username: id.create(), password: id.create() }),
305
- ).rejects.toThrow(AuthError);
306
-
307
- const policy = await client.access.policy.create({
308
- subjects: "user",
309
- objects: "user",
310
- actions: ["create"],
311
- });
312
-
313
- const newUsername = id.create();
314
-
315
- const newUser = await client2.users.create({
316
- username: newUsername,
317
- password: id.create(),
318
- });
319
-
320
- expect(newUser.username).toEqual(newUsername);
321
-
322
- // Remove privileges
323
- await client.access.policy.delete(policy.key);
324
-
325
- await expect(
326
- client2.users.create({ username: id.create(), password: id.create() }),
327
- ).rejects.toThrow(AuthError);
328
- });
329
- });
@@ -1,24 +0,0 @@
1
- // Copyright 2025 Synnax Labs, Inc.
2
- //
3
- // Use of this software is governed by the Business Source License included in the file
4
- // licenses/BSL.txt.
5
- //
6
- // As of the Change Date specified in that file, in accordance with the Business Source
7
- // License, use of this software will be governed by the Apache License, Version 2.0,
8
- // included in the file licenses/APL.txt.
9
-
10
- import { type device } from "@/hardware/device";
11
- import { type rack } from "@/hardware/rack";
12
- import { type task } from "@/hardware/task";
13
-
14
- export class Client {
15
- readonly tasks: task.Client;
16
- readonly racks: rack.Client;
17
- readonly devices: device.Client;
18
-
19
- constructor(tasks: task.Client, racks: rack.Client, devices: device.Client) {
20
- this.tasks = tasks;
21
- this.racks = racks;
22
- this.devices = devices;
23
- }
24
- }
@@ -1,11 +0,0 @@
1
- // Copyright 2025 Synnax Labs, Inc.
2
- //
3
- // Use of this software is governed by the Business Source License included in the file
4
- // licenses/BSL.txt.
5
- //
6
- // As of the Change Date specified in that file, in accordance with the Business Source
7
- // License, use of this software will be governed by the Apache License, Version 2.0,
8
- // included in the file licenses/APL.txt.
9
-
10
- export * from "@/hardware/device/client";
11
- export * from "@/hardware/device/payload";
@@ -1,11 +0,0 @@
1
- // Copyright 2025 Synnax Labs, Inc.
2
- //
3
- // Use of this software is governed by the Business Source License included in the file
4
- // licenses/BSL.txt.
5
- //
6
- // As of the Change Date specified in that file, in accordance with the Business Source
7
- // License, use of this software will be governed by the Apache License, Version 2.0,
8
- // included in the file licenses/APL.txt.
9
-
10
- export * from "@/hardware/rack/client";
11
- export * from "@/hardware/rack/payload";
@@ -1,11 +0,0 @@
1
- // Copyright 2025 Synnax Labs, Inc.
2
- //
3
- // Use of this software is governed by the Business Source License included in the file
4
- // licenses/BSL.txt.
5
- //
6
- // As of the Change Date specified in that file, in accordance with the Business Source
7
- // License, use of this software will be governed by the Apache License, Version 2.0,
8
- // included in the file licenses/APL.txt.
9
-
10
- export * from "@/hardware/task/client";
11
- export * from "@/hardware/task/payload";