@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.
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +10 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/query-config.d.ts +10 -0
- package/dist/hooks/query-config.d.ts.map +1 -0
- package/dist/hooks/query-config.js +10 -0
- package/dist/hooks/query-config.js.map +1 -0
- package/dist/hooks/query-keys.d.ts +57 -0
- package/dist/hooks/query-keys.d.ts.map +1 -0
- package/dist/hooks/query-keys.js +31 -0
- package/dist/hooks/query-keys.js.map +1 -0
- package/dist/hooks/use-sudojo-boards.d.ts +21 -0
- package/dist/hooks/use-sudojo-boards.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-boards.js +95 -0
- package/dist/hooks/use-sudojo-boards.js.map +1 -0
- package/dist/hooks/use-sudojo-challenges.d.ts +21 -0
- package/dist/hooks/use-sudojo-challenges.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-challenges.js +97 -0
- package/dist/hooks/use-sudojo-challenges.js.map +1 -0
- package/dist/hooks/use-sudojo-dailies.d.ts +23 -0
- package/dist/hooks/use-sudojo-dailies.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-dailies.js +116 -0
- package/dist/hooks/use-sudojo-dailies.js.map +1 -0
- package/dist/hooks/use-sudojo-health.d.ts +6 -0
- package/dist/hooks/use-sudojo-health.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-health.js +18 -0
- package/dist/hooks/use-sudojo-health.js.map +1 -0
- package/dist/hooks/use-sudojo-learning.d.ts +20 -0
- package/dist/hooks/use-sudojo-learning.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-learning.js +82 -0
- package/dist/hooks/use-sudojo-learning.js.map +1 -0
- package/dist/hooks/use-sudojo-levels.d.ts +20 -0
- package/dist/hooks/use-sudojo-levels.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-levels.js +73 -0
- package/dist/hooks/use-sudojo-levels.js.map +1 -0
- package/dist/hooks/use-sudojo-techniques.d.ts +20 -0
- package/dist/hooks/use-sudojo-techniques.d.ts.map +1 -0
- package/dist/hooks/use-sudojo-techniques.js +81 -0
- package/dist/hooks/use-sudojo-techniques.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/network/index.d.ts +3 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +2 -0
- package/dist/network/index.js.map +1 -0
- package/dist/network/sudojo-client.d.ts +58 -0
- package/dist/network/sudojo-client.d.ts.map +1 -0
- package/dist/network/sudojo-client.js +333 -0
- package/dist/network/sudojo-client.js.map +1 -0
- 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
|