@lls/store 24.8.0-e550c76d → 24.8.0-ea2ce9d7

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 +119 -59
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -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"), (_20, params) => params],
982
+ [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_19, params) => params],
983
983
  (currentUser, copyNotifications, { pageIds, read }) => {
984
984
  const ids = currentUser?.copyNotifications;
985
985
  return search9({ ids, read, pageIds })(copyNotifications);
@@ -992,13 +992,21 @@ init_define_import_meta();
992
992
  import { makeEntitiesFilter as makeEntitiesFilter8 } from "@lls/utils";
993
993
  var search10 = ({
994
994
  ids,
995
+ uuids,
995
996
  resourceIds,
996
- levelIds
997
+ levelIds,
998
+ formats,
999
+ documentTypes,
1000
+ subDocumentTypes
997
1001
  }) => {
998
1002
  return makeEntitiesFilter8({
999
1003
  id: ids,
1000
1004
  resourceId: resourceIds,
1001
- levels: levelIds
1005
+ levels: levelIds,
1006
+ uuidV2: uuids,
1007
+ format: formats,
1008
+ documentType: documentTypes,
1009
+ subDocumentType: subDocumentTypes
1002
1010
  });
1003
1011
  };
1004
1012
  var { useSearchDocuments } = crud("documents", {
@@ -1012,7 +1020,7 @@ var search11 = ({ ids, read, pageIds }) => {
1012
1020
  return makeEntitiesFilter9({ read, id: ids, page: pageIds });
1013
1021
  };
1014
1022
  var makeSearchDrawerNotifications = () => createSearchSelector4(
1015
- [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_20, params) => params],
1023
+ [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_19, params) => params],
1016
1024
  (currentUser, drawerNotifications, { read, pageIds }) => {
1017
1025
  const ids = currentUser?.drawerNotifications;
1018
1026
  return search11({ ids, read, pageIds })(drawerNotifications);
@@ -1050,9 +1058,22 @@ var getUserGroups = (0, import_reselect2.createSelector)(
1050
1058
  // src/selectors/level.ts
1051
1059
  init_define_import_meta();
1052
1060
  var import_reselect3 = __toESM(require_lib(), 1);
1053
- import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1061
+ import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1054
1062
  import _10 from "lodash/fp.js";
1055
- var search14 = ({
1063
+
1064
+ // src/selectors/schoolType.ts
1065
+ init_define_import_meta();
1066
+ import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1067
+ var search14 = ({ slugs }) => makeEntitiesFilter11({ slug: slugs });
1068
+ var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes, searchSchoolTypes } = crud(
1069
+ "schoolTypes",
1070
+ {
1071
+ search: search14
1072
+ }
1073
+ );
1074
+
1075
+ // src/selectors/level.ts
1076
+ var search15 = ({
1056
1077
  ids,
1057
1078
  slugs,
1058
1079
  isPreSchool,
@@ -1060,9 +1081,10 @@ var search14 = ({
1060
1081
  isHighSchool,
1061
1082
  isProHighSchool,
1062
1083
  isGenHighSchool,
1063
- isElementarySchool
1084
+ isElementarySchool,
1085
+ schoolTypes
1064
1086
  }) => _10.flow(
1065
- makeEntitiesFilter11({
1087
+ makeEntitiesFilter12({
1066
1088
  id: ids,
1067
1089
  slug: slugs,
1068
1090
  isPreSchool,
@@ -1070,35 +1092,49 @@ var search14 = ({
1070
1092
  isHighSchool,
1071
1093
  isProHighSchool,
1072
1094
  isGenHighSchool,
1073
- isElementarySchool
1095
+ isElementarySchool,
1096
+ schoolTypes
1074
1097
  }),
1075
1098
  _10.orderBy("order", "desc")
1076
1099
  );
1077
- var crudLevels = crud("levels", { search: search14 });
1078
- var { getLevel, useSearchLevels } = crudLevels;
1079
- var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _10.orderBy("order", "desc"));
1100
+ var makeSearchLevels = () => {
1101
+ const searchSchoolTypes2 = makeSearchSchoolTypes();
1102
+ return createSearchSelector5(
1103
+ makeGetAllEntities5("levels"),
1104
+ (state, { schoolTypes }) => schoolTypes ? searchSchoolTypes2(state, { slugs: schoolTypes }) : void 0,
1105
+ (_state, params) => params,
1106
+ (levels, schoolTypes, params) => search15({ ...params, schoolTypes: schoolTypes?.length ? schoolTypes?.map(({ id }) => id) : void 0 })(levels)
1107
+ );
1108
+ };
1109
+ var crudLevels = crud("levels", { search: search15 });
1110
+ var { getLevel, searchLevels } = crudLevels;
1111
+ var getLevels = (0, import_reselect3.createSelector)(
1112
+ crudLevels.getLevels,
1113
+ _10.orderBy("order", "desc")
1114
+ );
1115
+ var useSearchLevels = makeUseSearch(makeSearchLevels);
1080
1116
 
1081
1117
  // src/selectors/mainNotification.ts
1082
1118
  init_define_import_meta();
1083
1119
  var import_reselect4 = __toESM(require_lib(), 1);
1084
- import { makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1120
+ import { makeEntitiesFilter as makeEntitiesFilter13, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1085
1121
  import _11 from "lodash/fp.js";
1086
- var search15 = ({ ids }) => makeEntitiesFilter12({ id: ids });
1122
+ var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1087
1123
  var getMainNotifications = (0, import_reselect4.createSelector)(
1088
- [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities5("mainNotifications")],
1089
- (userNotifications, notifications) => search15({ ids: userNotifications })(notifications)
1124
+ [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities6("mainNotifications")],
1125
+ (userNotifications, notifications) => search16({ ids: userNotifications })(notifications)
1090
1126
  );
1091
1127
 
1092
1128
  // src/selectors/news.ts
1093
1129
  init_define_import_meta();
1094
- import { makeEntitiesFilter as makeEntitiesFilter13 } from "@lls/utils";
1095
- var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1130
+ import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1131
+ var search17 = ({ ids }) => makeEntitiesFilter14({ id: ids });
1096
1132
  var {
1097
1133
  getNews: getAllNews,
1098
1134
  getNew: getNews,
1099
1135
  useSearchNews
1100
1136
  } = crud("news", {
1101
- search: search16
1137
+ search: search17
1102
1138
  });
1103
1139
 
1104
1140
  // src/selectors/panorama.ts
@@ -1108,26 +1144,26 @@ var getPanorama = makeGetEntityById3("panoramas");
1108
1144
 
1109
1145
  // src/selectors/premiumResource.ts
1110
1146
  init_define_import_meta();
1111
- import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1112
- var search17 = ({ bookIds }) => makeEntitiesFilter14({ book: bookIds });
1147
+ import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1148
+ var search18 = ({ bookIds }) => makeEntitiesFilter15({ book: bookIds });
1113
1149
  var { getPremiumResources, getPremiumResource, useSearchPremiumResources } = crud("premiumResources", {
1114
- search: search17
1150
+ search: search18
1115
1151
  });
1116
1152
 
1117
1153
  // src/selectors/lexicalFlower.ts
1118
1154
  init_define_import_meta();
1119
- import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1120
- var search18 = ({ ids }) => makeEntitiesFilter15({ id: ids });
1155
+ import { makeEntitiesFilter as makeEntitiesFilter16 } from "@lls/utils";
1156
+ var search19 = ({ ids }) => makeEntitiesFilter16({ id: ids });
1121
1157
  var { getLexicalFlowers, useSearchLexicalFlowers } = crud("lexicalFlowers", {
1122
- search: search18
1158
+ search: search19
1123
1159
  });
1124
1160
 
1125
1161
  // src/selectors/product.ts
1126
1162
  init_define_import_meta();
1127
1163
  import _12 from "lodash/fp.js";
1128
- import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter16, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1129
- var getProducts = makeGetAllEntities6("products");
1130
- var search19 = ({
1164
+ import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter17, makeGetAllEntities as makeGetAllEntities7 } from "@lls/utils";
1165
+ var getProducts = makeGetAllEntities7("products");
1166
+ var search20 = ({
1131
1167
  ids,
1132
1168
  eans,
1133
1169
  isAdoptant,
@@ -1137,7 +1173,7 @@ var search19 = ({
1137
1173
  productTypes
1138
1174
  }) => {
1139
1175
  let bookIds;
1140
- const filter = makeEntitiesFilter16(
1176
+ const filter = makeEntitiesFilter17(
1141
1177
  {
1142
1178
  id: ids,
1143
1179
  ean: eans,
@@ -1154,36 +1190,28 @@ var search19 = ({
1154
1190
  };
1155
1191
  var makeSearchProducts = () => {
1156
1192
  const searchBooks = makeSearchBooks();
1157
- return createSearchSelector5(
1158
- makeGetAllEntities6("products"),
1193
+ return createSearchSelector6(
1194
+ makeGetAllEntities7("products"),
1159
1195
  (state, { levelIds, subjectIds }) => searchBooks(state, { levelIds, subjectIds }),
1160
1196
  (_state, params) => params,
1161
- (products, books, params) => search19(params)(products, books)
1197
+ (products, books, params) => search20(params)(products, books)
1162
1198
  );
1163
1199
  };
1164
1200
  var useSearchProducts = makeUseSearch(makeSearchProducts);
1165
1201
 
1166
1202
  // src/selectors/resource.ts
1167
1203
  init_define_import_meta();
1168
- import { makeEntitiesFilter as makeEntitiesFilter17 } from "@lls/utils";
1169
- var search20 = ({ chapterIds }) => makeEntitiesFilter17({
1204
+ import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1205
+ var search21 = ({ chapterIds }) => makeEntitiesFilter18({
1170
1206
  chapter: chapterIds
1171
1207
  });
1172
1208
  var { getResources, getResource, useSearchResources } = crud("resources", {
1173
- search: search20
1174
- });
1175
-
1176
- // src/selectors/schoolType.ts
1177
- init_define_import_meta();
1178
- import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1179
- var search21 = ({ slugs }) => makeEntitiesFilter18({ slug: slugs });
1180
- var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1181
1209
  search: search21
1182
1210
  });
1183
1211
 
1184
1212
  // src/selectors/sharedPage.ts
1185
1213
  init_define_import_meta();
1186
- import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1214
+ import { createSearchSelector as createSearchSelector7, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1187
1215
  import _13 from "lodash/fp.js";
1188
1216
  var search22 = ({
1189
1217
  parentIds,
@@ -1203,7 +1231,7 @@ var search22 = ({
1203
1231
  var { getSharedPages, getSharedPage, useSearchSharedPages } = crud("sharedPages", {
1204
1232
  search: search22
1205
1233
  });
1206
- var makeSearchCurrentUserSharedPages = () => createSearchSelector6(
1234
+ var makeSearchCurrentUserSharedPages = () => createSearchSelector7(
1207
1235
  getCurrentUser,
1208
1236
  getSharedPages,
1209
1237
  (__, params) => params,
@@ -1309,16 +1337,30 @@ var { getCirconscriptions } = crud("circonscriptions", {
1309
1337
 
1310
1338
  // src/selectors/documentType.ts
1311
1339
  init_define_import_meta();
1312
- import _16 from "lodash/fp.js";
1313
- var search30 = (_params) => _16.identity;
1314
- var { getDocumentTypes, getDocumentType } = crud("documentTypes", {
1340
+ import { makeEntitiesFilter as makeEntitiesFilter26 } from "@lls/utils";
1341
+ var search30 = ({ ids }) => {
1342
+ return makeEntitiesFilter26({
1343
+ id: ids
1344
+ });
1345
+ };
1346
+ var searchSubDocumentType = ({
1347
+ ids
1348
+ }) => {
1349
+ return makeEntitiesFilter26({
1350
+ id: ids
1351
+ });
1352
+ };
1353
+ var { getSubDocumentTypes, useSearchSubDocumentTypes } = crud("subDocumentTypes", {
1354
+ search: searchSubDocumentType
1355
+ });
1356
+ var { getDocumentTypes, getDocumentType, useSearchDocumentTypes } = crud("documentTypes", {
1315
1357
  search: search30
1316
1358
  });
1317
1359
 
1318
1360
  // src/reducers/entities.ts
1319
1361
  init_define_import_meta();
1320
1362
  import { makeReducer } from "@lls/utils";
1321
- import _17 from "lodash/fp.js";
1363
+ import _16 from "lodash/fp.js";
1322
1364
 
1323
1365
  // src/actions/index.ts
1324
1366
  init_define_import_meta();
@@ -1341,16 +1383,16 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1341
1383
  // src/reducers/entities.ts
1342
1384
  var deleteEntityReducer = (state, payload) => {
1343
1385
  const { path } = payload;
1344
- return _17.omit(path, state);
1386
+ return _16.omit(path, state);
1345
1387
  };
1346
1388
  var updateEntityReducer = (state, payload) => {
1347
1389
  const { path, entity } = payload;
1348
- const currentEntity = _17.get(path, state);
1349
- return _17.set(path, _17.merge(currentEntity, entity), state);
1390
+ const currentEntity = _16.get(path, state);
1391
+ return _16.set(path, _16.merge(currentEntity, entity), state);
1350
1392
  };
1351
1393
  var setEntityReducer = (state, payload) => {
1352
1394
  const { path, entity } = payload;
1353
- return _17.set(path, entity, state);
1395
+ return _16.set(path, entity, state);
1354
1396
  };
1355
1397
  var setEntitiesReducer = (state, payload) => {
1356
1398
  if (typeof payload !== "object") return state;
@@ -1371,7 +1413,7 @@ var setEntitiesReducer = (state, payload) => {
1371
1413
  }
1372
1414
  const diff = Object.keys(entity).some((prop) => {
1373
1415
  const value = entity[prop];
1374
- if (!_17.isEqual(state[entityName]?.[id]?.[prop], value)) {
1416
+ if (!_16.isEqual(state[entityName]?.[id]?.[prop], value)) {
1375
1417
  return true;
1376
1418
  }
1377
1419
  });
@@ -1403,7 +1445,7 @@ var entities_default = entities;
1403
1445
  // src/reducers/auth.ts
1404
1446
  init_define_import_meta();
1405
1447
  import { makeReducer as makeReducer2 } from "@lls/utils";
1406
- import _18 from "lodash/fp.js";
1448
+ import _17 from "lodash/fp.js";
1407
1449
  var initialState = {
1408
1450
  id: void 0,
1409
1451
  role: null,
@@ -1416,16 +1458,18 @@ var initialState = {
1416
1458
  llsUserId: null
1417
1459
  };
1418
1460
  var auth = makeReducer2(initialState, {
1419
- [actionTypes.SET_AUTH]: _18.assign,
1420
- [actionTypes.RESET_AUTH]: _18.constant(initialState)
1461
+ [actionTypes.SET_AUTH]: _17.assign,
1462
+ [actionTypes.RESET_AUTH]: _17.constant(initialState)
1421
1463
  });
1422
1464
  var auth_default = auth;
1423
1465
 
1424
1466
  // src/schema/index.ts
1425
1467
  init_define_import_meta();
1426
1468
  var import_normalizr = __toESM(require_normalizr(), 1);
1427
- import _19 from "lodash/fp.js";
1469
+ import _18 from "lodash/fp.js";
1428
1470
  var document = new import_normalizr.schema.Entity("documents");
1471
+ var documentType = new import_normalizr.schema.Entity("documentTypes");
1472
+ var subDocumentType = new import_normalizr.schema.Entity("subDocumentTypes");
1429
1473
  var subject = new import_normalizr.schema.Entity("subjects");
1430
1474
  var level = new import_normalizr.schema.Entity("levels");
1431
1475
  var book = new import_normalizr.schema.Entity("books");
@@ -1484,9 +1528,14 @@ var garDivisionSchema = define(garDivision, {
1484
1528
  students: [user],
1485
1529
  school
1486
1530
  });
1531
+ var documentTypeSchema = define(documentType, {
1532
+ subTypes: [subDocumentType]
1533
+ });
1487
1534
  var documentSchema = define(document, {
1488
1535
  page,
1489
- levels: [level]
1536
+ levels: [level],
1537
+ documentType,
1538
+ subDocumentType
1490
1539
  });
1491
1540
  var chapterSchema = define(chapter, {
1492
1541
  book,
@@ -1576,6 +1625,9 @@ var newsSchema = define(news, {
1576
1625
  var premiumResourceSchema = define(premiumResource, {
1577
1626
  book
1578
1627
  });
1628
+ var levelSchema = define(level, {
1629
+ schoolTypes: [schoolType]
1630
+ });
1579
1631
  var querySchema = {
1580
1632
  viewer: {
1581
1633
  addCorrectionsToGroup: group,
@@ -1591,6 +1643,8 @@ var querySchema = {
1591
1643
  createUser: user,
1592
1644
  createLexicalFlower: lexicalFlower,
1593
1645
  documents: { hits: [document] },
1646
+ documentTypes: { hits: [documentType] },
1647
+ subDocumentTypes: { hits: [subDocumentType] },
1594
1648
  explorerResults: [explorerResult],
1595
1649
  levels: [level],
1596
1650
  me: user,
@@ -1631,7 +1685,7 @@ var querySchema = {
1631
1685
  }
1632
1686
  }
1633
1687
  };
1634
- var normalizeData = _19.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1688
+ var normalizeData = _18.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1635
1689
  export {
1636
1690
  auth_default as authReducer,
1637
1691
  entities_default as entitiesReducer,
@@ -1685,6 +1739,7 @@ export {
1685
1739
  getSharedPages,
1686
1740
  getStudent,
1687
1741
  getStudents,
1742
+ getSubDocumentTypes,
1688
1743
  getSubject,
1689
1744
  getSubjects,
1690
1745
  getTeacher,
@@ -1699,6 +1754,7 @@ export {
1699
1754
  makeGetCurrentUser,
1700
1755
  makeSearchBooks,
1701
1756
  makeSearchDrawerNotifications,
1757
+ makeSearchLevels,
1702
1758
  makeSearchPages,
1703
1759
  makeSearchSchoolTypes,
1704
1760
  makeSearchSubjects,
@@ -1706,6 +1762,8 @@ export {
1706
1762
  makeUseSearch,
1707
1763
  normalizeData,
1708
1764
  querySchema,
1765
+ searchLevels,
1766
+ searchSchoolTypes,
1709
1767
  setEntitiesReducer,
1710
1768
  useSearchBooks,
1711
1769
  useSearchBuilderIos,
@@ -1715,6 +1773,7 @@ export {
1715
1773
  useSearchContacts,
1716
1774
  useSearchCopyNotifications,
1717
1775
  useSearchCurrentUserSharedPages,
1776
+ useSearchDocumentTypes,
1718
1777
  useSearchDocuments,
1719
1778
  useSearchDrafts,
1720
1779
  useSearchDrawerNotifications,
@@ -1733,6 +1792,7 @@ export {
1733
1792
  useSearchSchools,
1734
1793
  useSearchSharedPages,
1735
1794
  useSearchStudents,
1795
+ useSearchSubDocumentTypes,
1736
1796
  useSearchSubjects,
1737
1797
  useSearchTeachers,
1738
1798
  useSearchTools,
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.8.0-e550c76d",
5
+ "version": "24.8.0-ea2ce9d7",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -48,8 +48,8 @@
48
48
  "typescript": "5.6.3",
49
49
  "vite": "5.4.11",
50
50
  "vite-tsconfig-paths": "5.1.3",
51
- "@lls/utils": "24.8.0-e550c76d",
52
- "@lls/vitescripts": "24.8.0-e550c76d"
51
+ "@lls/utils": "24.8.0-ea2ce9d7",
52
+ "@lls/vitescripts": "24.8.0-ea2ce9d7"
53
53
  },
54
54
  "license": "ISC",
55
55
  "dependencies": {