placementt-core 1.20.189 → 1.20.191

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.
@@ -7,6 +7,7 @@ exports.setActivePlacement = exports.activePlacementSlice = exports.fetchActiveP
7
7
  const toolkit_1 = require("@reduxjs/toolkit");
8
8
  const firebaseQuery_1 = __importDefault(require("../../../firebase/firebaseQuery"));
9
9
  const firestore_1 = require("firebase/firestore");
10
+ const util_1 = require("../../../firebase/util");
10
11
  const initialState = {
11
12
  status: "",
12
13
  values: undefined,
@@ -16,7 +17,19 @@ exports.fetchActivePlacement = (0, toolkit_1.createAsyncThunk)("studentPlacement
16
17
  try {
17
18
  const docs = await firebaseQuery.getDocsWhere(["placements"], [(0, firestore_1.where)("active", "==", true), (0, firestore_1.where)("uid", "==", userId), (0, firestore_1.where)("completed", "==", false)]);
18
19
  const d = { ...docs };
19
- return d[Object.keys(d)[0]] || undefined;
20
+ const today = new Date();
21
+ let smallestIdx = 0;
22
+ let smallestDiff = Infinity;
23
+ Object.keys(d).forEach((key, index) => {
24
+ const studentPlacementData = d[key];
25
+ const startDate = new Date(studentPlacementData.startDate);
26
+ const diff = (0, util_1.getDateDiff)(today, startDate);
27
+ if (diff < smallestDiff) {
28
+ smallestDiff = diff;
29
+ smallestIdx = index;
30
+ }
31
+ });
32
+ return d[Object.keys(d)[smallestIdx]] || undefined;
20
33
  }
21
34
  catch (error) {
22
35
  console.log(error);
@@ -1 +1 @@
1
- {"version":3,"file":"activePlacement.js","sourceRoot":"","sources":["../../../../src/features/placements/studentPlacements/activePlacement.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+D;AAC/D,oFAA4D;AAE5D,kDAA2C;AAO3C,MAAM,YAAY,GAAgC;IAC9C,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,SAAS;CACpB,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,0BAAgB,EAChD,wCAAwC,EACxC,KAAK,EAAE,EAAC,MAAM,EAAmB,EAAE,EAAE;IACjC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAA,iBAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAA,iBAAK,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1J,MAAM,CAAC,GAAG,EAAE,GAAG,IAA+C,EAAE,CAAC;QACjE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAE7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CACJ,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,qBAAW,EAAC;IAC5C,IAAI,EAAE,iBAAiB;IACvB,YAAY;IAEZ,QAAQ,EAAE;QACN,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;QACjC,CAAC;KACJ;IAED,aAAa,CAAC,OAAO;QACjB,OAAO;aACN,OAAO,CAAC,4BAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;YAC7B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,KAAK,CAAC,MAAM,GAAG,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;IAEP,CAAC;CAEJ,CAAC,CAAA;AAGY,0BAAkB,GAAI,4BAAoB,CAAC,OAAO,oBAAA;AAEhE,kBAAe,4BAAoB,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"activePlacement.js","sourceRoot":"","sources":["../../../../src/features/placements/studentPlacements/activePlacement.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+D;AAC/D,oFAA4D;AAE5D,kDAA2C;AAC3C,iDAAqD;AAOrD,MAAM,YAAY,GAAgC;IAC9C,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,SAAS;CACpB,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,0BAAgB,EAChD,wCAAwC,EACxC,KAAK,EAAE,EAAC,MAAM,EAAmB,EAAE,EAAE;IACjC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAA,iBAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAA,iBAAK,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1J,MAAM,CAAC,GAAG,EAAE,GAAG,IAA+C,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,QAAQ,CAAC;QAG5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE3C,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;gBACtB,YAAY,GAAG,IAAI,CAAC;gBACpB,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;IAEvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CACJ,CAAA;AAEY,QAAA,oBAAoB,GAAG,IAAA,qBAAW,EAAC;IAC5C,IAAI,EAAE,iBAAiB;IACvB,YAAY;IAEZ,QAAQ,EAAE;QACN,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;QACjC,CAAC;KACJ;IAED,aAAa,CAAC,OAAO;QACjB,OAAO;aACN,OAAO,CAAC,4BAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;YAC7B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC,CAAC;aAED,OAAO,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,KAAK,CAAC,MAAM,GAAG,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;IAEP,CAAC;CAEJ,CAAC,CAAA;AAGY,0BAAkB,GAAI,4BAAoB,CAAC,OAAO,oBAAA;AAEhE,kBAAe,4BAAoB,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.20.189",
5
+ "version": "1.20.191",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -2,6 +2,7 @@ import {createSlice, createAsyncThunk} from "@reduxjs/toolkit";
2
2
  import FirebaseQuery from "../../../firebase/firebaseQuery";
3
3
  import { StudentPlacementData } from "../../../typeDefinitions"
4
4
  import { where } from "firebase/firestore";
5
+ import { getDateDiff } from "../../../firebase/util";
5
6
 
6
7
  type InitialActivePlacementSlice = {
7
8
  status: string
@@ -20,7 +21,23 @@ export const fetchActivePlacement = createAsyncThunk(
20
21
  try {
21
22
  const docs = await firebaseQuery.getDocsWhere(["placements"], [where("active", "==", true), where("uid", "==", userId), where("completed", "==", false)]);
22
23
  const d = { ...docs as { [key: string]: StudentPlacementData } };
23
- return d[Object.keys(d)[0]] || undefined;
24
+ const today = new Date()
25
+ let smallestIdx = 0;
26
+ let smallestDiff = Infinity;
27
+
28
+
29
+ Object.keys(d).forEach((key, index) => {
30
+ const studentPlacementData = d[key];
31
+ const startDate = new Date(studentPlacementData.startDate);
32
+ const diff = getDateDiff(today, startDate);
33
+
34
+ if (diff < smallestDiff) {
35
+ smallestDiff = diff;
36
+ smallestIdx = index;
37
+ }
38
+ });
39
+
40
+ return d[Object.keys(d)[smallestIdx]] || undefined;
24
41
 
25
42
  } catch (error) {
26
43
  console.log(error)