@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,11 @@
1
+ export { createQueryKey, getServiceKeys, queryKeys } from "./query-keys";
2
+ export type { QueryKey } from "./query-keys";
3
+ export { STALE_TIMES } from "./query-config";
4
+ export { useSudojoHealth } from "./use-sudojo-health";
5
+ export { useSudojoCreateLevel, useSudojoDeleteLevel, useSudojoLevel, useSudojoLevels, useSudojoUpdateLevel, } from "./use-sudojo-levels";
6
+ export { useSudojoCreateTechnique, useSudojoDeleteTechnique, useSudojoTechnique, useSudojoTechniques, useSudojoUpdateTechnique, } from "./use-sudojo-techniques";
7
+ export { useSudojoCreateLearning, useSudojoDeleteLearning, useSudojoLearning, useSudojoLearningItem, useSudojoUpdateLearning, } from "./use-sudojo-learning";
8
+ export { useSudojoBoard, useSudojoBoards, useSudojoCreateBoard, useSudojoDeleteBoard, useSudojoRandomBoard, useSudojoUpdateBoard, } from "./use-sudojo-boards";
9
+ export { useSudojoCreateDaily, useSudojoDailies, useSudojoDaily, useSudojoDailyByDate, useSudojoDeleteDaily, useSudojoRandomDaily, useSudojoTodayDaily, useSudojoUpdateDaily, } from "./use-sudojo-dailies";
10
+ export { useSudojoChallenge, useSudojoChallenges, useSudojoCreateChallenge, useSudojoDeleteChallenge, useSudojoRandomChallenge, useSudojoUpdateChallenge, } from "./use-sudojo-challenges";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { createQueryKey, getServiceKeys, queryKeys } from "./query-keys";
2
+ export { STALE_TIMES } from "./query-config";
3
+ export { useSudojoHealth } from "./use-sudojo-health";
4
+ export { useSudojoCreateLevel, useSudojoDeleteLevel, useSudojoLevel, useSudojoLevels, useSudojoUpdateLevel, } from "./use-sudojo-levels";
5
+ export { useSudojoCreateTechnique, useSudojoDeleteTechnique, useSudojoTechnique, useSudojoTechniques, useSudojoUpdateTechnique, } from "./use-sudojo-techniques";
6
+ export { useSudojoCreateLearning, useSudojoDeleteLearning, useSudojoLearning, useSudojoLearningItem, useSudojoUpdateLearning, } from "./use-sudojo-learning";
7
+ export { useSudojoBoard, useSudojoBoards, useSudojoCreateBoard, useSudojoDeleteBoard, useSudojoRandomBoard, useSudojoUpdateBoard, } from "./use-sudojo-boards";
8
+ export { useSudojoCreateDaily, useSudojoDailies, useSudojoDaily, useSudojoDailyByDate, useSudojoDeleteDaily, useSudojoRandomDaily, useSudojoTodayDaily, useSudojoUpdateDaily, } from "./use-sudojo-dailies";
9
+ export { useSudojoChallenge, useSudojoChallenges, useSudojoCreateChallenge, useSudojoDeleteChallenge, useSudojoRandomChallenge, useSudojoUpdateChallenge, } from "./use-sudojo-challenges";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const STALE_TIMES: {
2
+ readonly HEALTH_STATUS: number;
3
+ readonly LEVELS: number;
4
+ readonly TECHNIQUES: number;
5
+ readonly LEARNING: number;
6
+ readonly BOARDS: number;
7
+ readonly DAILIES: number;
8
+ readonly CHALLENGES: number;
9
+ };
10
+ //# sourceMappingURL=query-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-config.d.ts","sourceRoot":"","sources":["../../src/hooks/query-config.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;;;;;;;;CAqBd,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const STALE_TIMES = {
2
+ HEALTH_STATUS: 1 * 60 * 1000,
3
+ LEVELS: 10 * 60 * 1000,
4
+ TECHNIQUES: 10 * 60 * 1000,
5
+ LEARNING: 10 * 60 * 1000,
6
+ BOARDS: 5 * 60 * 1000,
7
+ DAILIES: 5 * 60 * 1000,
8
+ CHALLENGES: 5 * 60 * 1000,
9
+ };
10
+ //# sourceMappingURL=query-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-config.js","sourceRoot":"","sources":["../../src/hooks/query-config.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,WAAW,GAAG;IAEzB,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAG5B,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAGtB,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAG1B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAGxB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAGrB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAGtB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;CACjB,CAAC"}
@@ -0,0 +1,57 @@
1
+ export declare const queryKeys: {
2
+ readonly sudojo: {
3
+ readonly all: () => readonly ["sudojo"];
4
+ readonly health: () => readonly ["sudojo", "health"];
5
+ readonly levels: () => readonly ["sudojo", "levels"];
6
+ readonly level: (uuid: string) => readonly ["sudojo", "levels", string];
7
+ readonly techniques: (filters?: {
8
+ level_uuid?: string | undefined;
9
+ }) => readonly ["sudojo", "techniques", {
10
+ level_uuid?: string | undefined;
11
+ } | undefined];
12
+ readonly technique: (uuid: string) => readonly ["sudojo", "techniques", string];
13
+ readonly learning: (filters?: {
14
+ technique_uuid?: string | undefined;
15
+ language_code?: string | undefined;
16
+ }) => readonly ["sudojo", "learning", {
17
+ technique_uuid?: string | undefined;
18
+ language_code?: string | undefined;
19
+ } | undefined];
20
+ readonly learningItem: (uuid: string) => readonly ["sudojo", "learning", string];
21
+ readonly boards: (filters?: {
22
+ level_uuid?: string | undefined;
23
+ }) => readonly ["sudojo", "boards", {
24
+ level_uuid?: string | undefined;
25
+ } | undefined];
26
+ readonly boardRandom: (filters?: {
27
+ level_uuid?: string | undefined;
28
+ }) => readonly ["sudojo", "boards", "random", {
29
+ level_uuid?: string | undefined;
30
+ } | undefined];
31
+ readonly board: (uuid: string) => readonly ["sudojo", "boards", string];
32
+ readonly dailies: () => readonly ["sudojo", "dailies"];
33
+ readonly dailyRandom: () => readonly ["sudojo", "dailies", "random"];
34
+ readonly dailyToday: () => readonly ["sudojo", "dailies", "today"];
35
+ readonly dailyByDate: (date: string) => readonly ["sudojo", "dailies", "date", string];
36
+ readonly daily: (uuid: string) => readonly ["sudojo", "dailies", string];
37
+ readonly challenges: (filters?: {
38
+ level_uuid?: string | undefined;
39
+ difficulty?: string | undefined;
40
+ }) => readonly ["sudojo", "challenges", {
41
+ level_uuid?: string | undefined;
42
+ difficulty?: string | undefined;
43
+ } | undefined];
44
+ readonly challengeRandom: (filters?: {
45
+ level_uuid?: string | undefined;
46
+ difficulty?: string | undefined;
47
+ }) => readonly ["sudojo", "challenges", "random", {
48
+ level_uuid?: string | undefined;
49
+ difficulty?: string | undefined;
50
+ } | undefined];
51
+ readonly challenge: (uuid: string) => readonly ["sudojo", "challenges", string];
52
+ };
53
+ };
54
+ export type QueryKey = readonly unknown[];
55
+ export declare const createQueryKey: (service: string, ...parts: (string | number | object)[]) => readonly unknown[];
56
+ export declare const getServiceKeys: () => readonly ["sudojo"];
57
+ //# sourceMappingURL=query-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../src/hooks/query-keys.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS;;;;;+BASJ,MAAM;wCAGG;YAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE;yBAApB,MAAM,GAAG,SAAS;;mCAEtC,MAAM;sCAGH;YACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SACpC;6BAFkB,MAAM,GAAG,SAAS;4BACnB,MAAM,GAAG,SAAS;;sCAEf,MAAM;oCAIR;YAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE;yBAApB,MAAM,GAAG,SAAS;;yCAE5B;YAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE;yBAApB,MAAM,GAAG,SAAS;;+BAE3C,MAAM;;;;qCAMA,MAAM;+BAEZ,MAAM;wCAGG;YACrB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SACjC;yBAFc,MAAM,GAAG,SAAS;yBAClB,MAAM,GAAG,SAAS;;6CAEL;YAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SACjC;yBAFc,MAAM,GAAG,SAAS;yBAClB,MAAM,GAAG,SAAS;;mCAEf,MAAM;;CAElB,CAAC;AAKX,MAAM,MAAM,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAC;AAK1C,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,KACrC,SAAS,OAAO,EAElB,CAAC;AAKF,eAAO,MAAM,cAAc,2BAE1B,CAAC"}
@@ -0,0 +1,31 @@
1
+ const sudojoBase = () => ["sudojo"];
2
+ export const queryKeys = {
3
+ sudojo: {
4
+ all: sudojoBase,
5
+ health: () => [...sudojoBase(), "health"],
6
+ levels: () => [...sudojoBase(), "levels"],
7
+ level: (uuid) => [...sudojoBase(), "levels", uuid],
8
+ techniques: (filters) => [...sudojoBase(), "techniques", filters],
9
+ technique: (uuid) => [...sudojoBase(), "techniques", uuid],
10
+ learning: (filters) => [...sudojoBase(), "learning", filters],
11
+ learningItem: (uuid) => [...sudojoBase(), "learning", uuid],
12
+ boards: (filters) => [...sudojoBase(), "boards", filters],
13
+ boardRandom: (filters) => [...sudojoBase(), "boards", "random", filters],
14
+ board: (uuid) => [...sudojoBase(), "boards", uuid],
15
+ dailies: () => [...sudojoBase(), "dailies"],
16
+ dailyRandom: () => [...sudojoBase(), "dailies", "random"],
17
+ dailyToday: () => [...sudojoBase(), "dailies", "today"],
18
+ dailyByDate: (date) => [...sudojoBase(), "dailies", "date", date],
19
+ daily: (uuid) => [...sudojoBase(), "dailies", uuid],
20
+ challenges: (filters) => [...sudojoBase(), "challenges", filters],
21
+ challengeRandom: (filters) => [...sudojoBase(), "challenges", "random", filters],
22
+ challenge: (uuid) => [...sudojoBase(), "challenges", uuid],
23
+ },
24
+ };
25
+ export const createQueryKey = (service, ...parts) => {
26
+ return [service, ...parts];
27
+ };
28
+ export const getServiceKeys = () => {
29
+ return queryKeys.sudojo.all();
30
+ };
31
+ //# sourceMappingURL=query-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-keys.js","sourceRoot":"","sources":["../../src/hooks/query-keys.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE;QACN,GAAG,EAAE,UAAU;QAGf,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,CAAU;QAGlD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,CAAU;QAClD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAU;QAGnE,UAAU,EAAE,CAAC,OAA6C,EAAE,EAAE,CAC5D,CAAC,GAAG,UAAU,EAAE,EAAE,YAAY,EAAE,OAAO,CAAU;QACnD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,CAAU;QAG3E,QAAQ,EAAE,CAAC,OAGV,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,UAAU,EAAE,OAAO,CAAU;QACrD,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAC7B,CAAC,GAAG,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,CAAU;QAG9C,MAAM,EAAE,CAAC,OAA6C,EAAE,EAAE,CACxD,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAU;QAC/C,WAAW,EAAE,CAAC,OAA6C,EAAE,EAAE,CAC7D,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU;QACzD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAU;QAGnE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,CAAU;QACpD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAU;QAClE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,CAAU;QAChE,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAC5B,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAU;QACrD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAU;QAGpE,UAAU,EAAE,CAAC,OAGZ,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,YAAY,EAAE,OAAO,CAAU;QACvD,eAAe,EAAE,CAAC,OAGjB,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAU;QACjE,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,CAAU;KAC5E;CACO,CAAC;AAUX,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAe,EACf,GAAG,KAAmC,EAClB,EAAE;IACtB,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAU,CAAC;AACtC,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Board, BoardCreateRequest, BoardQueryParams, BoardUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoBoards: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: BoardQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Board[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Board[]>>;
6
+ export declare const useSudojoRandomBoard: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: BoardQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Board>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Board>>;
7
+ export declare const useSudojoBoard: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Board>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Board>>;
8
+ export declare const useSudojoCreateBoard: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Board>, Error, {
9
+ auth: SudojoAuth;
10
+ data: BoardCreateRequest;
11
+ }>;
12
+ export declare const useSudojoUpdateBoard: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Board>, Error, {
13
+ auth: SudojoAuth;
14
+ uuid: string;
15
+ data: BoardUpdateRequest;
16
+ }>;
17
+ export declare const useSudojoDeleteBoard: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
18
+ auth: SudojoAuth;
19
+ uuid: string;
20
+ }>;
21
+ //# sourceMappingURL=use-sudojo-boards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-boards.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-boards.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,gBAAgB,EAChB,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,cAAc,gBAAgB,EAC9B,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EACtC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAkBtC,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,cAAc,gBAAgB,EAC9B,UAAU,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,KAC3E,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAkBpC,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,CAwB/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,CA6B7D,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,CAqBnC,CAAC"}
@@ -0,0 +1,95 @@
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 useSudojoBoards = (networkClient, config, queryParams, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getBoards(queryParams);
10
+ }, [client, queryParams]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.boards({
13
+ level_uuid: queryParams?.level_uuid ?? undefined,
14
+ }),
15
+ queryFn,
16
+ staleTime: STALE_TIMES.BOARDS,
17
+ ...options,
18
+ });
19
+ };
20
+ export const useSudojoRandomBoard = (networkClient, config, queryParams, options) => {
21
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
22
+ const queryFn = useCallback(async () => {
23
+ return client.getRandomBoard(queryParams);
24
+ }, [client, queryParams]);
25
+ return useQuery({
26
+ queryKey: queryKeys.sudojo.boardRandom({
27
+ level_uuid: queryParams?.level_uuid ?? undefined,
28
+ }),
29
+ queryFn,
30
+ staleTime: 0,
31
+ ...options,
32
+ });
33
+ };
34
+ export const useSudojoBoard = (networkClient, config, uuid, options) => {
35
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
36
+ const queryFn = useCallback(async () => {
37
+ return client.getBoard(uuid);
38
+ }, [client, uuid]);
39
+ return useQuery({
40
+ queryKey: queryKeys.sudojo.board(uuid),
41
+ queryFn,
42
+ staleTime: STALE_TIMES.BOARDS,
43
+ enabled: !!uuid,
44
+ ...options,
45
+ });
46
+ };
47
+ export const useSudojoCreateBoard = (networkClient, config) => {
48
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
49
+ const queryClient = useQueryClient();
50
+ return useMutation({
51
+ mutationFn: async ({ auth, data, }) => {
52
+ return client.createBoard(auth, data);
53
+ },
54
+ onSuccess: () => {
55
+ queryClient.invalidateQueries({
56
+ queryKey: [...queryKeys.sudojo.all(), "boards"],
57
+ });
58
+ },
59
+ });
60
+ };
61
+ export const useSudojoUpdateBoard = (networkClient, config) => {
62
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
63
+ const queryClient = useQueryClient();
64
+ return useMutation({
65
+ mutationFn: async ({ auth, uuid, data, }) => {
66
+ return client.updateBoard(auth, uuid, data);
67
+ },
68
+ onSuccess: (_data, variables) => {
69
+ queryClient.invalidateQueries({
70
+ queryKey: [...queryKeys.sudojo.all(), "boards"],
71
+ });
72
+ queryClient.invalidateQueries({
73
+ queryKey: queryKeys.sudojo.board(variables.uuid),
74
+ });
75
+ },
76
+ });
77
+ };
78
+ export const useSudojoDeleteBoard = (networkClient, config) => {
79
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
80
+ const queryClient = useQueryClient();
81
+ return useMutation({
82
+ mutationFn: async ({ auth, uuid }) => {
83
+ return client.deleteBoard(auth, uuid);
84
+ },
85
+ onSuccess: (_data, variables) => {
86
+ queryClient.invalidateQueries({
87
+ queryKey: [...queryKeys.sudojo.all(), "boards"],
88
+ });
89
+ queryClient.removeQueries({
90
+ queryKey: queryKeys.sudojo.board(variables.uuid),
91
+ });
92
+ },
93
+ });
94
+ };
95
+ //# sourceMappingURL=use-sudojo-boards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-boards.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-boards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Challenge, ChallengeCreateRequest, ChallengeQueryParams, ChallengeUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoChallenges: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: ChallengeQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Challenge[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Challenge[]>>;
6
+ export declare const useSudojoRandomChallenge: (networkClient: NetworkClient, config: SudojoConfig, queryParams?: ChallengeQueryParams, options?: Omit<UseQueryOptions<BaseResponse<Challenge>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Challenge>>;
7
+ export declare const useSudojoChallenge: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Challenge>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Challenge>>;
8
+ export declare const useSudojoCreateChallenge: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Challenge>, Error, {
9
+ auth: SudojoAuth;
10
+ data: ChallengeCreateRequest;
11
+ }>;
12
+ export declare const useSudojoUpdateChallenge: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Challenge>, Error, {
13
+ auth: SudojoAuth;
14
+ uuid: string;
15
+ data: ChallengeUpdateRequest;
16
+ }>;
17
+ export declare const useSudojoDeleteChallenge: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
18
+ auth: SudojoAuth;
19
+ uuid: string;
20
+ }>;
21
+ //# sourceMappingURL=use-sudojo-challenges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-challenges.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-challenges.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,CAmB1C,CAAC;AAKF,eAAO,MAAM,wBAAwB,GACnC,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,cAAc,oBAAoB,EAClC,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EACxC,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAmBxC,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,97 @@
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 useSudojoChallenges = (networkClient, config, queryParams, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getChallenges(queryParams);
10
+ }, [client, queryParams]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.challenges({
13
+ level_uuid: queryParams?.level_uuid ?? undefined,
14
+ difficulty: queryParams?.difficulty ?? undefined,
15
+ }),
16
+ queryFn,
17
+ staleTime: STALE_TIMES.CHALLENGES,
18
+ ...options,
19
+ });
20
+ };
21
+ export const useSudojoRandomChallenge = (networkClient, config, queryParams, options) => {
22
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
23
+ const queryFn = useCallback(async () => {
24
+ return client.getRandomChallenge(queryParams);
25
+ }, [client, queryParams]);
26
+ return useQuery({
27
+ queryKey: queryKeys.sudojo.challengeRandom({
28
+ level_uuid: queryParams?.level_uuid ?? undefined,
29
+ difficulty: queryParams?.difficulty ?? undefined,
30
+ }),
31
+ queryFn,
32
+ staleTime: 0,
33
+ ...options,
34
+ });
35
+ };
36
+ export const useSudojoChallenge = (networkClient, config, uuid, options) => {
37
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
38
+ const queryFn = useCallback(async () => {
39
+ return client.getChallenge(uuid);
40
+ }, [client, uuid]);
41
+ return useQuery({
42
+ queryKey: queryKeys.sudojo.challenge(uuid),
43
+ queryFn,
44
+ staleTime: STALE_TIMES.CHALLENGES,
45
+ enabled: !!uuid,
46
+ ...options,
47
+ });
48
+ };
49
+ export const useSudojoCreateChallenge = (networkClient, config) => {
50
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
51
+ const queryClient = useQueryClient();
52
+ return useMutation({
53
+ mutationFn: async ({ auth, data, }) => {
54
+ return client.createChallenge(auth, data);
55
+ },
56
+ onSuccess: () => {
57
+ queryClient.invalidateQueries({
58
+ queryKey: [...queryKeys.sudojo.all(), "challenges"],
59
+ });
60
+ },
61
+ });
62
+ };
63
+ export const useSudojoUpdateChallenge = (networkClient, config) => {
64
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
65
+ const queryClient = useQueryClient();
66
+ return useMutation({
67
+ mutationFn: async ({ auth, uuid, data, }) => {
68
+ return client.updateChallenge(auth, uuid, data);
69
+ },
70
+ onSuccess: (_data, variables) => {
71
+ queryClient.invalidateQueries({
72
+ queryKey: [...queryKeys.sudojo.all(), "challenges"],
73
+ });
74
+ queryClient.invalidateQueries({
75
+ queryKey: queryKeys.sudojo.challenge(variables.uuid),
76
+ });
77
+ },
78
+ });
79
+ };
80
+ export const useSudojoDeleteChallenge = (networkClient, config) => {
81
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
82
+ const queryClient = useQueryClient();
83
+ return useMutation({
84
+ mutationFn: async ({ auth, uuid }) => {
85
+ return client.deleteChallenge(auth, uuid);
86
+ },
87
+ onSuccess: (_data, variables) => {
88
+ queryClient.invalidateQueries({
89
+ queryKey: [...queryKeys.sudojo.all(), "challenges"],
90
+ });
91
+ queryClient.removeQueries({
92
+ queryKey: queryKeys.sudojo.challenge(variables.uuid),
93
+ });
94
+ },
95
+ });
96
+ };
97
+ //# sourceMappingURL=use-sudojo-challenges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-challenges.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-challenges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { Daily, DailyCreateRequest, DailyUpdateRequest } from "@sudobility/sudojo_types";
4
+ import type { SudojoAuth, SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoDailies: (networkClient: NetworkClient, config: SudojoConfig, options?: Omit<UseQueryOptions<BaseResponse<Daily[]>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Daily[]>>;
6
+ export declare const useSudojoRandomDaily: (networkClient: NetworkClient, config: SudojoConfig, options?: Omit<UseQueryOptions<BaseResponse<Daily>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Daily>>;
7
+ export declare const useSudojoTodayDaily: (networkClient: NetworkClient, config: SudojoConfig, options?: Omit<UseQueryOptions<BaseResponse<Daily>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Daily>>;
8
+ export declare const useSudojoDailyByDate: (networkClient: NetworkClient, config: SudojoConfig, date: string, options?: Omit<UseQueryOptions<BaseResponse<Daily>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Daily>>;
9
+ export declare const useSudojoDaily: (networkClient: NetworkClient, config: SudojoConfig, uuid: string, options?: Omit<UseQueryOptions<BaseResponse<Daily>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<Daily>>;
10
+ export declare const useSudojoCreateDaily: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Daily>, Error, {
11
+ auth: SudojoAuth;
12
+ data: DailyCreateRequest;
13
+ }>;
14
+ export declare const useSudojoUpdateDaily: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<Daily>, Error, {
15
+ auth: SudojoAuth;
16
+ uuid: string;
17
+ data: DailyUpdateRequest;
18
+ }>;
19
+ export declare const useSudojoDeleteDaily: (networkClient: NetworkClient, config: SudojoConfig) => UseMutationResult<BaseResponse<null>, Error, {
20
+ auth: SudojoAuth;
21
+ uuid: string;
22
+ }>;
23
+ //# sourceMappingURL=use-sudojo-dailies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-dailies.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-dailies.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,gBAAgB,GAC3B,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,oBAAoB,GAC/B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,UAAU,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,KAC3E,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAgBpC,CAAC;AAKF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,UAAU,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,KAC3E,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAgBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,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,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,CAwB/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,CA6B7D,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,CAqBnC,CAAC"}
@@ -0,0 +1,116 @@
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 useSudojoDailies = (networkClient, config, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getDailies();
10
+ }, [client]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.dailies(),
13
+ queryFn,
14
+ staleTime: STALE_TIMES.DAILIES,
15
+ ...options,
16
+ });
17
+ };
18
+ export const useSudojoRandomDaily = (networkClient, config, options) => {
19
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
20
+ const queryFn = useCallback(async () => {
21
+ return client.getRandomDaily();
22
+ }, [client]);
23
+ return useQuery({
24
+ queryKey: queryKeys.sudojo.dailyRandom(),
25
+ queryFn,
26
+ staleTime: 0,
27
+ ...options,
28
+ });
29
+ };
30
+ export const useSudojoTodayDaily = (networkClient, config, options) => {
31
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
32
+ const queryFn = useCallback(async () => {
33
+ return client.getTodayDaily();
34
+ }, [client]);
35
+ return useQuery({
36
+ queryKey: queryKeys.sudojo.dailyToday(),
37
+ queryFn,
38
+ staleTime: STALE_TIMES.DAILIES,
39
+ ...options,
40
+ });
41
+ };
42
+ export const useSudojoDailyByDate = (networkClient, config, date, options) => {
43
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
44
+ const queryFn = useCallback(async () => {
45
+ return client.getDailyByDate(date);
46
+ }, [client, date]);
47
+ return useQuery({
48
+ queryKey: queryKeys.sudojo.dailyByDate(date),
49
+ queryFn,
50
+ staleTime: STALE_TIMES.DAILIES,
51
+ enabled: !!date,
52
+ ...options,
53
+ });
54
+ };
55
+ export const useSudojoDaily = (networkClient, config, uuid, options) => {
56
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
57
+ const queryFn = useCallback(async () => {
58
+ return client.getDaily(uuid);
59
+ }, [client, uuid]);
60
+ return useQuery({
61
+ queryKey: queryKeys.sudojo.daily(uuid),
62
+ queryFn,
63
+ staleTime: STALE_TIMES.DAILIES,
64
+ enabled: !!uuid,
65
+ ...options,
66
+ });
67
+ };
68
+ export const useSudojoCreateDaily = (networkClient, config) => {
69
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
70
+ const queryClient = useQueryClient();
71
+ return useMutation({
72
+ mutationFn: async ({ auth, data, }) => {
73
+ return client.createDaily(auth, data);
74
+ },
75
+ onSuccess: () => {
76
+ queryClient.invalidateQueries({
77
+ queryKey: [...queryKeys.sudojo.all(), "dailies"],
78
+ });
79
+ },
80
+ });
81
+ };
82
+ export const useSudojoUpdateDaily = (networkClient, config) => {
83
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
84
+ const queryClient = useQueryClient();
85
+ return useMutation({
86
+ mutationFn: async ({ auth, uuid, data, }) => {
87
+ return client.updateDaily(auth, uuid, data);
88
+ },
89
+ onSuccess: (_data, variables) => {
90
+ queryClient.invalidateQueries({
91
+ queryKey: [...queryKeys.sudojo.all(), "dailies"],
92
+ });
93
+ queryClient.invalidateQueries({
94
+ queryKey: queryKeys.sudojo.daily(variables.uuid),
95
+ });
96
+ },
97
+ });
98
+ };
99
+ export const useSudojoDeleteDaily = (networkClient, config) => {
100
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
101
+ const queryClient = useQueryClient();
102
+ return useMutation({
103
+ mutationFn: async ({ auth, uuid }) => {
104
+ return client.deleteDaily(auth, uuid);
105
+ },
106
+ onSuccess: (_data, variables) => {
107
+ queryClient.invalidateQueries({
108
+ queryKey: [...queryKeys.sudojo.all(), "dailies"],
109
+ });
110
+ queryClient.removeQueries({
111
+ queryKey: queryKeys.sudojo.daily(variables.uuid),
112
+ });
113
+ },
114
+ });
115
+ };
116
+ //# sourceMappingURL=use-sudojo-dailies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-dailies.js","sourceRoot":"","sources":["../../src/hooks/use-sudojo-dailies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { BaseResponse, NetworkClient } from "@sudobility/types";
3
+ import type { HealthCheckData } from "@sudobility/sudojo_types";
4
+ import type { SudojoConfig } from "../network/sudojo-client";
5
+ export declare const useSudojoHealth: (networkClient: NetworkClient, config: SudojoConfig, options?: Omit<UseQueryOptions<BaseResponse<HealthCheckData>>, "queryKey" | "queryFn">) => UseQueryResult<BaseResponse<HealthCheckData>>;
6
+ //# sourceMappingURL=use-sudojo-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sudojo-health.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sudojo-health.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAS7D,eAAO,MAAM,eAAe,GAC1B,eAAe,aAAa,EAC5B,QAAQ,YAAY,EACpB,UAAU,IAAI,CACZ,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,EAC9C,UAAU,GAAG,SAAS,CACvB,KACA,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAkB9C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useQuery, } 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 useSudojoHealth = (networkClient, config, options) => {
7
+ const client = useMemo(() => new SudojoClient(networkClient, config), [networkClient, config]);
8
+ const queryFn = useCallback(async () => {
9
+ return client.getHealth();
10
+ }, [client]);
11
+ return useQuery({
12
+ queryKey: queryKeys.sudojo.health(),
13
+ queryFn,
14
+ staleTime: STALE_TIMES.HEALTH_STATUS,
15
+ ...options,
16
+ });
17
+ };
18
+ //# sourceMappingURL=use-sudojo-health.js.map