@aurora-interactive/sensei-productivity 1.0.0 → 1.1.2
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/README.md +18 -3
- package/dist/commonjs/funcs/categories-create.d.ts +1 -1
- package/dist/commonjs/funcs/categories-create.d.ts.map +1 -1
- package/dist/commonjs/funcs/categories-create.js +14 -3
- package/dist/commonjs/funcs/categories-create.js.map +1 -1
- package/dist/commonjs/funcs/categories-delete.js +13 -3
- package/dist/commonjs/funcs/categories-delete.js.map +1 -1
- package/dist/commonjs/funcs/categories-get-all.d.ts +1 -1
- package/dist/commonjs/funcs/categories-get-all.d.ts.map +1 -1
- package/dist/commonjs/funcs/categories-get-all.js +14 -3
- package/dist/commonjs/funcs/categories-get-all.js.map +1 -1
- package/dist/commonjs/funcs/categories-update.d.ts +1 -1
- package/dist/commonjs/funcs/categories-update.d.ts.map +1 -1
- package/dist/commonjs/funcs/categories-update.js +14 -3
- package/dist/commonjs/funcs/categories-update.js.map +1 -1
- package/dist/commonjs/funcs/schools-get-all.js +13 -3
- package/dist/commonjs/funcs/schools-get-all.js.map +1 -1
- package/dist/commonjs/funcs/schools-get.d.ts +1 -1
- package/dist/commonjs/funcs/schools-get.d.ts.map +1 -1
- package/dist/commonjs/funcs/schools-get.js +14 -3
- package/dist/commonjs/funcs/schools-get.js.map +1 -1
- package/dist/commonjs/funcs/user-activities-create.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-create.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-create.js +123 -0
- package/dist/commonjs/funcs/user-activities-create.js.map +1 -0
- package/dist/commonjs/funcs/user-activities-delete.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-delete.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-delete.js +127 -0
- package/dist/commonjs/funcs/user-activities-delete.js.map +1 -0
- package/dist/commonjs/funcs/user-activities-get-all-of-user.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-get-all-of-user.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-get-all-of-user.js +132 -0
- package/dist/commonjs/funcs/user-activities-get-all-of-user.js.map +1 -0
- package/dist/commonjs/funcs/user-activities-get.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-get.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-get.js +128 -0
- package/dist/commonjs/funcs/user-activities-get.js.map +1 -0
- package/dist/commonjs/funcs/user-activities-me.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-me.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-me.js +126 -0
- package/dist/commonjs/funcs/user-activities-me.js.map +1 -0
- package/dist/commonjs/funcs/user-activities-update.d.ts +14 -0
- package/dist/commonjs/funcs/user-activities-update.d.ts.map +1 -0
- package/dist/commonjs/funcs/user-activities-update.js +129 -0
- package/dist/commonjs/funcs/user-activities-update.js.map +1 -0
- package/dist/commonjs/funcs/users-delete.js +13 -3
- package/dist/commonjs/funcs/users-delete.js.map +1 -1
- package/dist/commonjs/funcs/users-get.d.ts +1 -1
- package/dist/commonjs/funcs/users-get.d.ts.map +1 -1
- package/dist/commonjs/funcs/users-get.js +14 -3
- package/dist/commonjs/funcs/users-get.js.map +1 -1
- package/dist/commonjs/funcs/users-login.d.ts +1 -1
- package/dist/commonjs/funcs/users-login.d.ts.map +1 -1
- package/dist/commonjs/funcs/users-login.js +14 -3
- package/dist/commonjs/funcs/users-login.js.map +1 -1
- package/dist/commonjs/funcs/users-me.d.ts +1 -1
- package/dist/commonjs/funcs/users-me.d.ts.map +1 -1
- package/dist/commonjs/funcs/users-me.js +14 -3
- package/dist/commonjs/funcs/users-me.js.map +1 -1
- package/dist/commonjs/funcs/users-signup.d.ts +1 -1
- package/dist/commonjs/funcs/users-signup.d.ts.map +1 -1
- package/dist/commonjs/funcs/users-signup.js +14 -3
- package/dist/commonjs/funcs/users-signup.js.map +1 -1
- package/dist/commonjs/funcs/users-update.d.ts +1 -1
- package/dist/commonjs/funcs/users-update.d.ts.map +1 -1
- package/dist/commonjs/funcs/users-update.js +14 -3
- package/dist/commonjs/funcs/users-update.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +4 -4
- package/dist/commonjs/lib/config.js +4 -4
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/security.js +1 -1
- package/dist/commonjs/lib/security.js.map +1 -1
- package/dist/commonjs/models/operations/create-activity.d.ts +47 -0
- package/dist/commonjs/models/operations/create-activity.d.ts.map +1 -0
- package/dist/commonjs/models/operations/create-activity.js +76 -0
- package/dist/commonjs/models/operations/create-activity.js.map +1 -0
- package/dist/commonjs/models/operations/delete-activity.d.ts +12 -0
- package/dist/commonjs/models/operations/delete-activity.d.ts.map +1 -0
- package/dist/commonjs/models/operations/delete-activity.js +49 -0
- package/dist/commonjs/models/operations/delete-activity.js.map +1 -0
- package/dist/commonjs/models/operations/get-activity-by-id.d.ts +38 -0
- package/dist/commonjs/models/operations/get-activity-by-id.d.ts.map +1 -0
- package/dist/commonjs/models/operations/get-activity-by-id.js +73 -0
- package/dist/commonjs/models/operations/get-activity-by-id.js.map +1 -0
- package/dist/commonjs/models/operations/get-user-activities.d.ts +44 -0
- package/dist/commonjs/models/operations/get-user-activities.d.ts.map +1 -0
- package/dist/commonjs/models/operations/get-user-activities.js +80 -0
- package/dist/commonjs/models/operations/get-user-activities.js.map +1 -0
- package/dist/commonjs/models/operations/index.d.ts +6 -0
- package/dist/commonjs/models/operations/index.d.ts.map +1 -1
- package/dist/commonjs/models/operations/index.js +6 -0
- package/dist/commonjs/models/operations/index.js.map +1 -1
- package/dist/commonjs/models/operations/list-activities.d.ts +42 -0
- package/dist/commonjs/models/operations/list-activities.d.ts.map +1 -0
- package/dist/commonjs/models/operations/list-activities.js +79 -0
- package/dist/commonjs/models/operations/list-activities.js.map +1 -0
- package/dist/commonjs/models/operations/update-activity.d.ts +75 -0
- package/dist/commonjs/models/operations/update-activity.d.ts.map +1 -0
- package/dist/commonjs/models/operations/update-activity.js +94 -0
- package/dist/commonjs/models/operations/update-activity.js.map +1 -0
- package/dist/commonjs/sdk/activities.d.ts +29 -0
- package/dist/commonjs/sdk/activities.d.ts.map +1 -0
- package/dist/commonjs/sdk/activities.js +54 -0
- package/dist/commonjs/sdk/activities.js.map +1 -0
- package/dist/commonjs/sdk/categories.d.ts +3 -3
- package/dist/commonjs/sdk/categories.d.ts.map +1 -1
- package/dist/commonjs/sdk/schools.d.ts +1 -1
- package/dist/commonjs/sdk/schools.d.ts.map +1 -1
- package/dist/commonjs/sdk/sdk.d.ts +3 -0
- package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
- package/dist/commonjs/sdk/sdk.js +4 -0
- package/dist/commonjs/sdk/sdk.js.map +1 -1
- package/dist/commonjs/sdk/user.d.ts +7 -0
- package/dist/commonjs/sdk/user.d.ts.map +1 -0
- package/dist/commonjs/sdk/user.js +15 -0
- package/dist/commonjs/sdk/user.js.map +1 -0
- package/dist/commonjs/sdk/users.d.ts +5 -5
- package/dist/commonjs/sdk/users.d.ts.map +1 -1
- package/dist/esm/funcs/categories-create.d.ts +1 -1
- package/dist/esm/funcs/categories-create.d.ts.map +1 -1
- package/dist/esm/funcs/categories-create.js +14 -3
- package/dist/esm/funcs/categories-create.js.map +1 -1
- package/dist/esm/funcs/categories-delete.js +13 -3
- package/dist/esm/funcs/categories-delete.js.map +1 -1
- package/dist/esm/funcs/categories-get-all.d.ts +1 -1
- package/dist/esm/funcs/categories-get-all.d.ts.map +1 -1
- package/dist/esm/funcs/categories-get-all.js +14 -3
- package/dist/esm/funcs/categories-get-all.js.map +1 -1
- package/dist/esm/funcs/categories-update.d.ts +1 -1
- package/dist/esm/funcs/categories-update.d.ts.map +1 -1
- package/dist/esm/funcs/categories-update.js +14 -3
- package/dist/esm/funcs/categories-update.js.map +1 -1
- package/dist/esm/funcs/schools-get-all.js +13 -3
- package/dist/esm/funcs/schools-get-all.js.map +1 -1
- package/dist/esm/funcs/schools-get.d.ts +1 -1
- package/dist/esm/funcs/schools-get.d.ts.map +1 -1
- package/dist/esm/funcs/schools-get.js +14 -3
- package/dist/esm/funcs/schools-get.js.map +1 -1
- package/dist/esm/funcs/user-activities-create.d.ts +14 -0
- package/dist/esm/funcs/user-activities-create.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-create.js +87 -0
- package/dist/esm/funcs/user-activities-create.js.map +1 -0
- package/dist/esm/funcs/user-activities-delete.d.ts +14 -0
- package/dist/esm/funcs/user-activities-delete.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-delete.js +91 -0
- package/dist/esm/funcs/user-activities-delete.js.map +1 -0
- package/dist/esm/funcs/user-activities-get-all-of-user.d.ts +14 -0
- package/dist/esm/funcs/user-activities-get-all-of-user.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-get-all-of-user.js +96 -0
- package/dist/esm/funcs/user-activities-get-all-of-user.js.map +1 -0
- package/dist/esm/funcs/user-activities-get.d.ts +14 -0
- package/dist/esm/funcs/user-activities-get.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-get.js +92 -0
- package/dist/esm/funcs/user-activities-get.js.map +1 -0
- package/dist/esm/funcs/user-activities-me.d.ts +14 -0
- package/dist/esm/funcs/user-activities-me.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-me.js +90 -0
- package/dist/esm/funcs/user-activities-me.js.map +1 -0
- package/dist/esm/funcs/user-activities-update.d.ts +14 -0
- package/dist/esm/funcs/user-activities-update.d.ts.map +1 -0
- package/dist/esm/funcs/user-activities-update.js +93 -0
- package/dist/esm/funcs/user-activities-update.js.map +1 -0
- package/dist/esm/funcs/users-delete.js +13 -3
- package/dist/esm/funcs/users-delete.js.map +1 -1
- package/dist/esm/funcs/users-get.d.ts +1 -1
- package/dist/esm/funcs/users-get.d.ts.map +1 -1
- package/dist/esm/funcs/users-get.js +14 -3
- package/dist/esm/funcs/users-get.js.map +1 -1
- package/dist/esm/funcs/users-login.d.ts +1 -1
- package/dist/esm/funcs/users-login.d.ts.map +1 -1
- package/dist/esm/funcs/users-login.js +14 -3
- package/dist/esm/funcs/users-login.js.map +1 -1
- package/dist/esm/funcs/users-me.d.ts +1 -1
- package/dist/esm/funcs/users-me.d.ts.map +1 -1
- package/dist/esm/funcs/users-me.js +14 -3
- package/dist/esm/funcs/users-me.js.map +1 -1
- package/dist/esm/funcs/users-signup.d.ts +1 -1
- package/dist/esm/funcs/users-signup.d.ts.map +1 -1
- package/dist/esm/funcs/users-signup.js +14 -3
- package/dist/esm/funcs/users-signup.js.map +1 -1
- package/dist/esm/funcs/users-update.d.ts +1 -1
- package/dist/esm/funcs/users-update.d.ts.map +1 -1
- package/dist/esm/funcs/users-update.js +14 -3
- package/dist/esm/funcs/users-update.js.map +1 -1
- package/dist/esm/lib/config.d.ts +4 -4
- package/dist/esm/lib/config.js +4 -4
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/security.js +1 -1
- package/dist/esm/lib/security.js.map +1 -1
- package/dist/esm/models/operations/create-activity.d.ts +47 -0
- package/dist/esm/models/operations/create-activity.d.ts.map +1 -0
- package/dist/esm/models/operations/create-activity.js +38 -0
- package/dist/esm/models/operations/create-activity.js.map +1 -0
- package/dist/esm/models/operations/delete-activity.d.ts +12 -0
- package/dist/esm/models/operations/delete-activity.d.ts.map +1 -0
- package/dist/esm/models/operations/delete-activity.js +12 -0
- package/dist/esm/models/operations/delete-activity.js.map +1 -0
- package/dist/esm/models/operations/get-activity-by-id.d.ts +38 -0
- package/dist/esm/models/operations/get-activity-by-id.d.ts.map +1 -0
- package/dist/esm/models/operations/get-activity-by-id.js +35 -0
- package/dist/esm/models/operations/get-activity-by-id.js.map +1 -0
- package/dist/esm/models/operations/get-user-activities.d.ts +44 -0
- package/dist/esm/models/operations/get-user-activities.d.ts.map +1 -0
- package/dist/esm/models/operations/get-user-activities.js +42 -0
- package/dist/esm/models/operations/get-user-activities.js.map +1 -0
- package/dist/esm/models/operations/index.d.ts +6 -0
- package/dist/esm/models/operations/index.d.ts.map +1 -1
- package/dist/esm/models/operations/index.js +6 -0
- package/dist/esm/models/operations/index.js.map +1 -1
- package/dist/esm/models/operations/list-activities.d.ts +42 -0
- package/dist/esm/models/operations/list-activities.d.ts.map +1 -0
- package/dist/esm/models/operations/list-activities.js +41 -0
- package/dist/esm/models/operations/list-activities.js.map +1 -0
- package/dist/esm/models/operations/update-activity.d.ts +75 -0
- package/dist/esm/models/operations/update-activity.d.ts.map +1 -0
- package/dist/esm/models/operations/update-activity.js +55 -0
- package/dist/esm/models/operations/update-activity.js.map +1 -0
- package/dist/esm/sdk/activities.d.ts +29 -0
- package/dist/esm/sdk/activities.d.ts.map +1 -0
- package/dist/esm/sdk/activities.js +50 -0
- package/dist/esm/sdk/activities.js.map +1 -0
- package/dist/esm/sdk/categories.d.ts +3 -3
- package/dist/esm/sdk/categories.d.ts.map +1 -1
- package/dist/esm/sdk/schools.d.ts +1 -1
- package/dist/esm/sdk/schools.d.ts.map +1 -1
- package/dist/esm/sdk/sdk.d.ts +3 -0
- package/dist/esm/sdk/sdk.d.ts.map +1 -1
- package/dist/esm/sdk/sdk.js +4 -0
- package/dist/esm/sdk/sdk.js.map +1 -1
- package/dist/esm/sdk/user.d.ts +7 -0
- package/dist/esm/sdk/user.d.ts.map +1 -0
- package/dist/esm/sdk/user.js +11 -0
- package/dist/esm/sdk/user.js.map +1 -0
- package/dist/esm/sdk/users.d.ts +5 -5
- package/dist/esm/sdk/users.d.ts.map +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/rest-api/cypress/e2e/user-activity-endpoints.cy.ts +274 -0
- package/rest-api/cypress/e2e/user-endpoints.cy.ts +12 -5
- package/rest-api/cypress.config.ts +22 -1
- package/rest-api/index.js +9 -2
- package/rest-api/routes/UserActivityFunctions.js +304 -0
- package/src/funcs/categories-create.ts +25 -7
- package/src/funcs/categories-delete.ts +14 -3
- package/src/funcs/categories-get-all.ts +25 -7
- package/src/funcs/categories-update.ts +25 -7
- package/src/funcs/schools-get-all.ts +13 -3
- package/src/funcs/schools-get.ts +22 -7
- package/src/funcs/user-activities-create.ts +176 -0
- package/src/funcs/user-activities-delete.ts +175 -0
- package/src/funcs/user-activities-get-all-of-user.ts +192 -0
- package/src/funcs/user-activities-get.ts +182 -0
- package/src/funcs/user-activities-me.ts +184 -0
- package/src/funcs/user-activities-update.ts +183 -0
- package/src/funcs/users-delete.ts +14 -3
- package/src/funcs/users-get.ts +22 -7
- package/src/funcs/users-login.ts +22 -7
- package/src/funcs/users-me.ts +25 -7
- package/src/funcs/users-signup.ts +19 -7
- package/src/funcs/users-update.ts +22 -7
- package/src/lib/config.ts +4 -4
- package/src/lib/security.ts +1 -1
- package/src/models/operations/create-activity.ts +101 -0
- package/src/models/operations/delete-activity.ts +30 -0
- package/src/models/operations/get-activity-by-id.ts +89 -0
- package/src/models/operations/get-user-activities.ts +102 -0
- package/src/models/operations/index.ts +6 -0
- package/src/models/operations/list-activities.ts +97 -0
- package/src/models/operations/update-activity.ts +151 -0
- package/src/sdk/activities.ts +99 -0
- package/src/sdk/categories.ts +3 -3
- package/src/sdk/schools.ts +1 -1
- package/src/sdk/sdk.ts +6 -0
- package/src/sdk/user.ts +13 -0
- package/src/sdk/users.ts +5 -5
- package/.devcontainer/devcontainer.json +0 -45
- package/examples/node_modules/.package-lock.json +0 -174
- package/examples/node_modules/@esbuild/darwin-arm64/package.json +0 -20
- package/examples/node_modules/@types/node/package.json +0 -140
- package/examples/node_modules/dotenv/package.json +0 -62
- package/examples/node_modules/esbuild/package.json +0 -49
- package/examples/node_modules/fsevents/package.json +0 -62
- package/examples/node_modules/get-tsconfig/package.json +0 -46
- package/examples/node_modules/resolve-pkg-maps/package.json +0 -42
- package/examples/node_modules/tsx/package.json +0 -68
- package/examples/node_modules/undici-types/package.json +0 -55
- package/examples/package-lock.json +0 -611
- package/examples/package.json +0 -18
- package/rest-api/cypress/fixtures/example.json +0 -5
- package/rest-api/package-lock.json +0 -4748
- package/rest-api/package.json +0 -37
- package/rest-api/tsconfig.json +0 -34
- package/tsconfig.json +0 -40
|
@@ -14,11 +14,32 @@ export default defineConfig({
|
|
|
14
14
|
},
|
|
15
15
|
|
|
16
16
|
async reseedCategoriesTable() {
|
|
17
|
-
await prisma
|
|
17
|
+
await prisma.category.deleteMany({
|
|
18
|
+
where: {
|
|
19
|
+
category_id: {
|
|
20
|
+
notIn: [1, 2, 3, 4]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
18
25
|
await prisma.$executeRaw`REPLACE INTO Category (category_id, category_name, category_weight, category_description) VALUES (1, 'Academic', 3, 'Studying for an exam, completing coursework, etc.')`;
|
|
19
26
|
|
|
20
27
|
return true;
|
|
21
28
|
},
|
|
29
|
+
|
|
30
|
+
async reseedUserActivityTable() {
|
|
31
|
+
await prisma.user_Activity.deleteMany({
|
|
32
|
+
where: {
|
|
33
|
+
activity_id: {
|
|
34
|
+
not: 1
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
await prisma.$executeRaw`REPLACE INTO User_Activity (activity_id, user_id, category_name, activity_deadline, details) VALUES (1, 2, 'Professional', '2026-03-01 23:59:00', '')`;
|
|
40
|
+
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
22
43
|
})
|
|
23
44
|
},
|
|
24
45
|
baseUrl: "http://localhost:3000/api/v1/"
|
package/rest-api/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { readFileSync } from 'node:fs';
|
|
|
7
7
|
import * as UserFuctions from "./routes/UserFunctions.js";
|
|
8
8
|
import * as SchoolFunctions from "./routes/SchoolFunctions.js";
|
|
9
9
|
import * as CategoryFunctions from "./routes/CategoryFunctions.js";
|
|
10
|
+
import * as UserActivityFunction from "./routes/UserActivityFunctions.js";
|
|
10
11
|
|
|
11
12
|
const spec = yamlLoad(readFileSync("./api-spec.yaml"));
|
|
12
13
|
|
|
@@ -29,7 +30,13 @@ const handler = {
|
|
|
29
30
|
listCategories: CategoryFunctions.listCategoriesHandler,
|
|
30
31
|
createCategory: CategoryFunctions.createCategoryHandler,
|
|
31
32
|
updateCategory: CategoryFunctions.updateCategoryHandler,
|
|
32
|
-
deleteCategory: CategoryFunctions.deleteCategoryHandler
|
|
33
|
+
deleteCategory: CategoryFunctions.deleteCategoryHandler,
|
|
34
|
+
getUserActivities: UserActivityFunction.getUserActivitiesHandler,
|
|
35
|
+
listActivities: UserActivityFunction.listActivitiesHandler,
|
|
36
|
+
createActivity: UserActivityFunction.createActivityHandler,
|
|
37
|
+
getActivityById: UserActivityFunction.getActivityByIdHandler,
|
|
38
|
+
updateActivity: UserActivityFunction.updateActivityHandler,
|
|
39
|
+
deleteActivity: UserActivityFunction.deleteActivityHandler
|
|
33
40
|
};
|
|
34
41
|
|
|
35
42
|
fastify.register(oasFastify, { spec, handler });
|
|
@@ -37,7 +44,7 @@ fastify.register(oasFastify, { spec, handler });
|
|
|
37
44
|
fastify.prisma = prisma;
|
|
38
45
|
|
|
39
46
|
try {
|
|
40
|
-
await fastify.listen({ port: 3000 })
|
|
47
|
+
await fastify.listen({ host: "0.0.0.0", port: 3000 })
|
|
41
48
|
} catch (err) {
|
|
42
49
|
console.log(err);
|
|
43
50
|
process.exit(1)
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
async function getUserAuthInfo(prisma, accessToken) {
|
|
2
|
+
return await prisma.users.findFirst({
|
|
3
|
+
where: {
|
|
4
|
+
access_token: accessToken
|
|
5
|
+
},
|
|
6
|
+
select: {
|
|
7
|
+
user_id: true
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async function areUsersFriends(prisma, userId, targetPotentialFriendId) {
|
|
13
|
+
const friendInfo = await prisma.User_Friends.findFirst({
|
|
14
|
+
where: {
|
|
15
|
+
OR: [
|
|
16
|
+
{
|
|
17
|
+
user_id: userId,
|
|
18
|
+
friend_id: targetPotentialFriendId,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
user_id: targetPotentialFriendId,
|
|
22
|
+
friend_id: userId,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
if (friendInfo === null) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export async function getUserActivitiesHandler(request, reply, fastify) {
|
|
36
|
+
const accessToken = (request.headers.authorization ?? "").substring(7)
|
|
37
|
+
const targetUserId = request.params.id;
|
|
38
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
39
|
+
|
|
40
|
+
if (userInfo === null) {
|
|
41
|
+
reply.status(401);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const targetUserInfo = await fastify.prisma.users.count({
|
|
46
|
+
where: {
|
|
47
|
+
user_id: targetUserId
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// check for user existence
|
|
52
|
+
if (targetUserInfo < 1) {
|
|
53
|
+
reply.status(404);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const areFriends = await areUsersFriends(fastify.prisma, userInfo.user_id, targetUserId);
|
|
58
|
+
|
|
59
|
+
const targetUserActivities = await fastify.prisma.User_Activity.findMany({
|
|
60
|
+
where: {
|
|
61
|
+
user_id: targetUserId,
|
|
62
|
+
is_private: areFriends ? undefined : false
|
|
63
|
+
},
|
|
64
|
+
select: {
|
|
65
|
+
activity_id: true,
|
|
66
|
+
category_name: true,
|
|
67
|
+
activity_status: true,
|
|
68
|
+
activity_deadline: true,
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
return targetUserActivities.map(activity => ({
|
|
73
|
+
activityId: activity.activity_id,
|
|
74
|
+
userId: targetUserId,
|
|
75
|
+
categoryName: activity.category_name,
|
|
76
|
+
activityStatus: activity.activity_status,
|
|
77
|
+
activityDeadline: activity.activity_deadline
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export async function listActivitiesHandler(request, reply, fastify) {
|
|
82
|
+
const accessToken = (request.headers.authorization ?? "").substring(7)
|
|
83
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
84
|
+
|
|
85
|
+
if (userInfo === null) {
|
|
86
|
+
reply.status(401);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const userActivities = await fastify.prisma.User_Activity.findMany({
|
|
91
|
+
where: {
|
|
92
|
+
user_id: userInfo.user_id,
|
|
93
|
+
},
|
|
94
|
+
select: {
|
|
95
|
+
activity_id: true,
|
|
96
|
+
category_name: true,
|
|
97
|
+
activity_status: true,
|
|
98
|
+
activity_deadline: true,
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
return userActivities.map(activity => ({
|
|
103
|
+
activityId: activity.activity_id,
|
|
104
|
+
userId: userInfo.user_id,
|
|
105
|
+
categoryName: activity.category_name,
|
|
106
|
+
activityStatus: activity.activity_status,
|
|
107
|
+
activityDeadline: activity.activity_deadline
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export async function createActivityHandler(request, reply, fastify) {
|
|
112
|
+
const accessToken = (request.headers.authorization ?? "").substring(7)
|
|
113
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
114
|
+
|
|
115
|
+
if (userInfo === null) {
|
|
116
|
+
reply.status(401);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const categoryInfo = await fastify.prisma.Category.findFirst({
|
|
121
|
+
where: {
|
|
122
|
+
category_name: request.body.categoryName
|
|
123
|
+
},
|
|
124
|
+
select: {
|
|
125
|
+
category_id: true
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
if (categoryInfo === null) {
|
|
130
|
+
reply.status(400);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const activity = await fastify.prisma.User_Activity.create({
|
|
135
|
+
data: {
|
|
136
|
+
user_id: userInfo.user_id,
|
|
137
|
+
category_name: request.body.categoryName,
|
|
138
|
+
activity_deadline: request.body.activityDeadline,
|
|
139
|
+
details: request.body.details ?? null,
|
|
140
|
+
is_private: request.body.isPrivate ?? false
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
activityId: activity.activity_id,
|
|
146
|
+
userId: Number(userInfo.user_id),
|
|
147
|
+
categoryName: request.body.categoryName,
|
|
148
|
+
activityStatus: activity.activity_status,
|
|
149
|
+
activityDeadline: request.body.activityDeadline,
|
|
150
|
+
details: request.body.details ?? null,
|
|
151
|
+
isPrivate: request.body.isPrivate ?? false
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export async function getActivityByIdHandler(request, reply, fastify) {
|
|
156
|
+
const accessToken = (request.headers.authorization ?? "").substring(7);
|
|
157
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
158
|
+
|
|
159
|
+
if (userInfo === null) {
|
|
160
|
+
reply.status(401);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const activity = await fastify.prisma.User_Activity.findFirst({
|
|
165
|
+
where: {
|
|
166
|
+
activity_id: request.params.id
|
|
167
|
+
},
|
|
168
|
+
select: {
|
|
169
|
+
user_id: true,
|
|
170
|
+
category_name: true,
|
|
171
|
+
activity_status: true,
|
|
172
|
+
activity_deadline: true,
|
|
173
|
+
activity_start_timestamp: true,
|
|
174
|
+
details: true,
|
|
175
|
+
is_private: true
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
if (activity === null) {
|
|
180
|
+
reply.status(404);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (activity.user_id !== userInfo.user_id) {
|
|
185
|
+
reply.status(403);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return {
|
|
190
|
+
activityId: request.params.id,
|
|
191
|
+
userId: userInfo.user_id,
|
|
192
|
+
categoryName: activity.category_name,
|
|
193
|
+
activityStatus: activity.activity_status,
|
|
194
|
+
activityDeadline: activity.activity_deadline,
|
|
195
|
+
activityStartTimestamp: activity.activity_start_timestamp,
|
|
196
|
+
details: activity.details,
|
|
197
|
+
isPrivate: activity.is_private
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export async function updateActivityHandler(request, reply, fastify) {
|
|
202
|
+
if (Object.keys(request.body).length === 0) {
|
|
203
|
+
reply.status(400);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
const accessToken = (request.headers.authorization ?? "").substring(7);
|
|
208
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
209
|
+
|
|
210
|
+
if (userInfo === null) {
|
|
211
|
+
reply.status(401);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
const currentActivity = await fastify.prisma.User_Activity.findFirst({
|
|
216
|
+
where: {
|
|
217
|
+
activity_id: request.params.id
|
|
218
|
+
},
|
|
219
|
+
select: {
|
|
220
|
+
user_id: true,
|
|
221
|
+
category_name: true,
|
|
222
|
+
activity_status: true,
|
|
223
|
+
activity_deadline: true,
|
|
224
|
+
activity_start_timestamp: true,
|
|
225
|
+
details: true,
|
|
226
|
+
is_private: true
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
if (currentActivity === null) {
|
|
231
|
+
reply.status(404);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (currentActivity.user_id !== userInfo.user_id) {
|
|
236
|
+
reply.status(403);
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
const targetActivityStatus = request.body.activityStatus ?? currentActivity.activity_status;
|
|
241
|
+
const targetActivityDeadline = request.body.activityDeadline ?? currentActivity.activity_deadline;
|
|
242
|
+
const targetDetails = request.body.details ?? currentActivity.details;
|
|
243
|
+
const targetIsPrivate = request.body.isPrivate ?? currentActivity.is_private;
|
|
244
|
+
|
|
245
|
+
const updatedActivity = await fastify.prisma.User_Activity.update({
|
|
246
|
+
where: {
|
|
247
|
+
activity_id: request.params.id
|
|
248
|
+
},
|
|
249
|
+
data: {
|
|
250
|
+
activity_status: targetActivityStatus,
|
|
251
|
+
activity_deadline: targetActivityDeadline,
|
|
252
|
+
details: targetDetails,
|
|
253
|
+
is_private: targetIsPrivate
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
return {
|
|
258
|
+
activityId: request.params.id,
|
|
259
|
+
userId: userInfo.user_id,
|
|
260
|
+
categoryName: updatedActivity.category_name,
|
|
261
|
+
activityStartTimestamp: updatedActivity.activity_start_timestamp,
|
|
262
|
+
activityStatus: targetActivityStatus,
|
|
263
|
+
activityDeadline: targetActivityDeadline,
|
|
264
|
+
details: targetDetails,
|
|
265
|
+
isPrivate: targetIsPrivate
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export async function deleteActivityHandler(request, reply, fastify) {
|
|
270
|
+
const accessToken = (request.headers.authorization ?? "").substring(7);
|
|
271
|
+
const userInfo = await getUserAuthInfo(fastify.prisma, accessToken);
|
|
272
|
+
|
|
273
|
+
if (userInfo === null) {
|
|
274
|
+
reply.status(401);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const currentActivity = await fastify.prisma.User_Activity.findFirst({
|
|
279
|
+
where: {
|
|
280
|
+
activity_id: request.params.id
|
|
281
|
+
},
|
|
282
|
+
select: {
|
|
283
|
+
user_id: true,
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
if (currentActivity === null) {
|
|
288
|
+
reply.status(404);
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (currentActivity.user_id !== userInfo.user_id) {
|
|
293
|
+
reply.status(403);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
await fastify.prisma.User_Activity.delete({
|
|
298
|
+
where: {
|
|
299
|
+
activity_id: request.params.id
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
@@ -24,6 +24,7 @@ import { SenseiProductivityError } from "../models/errors/sensei-productivity-er
|
|
|
24
24
|
import * as operations from "../models/operations/index.js";
|
|
25
25
|
import { APICall, APIPromise } from "../types/async.js";
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
|
+
import * as types$ from "../types/primitives.js";
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Create a new category (school admins only)
|
|
@@ -34,7 +35,7 @@ export function categoriesCreate(
|
|
|
34
35
|
options?: RequestOptions,
|
|
35
36
|
): APIPromise<
|
|
36
37
|
Result<
|
|
37
|
-
operations.CreateCategoryResponse,
|
|
38
|
+
operations.CreateCategoryResponse | undefined,
|
|
38
39
|
| SenseiProductivityError
|
|
39
40
|
| ResponseValidationError
|
|
40
41
|
| ConnectionError
|
|
@@ -59,7 +60,7 @@ async function $do(
|
|
|
59
60
|
): Promise<
|
|
60
61
|
[
|
|
61
62
|
Result<
|
|
62
|
-
operations.CreateCategoryResponse,
|
|
63
|
+
operations.CreateCategoryResponse | undefined,
|
|
63
64
|
| SenseiProductivityError
|
|
64
65
|
| ResponseValidationError
|
|
65
66
|
| ConnectionError
|
|
@@ -105,8 +106,18 @@ async function $do(
|
|
|
105
106
|
securitySource: client._options.bearerAuth,
|
|
106
107
|
retryConfig: options?.retries
|
|
107
108
|
|| client._options.retryConfig
|
|
109
|
+
|| {
|
|
110
|
+
strategy: "backoff",
|
|
111
|
+
backoff: {
|
|
112
|
+
initialInterval: 1000,
|
|
113
|
+
maxInterval: 60000,
|
|
114
|
+
exponent: 1.3,
|
|
115
|
+
maxElapsedTime: 3600000,
|
|
116
|
+
},
|
|
117
|
+
retryConnectionErrors: true,
|
|
118
|
+
}
|
|
108
119
|
|| { strategy: "none" },
|
|
109
|
-
retryCodes: options?.retryCodes || ["429", "
|
|
120
|
+
retryCodes: options?.retryCodes || ["429", "5XX"],
|
|
110
121
|
};
|
|
111
122
|
|
|
112
123
|
const requestRes = client._createRequest(context, {
|
|
@@ -126,7 +137,7 @@ async function $do(
|
|
|
126
137
|
|
|
127
138
|
const doResult = await client._do(req, {
|
|
128
139
|
context,
|
|
129
|
-
errorCodes: ["
|
|
140
|
+
errorCodes: ["429", "5XX"],
|
|
130
141
|
retryConfig: context.retryConfig,
|
|
131
142
|
retryCodes: context.retryCodes,
|
|
132
143
|
});
|
|
@@ -136,7 +147,7 @@ async function $do(
|
|
|
136
147
|
const response = doResult.value;
|
|
137
148
|
|
|
138
149
|
const [result] = await M.match<
|
|
139
|
-
operations.CreateCategoryResponse,
|
|
150
|
+
operations.CreateCategoryResponse | undefined,
|
|
140
151
|
| SenseiProductivityError
|
|
141
152
|
| ResponseValidationError
|
|
142
153
|
| ConnectionError
|
|
@@ -146,8 +157,15 @@ async function $do(
|
|
|
146
157
|
| UnexpectedClientError
|
|
147
158
|
| SDKValidationError
|
|
148
159
|
>(
|
|
149
|
-
M.json(
|
|
150
|
-
|
|
160
|
+
M.json(
|
|
161
|
+
201,
|
|
162
|
+
types$.optional(operations.CreateCategoryResponse$inboundSchema),
|
|
163
|
+
),
|
|
164
|
+
M.nil(
|
|
165
|
+
[400, 401, 403],
|
|
166
|
+
types$.optional(operations.CreateCategoryResponse$inboundSchema),
|
|
167
|
+
),
|
|
168
|
+
M.fail(429),
|
|
151
169
|
M.fail("5XX"),
|
|
152
170
|
)(response, req);
|
|
153
171
|
if (!result.ok) {
|
|
@@ -111,8 +111,18 @@ async function $do(
|
|
|
111
111
|
securitySource: client._options.bearerAuth,
|
|
112
112
|
retryConfig: options?.retries
|
|
113
113
|
|| client._options.retryConfig
|
|
114
|
+
|| {
|
|
115
|
+
strategy: "backoff",
|
|
116
|
+
backoff: {
|
|
117
|
+
initialInterval: 1000,
|
|
118
|
+
maxInterval: 60000,
|
|
119
|
+
exponent: 1.3,
|
|
120
|
+
maxElapsedTime: 3600000,
|
|
121
|
+
},
|
|
122
|
+
retryConnectionErrors: true,
|
|
123
|
+
}
|
|
114
124
|
|| { strategy: "none" },
|
|
115
|
-
retryCodes: options?.retryCodes || ["429", "
|
|
125
|
+
retryCodes: options?.retryCodes || ["429", "5XX"],
|
|
116
126
|
};
|
|
117
127
|
|
|
118
128
|
const requestRes = client._createRequest(context, {
|
|
@@ -132,7 +142,7 @@ async function $do(
|
|
|
132
142
|
|
|
133
143
|
const doResult = await client._do(req, {
|
|
134
144
|
context,
|
|
135
|
-
errorCodes: ["
|
|
145
|
+
errorCodes: ["429", "5XX"],
|
|
136
146
|
retryConfig: context.retryConfig,
|
|
137
147
|
retryCodes: context.retryCodes,
|
|
138
148
|
});
|
|
@@ -153,7 +163,8 @@ async function $do(
|
|
|
153
163
|
| SDKValidationError
|
|
154
164
|
>(
|
|
155
165
|
M.nil(200, z.void()),
|
|
156
|
-
M.
|
|
166
|
+
M.nil([401, 403, 404], z.void()),
|
|
167
|
+
M.fail(429),
|
|
157
168
|
M.fail("5XX"),
|
|
158
169
|
)(response, req);
|
|
159
170
|
if (!result.ok) {
|
|
@@ -22,6 +22,7 @@ import { SenseiProductivityError } from "../models/errors/sensei-productivity-er
|
|
|
22
22
|
import * as operations from "../models/operations/index.js";
|
|
23
23
|
import { APICall, APIPromise } from "../types/async.js";
|
|
24
24
|
import { Result } from "../types/fp.js";
|
|
25
|
+
import * as types$ from "../types/primitives.js";
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* List all categories
|
|
@@ -31,7 +32,7 @@ export function categoriesGetAll(
|
|
|
31
32
|
options?: RequestOptions,
|
|
32
33
|
): APIPromise<
|
|
33
34
|
Result<
|
|
34
|
-
Array<operations.ListCategoriesResponse
|
|
35
|
+
Array<operations.ListCategoriesResponse> | undefined,
|
|
35
36
|
| SenseiProductivityError
|
|
36
37
|
| ResponseValidationError
|
|
37
38
|
| ConnectionError
|
|
@@ -54,7 +55,7 @@ async function $do(
|
|
|
54
55
|
): Promise<
|
|
55
56
|
[
|
|
56
57
|
Result<
|
|
57
|
-
Array<operations.ListCategoriesResponse
|
|
58
|
+
Array<operations.ListCategoriesResponse> | undefined,
|
|
58
59
|
| SenseiProductivityError
|
|
59
60
|
| ResponseValidationError
|
|
60
61
|
| ConnectionError
|
|
@@ -88,8 +89,18 @@ async function $do(
|
|
|
88
89
|
securitySource: client._options.bearerAuth,
|
|
89
90
|
retryConfig: options?.retries
|
|
90
91
|
|| client._options.retryConfig
|
|
92
|
+
|| {
|
|
93
|
+
strategy: "backoff",
|
|
94
|
+
backoff: {
|
|
95
|
+
initialInterval: 1000,
|
|
96
|
+
maxInterval: 60000,
|
|
97
|
+
exponent: 1.3,
|
|
98
|
+
maxElapsedTime: 3600000,
|
|
99
|
+
},
|
|
100
|
+
retryConnectionErrors: true,
|
|
101
|
+
}
|
|
91
102
|
|| { strategy: "none" },
|
|
92
|
-
retryCodes: options?.retryCodes || ["429", "
|
|
103
|
+
retryCodes: options?.retryCodes || ["429", "5XX"],
|
|
93
104
|
};
|
|
94
105
|
|
|
95
106
|
const requestRes = client._createRequest(context, {
|
|
@@ -108,7 +119,7 @@ async function $do(
|
|
|
108
119
|
|
|
109
120
|
const doResult = await client._do(req, {
|
|
110
121
|
context,
|
|
111
|
-
errorCodes: ["
|
|
122
|
+
errorCodes: ["429", "5XX"],
|
|
112
123
|
retryConfig: context.retryConfig,
|
|
113
124
|
retryCodes: context.retryCodes,
|
|
114
125
|
});
|
|
@@ -118,7 +129,7 @@ async function $do(
|
|
|
118
129
|
const response = doResult.value;
|
|
119
130
|
|
|
120
131
|
const [result] = await M.match<
|
|
121
|
-
Array<operations.ListCategoriesResponse
|
|
132
|
+
Array<operations.ListCategoriesResponse> | undefined,
|
|
122
133
|
| SenseiProductivityError
|
|
123
134
|
| ResponseValidationError
|
|
124
135
|
| ConnectionError
|
|
@@ -128,8 +139,15 @@ async function $do(
|
|
|
128
139
|
| UnexpectedClientError
|
|
129
140
|
| SDKValidationError
|
|
130
141
|
>(
|
|
131
|
-
M.json(
|
|
132
|
-
|
|
142
|
+
M.json(
|
|
143
|
+
200,
|
|
144
|
+
types$.optional(z.array(operations.ListCategoriesResponse$inboundSchema)),
|
|
145
|
+
),
|
|
146
|
+
M.nil(
|
|
147
|
+
401,
|
|
148
|
+
types$.optional(z.array(operations.ListCategoriesResponse$inboundSchema)),
|
|
149
|
+
),
|
|
150
|
+
M.fail(429),
|
|
133
151
|
M.fail("5XX"),
|
|
134
152
|
)(response, req);
|
|
135
153
|
if (!result.ok) {
|
|
@@ -24,6 +24,7 @@ import { SenseiProductivityError } from "../models/errors/sensei-productivity-er
|
|
|
24
24
|
import * as operations from "../models/operations/index.js";
|
|
25
25
|
import { APICall, APIPromise } from "../types/async.js";
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
|
+
import * as types$ from "../types/primitives.js";
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Update a category (school admins only)
|
|
@@ -34,7 +35,7 @@ export function categoriesUpdate(
|
|
|
34
35
|
options?: RequestOptions,
|
|
35
36
|
): APIPromise<
|
|
36
37
|
Result<
|
|
37
|
-
operations.UpdateCategoryResponse,
|
|
38
|
+
operations.UpdateCategoryResponse | undefined,
|
|
38
39
|
| SenseiProductivityError
|
|
39
40
|
| ResponseValidationError
|
|
40
41
|
| ConnectionError
|
|
@@ -59,7 +60,7 @@ async function $do(
|
|
|
59
60
|
): Promise<
|
|
60
61
|
[
|
|
61
62
|
Result<
|
|
62
|
-
operations.UpdateCategoryResponse,
|
|
63
|
+
operations.UpdateCategoryResponse | undefined,
|
|
63
64
|
| SenseiProductivityError
|
|
64
65
|
| ResponseValidationError
|
|
65
66
|
| ConnectionError
|
|
@@ -112,8 +113,18 @@ async function $do(
|
|
|
112
113
|
securitySource: client._options.bearerAuth,
|
|
113
114
|
retryConfig: options?.retries
|
|
114
115
|
|| client._options.retryConfig
|
|
116
|
+
|| {
|
|
117
|
+
strategy: "backoff",
|
|
118
|
+
backoff: {
|
|
119
|
+
initialInterval: 1000,
|
|
120
|
+
maxInterval: 60000,
|
|
121
|
+
exponent: 1.3,
|
|
122
|
+
maxElapsedTime: 3600000,
|
|
123
|
+
},
|
|
124
|
+
retryConnectionErrors: true,
|
|
125
|
+
}
|
|
115
126
|
|| { strategy: "none" },
|
|
116
|
-
retryCodes: options?.retryCodes || ["429", "
|
|
127
|
+
retryCodes: options?.retryCodes || ["429", "5XX"],
|
|
117
128
|
};
|
|
118
129
|
|
|
119
130
|
const requestRes = client._createRequest(context, {
|
|
@@ -133,7 +144,7 @@ async function $do(
|
|
|
133
144
|
|
|
134
145
|
const doResult = await client._do(req, {
|
|
135
146
|
context,
|
|
136
|
-
errorCodes: ["
|
|
147
|
+
errorCodes: ["429", "5XX"],
|
|
137
148
|
retryConfig: context.retryConfig,
|
|
138
149
|
retryCodes: context.retryCodes,
|
|
139
150
|
});
|
|
@@ -143,7 +154,7 @@ async function $do(
|
|
|
143
154
|
const response = doResult.value;
|
|
144
155
|
|
|
145
156
|
const [result] = await M.match<
|
|
146
|
-
operations.UpdateCategoryResponse,
|
|
157
|
+
operations.UpdateCategoryResponse | undefined,
|
|
147
158
|
| SenseiProductivityError
|
|
148
159
|
| ResponseValidationError
|
|
149
160
|
| ConnectionError
|
|
@@ -153,8 +164,15 @@ async function $do(
|
|
|
153
164
|
| UnexpectedClientError
|
|
154
165
|
| SDKValidationError
|
|
155
166
|
>(
|
|
156
|
-
M.json(
|
|
157
|
-
|
|
167
|
+
M.json(
|
|
168
|
+
200,
|
|
169
|
+
types$.optional(operations.UpdateCategoryResponse$inboundSchema),
|
|
170
|
+
),
|
|
171
|
+
M.nil(
|
|
172
|
+
[400, 401, 403, 404],
|
|
173
|
+
types$.optional(operations.UpdateCategoryResponse$inboundSchema),
|
|
174
|
+
),
|
|
175
|
+
M.fail(429),
|
|
158
176
|
M.fail("5XX"),
|
|
159
177
|
)(response, req);
|
|
160
178
|
if (!result.ok) {
|
|
@@ -88,8 +88,18 @@ async function $do(
|
|
|
88
88
|
securitySource: client._options.bearerAuth,
|
|
89
89
|
retryConfig: options?.retries
|
|
90
90
|
|| client._options.retryConfig
|
|
91
|
+
|| {
|
|
92
|
+
strategy: "backoff",
|
|
93
|
+
backoff: {
|
|
94
|
+
initialInterval: 1000,
|
|
95
|
+
maxInterval: 60000,
|
|
96
|
+
exponent: 1.3,
|
|
97
|
+
maxElapsedTime: 3600000,
|
|
98
|
+
},
|
|
99
|
+
retryConnectionErrors: true,
|
|
100
|
+
}
|
|
91
101
|
|| { strategy: "none" },
|
|
92
|
-
retryCodes: options?.retryCodes || ["429", "
|
|
102
|
+
retryCodes: options?.retryCodes || ["429", "5XX"],
|
|
93
103
|
};
|
|
94
104
|
|
|
95
105
|
const requestRes = client._createRequest(context, {
|
|
@@ -108,7 +118,7 @@ async function $do(
|
|
|
108
118
|
|
|
109
119
|
const doResult = await client._do(req, {
|
|
110
120
|
context,
|
|
111
|
-
errorCodes: ["
|
|
121
|
+
errorCodes: ["429", "5XX"],
|
|
112
122
|
retryConfig: context.retryConfig,
|
|
113
123
|
retryCodes: context.retryCodes,
|
|
114
124
|
});
|
|
@@ -129,7 +139,7 @@ async function $do(
|
|
|
129
139
|
| SDKValidationError
|
|
130
140
|
>(
|
|
131
141
|
M.json(200, z.array(operations.ListSchoolsResponse$inboundSchema)),
|
|
132
|
-
M.fail(
|
|
142
|
+
M.fail(429),
|
|
133
143
|
M.fail("5XX"),
|
|
134
144
|
)(response, req);
|
|
135
145
|
if (!result.ok) {
|