@lls/store 24.1.59-6b359862 → 24.1.59-7f7e47b5

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 +275 -26
  2. package/package.json +4 -4
package/lib/index.js CHANGED
@@ -736,20 +736,19 @@ init_define_import_meta();
736
736
  // src/selectors/school.ts
737
737
  init_define_import_meta();
738
738
  import { filterEntitiesSimpleFieldByValues } from "@lls/utils";
739
- import _2 from "lodash/fp.js";
739
+ import _ from "lodash/fp.js";
740
740
 
741
741
  // src/selectors/crud.ts
742
742
  init_define_import_meta();
743
743
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
744
- import _ from "lodash/fp.js";
745
- var crud = (entityName, { search: search3 }) => {
744
+ var crud = (entityName, { search: search9 }) => {
746
745
  const getElements = makeGetAllEntities(entityName);
747
746
  const makeSearchElements = () => createSearchSelector(
748
747
  getElements,
749
748
  (_state, params) => params,
750
- (elements, params) => search3(params)(elements)
749
+ (elements, params) => search9(params)(elements)
751
750
  );
752
- const methodName = _.capitalize(entityName);
751
+ const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
753
752
  const getElementById = makeGetEntityById(entityName);
754
753
  const back = {
755
754
  [`get${methodName}`]: getElements,
@@ -761,15 +760,65 @@ var crud = (entityName, { search: search3 }) => {
761
760
  };
762
761
 
763
762
  // src/selectors/school.ts
764
- var search = ({ ids }) => _2.flow(filterEntitiesSimpleFieldByValues("id", ids));
763
+ var search = ({ ids }) => _.flow(filterEntitiesSimpleFieldByValues("id", ids));
765
764
  var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
766
765
  search
767
766
  });
768
767
 
768
+ // src/selectors/book.ts
769
+ init_define_import_meta();
770
+ import {
771
+ createSearchSelector as createSearchSelector2,
772
+ filterEntitiesArrayFieldByValues,
773
+ filterEntitiesSimpleFieldByValue,
774
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2,
775
+ makeGetEntityById as makeGetEntityById2
776
+ } from "@lls/utils";
777
+ import _2 from "lodash/fp.js";
778
+ var search2 = ({
779
+ ids,
780
+ levelIds,
781
+ subjectIds,
782
+ years,
783
+ isValid,
784
+ isWorkbook,
785
+ isWorkplan,
786
+ hasNoTeacherBook,
787
+ sortByQuery,
788
+ hasNewDesign,
789
+ slugs,
790
+ uris,
791
+ publishers,
792
+ isRenewed,
793
+ isPrimary
794
+ }) => _2.flow(
795
+ filterEntitiesSimpleFieldByValues2("id", ids),
796
+ filterEntitiesSimpleFieldByValues2("year", years),
797
+ filterEntitiesArrayFieldByValues("levels", levelIds),
798
+ filterEntitiesArrayFieldByValues("subjects", subjectIds),
799
+ filterEntitiesSimpleFieldByValues2("valid", _2.isNil(isValid) ? void 0 : [isValid]),
800
+ filterEntitiesSimpleFieldByValues2("publisher", publishers),
801
+ filterEntitiesSimpleFieldByValues2("hasNewDesign", _2.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
802
+ filterEntitiesSimpleFieldByValues2("isWorkbook", _2.isNil(isWorkbook) ? void 0 : [isWorkbook]),
803
+ filterEntitiesSimpleFieldByValues2("isWorkplan", _2.isNil(isWorkplan) ? void 0 : [isWorkplan]),
804
+ filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _2.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
805
+ filterEntitiesSimpleFieldByValues2("slug", slugs),
806
+ filterEntitiesSimpleFieldByValues2("uri", uris),
807
+ filterEntitiesSimpleFieldByValues2("isRenewed", _2.isNil(isRenewed) ? void 0 : [isRenewed]),
808
+ filterEntitiesSimpleFieldByValue("isPrimary", isPrimary),
809
+ _2.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _2.sortBy(sortByQuery) : _2.identity
810
+ );
811
+ var { getBooks, getBook, searchBooks, makeSearchBooks } = crud("books", {
812
+ search: search2
813
+ });
814
+ var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _2.filter({ valid: true, hasNewDesign: true }, books));
815
+ var searchValidBooks = makeSearchValidBooks();
816
+ var makeGetBook = () => makeGetEntityById2("books");
817
+
769
818
  // src/selectors/user.ts
770
819
  init_define_import_meta();
771
820
  var import_reselect = __toESM(require_lib(), 1);
772
- import { filterEntitiesArrayFieldByValues, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2 } from "@lls/utils";
821
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues3 } from "@lls/utils";
773
822
  import _4 from "lodash/fp.js";
