placementt-core 1.20.217 → 11.0.803

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 (86) hide show
  1. package/.eslintrc.js +40 -40
  2. package/.gitattributes +2 -2
  3. package/lib/constants.js +10 -1
  4. package/lib/constants.js.map +1 -1
  5. package/lib/features/config.d.ts +133 -133
  6. package/lib/features/config.js +35 -35
  7. package/lib/features/contacts/contacts.d.ts +75 -75
  8. package/lib/features/contacts/contacts.js +105 -105
  9. package/lib/features/downtime/useDowntime.d.ts +11 -11
  10. package/lib/features/downtime/useDowntime.js +22 -22
  11. package/lib/features/placements/studentPlacements/studentPlacementsSlice.d.ts +63 -63
  12. package/lib/features/placements/studentPlacements/studentPlacementsSlice.js +81 -81
  13. package/lib/features/providerPlacements/providerPlacementsSlice.d.ts +19 -19
  14. package/lib/features/providerPlacements/providerPlacementsSlice.js +24 -24
  15. package/lib/features/studentPlacements/studentPlacementsSlice.d.ts +62 -62
  16. package/lib/features/studentPlacements/studentPlacementsSlice.js +87 -87
  17. package/lib/features/studentPlacements/useStudentPlacements.d.ts +6 -6
  18. package/lib/features/studentPlacements/useStudentPlacements.js +18 -18
  19. package/lib/features/userSlice.d.ts +26 -26
  20. package/lib/features/userSlice.js +23 -23
  21. package/lib/features/users/useUserFunctions.d.ts +25 -25
  22. package/lib/features/users/useUserFunctions.js +124 -124
  23. package/lib/features/users/userSlice.d.ts +46 -46
  24. package/lib/features/users/userSlice.js +48 -48
  25. package/lib/firebase/firebase.d.ts +1 -1
  26. package/lib/firebase/firebase.js +6 -2
  27. package/lib/firebase/firebase.js.map +1 -1
  28. package/lib/firebase/readDatabase.js +3 -1
  29. package/lib/firebase/readDatabase.js.map +1 -1
  30. package/lib/hooks.d.ts +33 -5
  31. package/lib/hooks.js +143 -107
  32. package/lib/hooks.js.map +1 -1
  33. package/lib/images/GatsbyBenchmarks.d.ts +1 -2
  34. package/lib/reduxHooks.d.ts +1 -66
  35. package/lib/reduxHooks.js +9 -69
  36. package/lib/reduxHooks.js.map +1 -1
  37. package/lib/tasksAndTips.d.ts +2 -2
  38. package/lib/tasksAndTips.js +37 -6
  39. package/lib/tasksAndTips.js.map +1 -1
  40. package/lib/typeDefinitions.d.ts +50 -5
  41. package/lib/util.d.ts +1 -1
  42. package/lib/util.js +12 -1
  43. package/lib/util.js.map +1 -1
  44. package/package.json +52 -56
  45. package/src/DatabaseDefinitions.ts +18 -18
  46. package/src/apiCalls.ts +128 -128
  47. package/src/config.ts +50 -50
  48. package/src/constants.ts +796 -787
  49. package/src/databaseTypes.ts +42 -42
  50. package/src/features/analytics/useAnalytics.tsx +63 -63
  51. package/src/features/contacts/contactsSlice.ts +147 -147
  52. package/src/features/contacts/useContacts.tsx +73 -73
  53. package/src/features/dropdown/useDropdown.tsx +52 -52
  54. package/src/features/global/downtime/useDowntime.tsx +23 -23
  55. package/src/features/global/users/useUserFunctions.tsx +132 -132
  56. package/src/features/jobs/jobsSlice.ts +71 -71
  57. package/src/features/placements/studentPlacements/activePlacement.ts +68 -68
  58. package/src/features/placements/studentPlacements/completedStudentPlacementsSlice.ts +97 -97
  59. package/src/features/placements/studentPlacements/upcomingStudentPlacementsSlice.ts +108 -108
  60. package/src/features/placements/studentPlacements/useStudentPlacements.tsx +9 -9
  61. package/src/features/placements/types.ts +10 -10
  62. package/src/features/referrals/useReferrals.tsx +56 -56
  63. package/src/features/updates/useUpdates.tsx +38 -38
  64. package/src/firebase/firebase.tsx +149 -145
  65. package/src/firebase/firebaseConfig.tsx +45 -45
  66. package/src/firebase/firebaseQuery.tsx +151 -151
  67. package/src/firebase/persistence.ts +84 -84
  68. package/src/firebase/readDatabase.tsx +236 -235
  69. package/src/firebase/util.tsx +352 -352
  70. package/src/firebase/writeDatabase.tsx +77 -77
  71. package/src/hooks.tsx +4353 -4323
  72. package/src/images/GatsbyBenchmarks.tsx +711 -711
  73. package/src/images/LogFuturePlacement.jsx +64 -64
  74. package/src/images/LogPreviousPlacement.jsx +228 -228
  75. package/src/images/gatsby_benchmarks.svg +466 -466
  76. package/src/images/log_future_placement.svg +114 -114
  77. package/src/images/log_previous_placement.svg +199 -199
  78. package/src/index.ts +34 -34
  79. package/src/readDatabase.tsx +3 -3
  80. package/src/reduxHooks.ts +232 -297
  81. package/src/tasksAndTips.ts +1209 -1177
  82. package/src/tutorialTips.ts +58 -58
  83. package/src/typeDefinitions.ts +1003 -958
  84. package/src/util.ts +160 -150
  85. package/tsconfig.dev.json +5 -5
  86. package/tsconfig.json +21 -22
