@sudobility/sudojo_client 0.0.1

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 (53) hide show
  1. package/dist/hooks/index.d.ts +11 -0
  2. package/dist/hooks/index.d.ts.map +1 -0
  3. package/dist/hooks/index.js +10 -0
  4. package/dist/hooks/index.js.map +1 -0
  5. package/dist/hooks/query-config.d.ts +10 -0
  6. package/dist/hooks/query-config.d.ts.map +1 -0
  7. package/dist/hooks/query-config.js +10 -0
  8. package/dist/hooks/query-config.js.map +1 -0
  9. package/dist/hooks/query-keys.d.ts +57 -0
  10. package/dist/hooks/query-keys.d.ts.map +1 -0
  11. package/dist/hooks/query-keys.js +31 -0
  12. package/dist/hooks/query-keys.js.map +1 -0
  13. package/dist/hooks/use-sudojo-boards.d.ts +21 -0
  14. package/dist/hooks/use-sudojo-boards.d.ts.map +1 -0
  15. package/dist/hooks/use-sudojo-boards.js +95 -0
  16. package/dist/hooks/use-sudojo-boards.js.map +1 -0
  17. package/dist/hooks/use-sudojo-challenges.d.ts +21 -0
  18. package/dist/hooks/use-sudojo-challenges.d.ts.map +1 -0
  19. package/dist/hooks/use-sudojo-challenges.js +97 -0
  20. package/dist/hooks/use-sudojo-challenges.js.map +1 -0
  21. package/dist/hooks/use-sudojo-dailies.d.ts +23 -0
  22. package/dist/hooks/use-sudojo-dailies.d.ts.map +1 -0
  23. package/dist/hooks/use-sudojo-dailies.js +116 -0
  24. package/dist/hooks/use-sudojo-dailies.js.map +1 -0
  25. package/dist/hooks/use-sudojo-health.d.ts +6 -0
  26. package/dist/hooks/use-sudojo-health.d.ts.map +1 -0
  27. package/dist/hooks/use-sudojo-health.js +18 -0
  28. package/dist/hooks/use-sudojo-health.js.map +1 -0
  29. package/dist/hooks/use-sudojo-learning.d.ts +20 -0
  30. package/dist/hooks/use-sudojo-learning.d.ts.map +1 -0
  31. package/dist/hooks/use-sudojo-learning.js +82 -0
  32. package/dist/hooks/use-sudojo-learning.js.map +1 -0
  33. package/dist/hooks/use-sudojo-levels.d.ts +20 -0
  34. package/dist/hooks/use-sudojo-levels.d.ts.map +1 -0
  35. package/dist/hooks/use-sudojo-levels.js +73 -0
  36. package/dist/hooks/use-sudojo-levels.js.map +1 -0
  37. package/dist/hooks/use-sudojo-techniques.d.ts +20 -0
  38. package/dist/hooks/use-sudojo-techniques.d.ts.map +1 -0
  39. package/dist/hooks/use-sudojo-techniques.js +81 -0
  40. package/dist/hooks/use-sudojo-techniques.js.map +1 -0
  41. package/dist/index.d.ts +6 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +3 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/network/index.d.ts +3 -0
  46. package/dist/network/index.d.ts.map +1 -0
  47. package/dist/network/index.js +2 -0
  48. package/dist/network/index.js.map +1 -0
  49. package/dist/network/sudojo-client.d.ts +58 -0
  50. package/dist/network/sudojo-client.d.ts.map +1 -0
  51. package/dist/network/sudojo-client.js +333 -0
  52. package/dist/network/sudojo-client.js.map +1 -0
  53. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-health.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-health.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,QAAQ,GAGT,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAUxD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAoB,EACpB,OAGC,EAC8C,EAAE;IACjD,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,EAC7C,CAAC,aAAa,EAAE,MAAM,CAAC,CACxB,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAE/B,EAAE;QACF,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,OAAO;QACP,SAAS,EAAE,WAAW,CAAC,aAAa;QACpC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Learning, LearningCreateRequest, LearningQueryParams, LearningUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoLearning: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: LearningQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Learning[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Learning[]>>;
6
+ export declare const useSudojoLearningItem: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Learning>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Learning>>;
7
+ export declare const useSudojoCreateLearning: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Learning>, Error, {
8
+ auth: SudojoAuth;
9
+ data: LearningCreateRequest;
10
+ }>;
11
+ export declare const useSudojoUpdateLearning: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Learning>, Error, {
12
+ auth: SudojoAuth;
13
+ uuid: string;
14
+ data: LearningUpdateRequest;
15
+ }>;
16
+ export declare const useSudojoDeleteLearning: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
17
+ auth: SudojoAuth;
18
+ uuid: string;
19
+ }>;
20
+ //# sourceMappingURL=use-sudojo-learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-learning.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-learning.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,iBAAiB,EAGjB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKzE,eAAO,MAAM,iBAAiB,GAC5B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,cAAc,mBAAmB,EACjC,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EACzC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAmBzC,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAChC,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,MAAM,MAAM,EACZ,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EACvC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAiBvC,CAAC;AAKF,eAAO,MAAM,uBAAuB,GAClC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,QAAQ,CAAC,EACtB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAwBlD,CAAC;AAKF,eAAO,MAAM,uBAAuB,GAClC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,QAAQ,CAAC,EACtB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CA6BhE,CAAC;AAKF,eAAO,MAAM,uBAAuB,GAClC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,IAAI,CAAC,EAClB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAqBnC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useMutation, useQuery, useQueryClient, } from "@tanstack/react-query";
3
+ import { queryKeys } from "./query-keys";
4
+ import { STALE_TIMES } from "./query-config";
5
+ import { SudojoClient } from "../network/sudojo-client";
6
+ export const useSudojoLearning = (networkClient, config, queryParams, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getLearning(queryParams);
10
+ }, [client, queryParams]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.learning({
13
+ technique_uuid: queryParams?.technique_uuid ?? undefined,
14
+ language_code: queryParams?.language_code ?? undefined,
15
+ }),
16
+ queryFn,
17
+ staleTime: STALE_TIMES.LEARNING,
18
+ ...options,
19
+ });
20
+ };
21
+ export const useSudojoLearningItem = (networkClient, config, uuid, options) => {
22
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
23
+ const queryFn = useCallback(async () => {
24
+ return client.getLearningItem(uuid);
25
+ }, [client, uuid]);
26
+ return useQuery({
27
+ queryKey: queryKeys.sudojo.learningItem(uuid),
28
+ queryFn,
29
+ staleTime: STALE_TIMES.LEARNING,
30
+ enabled: !!uuid,
31
+ ...options,
32
+ });
33
+ };
34
+ export const useSudojoCreateLearning = (networkClient, config) => {
35
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
36
+ const queryClient = useQueryClient();
37
+ return useMutation({
38
+ mutationFn: async ({ auth, data, }) => {
39
+ return client.createLearning(auth, data);
40
+ },
41
+ onSuccess: () => {
42
+ queryClient.invalidateQueries({
43
+ queryKey: [...queryKeys.sudojo.all(), "learning"],
44
+ });
45
+ },
46
+ });
47
+ };
48
+ export const useSudojoUpdateLearning = (networkClient, config) => {
49
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
50
+ const queryClient = useQueryClient();
51
+ return useMutation({
52
+ mutationFn: async ({ auth, uuid, data, }) => {
53
+ return client.updateLearning(auth, uuid, data);
54
+ },
55
+ onSuccess: (_data, variables) => {
56
+ queryClient.invalidateQueries({
57
+ queryKey: [...queryKeys.sudojo.all(), "learning"],
58
+ });
59
+ queryClient.invalidateQueries({
60
+ queryKey: queryKeys.sudojo.learningItem(variables.uuid),
61
+ });
62
+ },
63
+ });
64
+ };
65
+ export const useSudojoDeleteLearning = (networkClient, config) => {
66
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
67
+ const queryClient = useQueryClient();
68
+ return useMutation({
69
+ mutationFn: async ({ auth, uuid }) => {
70
+ return client.deleteLearning(auth, uuid);
71
+ },
72
+ onSuccess: (_data, variables) => {
73
+ queryClient.invalidateQueries({
74
+ queryKey: [...queryKeys.sudojo.all(), "learning"],
75
+ });
76
+ queryClient.removeQueries({
77
+ queryKey: queryKeys.sudojo.learningItem(variables.uuid),
78
+ });
79
+ },
80
+ });
81
+ };
82
+ //# sourceMappingURL=use-sudojo-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-learning.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-learning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Level, LevelCreateRequest, LevelUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoLevels: (networkClient: NetworkClient, config: SudojoConfig, options?: Omit<UseQueryOptions<BaseResponse<Level[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Level[]>>;
6
+ export declare const useSudojoLevel: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Level>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Level>>;
7
+ export declare const useSudojoCreateLevel: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Level>, Error, {
8
+ auth: SudojoAuth;
9
+ data: LevelCreateRequest;
10
+ }>;
11
+ export declare const useSudojoUpdateLevel: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Level>, Error, {
12
+ auth: SudojoAuth;
13
+ uuid: string;
14
+ data: LevelUpdateRequest;
15
+ }>;
16
+ export declare const useSudojoDeleteLevel: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
17
+ auth: SudojoAuth;
18
+ uuid: string;
19
+ }>;
20
+ //# sourceMappingURL=use-sudojo-levels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-levels.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-levels.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,iBAAiB,EAGjB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKzE,eAAO,MAAM,eAAe,GAC1B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EACtC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAgBtC,CAAC;AAKF,eAAO,MAAM,cAAc,GACzB,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,MAAM,MAAM,EACZ,UAAU,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,KAC3E,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAiBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,KAAK,CAAC,EACnB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAsB/C,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,KAAK,CAAC,EACnB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CA2B7D,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,IAAI,CAAC,EAClB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAmBnC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useMutation, useQuery, useQueryClient, } from "@tanstack/react-query";
3
+ import { queryKeys } from "./query-keys";
4
+ import { STALE_TIMES } from "./query-config";
5
+ import { SudojoClient } from "../network/sudojo-client";
6
+ export const useSudojoLevels = (networkClient, config, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getLevels();
10
+ }, [client]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.levels(),
13
+ queryFn,
14
+ staleTime: STALE_TIMES.LEVELS,
15
+ ...options,
16
+ });
17
+ };
18
+ export const useSudojoLevel = (networkClient, config, uuid, options) => {
19
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
20
+ const queryFn = useCallback(async () => {
21
+ return client.getLevel(uuid);
22
+ }, [client, uuid]);
23
+ return useQuery({
24
+ queryKey: queryKeys.sudojo.level(uuid),
25
+ queryFn,
26
+ staleTime: STALE_TIMES.LEVELS,
27
+ enabled: !!uuid,
28
+ ...options,
29
+ });
30
+ };
31
+ export const useSudojoCreateLevel = (networkClient, config) => {
32
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
33
+ const queryClient = useQueryClient();
34
+ return useMutation({
35
+ mutationFn: async ({ auth, data, }) => {
36
+ return client.createLevel(auth, data);
37
+ },
38
+ onSuccess: () => {
39
+ queryClient.invalidateQueries({ queryKey: queryKeys.sudojo.levels() });
40
+ },
41
+ });
42
+ };
43
+ export const useSudojoUpdateLevel = (networkClient, config) => {
44
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
45
+ const queryClient = useQueryClient();
46
+ return useMutation({
47
+ mutationFn: async ({ auth, uuid, data, }) => {
48
+ return client.updateLevel(auth, uuid, data);
49
+ },
50
+ onSuccess: (_data, variables) => {
51
+ queryClient.invalidateQueries({ queryKey: queryKeys.sudojo.levels() });
52
+ queryClient.invalidateQueries({
53
+ queryKey: queryKeys.sudojo.level(variables.uuid),
54
+ });
55
+ },
56
+ });
57
+ };
58
+ export const useSudojoDeleteLevel = (networkClient, config) => {
59
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
60
+ const queryClient = useQueryClient();
61
+ return useMutation({
62
+ mutationFn: async ({ auth, uuid }) => {
63
+ return client.deleteLevel(auth, uuid);
64
+ },
65
+ onSuccess: (_data, variables) => {
66
+ queryClient.invalidateQueries({ queryKey: queryKeys.sudojo.levels() });
67
+ queryClient.removeQueries({
68
+ queryKey: queryKeys.sudojo.level(variables.uuid),
69
+ });
70
+ },
71
+ });
72
+ };
73
+ //# sourceMappingURL=use-sudojo-levels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-levels.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-levels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Technique, TechniqueCreateRequest, TechniqueQueryParams, TechniqueUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoTechniques: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: TechniqueQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Technique[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Technique[]>>;
6
+ export declare const useSudojoTechnique: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Technique>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Technique>>;
7
+ export declare const useSudojoCreateTechnique: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Technique>, Error, {
8
+ auth: SudojoAuth;
9
+ data: TechniqueCreateRequest;
10
+ }>;
11
+ export declare const useSudojoUpdateTechnique: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Technique>, Error, {
12
+ auth: SudojoAuth;
13
+ uuid: string;
14
+ data: TechniqueUpdateRequest;
15
+ }>;
16
+ export declare const useSudojoDeleteTechnique: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
17
+ auth: SudojoAuth;
18
+ uuid: string;
19
+ }>;
20
+ //# sourceMappingURL=use-sudojo-techniques.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-techniques.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-techniques.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,iBAAiB,EAGjB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EACV,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKzE,eAAO,MAAM,mBAAmB,GAC9B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,cAAc,oBAAoB,EAClC,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,EAC1C,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAkB1C,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAC7B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,MAAM,MAAM,EACZ,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EACxC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAiBxC,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,SAAS,CAAC,EACvB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAwBnD,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,SAAS,CAAC,EACvB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE,CA6BjE,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,eAAe,aAAa,EAC5B,QAAQ,YAAY,KACnB,iBAAiB,CAClB,YAAY,CAAC,IAAI,CAAC,EAClB,KAAK,EACL;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAqBnC,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useMutation, useQuery, useQueryClient, } from "@tanstack/react-query";
3
+ import { queryKeys } from "./query-keys";
4
+ import { STALE_TIMES } from "./query-config";
5
+ import { SudojoClient } from "../network/sudojo-client";
6
+ export const useSudojoTechniques = (networkClient, config, queryParams, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getTechniques(queryParams);
10
+ }, [client, queryParams]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.techniques({
13
+ level_uuid: queryParams?.level_uuid ?? undefined,
14
+ }),
15
+ queryFn,
16
+ staleTime: STALE_TIMES.TECHNIQUES,
17
+ ...options,
18
+ });
19
+ };
20
+ export const useSudojoTechnique = (networkClient, config, uuid, options) => {
21
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
22
+ const queryFn = useCallback(async () => {
23
+ return client.getTechnique(uuid);
24
+ }, [client, uuid]);
25
+ return useQuery({
26
+ queryKey: queryKeys.sudojo.technique(uuid),
27
+ queryFn,
28
+ staleTime: STALE_TIMES.TECHNIQUES,
29
+ enabled: !!uuid,
30
+ ...options,
31
+ });
32
+ };
33
+ export const useSudojoCreateTechnique = (networkClient, config) => {
34
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
35
+ const queryClient = useQueryClient();
36
+ return useMutation({
37
+ mutationFn: async ({ auth, data, }) => {
38
+ return client.createTechnique(auth, data);
39
+ },
40
+ onSuccess: () => {
41
+ queryClient.invalidateQueries({
42
+ queryKey: [...queryKeys.sudojo.all(), "techniques"],
43
+ });
44
+ },
45
+ });
46
+ };
47
+ export const useSudojoUpdateTechnique = (networkClient, config) => {
48
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
49
+ const queryClient = useQueryClient();
50
+ return useMutation({
51
+ mutationFn: async ({ auth, uuid, data, }) => {
52
+ return client.updateTechnique(auth, uuid, data);
53
+ },
54
+ onSuccess: (_data, variables) => {
55
+ queryClient.invalidateQueries({
56
+ queryKey: [...queryKeys.sudojo.all(), "techniques"],
57
+ });
58
+ queryClient.invalidateQueries({
59
+ queryKey: queryKeys.sudojo.technique(variables.uuid),
60
+ });
61
+ },
62
+ });
63
+ };
64
+ export const useSudojoDeleteTechnique = (networkClient, config) => {
65
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
66
+ const queryClient = useQueryClient();
67
+ return useMutation({
68
+ mutationFn: async ({ auth, uuid }) => {
69
+ return client.deleteTechnique(auth, uuid);
70
+ },
71
+ onSuccess: (_data, variables) => {
72
+ queryClient.invalidateQueries({
73
+ queryKey: [...queryKeys.sudojo.all(), "techniques"],
74
+ });
75
+ queryClient.removeQueries({
76
+ queryKey: queryKeys.sudojo.technique(variables.uuid),
77
+ });
78
+ },
79
+ });
80
+ };
81
+ //# sourceMappingURL=use-sudojo-techniques.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-techniques.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-techniques.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { createSudojoClient, isValidUUID, SudojoClient, validateUUID, } from "./network";
2
+ export type { SudojoAuth, SudojoConfig } from "./network";
3
+ export { createQueryKey, getServiceKeys, queryKeys, STALE_TIMES, useSudojoHealth, useSudojoCreateLevel, useSudojoDeleteLevel, useSudojoLevel, useSudojoLevels, useSudojoUpdateLevel, useSudojoCreateTechnique, useSudojoDeleteTechnique, useSudojoTechnique, useSudojoTechniques, useSudojoUpdateTechnique, useSudojoCreateLearning, useSudojoDeleteLearning, useSudojoLearning, useSudojoLearningItem, useSudojoUpdateLearning, useSudojoBoard, useSudojoBoards, useSudojoCreateBoard, useSudojoDeleteBoard, useSudojoRandomBoard, useSudojoUpdateBoard, useSudojoCreateDaily, useSudojoDailies, useSudojoDaily, useSudojoDailyByDate, useSudojoDeleteDaily, useSudojoRandomDaily, useSudojoTodayDaily, useSudojoUpdateDaily, useSudojoChallenge, useSudojoChallenges, useSudojoCreateChallenge, useSudojoDeleteChallenge, useSudojoRandomChallenge, useSudojoUpdateChallenge, } from "./hooks";
4
+ export type { QueryKey } from "./hooks";
5
+ export type { BaseResponse, Board, BoardCreateRequest, BoardQueryParams, BoardUpdateRequest, Challenge, ChallengeCreateRequest, ChallengeQueryParams, ChallengeUpdateRequest, Daily, DailyCreateRequest, DailyUpdateRequest, HealthCheckData, Learning, LearningCreateRequest, LearningQueryParams, LearningUpdateRequest, Level, LevelCreateRequest, LevelUpdateRequest, Optional, PaginatedResponse, PaginationInfo, PaginationOptions, Technique, TechniqueCreateRequest, TechniqueQueryParams, TechniqueUpdateRequest, } from "@sudobility/sudojo_types";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAEL,cAAc,EACd,cAAc,EACd,SAAS,EACT,WAAW,EAEX,eAAe,EAEf,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,EAEpB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EAExB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EAEvB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { createSudojoClient, isValidUUID, SudojoClient, validateUUID, } from "./network";
2
+ export { createQueryKey, getServiceKeys, queryKeys, STALE_TIMES, useSudojoHealth, useSudojoCreateLevel, useSudojoDeleteLevel, useSudojoLevel, useSudojoLevels, useSudojoUpdateLevel, useSudojoCreateTechnique, useSudojoDeleteTechnique, useSudojoTechnique, useSudojoTechniques, useSudojoUpdateTechnique, useSudojoCreateLearning, useSudojoDeleteLearning, useSudojoLearning, useSudojoLearningItem, useSudojoUpdateLearning, useSudojoBoard, useSudojoBoards, useSudojoCreateBoard, useSudojoDeleteBoard, useSudojoRandomBoard, useSudojoUpdateBoard, useSudojoCreateDaily, useSudojoDailies, useSudojoDaily, useSudojoDailyByDate, useSudojoDeleteDaily, useSudojoRandomDaily, useSudojoTodayDaily, useSudojoUpdateDaily, useSudojoChallenge, useSudojoChallenges, useSudojoCreateChallenge, useSudojoDeleteChallenge, useSudojoRandomChallenge, useSudojoUpdateChallenge, } from "./hooks";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,WAAW,CAAC;AAInB,OAAO,EAEL,cAAc,EACd,cAAc,EACd,SAAS,EACT,WAAW,EAEX,eAAe,EAEf,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,EAEpB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EAExB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EAEvB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createSudojoClient, isValidUUID, SudojoClient, validateUUID, } from "./sudojo-client";
2
+ export type { SudojoAuth, SudojoConfig } from "./sudojo-client";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createSudojoClient, isValidUUID, SudojoClient, validateUUID, } from "./sudojo-client";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { BaseResponse, NetworkClient, Optional } from "@sudobility/types";
2
+ import type { Board, BoardCreateRequest, BoardQueryParams, BoardUpdateRequest, Challenge, ChallengeCreateRequest, ChallengeQueryParams, ChallengeUpdateRequest, Daily, DailyCreateRequest, DailyUpdateRequest, HealthCheckData, Learning, LearningCreateRequest, LearningQueryParams, LearningUpdateRequest, Level, LevelCreateRequest, LevelUpdateRequest, Technique, TechniqueCreateRequest, TechniqueQueryParams, TechniqueUpdateRequest } from "@sudobility/sudojo_types";
3
+ export interface SudojoConfig {
4
+ baseUrl: string;
5
+ apiToken?: Optional<string>;
6
+ }
7
+ export interface SudojoAuth {
8
+ accessToken: string;
9
+ }
10
+ declare const isValidUUID: (id: string) => boolean;
11
+ declare const validateUUID: (uuid: string, name?: string) => string;
12
+ export declare class SudojoClient {
13
+ private baseUrl;
14
+ private headers;
15
+ private networkClient;
16
+ private config;
17
+ constructor(networkClient: NetworkClient, config: SudojoConfig);
18
+ private request;
19
+ getHealth(): Promise<BaseResponse<HealthCheckData>>;
20
+ getLevels(): Promise<BaseResponse<Level[]>>;
21
+ getLevel(uuid: string): Promise<BaseResponse<Level>>;
22
+ createLevel(auth: SudojoAuth, data: LevelCreateRequest): Promise<BaseResponse<Level>>;
23
+ updateLevel(auth: SudojoAuth, uuid: string, data: LevelUpdateRequest): Promise<BaseResponse<Level>>;
24
+ deleteLevel(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
25
+ getTechniques(queryParams?: TechniqueQueryParams): Promise<BaseResponse<Technique[]>>;
26
+ getTechnique(uuid: string): Promise<BaseResponse<Technique>>;
27
+ createTechnique(auth: SudojoAuth, data: TechniqueCreateRequest): Promise<BaseResponse<Technique>>;
28
+ updateTechnique(auth: SudojoAuth, uuid: string, data: TechniqueUpdateRequest): Promise<BaseResponse<Technique>>;
29
+ deleteTechnique(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
30
+ getLearning(queryParams?: LearningQueryParams): Promise<BaseResponse<Learning[]>>;
31
+ getLearningItem(uuid: string): Promise<BaseResponse<Learning>>;
32
+ createLearning(auth: SudojoAuth, data: LearningCreateRequest): Promise<BaseResponse<Learning>>;
33
+ updateLearning(auth: SudojoAuth, uuid: string, data: LearningUpdateRequest): Promise<BaseResponse<Learning>>;
34
+ deleteLearning(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
35
+ getBoards(queryParams?: BoardQueryParams): Promise<BaseResponse<Board[]>>;
36
+ getRandomBoard(queryParams?: BoardQueryParams): Promise<BaseResponse<Board>>;
37
+ getBoard(uuid: string): Promise<BaseResponse<Board>>;
38
+ createBoard(auth: SudojoAuth, data: BoardCreateRequest): Promise<BaseResponse<Board>>;
39
+ updateBoard(auth: SudojoAuth, uuid: string, data: BoardUpdateRequest): Promise<BaseResponse<Board>>;
40
+ deleteBoard(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
41
+ getDailies(): Promise<BaseResponse<Daily[]>>;
42
+ getRandomDaily(): Promise<BaseResponse<Daily>>;
43
+ getTodayDaily(): Promise<BaseResponse<Daily>>;
44
+ getDailyByDate(date: string): Promise<BaseResponse<Daily>>;
45
+ getDaily(uuid: string): Promise<BaseResponse<Daily>>;
46
+ createDaily(auth: SudojoAuth, data: DailyCreateRequest): Promise<BaseResponse<Daily>>;
47
+ updateDaily(auth: SudojoAuth, uuid: string, data: DailyUpdateRequest): Promise<BaseResponse<Daily>>;
48
+ deleteDaily(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
49
+ getChallenges(queryParams?: ChallengeQueryParams): Promise<BaseResponse<Challenge[]>>;
50
+ getRandomChallenge(queryParams?: ChallengeQueryParams): Promise<BaseResponse<Challenge>>;
51
+ getChallenge(uuid: string): Promise<BaseResponse<Challenge>>;
52
+ createChallenge(auth: SudojoAuth, data: ChallengeCreateRequest): Promise<BaseResponse<Challenge>>;
53
+ updateChallenge(auth: SudojoAuth, uuid: string, data: ChallengeUpdateRequest): Promise<BaseResponse<Challenge>>;
54
+ deleteChallenge(auth: SudojoAuth, uuid: string): Promise<BaseResponse<null>>;
55
+ }
56
+ export declare const createSudojoClient: (networkClient: NetworkClient, config: SudojoConfig) => SudojoClient;
57
+ export { isValidUUID, validateUUID };
58
+ //# sourceMappingURL=sudojo-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sudojo-client.d.ts","sourceRoot":"","sources":["../../src/network/sudojo-client.ts"],"names":[],"mappings":"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"}