@lls/store 24.7.0-e855808f → 24.7.0-e9a945bf

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 (2) hide show
  1. package/lib/index.js +104 -60
  2. package/package.json +6 -8
package/lib/index.js CHANGED
@@ -750,12 +750,12 @@ init_define_import_meta();
750
750
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
751
751
  import { useMemo } from "react";
752
752
  import { useSelector } from "react-redux";
753
- var crud = (entityName, { search: search30 }) => {
753
+ var crud = (entityName, { search: search31 }) => {
754
754
  const getElements = makeGetAllEntities(entityName);
755
755
  const makeSearchElements = () => createSearchSelector(
756
756
  makeGetAllEntities(entityName),
757
757
  (_state, params) => params,
758
- (elements, params) => search30(params)(elements)
758
+ (elements, params) => search31(params)(elements)
759
759
  );
760
760
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
761
761
  const getElementById = makeGetEntityById(entityName);
@@ -765,7 +765,7 @@ var crud = (entityName, { search: search30 }) => {
765
765
  [`search${methodName}`]: makeSearchElements(),
766
766
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
767
767
  [`makeSearch${methodName}`]: makeSearchElements,
768
- [`filter${methodName}`]: search30,
768
+ [`filter${methodName}`]: search31,
769
769
  [`useSearch${methodName}`]: useSearch
770
770
  };
771
771
  return back;
@@ -979,7 +979,7 @@ var search9 = ({ ids, read, pageIds }) => {
979
979
  return makeEntitiesFilter7({ read, id: ids, page: pageIds });
980
980
  };
981
981
  var makeSearchCopyNotifications = () => createSearchSelector3(
982
- [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_19, params) => params],
982
+ [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_20, params) => params],
983
983
  (currentUser, copyNotifications, { pageIds, read }) => {
984
984
  const ids = currentUser?.copyNotifications;
985
985
  return search9({ ids, read, pageIds })(copyNotifications);
@@ -990,10 +990,17 @@ var useSearchCopyNotifications = makeUseSearch(makeSearchCopyNotifications);
990
990
  // src/selectors/document.ts
991
991
  init_define_import_meta();
992
992
  import { makeEntitiesFilter as makeEntitiesFilter8 } from "@lls/utils";
993
- var search10 = ({ ids, resourceIds }) => {
993
+ var search10 = ({
994
+ ids,
995
+ uuids,
996
+ resourceIds,
997
+ levelIds
998
+ }) => {
994
999
  return makeEntitiesFilter8({
995
1000
  id: ids,
996
- resourceId: resourceIds
1001
+ resourceId: resourceIds,
1002
+ levels: levelIds,
1003
+ uuidV2: uuids
997
1004
  });
998
1005
  };
999
1006
  var { useSearchDocuments } = crud("documents", {
@@ -1007,7 +1014,7 @@ var search11 = ({ ids, read, pageIds }) => {
1007
1014
  return makeEntitiesFilter9({ read, id: ids, page: pageIds });
1008
1015
  };
1009
1016
  var makeSearchDrawerNotifications = () => createSearchSelector4(
1010
- [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_19, params) => params],
1017
+ [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_20, params) => params],
1011
1018
  (currentUser, drawerNotifications, { read, pageIds }) => {
1012
1019
  const ids = currentUser?.drawerNotifications;
1013
1020
  return search11({ ids, read, pageIds })(drawerNotifications);
@@ -1045,9 +1052,22 @@ var getUserGroups = (0, import_reselect2.createSelector)(
1045
1052
  // src/selectors/level.ts
1046
1053
  init_define_import_meta();
1047
1054
  var import_reselect3 = __toESM(require_lib(), 1);
1048
- import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1055
+ import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1049
1056
  import _10 from "lodash/fp.js";
1050
- var search14 = ({
1057
+
1058
+ // src/selectors/schoolType.ts
1059
+ init_define_import_meta();
1060
+ import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1061
+ var search14 = ({ slugs }) => makeEntitiesFilter11({ slug: slugs });
1062
+ var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes, searchSchoolTypes } = crud(
1063
+ "schoolTypes",
1064
+ {
1065
+ search: search14
1066
+ }
1067
+ );
1068
+
1069
+ // src/selectors/level.ts
1070
+ var search15 = ({
1051
1071
  ids,
1052
1072
  slugs,
1053
1073
  isPreSchool,
@@ -1055,9 +1075,10 @@ var search14 = ({
1055
1075
  isHighSchool,
1056
1076
  isProHighSchool,
1057
1077
  isGenHighSchool,
1058
- isElementarySchool
1078
+ isElementarySchool,
1079
+ schoolTypes
1059
1080
  }) => _10.flow(
1060
- makeEntitiesFilter11({
1081
+ makeEntitiesFilter12({
1061
1082
  id: ids,
1062
1083
  slug: slugs,
1063
1084
  isPreSchool,
@@ -1065,35 +1086,49 @@ var search14 = ({
1065
1086
  isHighSchool,
1066
1087
  isProHighSchool,
1067
1088
  isGenHighSchool,
1068
- isElementarySchool
1089
+ isElementarySchool,
1090
+ schoolTypes
1069
1091
  }),
1070
1092
  _10.orderBy("order", "desc")
1071
1093
  );
1072
- var crudLevels = crud("levels", { search: search14 });
1073
- var { getLevel, useSearchLevels } = crudLevels;
1074
- var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _10.orderBy("order", "desc"));
1094
+ var makeSearchLevels = () => {
1095
+ const searchSchoolTypes2 = makeSearchSchoolTypes();
1096
+ return createSearchSelector5(
1097
+ makeGetAllEntities5("levels"),
1098
+ (state, { schoolTypes }) => schoolTypes ? searchSchoolTypes2(state, { slugs: schoolTypes }) : void 0,
1099
+ (_state, params) => params,
1100
+ (levels, schoolTypes, params) => search15({ ...params, schoolTypes: schoolTypes?.length ? schoolTypes?.map(({ id }) => id) : void 0 })(levels)
1101
+ );
1102
+ };
1103
+ var crudLevels = crud("levels", { search: search15 });
1104
+ var { getLevel, searchLevels } = crudLevels;
1105
+ var getLevels = (0, import_reselect3.createSelector)(
1106
+ crudLevels.getLevels,
1107
+ _10.orderBy("order", "desc")
1108
+ );
1109
+ var useSearchLevels = makeUseSearch(makeSearchLevels);
1075
1110
 
1076
1111
  // src/selectors/mainNotification.ts
1077
1112
  init_define_import_meta();
1078
1113
  var import_reselect4 = __toESM(require_lib(), 1);
1079
- import { makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1114
+ import { makeEntitiesFilter as makeEntitiesFilter13, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1080
1115
  import _11 from "lodash/fp.js";
1081
- var search15 = ({ ids }) => makeEntitiesFilter12({ id: ids });
1116
+ var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1082
1117
  var getMainNotifications = (0, import_reselect4.createSelector)(
1083
- [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities5("mainNotifications")],
1084
- (userNotifications, notifications) => search15({ ids: userNotifications })(notifications)
1118
+ [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities6("mainNotifications")],
1119
+ (userNotifications, notifications) => search16({ ids: userNotifications })(notifications)
1085
1120
  );
1086
1121
 
1087
1122
  // src/selectors/news.ts
1088
1123
  init_define_import_meta();
1089
- import { makeEntitiesFilter as makeEntitiesFilter13 } from "@lls/utils";
1090
- var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1124
+ import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1125
+ var search17 = ({ ids }) => makeEntitiesFilter14({ id: ids });
1091
1126
  var {
1092
1127
  getNews: getAllNews,
1093
1128
  getNew: getNews,
1094
1129
  useSearchNews
1095
1130
  } = crud("news", {
1096
- search: search16
1131
+ search: search17
1097
1132
  });
1098
1133
 
1099
1134
  // src/selectors/panorama.ts
@@ -1103,26 +1138,26 @@ var getPanorama = makeGetEntityById3("panoramas");
1103
1138
 
1104
1139
  // src/selectors/premiumResource.ts
1105
1140
  init_define_import_meta();
1106
- import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1107
- var search17 = ({ bookIds }) => makeEntitiesFilter14({ book: bookIds });
1141
+ import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1142
+ var search18 = ({ bookIds }) => makeEntitiesFilter15({ book: bookIds });
1108
1143
  var { getPremiumResources, getPremiumResource, useSearchPremiumResources } = crud("premiumResources", {
1109
- search: search17
1144
+ search: search18
1110
1145
  });
1111
1146
 
1112
1147
  // src/selectors/lexicalFlower.ts
1113
1148
  init_define_import_meta();
1114
- import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1115
- var search18 = ({ ids }) => makeEntitiesFilter15({ id: ids });
1149
+ import { makeEntitiesFilter as makeEntitiesFilter16 } from "@lls/utils";
1150
+ var search19 = ({ ids }) => makeEntitiesFilter16({ id: ids });
1116
1151
  var { getLexicalFlowers, useSearchLexicalFlowers } = crud("lexicalFlowers", {
1117
- search: search18
1152
+ search: search19
1118
1153
  });
1119
1154
 
1120
1155
  // src/selectors/product.ts
1121
1156
  init_define_import_meta();
1122
1157
  import _12 from "lodash/fp.js";
1123
- import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter16, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1124
- var getProducts = makeGetAllEntities6("products");
1125
- var search19 = ({
1158
+ import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter17, makeGetAllEntities as makeGetAllEntities7 } from "@lls/utils";
1159
+ var getProducts = makeGetAllEntities7("products");
1160
+ var search20 = ({
1126
1161
  ids,
1127
1162
  eans,
1128
1163
  isAdoptant,
@@ -1132,7 +1167,7 @@ var search19 = ({
1132
1167
  productTypes
1133
1168
  }) => {
1134
1169
  let bookIds;
1135
- const filter = makeEntitiesFilter16(
1170
+ const filter = makeEntitiesFilter17(
1136
1171
  {
1137
1172
  id: ids,
1138
1173
  ean: eans,
@@ -1149,36 +1184,28 @@ var search19 = ({
1149
1184
  };
1150
1185
  var makeSearchProducts = () => {
1151
1186
  const searchBooks = makeSearchBooks();
1152
- return createSearchSelector5(
1153
- makeGetAllEntities6("products"),
1187
+ return createSearchSelector6(
1188
+ makeGetAllEntities7("products"),
1154
1189
  (state, { levelIds, subjectIds }) => searchBooks(state, { levelIds, subjectIds }),
1155
1190
  (_state, params) => params,
1156
- (products, books, params) => search19(params)(products, books)
1191
+ (products, books, params) => search20(params)(products, books)
1157
1192
  );
1158
1193
  };
1159
1194
  var useSearchProducts = makeUseSearch(makeSearchProducts);
1160
1195
 
1161
1196
  // src/selectors/resource.ts
1162
1197
  init_define_import_meta();
1163
- import { makeEntitiesFilter as makeEntitiesFilter17 } from "@lls/utils";
1164
- var search20 = ({ chapterIds }) => makeEntitiesFilter17({
1198
+ import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1199
+ var search21 = ({ chapterIds }) => makeEntitiesFilter18({
1165
1200
  chapter: chapterIds
1166
1201
  });
1167
1202
  var { getResources, getResource, useSearchResources } = crud("resources", {
1168
- search: search20
1169
- });
1170
-
1171
- // src/selectors/schoolType.ts
1172
- init_define_import_meta();
1173
- import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1174
- var search21 = ({ slugs }) => makeEntitiesFilter18({ slug: slugs });
1175
- var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1176
1203
  search: search21
1177
1204
  });
1178
1205
 
1179
1206
  // src/selectors/sharedPage.ts
1180
1207
  init_define_import_meta();
1181
- import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1208
+ import { createSearchSelector as createSearchSelector7, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1182
1209
  import _13 from "lodash/fp.js";
1183
1210
  var search22 = ({
1184
1211
  parentIds,
@@ -1198,7 +1225,7 @@ var search22 = ({
1198
1225
  var { getSharedPages, getSharedPage, useSearchSharedPages } = crud("sharedPages", {
1199
1226
  search: search22
1200
1227
  });
1201
- var makeSearchCurrentUserSharedPages = () => createSearchSelector6(
1228
+ var makeSearchCurrentUserSharedPages = () => createSearchSelector7(
1202
1229
  getCurrentUser,
1203
1230
  getSharedPages,
1204
1231
  (__, params) => params,
@@ -1302,10 +1329,18 @@ var { getCirconscriptions } = crud("circonscriptions", {
1302
1329
  search: search29
1303
1330
  });
1304
1331
 
1332
+ // src/selectors/documentType.ts
1333
+ init_define_import_meta();
1334
+ import _16 from "lodash/fp.js";
1335
+ var search30 = (_params) => _16.identity;
1336
+ var { getDocumentTypes, getDocumentType } = crud("documentTypes", {
1337
+ search: search30
1338
+ });
1339
+
1305
1340
  // src/reducers/entities.ts
1306
1341
  init_define_import_meta();
1307
1342
  import { makeReducer } from "@lls/utils";
1308
- import _16 from "lodash/fp.js";
1343
+ import _17 from "lodash/fp.js";
1309
1344
 
1310
1345
  // src/actions/index.ts
1311
1346
  init_define_import_meta();
@@ -1328,16 +1363,16 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1328
1363
  // src/reducers/entities.ts
1329
1364
  var deleteEntityReducer = (state, payload) => {
1330
1365
  const { path } = payload;
1331
- return _16.omit(path, state);
1366
+ return _17.omit(path, state);
1332
1367
  };
1333
1368
  var updateEntityReducer = (state, payload) => {
1334
1369
  const { path, entity } = payload;
1335
- const currentEntity = _16.get(path, state);
1336
- return _16.set(path, _16.merge(currentEntity, entity), state);
1370
+ const currentEntity = _17.get(path, state);
1371
+ return _17.set(path, _17.merge(currentEntity, entity), state);
1337
1372
  };
1338
1373
  var setEntityReducer = (state, payload) => {
1339
1374
  const { path, entity } = payload;
1340
- return _16.set(path, entity, state);
1375
+ return _17.set(path, entity, state);
1341
1376
  };
1342
1377
  var setEntitiesReducer = (state, payload) => {
1343
1378
  if (typeof payload !== "object") return state;
@@ -1358,7 +1393,7 @@ var setEntitiesReducer = (state, payload) => {
1358
1393
  }
1359
1394
  const diff = Object.keys(entity).some((prop) => {
1360
1395
  const value = entity[prop];
1361
- if (!_16.isEqual(state[entityName]?.[id]?.[prop], value)) {
1396
+ if (!_17.isEqual(state[entityName]?.[id]?.[prop], value)) {
1362
1397
  return true;
1363
1398
  }
1364
1399
  });
@@ -1390,7 +1425,7 @@ var entities_default = entities;
1390
1425
  // src/reducers/auth.ts
1391
1426
  init_define_import_meta();
1392
1427
  import { makeReducer as makeReducer2 } from "@lls/utils";
1393
- import _17 from "lodash/fp.js";
1428
+ import _18 from "lodash/fp.js";
1394
1429
  var initialState = {
1395
1430
  id: void 0,
1396
1431
  role: null,
@@ -1403,16 +1438,16 @@ var initialState = {
1403
1438
  llsUserId: null
1404
1439
  };
1405
1440
  var auth = makeReducer2(initialState, {
1406
- [actionTypes.SET_AUTH]: _17.assign,
1407
- [actionTypes.RESET_AUTH]: _17.constant(initialState)
1441
+ [actionTypes.SET_AUTH]: _18.assign,
1442
+ [actionTypes.RESET_AUTH]: _18.constant(initialState)
1408
1443
  });
1409
1444
  var auth_default = auth;
1410
1445
 
1411
1446
  // src/schema/index.ts
1412
1447
  init_define_import_meta();
1413
1448
  var import_normalizr = __toESM(require_normalizr(), 1);
1414
- import _18 from "lodash/fp.js";
1415
- var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
1449
+ import _19 from "lodash/fp.js";
1450
+ var document = new import_normalizr.schema.Entity("documents");
1416
1451
  var subject = new import_normalizr.schema.Entity("subjects");
1417
1452
  var level = new import_normalizr.schema.Entity("levels");
1418
1453
  var book = new import_normalizr.schema.Entity("books");
@@ -1472,7 +1507,8 @@ var garDivisionSchema = define(garDivision, {
1472
1507
  school
1473
1508
  });
1474
1509
  var documentSchema = define(document, {
1475
- page
1510
+ page,
1511
+ levels: [level]
1476
1512
  });
1477
1513
  var chapterSchema = define(chapter, {
1478
1514
  book,
@@ -1562,6 +1598,9 @@ var newsSchema = define(news, {
1562
1598
  var premiumResourceSchema = define(premiumResource, {
1563
1599
  book
1564
1600
  });
1601
+ var levelSchema = define(level, {
1602
+ schoolTypes: [schoolType]
1603
+ });
1565
1604
  var querySchema = {
1566
1605
  viewer: {
1567
1606
  addCorrectionsToGroup: group,
@@ -1617,7 +1656,7 @@ var querySchema = {
1617
1656
  }
1618
1657
  }
1619
1658
  };
1620
- var normalizeData = _18.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1659
+ var normalizeData = _19.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1621
1660
  export {
1622
1661
  auth_default as authReducer,
1623
1662
  entities_default as entitiesReducer,
@@ -1639,6 +1678,8 @@ export {
1639
1678
  getContact,
1640
1679
  getContacts,
1641
1680
  getCurrentUser,
1681
+ getDocumentType,
1682
+ getDocumentTypes,
1642
1683
  getDraft,
1643
1684
  getDrafts,
1644
1685
  getFaqs,
@@ -1683,6 +1724,7 @@ export {
1683
1724
  makeGetCurrentUser,
1684
1725
  makeSearchBooks,
1685
1726
  makeSearchDrawerNotifications,
1727
+ makeSearchLevels,
1686
1728
  makeSearchPages,
1687
1729
  makeSearchSchoolTypes,
1688
1730
  makeSearchSubjects,
@@ -1690,6 +1732,8 @@ export {
1690
1732
  makeUseSearch,
1691
1733
  normalizeData,
1692
1734
  querySchema,
1735
+ searchLevels,
1736
+ searchSchoolTypes,
1693
1737
  setEntitiesReducer,
1694
1738
  useSearchBooks,
1695
1739
  useSearchBuilderIos,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@lls/store",
3
3
  "description": "model de donnée et selecteurs",
4
4
  "homepage": "https://github.com/lelivrescolaire/monorepo/tree/dev/libs/store",
5
- "version": "24.7.0-e855808f",
5
+ "version": "24.7.0-e9a945bf",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -46,11 +46,10 @@
46
46
  "redux": "5.0.1",
47
47
  "reselect": "4.1.8",
48
48
  "typescript": "5.6.3",
49
- "vite": "5.4.10",
50
- "vite-tsconfig-paths": "5.1.1",
51
- "vitest": "2.1.4",
52
- "@lls/utils": "24.7.0-e855808f",
53
- "@lls/vitescripts": "24.7.0-e855808f"
49
+ "vite": "5.4.11",
50
+ "vite-tsconfig-paths": "5.1.3",
51
+ "@lls/utils": "24.7.0-e9a945bf",
52
+ "@lls/vitescripts": "24.7.0-e9a945bf"
54
53
  },
55
54
  "license": "ISC",
56
55
  "dependencies": {
@@ -60,7 +59,6 @@
60
59
  "build": "node build.mjs",
61
60
  "lint": "pnpm biome check --apply src __tests__",
62
61
  "dts": "pnpm tsc --project tsconfig.production.json",
63
- "test": "pnpm vitest run",
64
- "v2test": "bun test"
62
+ "test": "bun test"
65
63
  }
66
64
  }