Skip to content

Commit 78f01f2

Browse files
committed
fix: clean up the api a bunch
1 parent 6ff4261 commit 78f01f2

File tree

13 files changed

+344
-520
lines changed

13 files changed

+344
-520
lines changed

frontend/schema.ts

Lines changed: 213 additions & 307 deletions
Large diffs are not rendered by default.

frontend/src/components/add-friend-modal.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function AddFriendModal({
3333
const { memberId, createAuthHeader } = useAuth()
3434
const { mutateAsync: createFriendRequest, isPending } = apiClient.useMutation(
3535
"post",
36-
"/api/members/{member_id}/friend-requests"
36+
"/api/friend-requests"
3737
)
3838

3939
const form = useForm<FriendRequestFormValues>({
@@ -70,16 +70,11 @@ export function AddFriendModal({
7070
body: {
7171
friend_email: data.email,
7272
},
73-
params: {
74-
path: {
75-
member_id: memberId,
76-
},
77-
},
7873
headers: createAuthHeader(),
7974
})
8075

8176
await queryClient.invalidateQueries({
82-
queryKey: ["get", "/api/members/{member_id}/friend-requests"],
77+
queryKey: ["get", "/api/friend-requests"],
8378
})
8479

8580
setIsOpen(false)

frontend/src/components/create-pool-modal.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function CreatePoolModal({
3434
const { memberId, createAuthHeader } = useAuth()
3535
const { mutateAsync: createPool, isPending } = apiClient.useMutation(
3636
"post",
37-
"/api/members/{member_id}/pools"
37+
"/api/pools"
3838
)
3939

4040
const form = useForm<PoolFormValues>({
@@ -73,16 +73,11 @@ export function CreatePoolModal({
7373
name: data.poolName,
7474
description: data.poolDescription ?? undefined,
7575
},
76-
params: {
77-
path: {
78-
member_id: memberId,
79-
},
80-
},
8176
headers: createAuthHeader(),
8277
})
8378

8479
await queryClient.invalidateQueries({
85-
queryKey: ["get", "/api/members/{member_id}/pools"],
80+
queryKey: ["get", "/api/pools"],
8681
})
8782

8883
setIsOpen(false)

frontend/src/components/expense-modals.tsx

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ type SplitState = {
341341
type Pool = components["schemas"]["PoolDetails"]
342342

343343
type Members =
344-
paths["/api/members/{member_id}/pools/{pool_id}/members"]["get"]["responses"]["200"]["content"]["application/json"]
344+
paths["/api/pools/{pool_id}/members"]["get"]["responses"]["200"]["content"]["application/json"]
345345

346346
export function round(num: number) {
347347
return Number(num.toFixed(2))
@@ -827,10 +827,7 @@ export function AddExpenseModal({
827827
})
828828

829829
await queryClient.invalidateQueries({
830-
queryKey: [
831-
"get",
832-
"/api/pools/{pool_id}/members/{member_id}/expenses",
833-
],
830+
queryKey: ["get", "/api/pools/{pool_id}/expenses"],
834831
})
835832

836833
return { success: true }
@@ -872,7 +869,7 @@ export function UpdateExpenseModal({
872869

873870
const { data: expense, isLoading } = apiClient.useQuery(
874871
"get",
875-
"/api/members/{member_id}/pools/{pool_id}/expenses/{expense_id}",
872+
"/api/pools/{pool_id}/expenses/{expense_id}",
876873
{
877874
params: {
878875
path: {
@@ -965,16 +962,10 @@ export function UpdateExpenseModal({
965962

966963
await Promise.all([
967964
queryClient.invalidateQueries({
968-
queryKey: [
969-
"get",
970-
"/api/pools/{pool_id}/members/{member_id}/expenses",
971-
],
965+
queryKey: ["get", "/api/pools/{pool_id}/expenses"],
972966
}),
973967
queryClient.invalidateQueries({
974-
queryKey: [
975-
"get",
976-
"/api/members/{member_id}/pools/{pool_id}/expenses/{expense_id}",
977-
],
968+
queryKey: ["get", "/api/pools/{pool_id}/expenses/{expense_id}"],
978969
}),
979970
])
980971

frontend/src/components/expense.tsx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,14 @@ export function Expense({
5454
})
5555
const { mutateAsync: deleteExpense, isPending } = apiClient.useMutation(
5656
"delete",
57-
"/api/members/{member_id}/pools/{pool_id}/expenses/{expense_id}",
57+
"/api/pools/{pool_id}/expenses/{expense_id}",
5858
{
5959
onSuccess: async () => {
6060
await queryClient.invalidateQueries({
61-
queryKey: [
62-
"get",
63-
"/api/pools/{pool_id}/members/{member_id}/expenses",
64-
],
61+
queryKey: ["get", "/api/pools/{pool_id}/expenses"],
6562
})
6663
await queryClient.invalidateQueries({
67-
queryKey: [
68-
"get",
69-
"/api/pools/{pool_id}/members/{member_id}/balances",
70-
],
64+
queryKey: ["get", "/api/pools/{pool_id}/balances"],
7165
})
7266

7367
await invalidate()
@@ -139,7 +133,6 @@ export function Expense({
139133
params: {
140134
path: {
141135
pool_id: expense.pool_id,
142-
member_id: memberId,
143136
expense_id: expense.id,
144137
},
145138
},

frontend/src/components/friends-view.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ export const FriendsView = ({
3030

3131
const { data: member } = apiClient.useQuery(
3232
"get",
33-
"/api/members/{member_id}",
33+
"/api/members/me",
3434
{
35-
params: { path: { member_id: memberId || "" } },
3635
headers: createAuthHeader(),
3736
},
3837
{
@@ -42,7 +41,7 @@ export const FriendsView = ({
4241

4342
const { mutateAsync: updateMember, isPending } = apiClient.useMutation(
4443
"patch",
45-
"/api/members/{member_id}"
44+
"/api/members/me"
4645
)
4746

4847
const email = member?.email
@@ -322,17 +321,14 @@ export const FriendsView = ({
322321
onClick={async () => {
323322
if (memberId) {
324323
await updateMember({
325-
params: {
326-
path: { member_id: memberId },
327-
},
328324
body: {
329325
venmo_handle: venmoHandle || null,
330326
},
331327
headers: createAuthHeader(),
332328
})
333329

334330
await queryClient.invalidateQueries({
335-
queryKey: ["get", "/api/members/{member_id}"],
331+
queryKey: ["get", "/api"],
336332
})
337333
}
338334
}}

frontend/src/components/member-profile.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,8 @@ export const MemberProfile = ({ id }: { id: string }) => {
2222

2323
const { data: member, isLoading } = apiClient.useQuery(
2424
"get",
25-
"/api/members/{member_id}",
25+
"/api/members/me",
2626
{
27-
params: {
28-
path: {
29-
member_id: id,
30-
},
31-
},
3227
headers: createAuthHeader(),
3328
},
3429
{

frontend/src/components/settle-up-modal.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export function SettleUpModal({
1717
const { memberId, createAuthHeader } = useAuth()
1818
const { mutateAsync: settleUpPool, isPending } = apiClient.useMutation(
1919
"patch",
20-
"/api/members/{member_id}/pools/{pool_id}/settle-up"
20+
"/api/pools/{pool_id}/settle-up"
2121
)
2222

2323
if (!memberId) {
@@ -44,18 +44,14 @@ export function SettleUpModal({
4444
await settleUpPool({
4545
params: {
4646
path: {
47-
member_id: memberId,
4847
pool_id: poolId,
4948
},
5049
},
5150
headers: createAuthHeader(),
5251
})
5352

5453
await queryClient.invalidateQueries({
55-
queryKey: [
56-
"get",
57-
"/api/pools/{pool_id}/members/{member_id}/expenses",
58-
],
54+
queryKey: ["get", "/api/pools/{pool_id}/expenses"],
5955
})
6056
setIsOpen(false)
6157
} catch (error) {

frontend/src/hooks/use-friends.tsx

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@ export const useFriends = () => {
99

1010
const { data, isLoading } = apiClient.useQuery(
1111
"get",
12-
"/api/members/{member_id}/friends",
12+
"/api/friends",
1313
{
14-
params: {
15-
path: {
16-
member_id: memberId || "",
17-
},
18-
},
1914
headers: createAuthHeader(),
2015
},
2116
{ enabled: !!memberId }
@@ -24,11 +19,8 @@ export const useFriends = () => {
2419
const { data: friendRequestsRaw, isLoading: isFriendRequestsLoading } =
2520
apiClient.useQuery(
2621
"get",
27-
"/api/members/{member_id}/friend-requests",
22+
"/api/friend-requests",
2823
{
29-
params: {
30-
path: { member_id: memberId || "" },
31-
},
3224
headers: createAuthHeader(),
3325
},
3426
{
@@ -43,10 +35,10 @@ export const useFriends = () => {
4335
{
4436
onSuccess: () => {
4537
queryClient.invalidateQueries({
46-
queryKey: ["get", "/api/members/{member_id}/friend-requests"],
38+
queryKey: ["get", "/api/friend-requests"],
4739
})
4840
queryClient.invalidateQueries({
49-
queryKey: ["get", "/api/members/{member_id}/friends"],
41+
queryKey: ["get", "/api/friends"],
5042
})
5143
},
5244
}
@@ -59,7 +51,7 @@ export const useFriends = () => {
5951
{
6052
onSuccess: async () => {
6153
await queryClient.invalidateQueries({
62-
queryKey: ["get", "/api/members/{member_id}/friend-requests"],
54+
queryKey: ["get", "/api/friend-requests"],
6355
})
6456
},
6557
}
@@ -97,7 +89,7 @@ export const useFriends = () => {
9789

9890
const invalidate = async () => {
9991
await queryClient.invalidateQueries({
100-
queryKey: ["get", "/api/members/{member_id}/friends"],
92+
queryKey: ["get", "/api/friends"],
10193
})
10294
}
10395

frontend/src/hooks/use-pool.tsx

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const usePool = ({
2929

3030
const { data: members, isLoading: isMembersLoading } = apiClient.useQuery(
3131
"get",
32-
"/api/members/{member_id}/pools/{pool_id}/members",
32+
"/api/pools/{pool_id}/members",
3333
{
3434
params: {
3535
path: {
@@ -43,7 +43,7 @@ export const usePool = ({
4343

4444
const { data: details, isLoading: isDetailsLoading } = apiClient.useQuery(
4545
"get",
46-
"/api/members/{member_id}/pools/{pool_id}",
46+
"/api/pools/{pool_id}",
4747
{
4848
params: {
4949
path: {
@@ -64,7 +64,7 @@ export const usePool = ({
6464
isRefetching: isExpensesRefetching,
6565
} = apiClient.useQuery(
6666
"get",
67-
"/api/pools/{pool_id}/members/{member_id}/expenses",
67+
"/api/pools/{pool_id}/expenses",
6868
{
6969
params: {
7070
path: {
@@ -92,19 +92,15 @@ export const usePool = ({
9292
)
9393

9494
const { data: rawBalances, isLoading: isBalancesLoading } =
95-
apiClient.useQuery(
96-
"get",
97-
"/api/pools/{pool_id}/members/{member_id}/balances",
98-
{
99-
params: {
100-
path: {
101-
member_id: memberId || "",
102-
pool_id: poolId,
103-
},
95+
apiClient.useQuery("get", "/api/pools/{pool_id}/balances", {
96+
params: {
97+
path: {
98+
member_id: memberId || "",
99+
pool_id: poolId,
104100
},
105-
headers: createAuthHeader(),
106-
}
107-
)
101+
},
102+
headers: createAuthHeader(),
103+
})
108104

109105
const balances = useMemo(() => {
110106
return (rawBalances || [])
@@ -129,7 +125,7 @@ export const usePool = ({
129125

130126
const invalidate = useCallback(async () => {
131127
await queryClient.invalidateQueries({
132-
queryKey: ["get", "/api/members/{member_id}/pools/{pool_id}/members"],
128+
queryKey: ["get", "/api/pools/{pool_id}/members"],
133129
})
134130
}, [queryClient])
135131

@@ -142,10 +138,7 @@ export const usePool = ({
142138
const {
143139
mutateAsync: modifyDefaultSplitMutation,
144140
isPending: isModifyDefaultSplitPending,
145-
} = apiClient.useMutation(
146-
"patch",
147-
"/api/members/{member_id}/pools/{pool_id}/default-splits"
148-
)
141+
} = apiClient.useMutation("patch", "/api/pools/{pool_id}/default-splits")
149142

150143
const addFriend = useCallback(
151144
async (friendMemberId: string) => {
@@ -191,7 +184,6 @@ export const usePool = ({
191184
params: {
192185
path: {
193186
pool_id: poolId,
194-
member_id: memberId,
195187
},
196188
},
197189
body: {

0 commit comments

Comments
 (0)