Commit Graph

739 Commits

Author SHA1 Message Date
Nate Kelley f8bf374772
input search 2025-02-24 19:11:26 -07:00
Nate Kelley 4ae7b41191
create text area button component 2025-02-24 18:41:53 -07:00
Nate Kelley 12cd9c85d0
working text area 2025-02-24 18:28:52 -07:00
Nate Kelley e3b5f9c991
create in put component 2025-02-24 18:14:17 -07:00
Nate Kelley de8d6783f2
udpate input 2025-02-24 18:06:17 -07:00
Nate Kelley c075820d73
info card update 2025-02-24 17:40:29 -07:00
Nate Kelley 3574051205
Update Dropdown.tsx 2025-02-24 15:46:57 -07:00
Nate Kelley 0152feebea
react node in dropdown? 2025-02-24 15:45:39 -07:00
Nate Kelley 7ba8034d73
Update Segmented.stories.tsx 2025-02-24 15:35:31 -07:00
Nate Kelley 045b0b2207
Update Segmented.stories.tsx 2025-02-24 15:34:10 -07:00
Nate Kelley c3952d5918
Update Segmented.tsx 2025-02-24 15:32:09 -07:00
Nate Kelley 7422c25b74
glider variants 2025-02-24 15:28:15 -07:00
Nate Kelley fcd199f93d
Update Segmented.tsx 2025-02-24 15:18:44 -07:00
Nate Kelley 290f9fde09
update segmented 2025-02-24 15:05:22 -07:00
Nate Kelley bb7af41bf2
update how tabs looks 2025-02-24 15:00:18 -07:00
Nate Kelley 1997f3d3a8
added segmented 2025-02-24 14:54:25 -07:00
Nate Kelley ce300ad08e
Update RadixSegmented.tsx 2025-02-24 14:42:31 -07:00
Nate Kelley 3f7d5053e0
segmented 2025-02-24 14:41:36 -07:00
Nate Kelley cb76a6e74a
added display names 2025-02-24 14:21:45 -07:00
Nate Kelley a61a63aa01
Update Button.tsx 2025-02-24 14:17:07 -07:00
Nate Kelley 3ef4eb1786
update tailwind with danger coors 2025-02-24 14:15:21 -07:00
Nate Kelley 612d3e0d87
block components 2025-02-24 14:10:09 -07:00
Nate Kelley 52067cc951
added a bunch of dropdown button configs 2025-02-24 14:06:31 -07:00
Nate Kelley e41180ff20
update 2025-02-24 13:52:33 -07:00
Nate Kelley 49337658ea
close on select update 2025-02-24 13:12:02 -07:00
Nate Kelley f235d1a4a8
selected state 2025-02-24 13:00:53 -07:00
Nate Kelley 6344d82159
pass through checks 2025-02-24 12:55:35 -07:00
Nate Kelley 90a270559e
update dropdown 2025-02-24 12:06:10 -07:00
Nate Kelley 448dfe778f
dropdown v1 2025-02-24 11:38:28 -07:00
Nate Kelley 07f4e32d6d
added some dropdown config stuff 2025-02-24 11:18:44 -07:00
Nate Kelley 9ed6990b22
added button rounding prop 2025-02-24 10:55:35 -07:00
Nate Kelley a37cc5b971
add link type 2025-02-24 10:35:39 -07:00
Nate Kelley dd056b5a97
additional button variants 2025-02-24 10:29:44 -07:00
Nate Kelley 9ee3f7676f
update icon sizing 2025-02-23 09:32:27 -07:00
Nate Kelley 2b102b6a6b
update icons 2025-02-23 09:31:10 -07:00
Nate Kelley a42eae7ee1
update icon variants 2025-02-22 16:19:43 -07:00
Nate Kelley b1a29d1e27
Update AppButton.tsx 2025-02-22 16:09:47 -07:00
Nate Kelley 7fca9864f2
update how icons are passed 2025-02-22 16:07:58 -07:00
Nate Kelley e8be7213c3
primary update 2025-02-22 15:27:32 -07:00
Nate Kelley 7ee01689c4
disabled update 2025-02-22 15:20:50 -07:00
Nate Kelley 61191880ed
loader better for black 2025-02-22 15:05:27 -07:00
Nate Kelley ffc4892884
added loading state to button 2025-02-22 14:58:58 -07:00
Nate Kelley 2198aacbb3
app button take 1 2025-02-22 14:01:55 -07:00
Nate Kelley 24ec9324fd
make 15px pixel icons 2025-02-22 13:50:10 -07:00
Nate Kelley 3f806b400a
move 12px icon to actually by 12px 2025-02-22 13:46:47 -07:00
Nate Kelley 6087f71cc6
Update AppToaster.stories.tsx 2025-02-22 13:38:50 -07:00
Nate Kelley cc58d08873
update story 2025-02-21 16:51:57 -07:00
Nate Kelley ccbad61fdf
16px default 2025-02-21 16:39:22 -07:00
Nate Kelley e42e15d7f6
export icons 2025-02-21 16:19:15 -07:00
Nate Kelley 68b2097995
toaster v1 2025-02-21 16:05:50 -07:00
Nate Kelley c301821c4f
add basic toaster 2025-02-21 15:26:57 -07:00
Nate Kelley 59beb494c4
update stwitch stories 2025-02-21 15:05:21 -07:00
Nate Kelley 8a51853f06
update tailwind colors 2025-02-21 14:29:15 -07:00
Nate Kelley 805c96c918
added storybook 2025-02-21 14:18:51 -07:00
Nate Kelley 6212f38615
add basic component structure 2025-02-21 12:37:56 -07:00
Nate Kelley 1394c55202
remove unused files 2025-02-21 12:12:45 -07:00
Nate Kelley 48f62b14fc
move utils around 2025-02-21 12:07:30 -07:00
Nate Kelley 289a57cc10
intermediate loader 2025-02-21 09:31:14 -07:00
Nate Kelley dc57a521e9
move some tailwind css variables over 2025-02-20 16:38:35 -07:00
Nate Kelley 600601b5a5
tailwind upgrade 2025-02-20 16:07:34 -07:00
Nate Kelley 52cdb5499f
tailwind dakr mode 2025-02-20 15:05:55 -07:00
Nate Kelley 42b42ee2b7
move around folder structure 2025-02-20 12:32:21 -07:00
Nate Kelley c2499e5925
move permission group naming 2025-02-20 12:17:41 -07:00
Nate Kelley be77b30492
dataset pages update 2025-02-20 08:25:03 -07:00
Nate Kelley def3863d58
onColumnResize update 2025-02-19 22:26:53 -07:00
Nate Kelley 4373fbb664
update 2025-02-19 22:16:28 -07:00
Nate Kelley f3f21f1aa7
move dataset controller to space 2025-02-19 21:49:04 -07:00
Nate Kelley 0f8027f834
move layouts around 2025-02-19 21:38:44 -07:00
Nate Kelley 4c63ffd2e6
move more components to specific folders 2025-02-19 21:20:32 -07:00
Nate Kelley 64eab8ec92
update to imports 2025-02-19 20:05:30 -07:00
Nate Kelley 3c24b768d2
update components structure 2025-02-19 19:53:49 -07:00
Nate Kelley b057d80828
move helpers out of app folder 2025-02-19 19:39:03 -07:00
Nate Kelley d01b28ffeb
create controller folder 2025-02-18 22:43:51 -07:00
Nate Kelley 093860cbe1
create layouts namespace 2025-02-18 22:31:56 -07:00
Nate Kelley 71f4eea5f3
update packages 2025-02-18 22:20:39 -07:00
Nate Kelley 1fd5703a16
Merge branch 'tailwind-upgrade' into big-nate/bus-939-create-new-structure-for-chats 2025-02-18 22:15:07 -07:00
Nate Kelley 88ac6d744e
update some of the listing 2025-02-18 20:34:00 -07:00
Nate Kelley 3dc28509d9
update controller 2025-02-18 20:17:38 -07:00
Nate Kelley afae3eb0f5
update collection 2025-02-18 19:19:54 -07:00
Nate Kelley 13d54b3562
Merge branch 'big-nate/bus-939-create-new-structure-for-chats' into tailwind-upgrade 2025-02-18 16:28:03 -07:00
Nate Kelley 8ff926a877
legend focus 2025-02-18 16:27:11 -07:00
Nate Kelley d6d9b68a43
Update useDropzonesInternal.ts 2025-02-18 16:18:13 -07:00
Nate Kelley 00f668852b
Update useDropzonesInternal.ts 2025-02-18 16:17:50 -07:00
Nate Kelley 12a619480a
legend focus + hover update 2025-02-18 15:57:28 -07:00
Nate Kelley a29048815e
fail anon user check 2025-02-18 15:30:38 -07:00
Nate Kelley acac1ed700
started moving mutation to a stable handler 2025-02-18 15:14:51 -07:00
Nate Kelley d542862e7b
favorites update 2025-02-18 14:42:49 -07:00
Nate Kelley 92b31a2f87
pass user info a little differently 2025-02-18 14:15:01 -07:00
Nate Kelley aadedfcb9f
fix tailwind errors 2025-02-18 14:02:21 -07:00
Nate Kelley 4d175ef881
update 2025-02-18 13:23:44 -07:00
Nate Kelley ab70f256ea
move tailwind to css 2025-02-18 13:15:16 -07:00
Nate Kelley 82f7765060
move fonts around 2025-02-18 13:14:17 -07:00
Nate Kelley 30006a2cd9
revert tailwind upgrade 2025-02-18 12:39:04 -07:00
Nate Kelley 72dc9e0dce
Update SelectAxisDropzone.tsx 2025-02-18 12:32:40 -07:00
Nate Kelley 9456b4aa7e
rename files 2025-02-18 11:02:28 -07:00
Nate Kelley 3f014c89c0
update icons 2025-02-18 11:00:49 -07:00
Nate Kelley 11da1aff89
update i12px icons 2025-02-18 11:00:27 -07:00
Nate Kelley ca87439d8b
update tw 2025-02-18 11:00:01 -07:00
Nate Kelley 84f3687059
12px update 2025-02-18 10:52:11 -07:00
Nate Kelley 313a888a39
small update 2025-02-18 10:50:35 -07:00
Nate Kelley 279dee9e07
prettier update 2025-02-18 10:42:02 -07:00
Nate Kelley edc5fd4fce
icon props update 2025-02-18 10:37:57 -07:00
Nate Kelley 9b8e3ee5f4
icon props import 2025-02-18 10:30:55 -07:00
Nate Kelley f33191080e
update for all icons 2025-02-18 10:28:53 -07:00
Nate Kelley ef5f2b2060
permission query keys 2025-02-17 22:33:03 -07:00
Nate Kelley 6559054da2
move some query keys configs 2025-02-17 22:09:13 -07:00
Nate Kelley 4b959e7f3c
move permission query keys to folder 2025-02-17 21:15:44 -07:00
Nate Kelley 51da69bf40
move chat querykeys 2025-02-17 20:50:21 -07:00
Nate Kelley b6e9268cf0
move requests to the request folder 2025-02-17 20:35:47 -07:00
Nate Kelley 5fbcfd87c4
set user in query data 2025-02-17 17:32:29 -07:00
Nate Kelley 3d71e084e3
update interfaces 2025-02-17 17:04:51 -07:00
Nate Kelley a9a84d8792
Update useChatStreamMessage.ts 2025-02-17 16:28:58 -07:00
Nate Kelley d3a7af0b6e
move chats to use new socket on syntax 2025-02-17 16:25:31 -07:00
Nate Kelley c69030fcc6
start moving chats to react query 2025-02-17 15:03:41 -07:00
Nate Kelley 912d0e855d
search update 2025-02-17 14:46:08 -07:00
Nate Kelley b4d0020947
udpate user info 2025-02-17 14:42:24 -07:00
Nate Kelley 286ec294d2
remove permission provider 2025-02-17 14:33:45 -07:00
Nate Kelley b1b13b3120
data source using new handler 2025-02-17 14:02:10 -07:00
Nate Kelley 99dc3f94db
dashboard list controller 2025-02-17 13:20:34 -07:00
Nate Kelley 9daf294459
mutation for dedup 2025-02-15 22:01:47 -07:00
Nate Kelley 5c45de8384
stale time cleanup 2025-02-15 21:51:46 -07:00
Nate Kelley 40ca445d1b
use metrics init 2025-02-15 21:35:57 -07:00
Nate Kelley 2f0bc40cfd
query emit on 2025-02-15 20:45:11 -07:00
Nate Kelley 5b4da9fc4a
metric individual subscriber 2025-02-15 18:22:43 -07:00
Nate Kelley bb912b28ca
filter metric list 2025-02-14 21:41:57 -07:00
Nate Kelley db4a5adee1
simplify metric list 2025-02-14 21:39:23 -07:00
Nate Kelley 8c96c1c761
move organizatino query keys to dedicated folder 2025-02-14 21:26:02 -07:00
Nate Kelley 0e07ea91de
make query key for users 2025-02-14 21:20:22 -07:00
Nate Kelley 09f4eee023
users organziations 2025-02-14 21:02:25 -07:00
Nate Kelley bf48f02361
create query key rules 2025-02-13 23:11:32 -07:00
Nate Kelley 964633bb95
move query keys to their own folder 2025-02-13 23:04:30 -07:00
Nate Kelley 443a6fc703
fallback for datametadata 2025-02-13 22:52:07 -07:00
Nate Kelley cfccd4655a
created terms and metrics 2025-02-13 22:46:21 -07:00
Nate Kelley a67461fe75
query exports for metric, search and terms 2025-02-13 17:10:21 -07:00
Nate Kelley cc01b2a03b
create terms react query 2025-02-13 16:54:30 -07:00
Nate Kelley b0519d4625
abstract dataset provider away 2025-02-13 16:16:03 -07:00
Nate Kelley 692f3d36ad
dashboard header 2025-02-13 16:06:08 -07:00
Nate Kelley 1c3d06a5d3
asset add items 2025-02-13 15:58:14 -07:00
Nate Kelley a9f7cf23cc
mutation update for collections 2025-02-13 15:15:32 -07:00
Nate Kelley 5d283d49d3
query key updates 2025-02-13 14:28:45 -07:00
Nate Kelley 01382338b1
fix some types issues 2025-02-13 13:25:41 -07:00
Nate Kelley d6a5e684b6
general structure for api folders 2025-02-13 13:18:55 -07:00
Nate Kelley f9da0fe2aa
add rules for the request directory 2025-02-13 13:09:38 -07:00
Nate Kelley ba80aaf41d
request queries 2025-02-13 12:59:50 -07:00
Nate Kelley 8ec0137fbc
precallback 2025-02-13 12:29:33 -07:00
Nate Kelley 7d46a35304
callback is working! 2025-02-13 12:27:26 -07:00
Nate Kelley 533eb4fd9e
created additinal mutation config 2025-02-13 12:13:34 -07:00
Nate Kelley 7fdae13b7c
emit and once 2025-02-13 12:05:16 -07:00
Nate Kelley da8fd8ba18
emit and once 2025-02-13 11:50:07 -07:00
Nate Kelley 4c1c68db92
Update useSocketQueryOn.tsx 2025-02-13 11:18:45 -07:00
Nate Kelley 2c345c8e2d
more stable socket query on 2025-02-13 10:59:45 -07:00
Nate Kelley 98892fdc5a
update 2025-02-13 10:47:02 -07:00
Nate Kelley f32bbf0a75
update to use new syntax 2025-02-12 23:53:25 -07:00
Nate Kelley bdd1cbd64c
Update useSocketQueryMutation.tsx 2025-02-12 23:43:42 -07:00
Nate Kelley 3851461ce6
Update useSocketQueryMutation.tsx 2025-02-12 23:30:45 -07:00
Nate Kelley 4d4ab66e2c
add additional routes to new handlers 2025-02-12 23:11:44 -07:00
Nate Kelley 0ee588a6c5
collection update to react query 2025-02-12 21:57:05 -07:00
Nate Kelley 54ee56677f
many updates to collections 2025-02-12 16:02:08 -07:00
Nate Kelley 04a884da50
test 2025-02-12 14:52:11 -07:00
Nate Kelley e91e0d9f86
type safety updates for mutation 2025-02-12 14:19:51 -07:00
Nate Kelley ad02a021ac
create socket query 2025-02-12 12:34:49 -07:00
Nate Kelley 51291d44e0
update query 2025-02-12 11:56:59 -07:00
Nate Kelley 0b055361d6
working types 2025-02-12 11:46:23 -07:00
Nate Kelley 28753cba34
move sockets around 2025-02-12 11:01:54 -07:00
Nate Kelley 08a1600ed2
fallback to view key 2025-02-11 17:35:10 -07:00
Nate Kelley 2ba75e242b
animate reasoning title 2025-02-11 17:09:12 -07:00
Nate Kelley 18549b442f
change auto layout ocnif 2025-02-11 16:46:22 -07:00
Nate Kelley 9f914a34f9
thinking step 2025-02-11 15:02:02 -07:00
Nate Kelley 0eac17f6af
follow up messages are corected 2025-02-11 12:32:12 -07:00
Nate Kelley 75a9543e6c
Update NewChatProvider.tsx 2025-02-11 11:22:27 -07:00
Nate Kelley db50da5ea3
remove mocks 2025-02-11 10:46:24 -07:00
Nate Kelley dca73444fa
auto append thoughts 2025-02-11 10:25:51 -07:00
Nate Kelley d1e4c2c90d
Update AppCodeEditor.tsx 2025-02-10 21:02:43 -07:00
Nate Kelley 644d7f89d8
chat update 2025-02-10 20:23:28 -07:00
Nate Kelley 7a349da981
added functions for streaming content 2025-02-10 16:43:38 -07:00
Nate Kelley 25e24b1341
close action 2025-02-10 15:35:18 -07:00
Nate Kelley 90e859b761
Update StatusIndicator.tsx 2025-02-10 15:25:55 -07:00
Nate Kelley 863bcef721
remove chunks for files 2025-02-10 15:21:59 -07:00
Nate Kelley fe8ccf4a33
container update 2025-02-10 14:15:30 -07:00
Nate Kelley f93611b7f4
code block wrapper 2025-02-10 13:23:32 -07:00
Nate Kelley 7a1f5418b3
adjust file card 2025-02-10 12:24:35 -07:00
Nate Kelley 9fa93deed4
add better indicators 2025-02-10 11:57:07 -07:00
Nate Kelley 14ca65be59
update types 2025-02-10 11:41:59 -07:00
Nate Kelley c40bdfcb4c
Reasoning file 2025-02-10 10:42:47 -07:00
Nate Kelley 4f63276de2
thought message types update 2025-02-10 09:59:54 -07:00
Nate Kelley 0138b94321
auto update layout 2025-02-09 08:25:32 -07:00
Nate Kelley dd947d1999
change up IBusterChat 2025-02-08 21:13:42 -07:00
Nate Kelley 4ef095ceba
reasoning file click 2025-02-08 15:45:56 -07:00
Nate Kelley 75873c2ef5
add reasoning messages 2025-02-08 14:37:46 -07:00
Nate Kelley 117db1c21d
responses generated 2025-02-07 22:24:18 -07:00
Nate Kelley 2785d90cd7
added query requests for chats and metrics 2025-02-07 20:52:25 -07:00
Nate Kelley d98bd17741
naming conventions 2025-02-07 20:27:07 -07:00
Nate Kelley c6ac866d72
create chats 2025-02-07 19:57:42 -07:00
Nate Kelley 07c750b801
add additional context rules 2025-02-07 19:45:48 -07:00
Nate Kelley e831a2149d
use metric fetched logic 2025-02-07 14:30:50 -07:00
Nate Kelley 9054d61cf7
replace immer with mutative 2025-02-07 14:11:05 -07:00
Nate Kelley d02874f5fd
Update useMetricUpdateConfig.ts 2025-02-07 13:24:11 -07:00
Nate Kelley d1e0ba9970
rename some vars 2025-02-07 13:20:11 -07:00
Nate Kelley 274c74587d
update how dashboards are 2025-02-07 12:45:47 -07:00
Nate Kelley 88047b5e40
abstract listing metrics 2025-02-06 19:19:39 -07:00
Nate Kelley 05ce401d15
create chat lists 2025-02-06 19:08:40 -07:00
Nate Kelley 9483d60e5f
file editor updates 2025-02-06 15:15:13 -07:00
Nate Kelley 98d62419b9
add delete chat area 2025-02-06 15:06:37 -07:00
Nate Kelley 7d95f1f008
share menu 2025-02-06 14:31:46 -07:00
Nate Kelley a2f07161f8
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-02-06 13:01:19 -07:00
Nate Kelley 36b36fa1a4
dots on line update 2025-02-06 12:58:37 -07:00
dal ef685d87a4
Fix x axis intervals (#105)
* xAxisTickinerval

* fix(visualization): Add x-axis time unit configuration for bar and combo charts

- Extend chart configuration to support optional x-axis time unit
- Update modify visualization agent to dynamically set x-axis time interval
- Modify bar line and combo chart prompts to include x_axis_time_unit parameter

* only use valid time units

* refactor(visualization): Simplify x-axis time unit configuration

- Modify modify_visualization_agent to extract and remove x-axis time unit more efficiently
- Update global styling result structure for x-axis time interval
- Adjust format_label_prompt comment to clarify date format default behavior

---------

Co-authored-by: Nate Kelley <nate@buster.so>
2025-02-06 11:58:25 -08:00
Nate Kelley f1381bdf50
Update useXAxis.ts 2025-02-06 12:47:08 -07:00
Nate Kelley a519a772ee
xAxisTimeInterval 2025-02-06 12:22:14 -07:00
Nate Kelley a58b8057b8
Update MOCK_DASHBOARD.ts 2025-02-06 10:40:02 -07:00
Nate Kelley 06410c3187
update faker 2025-02-06 10:19:25 -07:00
Nate Kelley f6ad1e24f0
dashboard updates 2025-02-06 10:06:28 -07:00
Nate Kelley 5405232de9
animation rews update 2025-02-05 22:57:56 -07:00
Nate Kelley 279d903de2
defferred updatate 2025-02-05 22:42:22 -07:00
Nate Kelley f3a4fb96ef
mock data update 2025-02-05 22:35:46 -07:00
Nate Kelley 6c5f4c7b5f
dashboard config 2025-02-05 16:43:18 -07:00
Nate Kelley 1a373d1e04
popup selet file container 2025-02-05 14:31:32 -07:00
Nate Kelley 2fc8c9a221
Update useMetricLayout.ts 2025-02-05 13:19:49 -07:00
Nate Kelley 55e307b677
do not allow dragging app data grid 2025-02-05 13:06:25 -07:00
Nate Kelley f4866b790d
save sql container 2025-02-05 12:54:06 -07:00
Nate Kelley e7843d5a83
created results file pt1 2025-02-05 11:27:53 -07:00
Nate Kelley 39d5601158
update how we pass inputs 2025-02-05 09:55:09 -07:00
Nate Kelley b984e9863f
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-02-05 09:15:30 -07:00
Nate Kelley f437aea897
use colors in tooltip cache 2025-02-05 08:12:13 -07:00
Nate Kelley 255c1514ad
Update MetricTitle.tsx 2025-02-05 08:01:55 -07:00
Nate Kelley 3f46086ca7
Update ChatInput.tsx 2025-02-04 22:40:59 -07:00
Nate Kelley bc93d18f7e
Update SubmitButton.tsx 2025-02-04 22:22:55 -07:00
Nate Kelley 3977d7bb34
make submit button a little better 2025-02-04 22:04:26 -07:00
Nate Kelley e02ac8e35f
pass row count 2025-02-04 21:04:24 -07:00
Nate Kelley f86ca7e641
update x axis type trigger 2025-02-04 20:21:14 -07:00
Nate Kelley 420fe8f90f
change to use refs 2025-02-04 19:55:15 -07:00
Nate Kelley 535b6658a9
rename metric controller
update version

your message

splitter resizer
2025-02-04 16:51:37 -07:00
Nate Kelley 6dc40d0ae8
make a card component 2025-02-04 11:13:46 -07:00
Nate Kelley 54810dcf59
document endpoints 2025-02-04 11:01:00 -07:00
Nate Kelley 4992b2b118
metric edit controller 2025-02-03 22:14:54 -07:00
Nate Kelley af5e599dab
make a chart card 2025-02-03 20:57:12 -07:00
Nate Kelley 679295cff8
metric chart update 1 2025-02-03 16:37:18 -07:00
Nate Kelley 9c847ca6f1
animate buttons in and out 2025-02-03 11:44:06 -07:00
Nate Kelley e6655554d0
close secondary when open primary 2025-02-03 11:24:32 -07:00
Nate Kelley 2be183889b
metric toggle secondary 2025-02-03 10:46:20 -07:00
Nate Kelley d17899f3d4
toggle for metric slideout 2025-02-03 10:31:15 -07:00
Nate Kelley 4ca917195c
additinal typing 2025-02-03 09:33:02 -07:00
Nate Kelley 45f814ff04
change how dashboards are routed 2025-02-03 09:26:40 -07:00
Nate Kelley 40d4532788
move permission to asset interfaces 2025-02-01 21:53:01 -07:00
Nate Kelley d2e7c65ca4
move addtional files to asset 2025-02-01 21:27:54 -07:00
Nate Kelley 4cee544cf3
move dataset to shared asset 2025-02-01 20:59:24 -07:00
Nate Kelley 90fac0a5c7
Start removing thread context 2025-01-31 22:33:57 -07:00
Nate Kelley 58551de620
start moving api interfaces to folder 2025-01-31 11:09:11 -07:00
Nate Kelley 731969aa49
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-30 17:16:39 -07:00
Nate Kelley 5b231e1efd
make dashboard header sizing more consistent 2025-01-30 17:16:19 -07:00
Nate Kelley 337569fd9c
remove some requests 2025-01-30 16:56:08 -07:00
Nate Kelley 17c57f6d75
metric interfaces in correct place 2025-01-30 16:53:57 -07:00
Nate Kelley 22337e17d1
share menu structures 2025-01-30 16:51:37 -07:00
Nate Kelley 70d770f565
add additional components 2025-01-30 15:33:06 -07:00
Nate Kelley f234825029
add chat layout context 2025-01-30 10:44:37 -07:00
Nate Kelley 7d7e637d50
update animation 2025-01-29 15:10:41 -07:00
Nate Kelley 36965ca1fe
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-29 14:55:43 -07:00
Nate Kelley 64971b7267
fix(posthog): update posthog config 2025-01-29 14:54:49 -07:00
Nate Kelley 9d5ed6b10f
Update ChatResponseMessages.tsx 2025-01-29 14:51:19 -07:00
Nate Kelley ce4d061325
add additional animation 2025-01-29 13:58:27 -07:00
Nate Kelley 372e394100
smoother hide transntion 2025-01-29 13:11:37 -07:00
Nate Kelley 97316c11cc
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-29 12:47:31 -07:00
Nate Kelley 4bade2114a
attempt to fix cursor bug 2025-01-29 12:46:26 -07:00
Nate Kelley 284dd43369
remove warning for show undefeine 2025-01-29 12:17:16 -07:00
Nate Kelley 01cbc70cd6
replace missing data with logic update 2025-01-29 11:32:38 -07:00
Nate Kelley 75e36b8e93
replace missing data with 2025-01-29 10:35:34 -07:00
Nate Kelley cce49d7d95
Update createServerInstance.ts 2025-01-29 09:45:19 -07:00
Nate Kelley dc152628f0
hidden items 2025-01-28 17:12:23 -07:00
Nate Kelley 44df60c695
chat content update 2025-01-28 16:21:00 -07:00
Nate Kelley f686403141
do not show next line 2025-01-28 15:54:41 -07:00
Nate Kelley 2a881479ee
message updated 2025-01-28 15:38:43 -07:00
Nate Kelley 330c3067d5
version id update 2025-01-28 15:21:07 -07:00
Nate Kelley 29b2c8996f
bleed into message block 2025-01-28 14:21:22 -07:00
Nate Kelley f41c4da9ff
thought transitions complete 2025-01-28 14:07:30 -07:00
Nate Kelley 2d8d2baa6f
Update ChatResponseMessage_ThoughtPills.tsx 2025-01-28 13:29:07 -07:00
Nate Kelley e653d3953b
better pill handling 2025-01-28 12:55:53 -07:00
Nate Kelley b850a85199
width 2025-01-28 12:47:14 -07:00
Nate Kelley df3c216b3e
pill click events 2025-01-28 12:24:31 -07:00
Nate Kelley aec79d84a6
thoughts pills 2025-01-28 11:50:11 -07:00
Nate Kelley 52c4521750
pill styles 2025-01-28 10:57:26 -07:00
Nate Kelley b8e1270f36
Update ChatResponseMessage_Thought.tsx 2025-01-28 10:07:37 -07:00
Nate Kelley 975b8dd8d9
add streaming text 2025-01-28 10:04:54 -07:00
Nate Kelley 20c31af9da
started adding responses 2025-01-27 17:08:52 -07:00
Nate Kelley 90d30c93af
add additional context provider for chats 2025-01-27 16:23:08 -07:00
Nate Kelley be050b3521
select file update 2025-01-27 15:48:29 -07:00
Nate Kelley d5ee691de4
add provider for chats 2025-01-27 14:20:26 -07:00
Nate Kelley 604bfbdd6c
create chat interfaces 2025-01-27 13:21:42 -07:00
Nate Kelley 9f4dcb6baa
animation for collapse button 2025-01-25 11:23:19 -07:00
Nate Kelley d7aeb14569
pass down file type to container 2025-01-24 21:21:53 -07:00
dal 39dfc053fc
Merge branch 'main' into staging 2025-01-24 16:07:02 -08:00
Nate Kelley b3af7267ef
default file passthrough 2025-01-24 16:59:38 -07:00
Nate Kelley de0d46bb2e
more chat container info 2025-01-24 16:33:32 -07:00
Nate Kelley 2068cf2046
add scroll indicator 2025-01-24 14:39:15 -07:00
Nate Kelley 8b21e0d50c
chat file headers 2025-01-24 13:36:39 -07:00
Nate Kelley 2fe395b5ea
check if number for chat splitter 2025-01-24 13:05:09 -07:00
Nate Kelley ff81539cb9
Use performance instead of settimeout for splitter animation 2025-01-24 11:14:49 -07:00
Nate Kelley 975f5a1011
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-24 11:12:12 -07:00
Nate Kelley 2208977a87
prevent email param injection 2025-01-24 11:04:34 -07:00
Nate Kelley 62ce1b8c9c
Update cspPolicyMiddleware.ts 2025-01-24 10:50:17 -07:00
Nate Kelley 4000bb4e06
add csp policy middleware 2025-01-24 10:19:53 -07:00
dal 98aff93fba
chore: add release-please configuration
* chore: add release-please configuration

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* update package versions

* Make users page (#39)

* create users pages

* abstract more components to correct folders

* carve out expection if we are hiding the select all

* user query

* Add ability to change default access

* Update package-lock.json

* Update package-lock.json

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Big nate/bus 924 make additional permissions pages (#50)

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* finalize permission popup

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* more elegant infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add additional bulk popup menus

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* make pages unique

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* change how padding is applied to list

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* start user dataset lineage

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Refactor SQL query in list_assets_handler to use a Common Table Expression (CTE) for improved readability and maintainability. The CTE, `distinct_assets`, simplifies the selection of distinct asset records before applying the final ordering and limiting.

* add cursor rules for web directory + jest (#52)

* on change update for segments

* PRevent clicking passthrough on users click

* feat: Add assets module and nest routes in user router

- Introduced a new `assets` module to handle asset-related routes.
- Updated the user router to nest the `assets` routes under the user ID path, enhancing the organization of API endpoints.
- This change improves the structure and maintainability of the user-related routes in the API.

* feat: Enhance user attribute listing with authorization checks

- Updated the `list_attributes_handler` to include authorization checks for user roles and organization IDs.
- Implemented error handling for unauthorized access to user attributes.
- Refactored the SQL query to retrieve user attributes based on the authenticated user's organization, improving security and data integrity.
- This change ensures that only authorized users can list attributes, enhancing the overall security of the API.

* pass through dataset overview

* feat: Update dataset group listing to include permissions

- Enhanced the `list_dataset_groups` function to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset group.
- Modified the `DatasetGroupInfo` struct to include `permission_id` and `assigned` fields, reflecting the new data structure.
- Refactored the SQL query to group by necessary fields and ensure accurate permission data is returned, improving the functionality and security of dataset group listings.

* feat: Add DatasetGroupPermission model and schema

- Introduced a new `DatasetGroupPermission` struct in `models.rs` to represent permissions associated with dataset groups.
- Updated the database schema in `schema.rs` to include the `dataset_groups_permissions` table, defining its structure and relationships.
- Modified the `is_user_workspace_admin_or_data_admin` function in `checks.rs` to correctly reference the user's organization role, enhancing role validation logic.

* add component for users inputs

* feat: Update dataset group listing to include dataset group permissions

- Modified the `list_dataset_groups` function to accept an additional `id` parameter for filtering dataset groups based on user permissions.
- Updated the SQL query to join with the `dataset_groups_permissions` table, allowing retrieval of permission counts for each dataset group.
- Refactored the `DatasetGroupInfo` struct to replace `permission_id` with `permission_count`, enhancing clarity and accuracy in the data representation.
- Ensured that the query groups by the new permission structure, improving the functionality and security of dataset group listings.

* feat: Refactor dataset listing to include user-specific permissions

- Updated the `list_datasets` function to accept an additional `id` parameter for filtering datasets based on user permissions.
- Enhanced the SQL query to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset.
- Refactored the `DatasetInfo` struct to include an `assigned` field, improving clarity in the dataset representation.
- Improved error handling for dataset retrieval, ensuring robust logging and response management.

* fix: Correct user role attribute and enhance read-only logic in list_attributes_handler

- Updated the user role attribute key from "role" to "organization_role" for accurate role retrieval.
- Introduced a read-only flag for specific user attributes, improving data integrity by clearly indicating which attributes should not be modified.
- Enhanced error handling for user role retrieval, ensuring robust responses for missing or incorrect attributes.

* normalize header for list

* new line

* popup conatiner for users

* feat: Enhance user authorization checks and refactor related functions

- Added user authorization checks in `list_attributes`, `list_dataset_groups`, `list_datasets`, `list_permission_groups`, and `list_teams` functions to ensure only users with appropriate roles can access these resources.
- Refactored the `list_teams_handler` to accept `user_id` as a parameter, improving clarity and consistency across user-related functions.
- Updated SQL queries to utilize the new authorization checks, enhancing security and data integrity.
- Removed redundant column allowances in `list_teams` permissions, streamlining the codebase.

* pass last child as index

* feat: Enhance permission group handling and streamline SQL queries

- Expanded the `allow_columns_to_appear_in_same_group_by_clause!` macro in `models.rs` to include additional columns for datasets and users, improving query flexibility.
- Refactored the `list_permission_groups` function to include dataset count and assigned status, enhancing the information returned for each permission group.
- Updated SQL queries in `list_permission_groups` to utilize left joins for better data retrieval and to ensure accurate permission checks.
- Removed redundant column allowances in various files, streamlining the codebase and improving maintainability.

* feat: Add PUT route for updating teams in user assets

- Introduced a new module `put_teams` to handle updates for teams.
- Added a PUT route for `/teams` in the user assets router, allowing for team modifications.
- Enhanced the routing capabilities of the user assets API to support both GET and PUT requests for teams.

* onchagne appsegmetned update

* create permission user endpoints

* move files to match new page structure

* refactor: Clean up routing and improve PUT teams handler

- Reformatted imports in `mod.rs` for better readability.
- Commented out the PUT route for `/teams` in the user assets router, indicating a potential future change or deprecation.
- Updated the `put_teams` handler to return a `NoContent` response upon successful execution, enhancing clarity in API responses.
- Improved error handling in the `put_teams` function for better logging and response management.

* refactor: Standardize user ID parameter naming across user-related routes

- Updated all user-related route handlers to use `user_id` instead of `id` for better clarity and consistency.
- Modified the routing definitions in `mod.rs` to reflect the new parameter naming convention.
- Enhanced the `list_permission_groups` function to accept `user_id` as a parameter, improving clarity in the handler's signature.
- Ensured all relevant functions now consistently handle the `user_id` parameter, streamlining the codebase and improving maintainability.

* feat: Enhance team management with role-based assignments

- Introduced a new `TeamInfoRole` enum to represent user roles within teams, replacing the previous boolean `assigned` field.
- Updated the `list_teams` handler to return team roles instead of assignment status, improving clarity on user roles.
- Refactored the `put_teams` handler to support role-based assignments, allowing for more granular control over team memberships.
- Added new PUT routes for dataset groups and permission groups in the user assets router, enhancing API capabilities.
- Improved SQL queries for team assignments to utilize role information, streamlining database interactions.

* feat: Add organization_id to DatasetGroupPermission and update dataset group handler

- Introduced a new `organization_id` field in the `DatasetGroupPermission` struct to associate permissions with specific organizations.
- Updated the `put_dataset_groups_handler` to include `organization_id` when creating or updating dataset group permissions, enhancing the API's capability to manage permissions at the organizational level.
- Improved SQL query formatting for better readability in the handler.

* add list components for permission settings

* feat: Introduce assets module and update routing for permission groups

- Added a new `assets` module to organize related routes.
- Updated the routing in `mod.rs` to nest the `assets` router under the `/:permission_group_id` path, enhancing the structure and clarity of the API.
- Maintained existing routes for managing permission groups while improving modularity.

* create permission group users

* refactor: Update list_permission_groups_handler to use user_id and improve SQL queries

- Changed the parameter in the SQL query from `user.id` to `user_id` for consistency with the updated user ID parameter naming convention.
- Enhanced the SQL query to count distinct dataset permissions and utilize `bool_or` for identity checks, improving accuracy and performance.
- Cleaned up the grouping in the SQL query by removing unnecessary fields, streamlining the data retrieval process.

* add listing for dataset groups

* feat: Add PUT routes for user and dataset management in assets module

- Introduced new PUT routes for managing users and dataset groups in the assets module.
- Updated the router to support PUT requests for `/users`, `/dataset_groups`, and `/datasets`, enhancing the API's functionality for resource updates.
- Improved modularity by organizing related routes within the assets module.

* add listing for dataset groups

* add list for datasets

* assigned permissions

* Add attributes and teams

* feat: Add DatasetToDatasetGroup model and update schema

- Introduced a new `DatasetToDatasetGroup` struct to represent the relationship between datasets and dataset groups, including fields for timestamps and optional deletion.
- Updated the database schema to include `updated_at` and `deleted_at` fields for the `datasets_to_dataset_groups` table, enhancing data tracking capabilities.
- Refactored the routing in `mod.rs` to include a nested router for assets, improving the organization of dataset group routes.

* invalidate query if user id is present

* create a dataset modal added to user page

* add team modal to teams

* assigned popup

* feat: Enhance user retrieval with dataset information

- Added new structs `DatasetLineage` and `DatasetInfo` to represent dataset details and lineage.
- Updated `UserResponse` to include a list of datasets associated with the user.
- Refactored `get_user_information` function to concurrently fetch user info, direct datasets, permission group datasets, and organization datasets using `tokio::spawn` for improved performance.
- Implemented logic to compile datasets based on direct access and permission group access, including lineage tracking for better data representation.
- Enhanced error handling during database queries to ensure robust user information retrieval.

* feat: Enhance dataset access retrieval in user and dataset overview

- Updated `get_dataset_overview` to include dataset group access and permission group to dataset group access, improving the granularity of dataset permissions.
- Introduced new queries to fetch dataset groups and their associated permissions, enhancing the dataset overview for users.
- Refactored `get_user_information` to concurrently retrieve dataset groups and permission group datasets, optimizing performance with `tokio::spawn`.
- Enhanced lineage tracking for datasets, allowing for better representation of user permissions across dataset groups and permission groups.
- Improved error handling during database queries to ensure robust data retrieval.

* lineage props passed

* refactor: Streamline dataset access logic in get_user_information

- Simplified access control logic for datasets based on user roles, consolidating conditions for WorkspaceAdmin, DataAdmin, Querier, Viewer, and RestrictedQuerier.
- Enhanced dataset lineage tracking to provide clearer representation of user permissions across various dataset access types.
- Removed redundant code related to dataset processing, improving readability and maintainability of the `get_user_information` function.
- Ensured that datasets are correctly categorized based on direct access, permission group access, and organization datasets, optimizing the overall data retrieval process.

* feat: Refactor dataset overview access lineage in get_dataset_overview

- Introduced a default access lineage for users, ensuring consistent representation of user permissions.
- Simplified the addition of user roles to the lineage, consolidating logic for WorkspaceAdmin, DataAdmin, Querier, and Viewer roles.
- Enhanced lineage tracking for RestrictedQuerier role to include direct dataset access and permission group lineage, improving granularity of dataset permissions.
- Removed redundant code related to dataset and permission group lineage, optimizing readability and maintainability of the `get_dataset_overview` function.

* add datasetgroup handler

* feat: Improve dataset access control and lineage tracking

- Enhanced the `get_dataset_overview` function to refine access control for the `RestrictedQuerier` role, allowing for more granular permission checks based on various access paths.
- Updated the `get_user_information` function to streamline dataset processing, ensuring that datasets are categorized correctly based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability of both functions.
- Improved lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* clickable pills

* fix build errors

* add endpoints for dataset groups, and permission groups

* refactor: Enhance dataset access control and lineage tracking

- Streamlined the `get_dataset_overview` function to improve access control for the `RestrictedQuerier` role, ensuring more precise permission checks.
- Updated the `get_user_information` function to optimize dataset processing, categorizing datasets based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability.
- Enhanced lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* better handling for create a permission group

* Refetch on team created for now

* add additional pages

* permission group modal update

* added pages for permission groups

* add user permission list

* add datasets to permission groups page

* Update dependencies and refactor Snowflake query handling

- Downgraded the `base64` crate version in `Cargo.toml` from `0.22.1` to `0.21`.
- Refactored the `snowflake_query` function in `snowflake_query.rs` to improve data type handling, including support for additional Arrow data types and enhanced null value checks.
- Updated the `route_to_query` function in `query_router.rs` to use mutable `snowflake_client` for better state management during query execution.
- Improved error handling for closing the Snowflake client session, ensuring proper logging of any issues encountered.

* add datasets to permission groups page

* Refactor Snowflake client connection to remove warehouse and database IDs

- Updated the `get_snowflake_client` function to no longer require `warehouse_id` and `database_id`, simplifying the connection process.
- This change enhances flexibility in client initialization and aligns with recent updates to Snowflake API handling.

* add permission groups lists

* add dataset group in permission group area

* remove console logs

* Big nate/bus 936 if a user is not an admin we should not see the permission (#57)

* app sidebar settings should hide

* rename api directories

* list empty state

* offset for row

* refetch after user default access changed (#58)

* fix permission check on post_dataset rest

* refactor: enhance dataset overview access lineage and permission checks

- Updated the `get_dataset_overview` function to conditionally add default access lineage based on user roles and existing access paths.
- Simplified the logic for adding user roles to the lineage, ensuring clarity and maintainability.
- Improved handling for the `RestrictedQuerier` role to include checks for existing access before adding default lineage, enhancing permission accuracy.
- Streamlined code by removing redundant checks and consolidating role handling, optimizing overall readability.

* feat: Enhance permission group handling and data retrieval

- Introduced a new `PermissionGroupInfo` struct to encapsulate detailed information about permission groups, including user and dataset counts.
- Updated the `get_permission_group` and `list_permission_groups` functions to improve data retrieval and error handling.
- Refactored SQL queries in `list_permission_groups` to include additional joins for counting users and datasets associated with permission groups, enhancing the overall functionality and clarity of the API.
- Streamlined code for better readability and maintainability, ensuring consistent handling of user and permission group data.

* check if user has an org first

* user organization can be null

* get datasets only if they have an org

* refactor: Improve dataset access handling and permission checks

- Enhanced the `get_restricted_user_datasets` and `get_restricted_user_datasets_with_metadata` functions to include additional permission checks for dataset groups and permission groups.
- Consolidated SQL queries to ensure proper filtering of deleted records and improved clarity in dataset retrieval logic.
- Introduced new joins and filters to handle dataset group permissions, ensuring accurate access control for users.
- Streamlined code for better readability and maintainability, enhancing overall functionality in dataset access management.

* add hidden prop to row listing component

* reroute to correct link for datasets

* disable editing my own user

* restrict certain routes to admins

* small users page

* restrict adding people to admins

* update packages

* Update shimmer text component

* Update ShimmerText.tsx

* update how no datasets is presented

* fix permission check on post_dataset rest (#59)

* fix permission check on post_dataset rest

* refactor: enhance dataset overview access lineage and permission checks

- Updated the `get_dataset_overview` function to conditionally add default access lineage based on user roles and existing access paths.
- Simplified the logic for adding user roles to the lineage, ensuring clarity and maintainability.
- Improved handling for the `RestrictedQuerier` role to include checks for existing access before adding default lineage, enhancing permission accuracy.
- Streamlined code by removing redundant checks and consolidating role handling, optimizing overall readability.

* feat: Enhance permission group handling and data retrieval

- Introduced a new `PermissionGroupInfo` struct to encapsulate detailed information about permission groups, including user and dataset counts.
- Updated the `get_permission_group` and `list_permission_groups` functions to improve data retrieval and error handling.
- Refactored SQL queries in `list_permission_groups` to include additional joins for counting users and datasets associated with permission groups, enhancing the overall functionality and clarity of the API.
- Streamlined code for better readability and maintainability, ensuring consistent handling of user and permission group data.

* refactor: Improve dataset access handling and permission checks

- Enhanced the `get_restricted_user_datasets` and `get_restricted_user_datasets_with_metadata` functions to include additional permission checks for dataset groups and permission groups.
- Consolidated SQL queries to ensure proper filtering of deleted records and improved clarity in dataset retrieval logic.
- Introduced new joins and filters to handle dataset group permissions, ensuring accurate access control for users.
- Streamlined code for better readability and maintainability, enhancing overall functionality in dataset access management.

* fix: Update SQL migration and seed data for user attributes

- Modified the SQL migration to specify the schema for the `users` table, ensuring clarity in the update statement.
- Adjusted the seed data for `users_to_organizations` to change the `organization_id` from 'public' to 'none', reflecting a more accurate state for user roles and organization associations.
- Ensured consistency in the formatting of SQL insert statements for better readability.

* fix: Prevent users from updating their own profiles

- Added a check in the `update_user_handler` to prevent users from updating their own information, returning an error if they attempt to do so.
- This change enhances security by ensuring that users cannot modify their own records, which could lead to unauthorized changes.

* refactor: Simplify dashboard permission queries by removing team-based joins

- Removed left joins with `teams_to_users` table in dashboard permission queries
- Simplified permission checks to only filter by direct user ID
- Updated queries in `get_user_dashboard_permission`, `get_bulk_user_dashboard_permission`, and `list_dashboards_handler`
- Streamlined SQL query logic for more direct and efficient permission checks

* add secure middleware checks

* Update supabase server to secure and http only

* dashboard permissions fix

* set cookies

* set cookies

* Enhance email functionality by adding HTML escaping

- Added `html-escape` crate to `Cargo.toml` for HTML escaping.
- Updated email template processing to escape HTML in message and button text, preventing potential XSS vulnerabilities.
- Modified test cases to include HTML content in email parameters, ensuring proper handling and escaping.

This change improves security by sanitizing user input in email communications.

---------

Co-authored-by: Nate Kelley <nate@buster.so>
Co-authored-by: Nate Kelley <133379588+nate-kelley-buster@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-01-24 08:11:11 -08:00
Nate Kelley d39373ac18
Merge branch 'staging' into nate/security-remediation 2025-01-23 17:07:06 -07:00
Nate Kelley 50b9177275
set cookies 2025-01-23 17:06:12 -07:00
Nate Kelley 504a3360b6
set cookies 2025-01-23 17:01:52 -07:00
Nate Kelley 02d0f9f2c4
Update supabase server to secure and http only 2025-01-23 16:37:44 -07:00
Nate Kelley 15e515720f
add secure middleware checks 2025-01-23 16:33:33 -07:00
Nate Kelley 77c6f57846
can pass in pixels instead of percentage to app splitter animate 2025-01-23 16:15:42 -07:00
Nate Kelley dbaa3c0b06
add chat splitter pt 1 2025-01-23 16:00:33 -07:00
Nate Kelley f638db2299
reorganize components pt 1 2025-01-23 13:15:10 -07:00
Nate Kelley 31e0477b56
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-23 12:58:08 -07:00
Nate Kelley d315d6f410
update how no datasets is presented 2025-01-23 12:57:57 -07:00
Nate Kelley c91647198d
memoize impertative function 2025-01-23 12:57:37 -07:00
Nate Kelley 16866accbb
Merge branch 'staging' into big-nate/bus-939-create-new-structure-for-chats 2025-01-23 12:44:41 -07:00
Nate Kelley 4a52fa6ddd
Update ShimmerText.tsx 2025-01-23 12:40:13 -07:00
Nate Kelley cb2d3c3235
Merge branch 'staging' of https://github.com/buster-so/buster into staging 2025-01-23 12:39:59 -07:00
Nate Kelley ab8ae7f3d2
Update shimmer text component 2025-01-23 11:56:57 -07:00
Nate Kelley 10ee4acdd8
update packages 2025-01-23 11:43:28 -07:00
Nate Kelley 0a7ffc7980
restrict adding people to admins 2025-01-23 11:36:54 -07:00
Nate Kelley cb96002f04
small users page 2025-01-23 11:32:02 -07:00
Nate Kelley 4de70a3420
restrict certain routes to admins 2025-01-23 11:20:48 -07:00
Nate Kelley aa190a73de
disable editing my own user 2025-01-23 11:05:07 -07:00
Nate Kelley b658eb2728
reroute to correct link for datasets 2025-01-23 10:54:21 -07:00
Nate Kelley ac0caac99b
add hidden prop to row listing component 2025-01-23 10:20:23 -07:00
Nate Kelley 237bf529e2
get datasets only if they have an org 2025-01-23 10:05:52 -07:00
Nate Kelley f07d5425b9
user organization can be null 2025-01-23 09:29:07 -07:00
Nate Kelley de85b20627
check if user has an org first 2025-01-23 09:26:23 -07:00
Nate Kelley 77184a4f49
Update AppSplitter.tsx 2025-01-22 17:53:29 -07:00
Nate Kelley 0ef19744d7
Update AppSplitter.tsx 2025-01-22 17:35:39 -07:00
Nate Kelley b45eec6146
add animation to app splitter 2025-01-22 17:35:17 -07:00
Nate Kelley db43289d71
refetch after user default access changed (#58) 2025-01-22 15:11:07 -08:00
Nate Kelley bc36758fea
Big nate/bus 936 if a user is not an admin we should not see the permission (#57)
* app sidebar settings should hide

* rename api directories

* list empty state

* offset for row
2025-01-22 14:58:06 -08:00
dal dc0dd9aa30
Merge branch 'main' into staging 2025-01-22 13:30:49 -07:00
Nate Kelley 5c75fbee03
remove console logs 2025-01-22 12:51:56 -07:00
Nate Kelley 84387396f0
feat: added permission pages
* chore: add release-please configuration

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* update package versions

* Make users page (#39)

* create users pages

* abstract more components to correct folders

* carve out expection if we are hiding the select all

* user query

* Add ability to change default access

* Update package-lock.json

* Update package-lock.json

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Big nate/bus 924 make additional permissions pages (#50)

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* finalize permission popup

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* more elegant infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add additional bulk popup menus

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* make pages unique

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* change how padding is applied to list

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* start user dataset lineage

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Refactor SQL query in list_assets_handler to use a Common Table Expression (CTE) for improved readability and maintainability. The CTE, `distinct_assets`, simplifies the selection of distinct asset records before applying the final ordering and limiting.

* add cursor rules for web directory + jest (#52)

* on change update for segments

* PRevent clicking passthrough on users click

* feat: Add assets module and nest routes in user router

- Introduced a new `assets` module to handle asset-related routes.
- Updated the user router to nest the `assets` routes under the user ID path, enhancing the organization of API endpoints.
- This change improves the structure and maintainability of the user-related routes in the API.

* feat: Enhance user attribute listing with authorization checks

- Updated the `list_attributes_handler` to include authorization checks for user roles and organization IDs.
- Implemented error handling for unauthorized access to user attributes.
- Refactored the SQL query to retrieve user attributes based on the authenticated user's organization, improving security and data integrity.
- This change ensures that only authorized users can list attributes, enhancing the overall security of the API.

* pass through dataset overview

* feat: Update dataset group listing to include permissions

- Enhanced the `list_dataset_groups` function to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset group.
- Modified the `DatasetGroupInfo` struct to include `permission_id` and `assigned` fields, reflecting the new data structure.
- Refactored the SQL query to group by necessary fields and ensure accurate permission data is returned, improving the functionality and security of dataset group listings.

* feat: Add DatasetGroupPermission model and schema

- Introduced a new `DatasetGroupPermission` struct in `models.rs` to represent permissions associated with dataset groups.
- Updated the database schema in `schema.rs` to include the `dataset_groups_permissions` table, defining its structure and relationships.
- Modified the `is_user_workspace_admin_or_data_admin` function in `checks.rs` to correctly reference the user's organization role, enhancing role validation logic.

* add component for users inputs

* feat: Update dataset group listing to include dataset group permissions

- Modified the `list_dataset_groups` function to accept an additional `id` parameter for filtering dataset groups based on user permissions.
- Updated the SQL query to join with the `dataset_groups_permissions` table, allowing retrieval of permission counts for each dataset group.
- Refactored the `DatasetGroupInfo` struct to replace `permission_id` with `permission_count`, enhancing clarity and accuracy in the data representation.
- Ensured that the query groups by the new permission structure, improving the functionality and security of dataset group listings.

* feat: Refactor dataset listing to include user-specific permissions

- Updated the `list_datasets` function to accept an additional `id` parameter for filtering datasets based on user permissions.
- Enhanced the SQL query to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset.
- Refactored the `DatasetInfo` struct to include an `assigned` field, improving clarity in the dataset representation.
- Improved error handling for dataset retrieval, ensuring robust logging and response management.

* fix: Correct user role attribute and enhance read-only logic in list_attributes_handler

- Updated the user role attribute key from "role" to "organization_role" for accurate role retrieval.
- Introduced a read-only flag for specific user attributes, improving data integrity by clearly indicating which attributes should not be modified.
- Enhanced error handling for user role retrieval, ensuring robust responses for missing or incorrect attributes.

* normalize header for list

* new line

* popup conatiner for users

* feat: Enhance user authorization checks and refactor related functions

- Added user authorization checks in `list_attributes`, `list_dataset_groups`, `list_datasets`, `list_permission_groups`, and `list_teams` functions to ensure only users with appropriate roles can access these resources.
- Refactored the `list_teams_handler` to accept `user_id` as a parameter, improving clarity and consistency across user-related functions.
- Updated SQL queries to utilize the new authorization checks, enhancing security and data integrity.
- Removed redundant column allowances in `list_teams` permissions, streamlining the codebase.

* pass last child as index

* feat: Enhance permission group handling and streamline SQL queries

- Expanded the `allow_columns_to_appear_in_same_group_by_clause!` macro in `models.rs` to include additional columns for datasets and users, improving query flexibility.
- Refactored the `list_permission_groups` function to include dataset count and assigned status, enhancing the information returned for each permission group.
- Updated SQL queries in `list_permission_groups` to utilize left joins for better data retrieval and to ensure accurate permission checks.
- Removed redundant column allowances in various files, streamlining the codebase and improving maintainability.

* feat: Add PUT route for updating teams in user assets

- Introduced a new module `put_teams` to handle updates for teams.
- Added a PUT route for `/teams` in the user assets router, allowing for team modifications.
- Enhanced the routing capabilities of the user assets API to support both GET and PUT requests for teams.

* onchagne appsegmetned update

* create permission user endpoints

* move files to match new page structure

* refactor: Clean up routing and improve PUT teams handler

- Reformatted imports in `mod.rs` for better readability.
- Commented out the PUT route for `/teams` in the user assets router, indicating a potential future change or deprecation.
- Updated the `put_teams` handler to return a `NoContent` response upon successful execution, enhancing clarity in API responses.
- Improved error handling in the `put_teams` function for better logging and response management.

* refactor: Standardize user ID parameter naming across user-related routes

- Updated all user-related route handlers to use `user_id` instead of `id` for better clarity and consistency.
- Modified the routing definitions in `mod.rs` to reflect the new parameter naming convention.
- Enhanced the `list_permission_groups` function to accept `user_id` as a parameter, improving clarity in the handler's signature.
- Ensured all relevant functions now consistently handle the `user_id` parameter, streamlining the codebase and improving maintainability.

* feat: Enhance team management with role-based assignments

- Introduced a new `TeamInfoRole` enum to represent user roles within teams, replacing the previous boolean `assigned` field.
- Updated the `list_teams` handler to return team roles instead of assignment status, improving clarity on user roles.
- Refactored the `put_teams` handler to support role-based assignments, allowing for more granular control over team memberships.
- Added new PUT routes for dataset groups and permission groups in the user assets router, enhancing API capabilities.
- Improved SQL queries for team assignments to utilize role information, streamlining database interactions.

* feat: Add organization_id to DatasetGroupPermission and update dataset group handler

- Introduced a new `organization_id` field in the `DatasetGroupPermission` struct to associate permissions with specific organizations.
- Updated the `put_dataset_groups_handler` to include `organization_id` when creating or updating dataset group permissions, enhancing the API's capability to manage permissions at the organizational level.
- Improved SQL query formatting for better readability in the handler.

* add list components for permission settings

* feat: Introduce assets module and update routing for permission groups

- Added a new `assets` module to organize related routes.
- Updated the routing in `mod.rs` to nest the `assets` router under the `/:permission_group_id` path, enhancing the structure and clarity of the API.
- Maintained existing routes for managing permission groups while improving modularity.

* create permission group users

* refactor: Update list_permission_groups_handler to use user_id and improve SQL queries

- Changed the parameter in the SQL query from `user.id` to `user_id` for consistency with the updated user ID parameter naming convention.
- Enhanced the SQL query to count distinct dataset permissions and utilize `bool_or` for identity checks, improving accuracy and performance.
- Cleaned up the grouping in the SQL query by removing unnecessary fields, streamlining the data retrieval process.

* add listing for dataset groups

* feat: Add PUT routes for user and dataset management in assets module

- Introduced new PUT routes for managing users and dataset groups in the assets module.
- Updated the router to support PUT requests for `/users`, `/dataset_groups`, and `/datasets`, enhancing the API's functionality for resource updates.
- Improved modularity by organizing related routes within the assets module.

* add listing for dataset groups

* add list for datasets

* assigned permissions

* Add attributes and teams

* feat: Add DatasetToDatasetGroup model and update schema

- Introduced a new `DatasetToDatasetGroup` struct to represent the relationship between datasets and dataset groups, including fields for timestamps and optional deletion.
- Updated the database schema to include `updated_at` and `deleted_at` fields for the `datasets_to_dataset_groups` table, enhancing data tracking capabilities.
- Refactored the routing in `mod.rs` to include a nested router for assets, improving the organization of dataset group routes.

* invalidate query if user id is present

* create a dataset modal added to user page

* add team modal to teams

* assigned popup

* feat: Enhance user retrieval with dataset information

- Added new structs `DatasetLineage` and `DatasetInfo` to represent dataset details and lineage.
- Updated `UserResponse` to include a list of datasets associated with the user.
- Refactored `get_user_information` function to concurrently fetch user info, direct datasets, permission group datasets, and organization datasets using `tokio::spawn` for improved performance.
- Implemented logic to compile datasets based on direct access and permission group access, including lineage tracking for better data representation.
- Enhanced error handling during database queries to ensure robust user information retrieval.

* feat: Enhance dataset access retrieval in user and dataset overview

- Updated `get_dataset_overview` to include dataset group access and permission group to dataset group access, improving the granularity of dataset permissions.
- Introduced new queries to fetch dataset groups and their associated permissions, enhancing the dataset overview for users.
- Refactored `get_user_information` to concurrently retrieve dataset groups and permission group datasets, optimizing performance with `tokio::spawn`.
- Enhanced lineage tracking for datasets, allowing for better representation of user permissions across dataset groups and permission groups.
- Improved error handling during database queries to ensure robust data retrieval.

* lineage props passed

* refactor: Streamline dataset access logic in get_user_information

- Simplified access control logic for datasets based on user roles, consolidating conditions for WorkspaceAdmin, DataAdmin, Querier, Viewer, and RestrictedQuerier.
- Enhanced dataset lineage tracking to provide clearer representation of user permissions across various dataset access types.
- Removed redundant code related to dataset processing, improving readability and maintainability of the `get_user_information` function.
- Ensured that datasets are correctly categorized based on direct access, permission group access, and organization datasets, optimizing the overall data retrieval process.

* feat: Refactor dataset overview access lineage in get_dataset_overview

- Introduced a default access lineage for users, ensuring consistent representation of user permissions.
- Simplified the addition of user roles to the lineage, consolidating logic for WorkspaceAdmin, DataAdmin, Querier, and Viewer roles.
- Enhanced lineage tracking for RestrictedQuerier role to include direct dataset access and permission group lineage, improving granularity of dataset permissions.
- Removed redundant code related to dataset and permission group lineage, optimizing readability and maintainability of the `get_dataset_overview` function.

* add datasetgroup handler

* feat: Improve dataset access control and lineage tracking

- Enhanced the `get_dataset_overview` function to refine access control for the `RestrictedQuerier` role, allowing for more granular permission checks based on various access paths.
- Updated the `get_user_information` function to streamline dataset processing, ensuring that datasets are categorized correctly based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability of both functions.
- Improved lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* clickable pills

* fix build errors

* add endpoints for dataset groups, and permission groups

* refactor: Enhance dataset access control and lineage tracking

- Streamlined the `get_dataset_overview` function to improve access control for the `RestrictedQuerier` role, ensuring more precise permission checks.
- Updated the `get_user_information` function to optimize dataset processing, categorizing datasets based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability.
- Enhanced lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* better handling for create a permission group

* Refetch on team created for now

* add additional pages

* permission group modal update

* added pages for permission groups

* add user permission list

* add datasets to permission groups page

* Update dependencies and refactor Snowflake query handling

- Downgraded the `base64` crate version in `Cargo.toml` from `0.22.1` to `0.21`.
- Refactored the `snowflake_query` function in `snowflake_query.rs` to improve data type handling, including support for additional Arrow data types and enhanced null value checks.
- Updated the `route_to_query` function in `query_router.rs` to use mutable `snowflake_client` for better state management during query execution.
- Improved error handling for closing the Snowflake client session, ensuring proper logging of any issues encountered.

* add datasets to permission groups page

* Refactor Snowflake client connection to remove warehouse and database IDs

- Updated the `get_snowflake_client` function to no longer require `warehouse_id` and `database_id`, simplifying the connection process.
- This change enhances flexibility in client initialization and aligns with recent updates to Snowflake API handling.

* add permission groups lists

* add dataset group in permission group area

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: dal <dallin@buster.so>
2025-01-22 11:25:06 -08:00
Nate Kelley 0e4f6e7f06
add dataset group in permission group area 2025-01-22 12:08:53 -07:00
Nate Kelley 0d132576d5
add permission groups lists 2025-01-22 11:06:05 -07:00
Nate Kelley aba1cef762
add datasets to permission groups page 2025-01-22 10:32:28 -07:00
Nate Kelley 2f47b45b41
add user permission list 2025-01-22 10:08:43 -07:00
Nate Kelley 30cb2a0ff5
added pages for permission groups 2025-01-21 20:26:09 -07:00
Nate Kelley f072b2c461
permission group modal update 2025-01-21 19:51:59 -07:00
Nate Kelley 3fdab95a7d
add additional pages 2025-01-21 17:16:56 -07:00
Nate Kelley ac6abab27d
Refetch on team created for now 2025-01-21 17:10:40 -07:00
Nate Kelley d64374789c
better handling for create a permission group 2025-01-21 17:07:45 -07:00
Nate Kelley 010b483e63
add endpoints for dataset groups, and permission groups 2025-01-21 16:38:41 -07:00
Nate Kelley 717a9c635e
fix build errors 2025-01-21 16:28:43 -07:00
Nate Kelley d9c72f2ac4
clickable pills 2025-01-21 16:14:15 -07:00
Nate Kelley 67bc9bf002
add datasetgroup handler 2025-01-21 16:08:22 -07:00
Nate Kelley 3293a02a0b
lineage props passed 2025-01-21 15:46:12 -07:00
Nate Kelley a9902d59bf
assigned popup 2025-01-21 13:39:57 -07:00
Nate Kelley 4399130016
add team modal to teams 2025-01-21 12:45:26 -07:00