@go-avro/avro-js 0.0.2-beta.127 → 0.0.2-beta.129
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.
- package/dist/client/QueryClient.d.ts +17 -1
- package/dist/client/hooks/skills.d.ts +1 -0
- package/dist/client/hooks/skills.js +124 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Socket } from 'socket.io-client';
|
|
2
2
|
import { InfiniteData, QueryClient, UseInfiniteQueryResult, useMutation, UseQueryResult } from '@tanstack/react-query';
|
|
3
3
|
import { AuthManager } from '../auth/AuthManager';
|
|
4
|
-
import { _Event, ApiInfo, Avro, Bill, Break, Chat, Company, FinancialInsightData, Job, EventInsightData, LoginResponse, Message, Plan, Route, ServiceMonth, Session, Team, User, UserCompanyAssociation } from '../types/api';
|
|
4
|
+
import { _Event, ApiInfo, Avro, Bill, Break, Chat, Company, FinancialInsightData, Job, EventInsightData, LoginResponse, Message, Plan, Route, ServiceMonth, Session, Team, User, UserCompanyAssociation, Skill } from '../types/api';
|
|
5
5
|
import { Tokens } from '../types/auth';
|
|
6
6
|
import { CancelToken, RetryStrategy } from '../types/client';
|
|
7
7
|
import { StandardError } from '../types/error';
|
|
@@ -105,6 +105,11 @@ declare module '../client/QueryClient' {
|
|
|
105
105
|
useGetUserSessions(): UseQueryResult<Session[], StandardError>;
|
|
106
106
|
useGetAvro(): UseQueryResult<Avro, StandardError>;
|
|
107
107
|
useSearchUsers(searchUsername: string): UseQueryResult<User[], StandardError>;
|
|
108
|
+
useCreateSkill(): ReturnType<typeof useMutation<{
|
|
109
|
+
id: string;
|
|
110
|
+
}, StandardError, {
|
|
111
|
+
skillData: Partial<Skill>;
|
|
112
|
+
}>>;
|
|
108
113
|
useCreateEvent(): ReturnType<typeof useMutation<{
|
|
109
114
|
id: string;
|
|
110
115
|
}, StandardError, {
|
|
@@ -183,6 +188,12 @@ declare module '../client/QueryClient' {
|
|
|
183
188
|
jobId: string;
|
|
184
189
|
updates: Partial<Job>;
|
|
185
190
|
}>>;
|
|
191
|
+
useUpdateSkill(): ReturnType<typeof useMutation<{
|
|
192
|
+
msg: string;
|
|
193
|
+
}, StandardError, {
|
|
194
|
+
skillId: string;
|
|
195
|
+
updates: Partial<Skill>;
|
|
196
|
+
}>>;
|
|
186
197
|
useUpdateBill(): ReturnType<typeof useMutation<{
|
|
187
198
|
msg: string;
|
|
188
199
|
}, StandardError, {
|
|
@@ -258,6 +269,11 @@ declare module '../client/QueryClient' {
|
|
|
258
269
|
}, StandardError, {
|
|
259
270
|
routeId: string;
|
|
260
271
|
}>>;
|
|
272
|
+
useDeleteSkill(): ReturnType<typeof useMutation<{
|
|
273
|
+
msg: string;
|
|
274
|
+
}, StandardError, {
|
|
275
|
+
skillId: string;
|
|
276
|
+
}>>;
|
|
261
277
|
useDeleteSelf(): ReturnType<typeof useMutation<{
|
|
262
278
|
msg: string;
|
|
263
279
|
}, StandardError, void>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { useMutation } from '@tanstack/react-query';
|
|
2
|
+
import { AvroQueryClient } from '../../client/QueryClient';
|
|
3
|
+
AvroQueryClient.prototype.useCreateSkill = function () {
|
|
4
|
+
const queryClient = this.getQueryClient();
|
|
5
|
+
return useMutation({
|
|
6
|
+
mutationFn: async ({ skillData }) => {
|
|
7
|
+
return this.post(`/company/${this.companyId}/skill`, JSON.stringify(skillData), undefined, {
|
|
8
|
+
"Content-Type": "application/json",
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
onMutate: async ({ skillData }) => {
|
|
12
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId] });
|
|
13
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId, 'skills'] });
|
|
14
|
+
const previousCompany = queryClient.getQueryData(['company', this.companyId]);
|
|
15
|
+
const previousSkills = queryClient.getQueryData(['company', this.companyId, 'skills']);
|
|
16
|
+
const tempSkill = {
|
|
17
|
+
id: `temp-${Date.now()}`,
|
|
18
|
+
name: skillData.name ?? 'New Skill',
|
|
19
|
+
};
|
|
20
|
+
if (previousCompany) {
|
|
21
|
+
queryClient.setQueryData(['company', this.companyId], {
|
|
22
|
+
...previousCompany,
|
|
23
|
+
skills: [...(previousCompany.skills || []), tempSkill],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (previousSkills) {
|
|
27
|
+
queryClient.setQueryData(['company', this.companyId, 'skills'], [...previousSkills, tempSkill]);
|
|
28
|
+
}
|
|
29
|
+
return { previousCompany, previousSkills };
|
|
30
|
+
},
|
|
31
|
+
onError: (_err, _vars, context) => {
|
|
32
|
+
const companyId = _vars?.companyId;
|
|
33
|
+
if (context?.previousCompany && companyId) {
|
|
34
|
+
queryClient.setQueryData(['company', companyId], context.previousCompany);
|
|
35
|
+
}
|
|
36
|
+
if (context?.previousSkills && companyId) {
|
|
37
|
+
queryClient.setQueryData(['company', companyId, 'skills'], context.previousSkills);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
onSettled: (_data, _error, variables) => {
|
|
41
|
+
const { companyId } = variables;
|
|
42
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId] });
|
|
43
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId, 'skills'] });
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
AvroQueryClient.prototype.useUpdateSkill = function () {
|
|
48
|
+
const queryClient = this.getQueryClient();
|
|
49
|
+
return useMutation({
|
|
50
|
+
mutationFn: async ({ skillId, updates }) => {
|
|
51
|
+
return this.put(`/skill/${skillId}`, JSON.stringify(updates), undefined, {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
onMutate: async ({ skillId, updates }) => {
|
|
56
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId] });
|
|
57
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId, 'skills'] });
|
|
58
|
+
const previousCompany = queryClient.getQueryData(['company', this.companyId]);
|
|
59
|
+
const previousSkills = queryClient.getQueryData(['company', this.companyId, 'skills']);
|
|
60
|
+
if (previousCompany) {
|
|
61
|
+
queryClient.setQueryData(['company', this.companyId], {
|
|
62
|
+
...previousCompany,
|
|
63
|
+
skills: (previousCompany.skills || []).map((s) => (s.id === skillId ? { ...s, ...updates } : s)),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (previousSkills) {
|
|
67
|
+
queryClient.setQueryData(['company', this.companyId, 'skills'], previousSkills.map((s) => (s.id === skillId ? { ...s, ...updates } : s)));
|
|
68
|
+
}
|
|
69
|
+
return { previousCompany, previousSkills };
|
|
70
|
+
},
|
|
71
|
+
onError: (_err, variables, context) => {
|
|
72
|
+
const { companyId } = variables;
|
|
73
|
+
if (context?.previousCompany && companyId) {
|
|
74
|
+
queryClient.setQueryData(['company', companyId], context.previousCompany);
|
|
75
|
+
}
|
|
76
|
+
if (context?.previousSkills && companyId) {
|
|
77
|
+
queryClient.setQueryData(['company', companyId, 'skills'], context.previousSkills);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
onSettled: (_data, _error, variables) => {
|
|
81
|
+
const { companyId } = variables;
|
|
82
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId] });
|
|
83
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId, 'skills'] });
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
AvroQueryClient.prototype.useDeleteSkill = function () {
|
|
88
|
+
const queryClient = this.getQueryClient();
|
|
89
|
+
return useMutation({
|
|
90
|
+
mutationFn: async ({ skillId }) => {
|
|
91
|
+
return this.delete(`/skill/${skillId}`);
|
|
92
|
+
},
|
|
93
|
+
onMutate: async ({ skillId }) => {
|
|
94
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId] });
|
|
95
|
+
await queryClient.cancelQueries({ queryKey: ['company', this.companyId, 'skills'] });
|
|
96
|
+
const previousCompany = queryClient.getQueryData(['company', this.companyId]);
|
|
97
|
+
const previousSkills = queryClient.getQueryData(['company', this.companyId, 'skills']);
|
|
98
|
+
if (previousCompany) {
|
|
99
|
+
queryClient.setQueryData(['company', this.companyId], {
|
|
100
|
+
...previousCompany,
|
|
101
|
+
skills: (previousCompany.skills || []).filter((s) => s.id !== skillId),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
if (previousSkills) {
|
|
105
|
+
queryClient.setQueryData(['company', this.companyId, 'skills'], previousSkills.filter((s) => s.id !== skillId));
|
|
106
|
+
}
|
|
107
|
+
return { previousCompany, previousSkills };
|
|
108
|
+
},
|
|
109
|
+
onError: (_err, variables, context) => {
|
|
110
|
+
const { companyId } = variables;
|
|
111
|
+
if (context?.previousCompany && companyId) {
|
|
112
|
+
queryClient.setQueryData(['company', companyId], context.previousCompany);
|
|
113
|
+
}
|
|
114
|
+
if (context?.previousSkills && companyId) {
|
|
115
|
+
queryClient.setQueryData(['company', companyId, 'skills'], context.previousSkills);
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
onSettled: (_data, _error, variables) => {
|
|
119
|
+
const { companyId } = variables;
|
|
120
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId] });
|
|
121
|
+
queryClient.invalidateQueries({ queryKey: ['company', companyId, 'skills'] });
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import './client/hooks/plans';
|
|
|
19
19
|
import './client/hooks/analytics';
|
|
20
20
|
import './client/hooks/avro';
|
|
21
21
|
import './client/hooks/teams';
|
|
22
|
+
import './client/hooks/skills';
|
|
22
23
|
export * from './types/api';
|
|
23
24
|
export * from './types/auth';
|
|
24
25
|
export * from './types/cache';
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ import './client/hooks/plans';
|
|
|
19
19
|
import './client/hooks/analytics';
|
|
20
20
|
import './client/hooks/avro';
|
|
21
21
|
import './client/hooks/teams';
|
|
22
|
+
import './client/hooks/skills';
|
|
22
23
|
export * from './types/api';
|
|
23
24
|
export * from './types/auth';
|
|
24
25
|
export * from './types/cache';
|