@@ -271,6 +271,8 @@ export type OrganisationAddress = Address & {
271
271
  primaryContactId?: string;
272
272
  default?: boolean;
273
273
  flags?: ("addressMissing" | "noPrimaryContact")[];
274
+ color?: string;
275
+ image?: string | false;
274
276
  };
275
277
  export type Address = {
276
278
  id?: string;
@@ -282,7 +284,7 @@ export type Address = {
282
284
  geoHash?: string;
283
285
  what3Words?: string;
284
286
  };
285
- export type FlagCodes = "inactive" | "noParentEmailWarning" | "noParentEmailError" | "overdue" | "noInsurance" | "providerRejection" | "nearingStart" | "awaitingInsurance" | "noRiskAssessment" | "awaitingRiskAssessment" | "parentEmailFailed" | "providerEmailFailed" | "userEmailFailed" | "noDbsCheck" | "awaitingDbsCheck" | "completeOnboarding" | "reviewOnboarding" | "requestedVisibleAddresses" | "requestedVisiblePlacementListings" | "addOnboarding" | "studentNotAccepted";
287
+ export type FlagCodes = "inactive" | "noParentEmailWarning" | "noParentEmailError" | "overdue" | "noInsurance" | "providerRejection" | "nearingStart" | "awaitingInsurance" | "noRiskAssessment" | "awaitingRiskAssessment" | "parentEmailFailed" | "providerEmailFailed" | "userEmailFailed" | "noDbsCheck" | "awaitingDbsCheck" | "completeOnboarding" | "reviewOnboarding" | "requestedVisibleAddresses" | "requestedVisiblePlacementListings" | "addOnboarding" | "studentNotAccepted" | "reminder";
286
288
  export type UserData = {
287
289
  details: {
288
290
  forename: string;
@@ -341,11 +343,13 @@ export type UserData = {
341
343
  monthAdded?: number;
342
344
  placementsCharged?: boolean;
343
345
  visibleAddresses?: string[];
346
+ visibleSchools?: string[];
344
347
  visibleListings?: string[];
345
348
  requestedVisibleAddresses?: string[];
346
349
  requestedVisibleListings?: string[];
347
350
  packageData?: BillingPackage;
348
351
  viewAddresses?: "all" | "request" | "none" | "some";
352
+ viewSchools?: "all" | "request" | "none" | "some";
349
353
  viewPlacementListings?: "all" | "request" | "none";
350
354
  viewPlacementGroups?: "all" | "request" | "none";
351
355
  skillsTargets?: string[];
@@ -446,6 +450,9 @@ export type StaffUserPermissions = UserGroupData & {
446
450
  addEmailTemplates?: boolean;
447
451
  editEmailTemplates?: boolean;
448
452
  deleteEmailTemplates?: boolean;
453
+ addActivity?: boolean;
454
+ editActivity?: boolean;
455
+ deleteActivity?: boolean;
449
456
  };
450
457
  export type ProviderUserPermissions = {
451
458
  viewStaff: boolean;
@@ -470,6 +477,9 @@ export type ProviderUserPermissions = {
470
477
  viewPlacementGroups?: "all" | "request" | "none";
471
478
  viewAddresses?: "all" | "request" | "none";
472
479
  processApplicants?: boolean;
480
+ addSchools?: boolean;
481
+ editSchools?: boolean;
482
+ deleteSchools?: boolean;
473
483
  addAddresses?: boolean;
474
484
  editAddresses?: boolean;
475
485
  deleteAddresses?: boolean;
@@ -593,6 +603,9 @@ export type InstituteData = {
593
603
  staffActive: number;
594
604
  admin: string;
595
605
  name: string;
606
+ monthAdded: number;
607
+ platformFee: number;
608
+ color?: string;
596
609
  verifiedProviders?: string[];
597
610
  awaitingProviderInsurance?: string[];
598
611
  verifiedRiskAssessments?: string[];
@@ -622,7 +635,19 @@ export type InstituteData = {
622
635
  url: string;
623
636
  };
624
637
  };
638
+ providerActivities?: {
639
+ [key: string]: ProviderActivity;
640
+ };
625
641
  } & Address;
642
+ export type ProviderActivity = {
643
+ title?: string;
644
+ description: string;
645
+ position?: number;
646
+ image?: string;
647
+ color: string;
648
+ public?: boolean;
649
+ oId?: string;
650
+ };
626
651
  export type NotificationObject = {
627
652
  buttonURL: string;
628
653
  created: Timestamp;
@@ -726,7 +751,7 @@ export type CohortData = {
726
751
  customWorkflow?: boolean;
727
752
  oId: string;
728
753
  product: Products;
729
- addressId?: string;
754
+ schoolId?: string;
730
755
  designatedStaff?: string;
731
756
  logType?: "basic" | "custom";
732
757
  logs?: {
@@ -746,8 +771,6 @@ export type CohortData = {
746
771
  };
747
772
  providerFeedbackSent?: Timestamp;
748
773
  studentsFeedbackSent?: Timestamp;
749
- billingEmail?: string;
750
- billingContactId?: string;
751
774
  emailTemplates?: {
752
775
  [key in keyof typeof emailTemplates]: string;
753
776
  };
@@ -839,6 +862,8 @@ export type PlacementReviewDetails = {
839
862
  providerFeedback?: {
840
863
  [key: string]: unknown;
841
864
  };
865
+ primaryColor?: string;
866
+ primaryImage?: string;
842
867
  };
843
868
  export type BlogCategories = "students" | "providers" | "institutes" | "placementt";
844
869
  export type Blog = {
@@ -974,6 +999,8 @@ export type Event = {
974
999
  export type BillingPackage = {
975
1000
  name: string;
976
1001
  staffUnitCost: number;
1002
+ platformFee: number;
1003
+ platformFeeFrequency: "yearly" | "monthly";
977
1004
  studentUnitCost: number;
978
1005
  placementUnitCost: number;
979
1006
  product: Products;
@@ -1012,5 +1039,23 @@ export type Reminder = {
1012
1039
  title: string;
1013
1040
  description?: string;
1014
1041
  dueDate: string;
1015
- status: "upcoming" | "due" | "dismissed";
1042
+ status: "upcoming" | "dismissed";
1043
+ };
1044
+ export type Sorts = {
1045
+ [label: string]: {
1046
+ value: string;
1047
+ direction: "asc" | "desc";
1048
+ };
1049
+ } | undefined;
1050
+ export type SchoolData = OrganisationAddress & {
1051
+ billingEmail?: string;
1052
+ billingContactId?: string;
1053
+ authorisedMISSystem?: {
1054
+ name: "arbor";
1055
+ data: {
1056
+ url: string;
1057
+ };
1058
+ };
1059
+ monthAdded: number;
1060
+ acceptingAlumni?: boolean;
1016
1061
  };
package/lib/util.d.ts CHANGED
@@ -10,7 +10,7 @@ type PlacementFlagCodeParams = {
10
10
  * Description of function
11
11
  *
12
12
  */
13
- type PlaceFlagCodeReturn = FlagCodes[];
13
+ type PlaceFlagCodeReturn = Promise<FlagCodes[]>;
14
14
  export declare const getPlacementFlagCodes: ({ placement, studentData, workflow, institute, user }: PlacementFlagCodeParams) => PlaceFlagCodeReturn;
15
15
  export declare function objectsEqualNew(a: any, b: any): boolean;
16
16
  export {};
package/lib/util.js CHANGED
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getPlacementFlagCodes = void 0;
4
7
  exports.objectsEqualNew = objectsEqualNew;
5
- const getPlacementFlagCodes = ({ placement, studentData, workflow, institute, user }) => {
8
+ const firestore_1 = require("firebase/firestore");
9
+ const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
10
+ const util_1 = require("./firebase/util");
11
+ const getPlacementFlagCodes = async ({ placement, studentData, workflow, institute, user }) => {
6
12
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
7
13
  let flags = placement.flags || [];
14
+ const firebaseQuery = new firebaseQuery_1.default();
8
15
  if (!studentData.details.parentEmail && !flags.find((x) => x.includes("noParentEmail"))) {
9
16
  if (((_a = workflow.find((obj) => obj.id === placement.status)) === null || _a === void 0 ? void 0 : _a.userType) === "Parent") {
10
17
  flags.includes("noParentEmailWarning") || flags.push("noParentEmailError");
@@ -22,6 +29,10 @@ const getPlacementFlagCodes = ({ placement, studentData, workflow, institute, us
22
29
  const awaitingRiskAssessment = !placement.riskAssessment || ((_e = institute === null || institute === void 0 ? void 0 : institute.awaitingPlacementRiskAssessments) === null || _e === void 0 ? void 0 : _e.includes(placement.placementId || placement.id));
23
30
  const dbsCheckNotVerified = !((_f = institute === null || institute === void 0 ? void 0 : institute.verifiedDbsChecks) === null || _f === void 0 ? void 0 : _f.includes(placement.placementId || placement.id));
24
31
  const awaitingDbsCheck = !placement.dbsCheck || ((_g = institute === null || institute === void 0 ? void 0 : institute.awaitingPlacementDbsChecks) === null || _g === void 0 ? void 0 : _g.includes(placement.placementId || placement.id));
32
+ const reminderCount = (await firebaseQuery.getCount(["reminders"], [(0, firestore_1.where)("oId", "==", user.oId), (0, firestore_1.where)("uid", "==", user.id), (0, firestore_1.where)("dueDate", "<=", (0, util_1.convertDate)(new Date(), "dbstring")), (0, firestore_1.where)("documentId", "==", placement.id), (0, firestore_1.where)("status", "==", "upcoming")]));
33
+ if (reminderCount) {
34
+ flags.push("reminder");
35
+ }
25
36
  if (user.userType === "Staff" && user.product === "institutes" && placement.insurance && placementIsPostProviderReview && placementNotEnded && providerUnverified && !awaitingProviderInsurance) {
26
37
  console.log("Add insurance flag!");
27
38
  flags.includes("noInsurance") || flags.push("noInsurance");
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,56 +1,52 @@
1
- {
2
- "private": false,
3
- "name": "placementt-core",
4
- "author": "Placementt",
5
- "version": "1.20.217",
6
- "main": "lib/index.js",
7
- "types": "lib/index.d.ts",
8
- "scripts": {
9
- "lint": "eslint --ext .js,.ts .",
10
- "prebuild": "rimraf build",
11
- "build": "tsc",
12
- "prestart": "rimraf build",
13
- "start": "tsc -w",
14
- "pack": "yarn pack",
15
- "deploy": "tsc && yarn publish"
16
- },
17
- "dependencies": {
18
- "@react-native-async-storage/async-storage": "1.23.1",
19
- "@reduxjs/toolkit": "^1.9.7",
20
- "@types/jest": "29.5.0",
21
- "@types/ngeohash": "0.6.4",
22
- "@types/react": "^18.3.12",
23
- "@types/scheduler": "^0.23.0",
24
- "algoliasearch": "^4.23.3",
25
- "expo": "^52.0.7",
26
- "firebase": "9.16.0",
27
- "html2canvas": "^1.4.1",
28
- "jest": "~29.7.0",
29
- "jspdf": "^2.5.1",
30
- "ngeohash": "^0.6.3",
31
- "path": "^0.12.7",
32
- "placementt-core": "1.0.525",
33
- "placementt-prisma": "1.0.2",
34
- "react": "^18.3.1",
35
- "react-dom": "18.3.1",
36
- "react-redux": "^8.1.3",
37
- "redux-persist": "^6.0.0",
38
- "scheduler": "^0.23.2",
39
- "slate": "^0.84.0",
40
- "slate-history": "^0.66.0",
41
- "slate-react": "^0.83.2",
42
- "ts-jest": "29.1.0",
43
- "typescript": "^5.3.3"
44
- },
45
- "devDependencies": {
46
- "npm-run-all": "^4.1.5",
47
- "rimraf": "^3.0.2"
48
- },
49
- "resolutions": {
50
- "react": "^18.3.1",
51
- "@types/react": "18.3.12"
52
- },
53
- "engines": {
54
- "node": "18"
55
- }
56
- }
1
+ {
2
+ "private": false,
3
+ "name": "placementt-core",
4
+ "author": "Placementt",
5
+ "version": "11.0.803",
6
+ "main": "lib/index.js",
7
+ "types": "lib/index.d.ts",
8
+ "scripts": {
9
+ "lint": "eslint --ext .js,.ts .",
10
+ "prebuild": "rimraf build",
11
+ "build": "tsc",
12
+ "prestart": "rimraf build",
13
+ "start": "tsc -w",
14
+ "pack": "yarn pack",
15
+ "deploy": "tsc && yarn publish"
16
+ },
17
+ "dependencies": {
18
+ "@react-native-async-storage/async-storage": "1.19.3",
19
+ "@reduxjs/toolkit": "^1.9.7",
20
+ "@types/jest": "29.5.0",
21
+ "@types/ngeohash": "0.6.4",
22
+ "@types/react": "18.0.29",
23
+ "algoliasearch": "^4.23.3",
24
+ "firebase": "9.16.0",
25
+ "html2canvas": "^1.4.1",
26
+ "jest": "29.5.0",
27
+ "jspdf": "^2.5.1",
28
+ "ngeohash": "^0.6.3",
29
+ "path": "^0.12.7",
30
+ "placementt-core": "1.0.525",
31
+ "placementt-prisma": "1.0.2",
32
+ "react": "18.2.0",
33
+ "react-dom": "18.2.0",
34
+ "react-redux": "^8.1.3",
35
+ "redux-persist": "^6.0.0",
36
+ "slate": "^0.84.0",
37
+ "slate-history": "^0.66.0",
38
+ "slate-react": "^0.83.2",
39
+ "ts-jest": "29.1.0",
40
+ "typescript": "^5.3.3"
41
+ },
42
+ "devDependencies": {
43
+ "npm-run-all": "^4.1.5",
44
+ "rimraf": "^3.0.2"
45
+ },
46
+ "resolutions": {
47
+ "@types/react": "18.0.29"
48
+ },
49
+ "engines": {
50
+ "node": "18"
51
+ }
52
+ }
@@ -1,19 +1,19 @@
1
- import {Addresses, Cohorts,
2
- Contacts, InstituteStudents, Institutes, Logs, PlacementListings, Placements, Providers,
3
- StudentUsers,
4
- InstituteStaff as InstituteStaffObj,
5
- ProviderStaff as ProviderStaffObj,} from "placementt-prisma"
6
-
7
-
8
- export type PrismaAddress = Addresses
9
- export type PrismaCohort = Cohorts
10
- export type PrismaContact = Contacts
11
- export type PrismaInstitute = Institutes
12
- export type PrismaLog = Logs
13
- export type PrismaPlacementListing = PlacementListings
14
- export type PrismaPlacement = Placements
15
- export type PrismaProvider = Providers
16
- export type PrismaStudentUser = StudentUsers
17
- export type PrismaInstituteStaff = InstituteStaffObj
18
- export type PrismaInstituteStudent = InstituteStudents
1
+ import {Addresses, Cohorts,
2
+ Contacts, InstituteStudents, Institutes, Logs, PlacementListings, Placements, Providers,
3
+ StudentUsers,
4
+ InstituteStaff as InstituteStaffObj,
5
+ ProviderStaff as ProviderStaffObj,} from "placementt-prisma"
6
+
7
+
8
+ export type PrismaAddress = Addresses
9
+ export type PrismaCohort = Cohorts
10
+ export type PrismaContact = Contacts
11
+ export type PrismaInstitute = Institutes
12
+ export type PrismaLog = Logs
13
+ export type PrismaPlacementListing = PlacementListings
14
+ export type PrismaPlacement = Placements
15
+ export type PrismaProvider = Providers
16
+ export type PrismaStudentUser = StudentUsers
17
+ export type PrismaInstituteStaff = InstituteStaffObj
18
+ export type PrismaInstituteStudent = InstituteStudents
19
19
  export type PrismaProviderStaff = ProviderStaffObj
package/src/apiCalls.ts CHANGED
@@ -1,128 +1,128 @@
1
- import {Auth} from "firebase/auth";
2
- import {Contact} from "./typeDefinitions";
3
-
4
- export const initializeToken = async (auth: Auth) => {
5
- try {
6
- const user = auth.currentUser;
7
- if (user) {
8
- const token = await user.getIdToken();
9
- console.log("this is the token###",token);
10
- return token;
11
- } else {
12
- console.error("User is not signed in.");
13
- return null;
14
- }
15
- } catch (error) {
16
- console.error("Error initializing token:", error);
17
- return null;
18
- }
19
- };
20
-
21
- export class API {
22
- private rootURL: string;
23
- private auth: Auth;
24
-
25
-
26
- constructor(auth: Auth, type?:string) {
27
- if (type === "local") {
28
- this.rootURL = "localhost:3006";
29
- } else {
30
- this.rootURL = "placemmentt.co.uk";
31
- }
32
- this.auth = auth;
33
- }
34
-
35
-
36
- async getContact(id: string): Promise<Contact | undefined> {
37
- const token = await initializeToken(this.auth);
38
-
39
- try {
40
- const response = await fetch(`${this.rootURL}/api/contacts/getContacts/${id}`, {
41
- method: "GET",
42
- headers: {
43
- "Authorization": `Bearer ${token}`,
44
- "Content-Type": "application/json",
45
- },
46
- });
47
- return (await response.json()) as Contact;
48
- } catch (error) {
49
- console.log(error);
50
- }
51
- return undefined;
52
- }
53
-
54
- async addContact(details:Contact) {
55
- const token = await initializeToken(this.auth);
56
-
57
- try {
58
- const response = await fetch(`${this.rootURL}/api/contacts/addContact`, {
59
- method: "POST",
60
- headers: {
61
- "Authorization": `Bearer ${token}`,
62
- "Content-Type": "application/json",
63
- },
64
- body: JSON.stringify(details ),
65
- });
66
- return (await response.json());
67
- } catch (error) {
68
- console.log(error);
69
- }
70
- }
71
-
72
- async update_contact(id:string, details:Contact, Constraint:string) {
73
- const token = await initializeToken(this.auth);
74
-
75
- try {
76
- const response = await fetch(`${this.rootURL}/api/contacts/update/${id}`, {
77
- method: "PUT",
78
- headers: {
79
- "Authorization": `Bearer ${token}`,
80
- "Content-Type": "application/json",
81
- },
82
- body: JSON.stringify({
83
- details: details,
84
- constraint: Constraint,
85
- } ),
86
- });
87
- return (await response.json());
88
- } catch (error) {
89
- console.log(error);
90
- }
91
- }
92
-
93
- async delete_contact(contactid:string) {
94
- const token = await initializeToken(this.auth);
95
-
96
- try {
97
- const response = await fetch(`${this.rootURL}/api/contacts/delete}`, {
98
- headers: {
99
- "Authorization": `Bearer ${token}`,
100
- "Content-Type": "application/json",
101
- },
102
- body: JSON.stringify({
103
- contactid: contactid,
104
- } ),
105
- });
106
- return (await response.json());
107
- } catch (error) {
108
- console.log(error);
109
- }
110
- }
111
- async get_placements(id:string) {
112
- const token = await initializeToken(this.auth);
113
-
114
- try {
115
- const response = await fetch(`${this.rootURL}/api/contacts/getPlacements/${id}`, {
116
- method: "GET",
117
- headers: {
118
- "Authorization": `Bearer ${token}`,
119
- "Content-Type": "application/json",
120
- },
121
- });
122
- return (await response.json()) as Contact;
123
- } catch (error) {
124
- console.log(error);
125
- }
126
- return undefined;
127
- }
128
- }
1
+ import {Auth} from "firebase/auth";
2
+ import {Contact} from "./typeDefinitions";
3
+
4
+ export const initializeToken = async (auth: Auth) => {
5
+ try {
6
+ const user = auth.currentUser;
7
+ if (user) {
8
+ const token = await user.getIdToken();
9
+ console.log("this is the token###",token);
10
+ return token;
11
+ } else {
12
+ console.error("User is not signed in.");
13
+ return null;
14
+ }
15
+ } catch (error) {
16
+ console.error("Error initializing token:", error);
17
+ return null;
18
+ }
19
+ };
20
+
21
+ export class API {
22
+ private rootURL: string;
23
+ private auth: Auth;
24
+
25
+
26
+ constructor(auth: Auth, type?:string) {
27
+ if (type === "local") {
28
+ this.rootURL = "localhost:3006";
29
+ } else {
30
+ this.rootURL = "placemmentt.co.uk";
31
+ }
32
+ this.auth = auth;
33
+ }
34
+
35
+
36
+ async getContact(id: string): Promise<Contact | undefined> {
37
+ const token = await initializeToken(this.auth);
38
+
39
+ try {
40
+ const response = await fetch(`${this.rootURL}/api/contacts/getContacts/${id}`, {
41
+ method: "GET",
42
+ headers: {
43
+ "Authorization": `Bearer ${token}`,
44
+ "Content-Type": "application/json",
45
+ },
46
+ });
47
+ return (await response.json()) as Contact;
48
+ } catch (error) {
49
+ console.log(error);
50
+ }
51
+ return undefined;
52
+ }
53
+
54
+ async addContact(details:Contact) {
55
+ const token = await initializeToken(this.auth);
56
+
57
+ try {
58
+ const response = await fetch(`${this.rootURL}/api/contacts/addContact`, {
59
+ method: "POST",
60
+ headers: {
61
+ "Authorization": `Bearer ${token}`,
62
+ "Content-Type": "application/json",
63
+ },
64
+ body: JSON.stringify(details ),
65
+ });
66
+ return (await response.json());
67
+ } catch (error) {
68
+ console.log(error);
69
+ }
70
+ }
71
+
72
+ async update_contact(id:string, details:Contact, Constraint:string) {
73
+ const token = await initializeToken(this.auth);
74
+
75
+ try {
76
+ const response = await fetch(`${this.rootURL}/api/contacts/update/${id}`, {
77
+ method: "PUT",
78
+ headers: {
79
+ "Authorization": `Bearer ${token}`,
80
+ "Content-Type": "application/json",
81
+ },
82
+ body: JSON.stringify({
83
+ details: details,
84
+ constraint: Constraint,
85
+ } ),
86
+ });
87
+ return (await response.json());
88
+ } catch (error) {
89
+ console.log(error);
90
+ }
91
+ }
92
+
93
+ async delete_contact(contactid:string) {
94
+ const token = await initializeToken(this.auth);
95
+
96
+ try {
97
+ const response = await fetch(`${this.rootURL}/api/contacts/delete}`, {
98
+ headers: {
99
+ "Authorization": `Bearer ${token}`,
100
+ "Content-Type": "application/json",
101
+ },
102
+ body: JSON.stringify({
103
+ contactid: contactid,
104
+ } ),
105
+ });
106
+ return (await response.json());
107
+ } catch (error) {
108
+ console.log(error);
109
+ }
110
+ }
111
+ async get_placements(id:string) {
112
+ const token = await initializeToken(this.auth);
113
+
114
+ try {
115
+ const response = await fetch(`${this.rootURL}/api/contacts/getPlacements/${id}`, {
116
+ method: "GET",
117
+ headers: {
118
+ "Authorization": `Bearer ${token}`,
119
+ "Content-Type": "application/json",
120
+ },
121
+ });
122
+ return (await response.json()) as Contact;
123
+ } catch (error) {
124
+ console.log(error);
125
+ }
126
+ return undefined;
127
+ }
128
+ }