774
823
 
775
824
  // src/selectors/auth.ts
@@ -780,9 +829,9 @@ var getIsLogged = _3.flow(_3.get("auth.id"), _3.negate(_3.isNil));
780
829
  var getToken = _3.get("auth.token");
781
830
 
782
831
  // src/selectors/user.ts
783
- var search2 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues("schools", schoolIds), filterEntitiesSimpleFieldByValues2("id", ids));
832
+ var search3 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues2("schools", schoolIds), filterEntitiesSimpleFieldByValues3("id", ids));
784
833
  var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
785
- search: search2
834
+ search: search3
786
835
  });
787
836
  var getCurrentUser = (0, import_reselect.createSelector)(
788
837
  getAuth,
@@ -790,10 +839,172 @@ var getCurrentUser = (0, import_reselect.createSelector)(
790
839
  (auth2, users) => users?.find((user2) => user2?.id === auth2?.id)
791
840
  );
792
841
 
842
+ // src/selectors/chapter.ts
843
+ init_define_import_meta();
844
+ import { filterEntitiesFieldExists, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues4 } from "@lls/utils";
845
+ import _5 from "lodash/fp.js";
846
+ var search4 = ({ bookIds, ids, hasTeacherBook }) => _5.flow(
847
+ filterEntitiesSimpleFieldByValues4("book", bookIds),
848
+ filterEntitiesSimpleFieldByValues4("id", ids),
849
+ filterEntitiesFieldExists("teacherBook", hasTeacherBook)
850
+ );
851
+ var { getChapters, getChapter, searchChapters, makeSearchChapters } = crud("chapters", {
852
+ search: search4
853
+ });
854
+
855
+ // src/selectors/page.ts
856
+ init_define_import_meta();
857
+ import {
858
+ createSearchSelector as createSearchSelector3,
859
+ filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3,
860
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5,
861
+ makeGetAllEntities as makeGetAllEntities2,
862
+ makeGetEntityById as makeGetEntityById3
863
+ } from "@lls/utils";
864
+ import _6 from "lodash/fp.js";
865
+ var search5 = ({
866
+ ids,
867
+ chapterIds,
868
+ isValid,
869
+ oldLessonIds,
870
+ premium,
871
+ thematicNames,
872
+ bookIds,
873
+ isOriginal,
874
+ hasNewDesign,
875
+ slugs,
876
+ isLearningAssessment,
877
+ isCreatedFromScratch
878
+ }) => _6.flow(
879
+ filterEntitiesSimpleFieldByValues5("id", ids),
880
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
881
+ filterEntitiesSimpleFieldByValues5("valid", _6.isNil(isValid) ? void 0 : [isValid]),
882
+ filterEntitiesSimpleFieldByValues5("isOriginal", _6.isNil(isOriginal) ? void 0 : [isOriginal]),
883
+ filterEntitiesSimpleFieldByValues5("hasNewDesign", _6.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
884
+ filterEntitiesSimpleFieldByValues5("slug", slugs),
885
+ filterEntitiesSimpleFieldByValues5("oldLesson", oldLessonIds),
886
+ filterEntitiesSimpleFieldByValues5(
887
+ "isLearningAssessment",
888
+ _6.isNil(isLearningAssessment) ? void 0 : [isLearningAssessment]
889
+ ),
890
+ filterEntitiesSimpleFieldByValues5(
891
+ "isCreatedFromScratch",
892
+ _6.isNil(isCreatedFromScratch) ? void 0 : [isCreatedFromScratch]
893
+ ),
894
+ filterEntitiesSimpleFieldByValues5("premium", _6.isNil(premium) ? void 0 : [premium]),
895
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
896
+ filterEntitiesSimpleFieldByValues5("book", bookIds)
897
+ );
898
+ var { getPages, getPage, searchPages, makeSearchPages } = crud("pages", {
899
+ search: search5
900
+ });
901
+ var getDraftPages = makeGetAllEntities2("drafts");
902
+ var makeGetDraftPage = () => makeGetEntityById3("drafts");
903
+ var getDraftPage = makeGetDraftPage();
904
+ var makeSearchDraftPages = () => createSearchSelector3(
905
+ getDraftPages,
906
+ (_state, params) => params,
907
+ (pages, params) => search5(params)(pages)
908
+ );
909
+ var searchDraftPages = makeSearchDraftPages();
910
+ var makeSearchModifiedPages = () => createSearchSelector3(
911
+ getPages,
912
+ (_state, params) => params,
913
+ (pages, {
914
+ chapterIds,
915
+ userIds,
916
+ originalPageIds,
917
+ parentIds,
918
+ bookIds,
919
+ sharedUserIds,
920
+ updatedAfter,
921
+ isLearningAssessment,
922
+ thematicNames,
923
+ isDraft,
924
+ isCreatedFromScratch,
925
+ isParentCreatedFromScratch,
926
+ sharedGroups
927
+ }) => _6.flow(
928
+ filterEntitiesSimpleFieldByValues5("parent", parentIds),
929
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
930
+ filterEntitiesSimpleFieldByValues5("book", bookIds),
931
+ filterEntitiesSimpleFieldByValues5("user", userIds),
932
+ filterEntitiesSimpleFieldByValues5("originalPage", originalPageIds),
933
+ filterEntitiesArrayFieldByValues3("sharedUsers", sharedUserIds),
934
+ filterEntitiesArrayFieldByValues3("sharedGroups", sharedGroups),
935
+ filterEntitiesSimpleFieldByValues5("isOriginal", [false]),
936
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
937
+ !_6.isNil(isLearningAssessment) ? filterEntitiesSimpleFieldByValues5("isLearningAssessment", [isLearningAssessment]) : _6.identity,
938
+ !_6.isNil(isCreatedFromScratch) ? filterEntitiesSimpleFieldByValues5("isCreatedFromScratch", [isCreatedFromScratch]) : _6.identity,
939
+ !_6.isNil(isDraft) ? filterEntitiesSimpleFieldByValues5("isDraft", [isDraft]) : _6.identity,
940
+ isParentCreatedFromScratch ? _6.filter(
941
+ (entity) => _6.flow(_6.find({ id: entity?.originalPage }), _6.get("isCreatedFromScratch"))(pages)
942
+ ) : _6.identity,
943
+ updatedAfter ? _6.filter(
944
+ _6.flow(_6.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
945
+ ) : _6.identity
946
+ )(pages)
947
+ );
948
+ var searchModifiedPages = makeSearchModifiedPages();
949
+
950
+ // src/selectors/collection.ts
951
+ init_define_import_meta();
952
+ import _7 from "lodash/fp.js";
953
+ var search6 = (_params) => _7.identity;
954
+ var { getCollections, getCollection, searchCollections, makeSearchCollections } = crud("collections", {
955
+ search: search6
956
+ });
957
+
958
+ // src/selectors/communityProject.ts
959
+ init_define_import_meta();
960
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues6 } from "@lls/utils";
961
+ import _8 from "lodash/fp.js";
962
+ var search7 = ({
963
+ slugs,
964
+ isFeatured,
965
+ projectTypes
966
+ }) => _8.flow(
967
+ filterEntitiesSimpleFieldByValues6("slug", slugs),
968
+ filterEntitiesSimpleFieldByValues6("isFeatured", _8.isNil(isFeatured) ? void 0 : [isFeatured]),
969
+ filterEntitiesArrayFieldByValues4("projectTypes", projectTypes)
970
+ );
971
+ var { getCommunityProjects, getCommunityProject, searchCommunityProjects, makeSearchCommunityProjects } = crud(
972
+ "communityProjects",
973
+ {
974
+ search: search7
975
+ }
976
+ );
977
+
978
+ // src/selectors/contact.ts
979
+ init_define_import_meta();
980
+ import _9 from "lodash/fp.js";
981
+ var search8 = (_params) => _9.identity;
982
+ var { getContacts, getContact, searchContacts, makeSearchContacts } = crud("contacts", {
983
+ search: search8
984
+ });
985
+
986
+ // src/selectors/copyNotification.ts
987
+ init_define_import_meta();
988
+ import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues7, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
989
+ import _10 from "lodash/fp.js";
990
+ var getCopyNotifications = makeGetAllEntities3("copyNotifications");
991
+ var makeSearchCopyNotifications = () => createSearchSelector4(
992
+ [getCurrentUser, getCopyNotifications, (_14, params) => params],
993
+ (currentUser, copyNotifications, { pageIds, read }) => _10.flow(
994
+ _10.get("copyNotifications"),
995
+ (ids) => _10.flow(
996
+ filterEntitiesSimpleFieldByValues7("id", ids),
997
+ filterEntitiesSimpleFieldByValues7("page", pageIds),
998
+ filterEntitiesSimpleFieldByValues7("read", _10.isNil(read) ? void 0 : [read])
999
+ )(copyNotifications)
1000
+ )(currentUser)
1001
+ );
1002
+ var searchCopyNotifications = makeSearchCopyNotifications();
1003
+
793
1004
  // src/reducers/entities.ts
794
1005
  init_define_import_meta();
795
1006
  import { makeReducer } from "@lls/utils";
796
- import _5 from "lodash/fp.js";
1007
+ import _11 from "lodash/fp.js";
797
1008
 
798
1009
  // src/actions/index.ts
799
1010
  init_define_import_meta();
@@ -816,23 +1027,23 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
816
1027
  // src/reducers/entities.ts
817
1028
  var deleteEntityReducer = (state, payload) => {
818
1029
  const { path } = payload;
819
- return _5.omit(path, state);
1030
+ return _11.omit(path, state);
820
1031
  };
821
1032
  var updateEntityReducer = (state, payload) => {
822
1033
  const { path, entity } = payload;
823
- const currentEntity = _5.get(path, state);
824
- return _5.set(path, _5.merge(currentEntity, entity), state);
1034
+ const currentEntity = _11.get(path, state);
1035
+ return _11.set(path, _11.merge(currentEntity, entity), state);
825
1036
  };
826
1037
  var setEntityReducer = (state, payload) => {
827
1038
  const { path, entity } = payload;
828
- return _5.set(path, entity, state);
1039
+ return _11.set(path, entity, state);
829
1040
  };
830
1041
  var shallowAssign = (old, next, transform) => {
831
1042
  let updated = false;
832
- const merged = _5.flow(
833
- _5.toPairs,
834
- _5.reduce((memo, [key, val]) => {
835
- if (_5.isEmpty(val)) return memo;
1043
+ const merged = _11.flow(
1044
+ _11.toPairs,
1045
+ _11.reduce((memo, [key, val]) => {
1046
+ if (_11.isEmpty(val)) return memo;
836
1047
  if (!old[key]) {
837
1048
  updated = true;
838
1049
  memo[key] = val;
@@ -845,7 +1056,7 @@ var shallowAssign = (old, next, transform) => {
845
1056
  return memo;
846
1057
  }
847
1058
  return memo;
848
- }, _5.clone(old))
1059
+ }, _11.clone(old))
849
1060
  )(next);
850
1061
  return updated ? merged : old;
851
1062
  };
@@ -854,7 +1065,7 @@ var setEntitiesReducer = (state, payload) => {
854
1065
  return shallowAssign(
855
1066
  entityKind,
856
1067
  nextEntityKind,
857
- (oldEntity, nextEntity) => _5.isEqual(oldEntity, nextEntity) ? oldEntity : _5.assign(oldEntity, nextEntity)
1068
+ (oldEntity, nextEntity) => _11.isEqual(oldEntity, nextEntity) ? oldEntity : _11.assign(oldEntity, nextEntity)
858
1069
  );
859
1070
  });
860
1071
  };
@@ -872,7 +1083,7 @@ var entities_default = entities;
872
1083
  // src/reducers/auth.ts
873
1084
  init_define_import_meta();
874
1085
  import { makeReducer as makeReducer2 } from "@lls/utils";
875
- import _6 from "lodash/fp.js";
1086
+ import _12 from "lodash/fp.js";
876
1087
  var initialState = {
877
1088
  id: void 0,
878
1089
  role: null,
@@ -885,15 +1096,15 @@ var initialState = {
885
1096
  llsUserId: null
886
1097
  };
887
1098
  var auth = makeReducer2(initialState, {
888
- [actionTypes.SET_AUTH]: _6.assign,
889
- [actionTypes.RESET_AUTH]: _6.constant(initialState)
1099
+ [actionTypes.SET_AUTH]: _12.assign,
1100
+ [actionTypes.RESET_AUTH]: _12.constant(initialState)
890
1101
  });
891
1102
  var auth_default = auth;
892
1103
 
893
1104
  // src/schema/index.ts
894
1105
  init_define_import_meta();
895
1106
  var import_normalizr = __toESM(require_normalizr(), 1);
896
- import _7 from "lodash/fp.js";
1107
+ import _13 from "lodash/fp.js";
897
1108
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
898
1109
  var subject = new import_normalizr.schema.Entity("subjects");
899
1110
  var level = new import_normalizr.schema.Entity("levels");
@@ -908,6 +1119,7 @@ var teacher = new import_normalizr.schema.Entity("teachers");
908
1119
  var faq = new import_normalizr.schema.Entity("faq");
909
1120
  var product = new import_normalizr.schema.Entity("products");
910
1121
  var communityProjects = new import_normalizr.schema.Entity("communityProjects");
1122
+ var builderIo = new import_normalizr.schema.Entity("builderIos");
911
1123
  var grammarRule = new import_normalizr.schema.Entity("grammarRules", {}, { idAttribute: "objectID" });
912
1124
  var mainNotification = new import_normalizr.schema.Entity("mainNotifications");
913
1125
  var explorerResult = new import_normalizr.schema.Entity("explorerResults", {}, { idAttribute: "resourceId" });
@@ -1070,7 +1282,8 @@ var querySchema = {
1070
1282
  addLikeFaq: faq,
1071
1283
  communityProjects: [communityProjects],
1072
1284
  createAnalytics: analytic,
1073
- faq: [faq]
1285
+ faq: [faq],
1286
+ builderIos: [builderIo]
1074
1287
  },
1075
1288
  static: {
1076
1289
  projetVoltaire: {
@@ -1078,20 +1291,56 @@ var querySchema = {
1078
1291
  }
1079
1292
  }
1080
1293
  };
1081
- var normalizeData = _7.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1294
+ var normalizeData = _13.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1082
1295
  export {
1083
1296
  auth_default as authReducer,
1084
1297
  entities_default as entitiesReducer,
1298
+ getBook,
1299
+ getBooks,
1300
+ getChapter,
1301
+ getChapters,
1302
+ getCollection,
1303
+ getCollections,
1304
+ getCommunityProject,
1305
+ getCommunityProjects,
1306
+ getContact,
1307
+ getContacts,
1085
1308
  getCurrentUser,
1309
+ getDraftPage,
1310
+ getDraftPages,
1311
+ getPage,
1312
+ getPages,
1086
1313
  getSchool,
1087
1314
  getSchools,
1088
1315
  getUser,
1089
1316
  getUsers,
1317
+ makeGetBook,
1318
+ makeGetDraftPage,
1319
+ makeSearchBooks,
1320
+ makeSearchChapters,
1321
+ makeSearchCollections,
1322
+ makeSearchCommunityProjects,
1323
+ makeSearchContacts,
1324
+ makeSearchCopyNotifications,
1325
+ makeSearchDraftPages,
1326
+ makeSearchModifiedPages,
1327
+ makeSearchPages,
1090
1328
  makeSearchSchools,
1091
1329
  makeSearchUsers,
1330
+ makeSearchValidBooks,
1092
1331
  normalizeData,
1093
1332
  querySchema,
1333
+ searchBooks,
1334
+ searchChapters,
1335
+ searchCollections,
1336
+ searchCommunityProjects,
1337
+ searchContacts,
1338
+ searchCopyNotifications,
1339
+ searchDraftPages,
1340
+ searchModifiedPages,
1341
+ searchPages,
1094
1342
  searchSchools,
1095
1343
  searchUsers,
1344
+ searchValidBooks,
1096
1345
  setEntitiesReducer
1097
1346
  };
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.1.59-6b359862",
5
+ "version": "24.1.59-7f7e47b5",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -28,7 +28,7 @@
28
28
  "react": "*"
29
29
  },
30
30
  "devDependencies": {
31
- "@biomejs/biome": "1.8.4-nightly.a579bf7",
31
+ "@biomejs/biome": "1.8.4-nightly.7aaf0ce",
32
32
  "@types/lodash": "4.17.6",
33
33
  "@types/node": "20.14.10",
34
34
  "@types/react": "18.3.3",
@@ -41,8 +41,8 @@
41
41
  "vite": "5.3.3",
42
42
  "vite-tsconfig-paths": "4.3.2",
43
43
  "vitest": "2.0.0",
44
- "@lls/utils": "24.1.59-6b359862",
45
- "@lls/vitescripts": "24.1.59-6b359862"
44
+ "@lls/utils": "24.1.59-7f7e47b5",
45
+ "@lls/vitescripts": "24.1.59-7f7e47b5"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {