@lls/store 24.1.59-2d1a9e44 → 24.1.59-36292a9f

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 +209 -27
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -742,12 +742,12 @@ import _2 from "lodash/fp.js";
742
742
  init_define_import_meta();
743
743
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
744
744
  import _ from "lodash/fp.js";
745
- var crud = (entityName, { search: search3 }) => {
745
+ var crud = (entityName, { search: search6 }) => {
746
746
  const getElements = makeGetAllEntities(entityName);
747
747
  const makeSearchElements = () => createSearchSelector(
748
748
  getElements,
749
749
  (_state, params) => params,
750
- (elements, params) => search3(params)(elements)
750
+ (elements, params) => search6(params)(elements)
751
751
  );
752
752
  const methodName = _.capitalize(entityName);
753
753
  const getElementById = makeGetEntityById(entityName);
@@ -766,23 +766,73 @@ var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools"
766
766
  search
767
767
  });
768
768
 
769
+ // src/selectors/book.ts
770
+ init_define_import_meta();
771
+ import {
772
+ createSearchSelector as createSearchSelector2,
773
+ filterEntitiesArrayFieldByValues,
774
+ filterEntitiesSimpleFieldByValue,
775
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2,
776
+ makeGetEntityById as makeGetEntityById2
777
+ } from "@lls/utils";
778
+ import _3 from "lodash/fp.js";
779
+ var search2 = ({
780
+ ids,
781
+ levelIds,
782
+ subjectIds,
783
+ years,
784
+ isValid,
785
+ isWorkbook,
786
+ isWorkplan,
787
+ hasNoTeacherBook,
788
+ sortByQuery,
789
+ hasNewDesign,
790
+ slugs,
791
+ uris,
792
+ publishers,
793
+ isRenewed,
794
+ isPrimary
795
+ }) => _3.flow(
796
+ filterEntitiesSimpleFieldByValues2("id", ids),
797
+ filterEntitiesSimpleFieldByValues2("year", years),
798
+ filterEntitiesArrayFieldByValues("levels", levelIds),
799
+ filterEntitiesArrayFieldByValues("subjects", subjectIds),
800
+ filterEntitiesSimpleFieldByValues2("valid", _3.isNil(isValid) ? void 0 : [isValid]),
801
+ filterEntitiesSimpleFieldByValues2("publisher", publishers),
802
+ filterEntitiesSimpleFieldByValues2("hasNewDesign", _3.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
803
+ filterEntitiesSimpleFieldByValues2("isWorkbook", _3.isNil(isWorkbook) ? void 0 : [isWorkbook]),
804
+ filterEntitiesSimpleFieldByValues2("isWorkplan", _3.isNil(isWorkplan) ? void 0 : [isWorkplan]),
805
+ filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _3.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
806
+ filterEntitiesSimpleFieldByValues2("slug", slugs),
807
+ filterEntitiesSimpleFieldByValues2("uri", uris),
808
+ filterEntitiesSimpleFieldByValues2("isRenewed", _3.isNil(isRenewed) ? void 0 : [isRenewed]),
809
+ filterEntitiesSimpleFieldByValue("isPrimary", isPrimary),
810
+ _3.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _3.sortBy(sortByQuery) : _3.identity
811
+ );
812
+ var { getBooks, getBook, searchBooks, makeSearchBooks } = crud("books", {
813
+ search: search2
814
+ });
815
+ var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _3.filter({ valid: true, hasNewDesign: true }, books));
816
+ var searchValidBooks = makeSearchValidBooks();
817
+ var makeGetBook = () => makeGetEntityById2("books");
818
+
769
819
  // src/selectors/user.ts
770
820
  init_define_import_meta();
771
821
  var import_reselect = __toESM(require_lib(), 1);
772
- import { filterEntitiesArrayFieldByValues, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2 } from "@lls/utils";
773
- import _4 from "lodash/fp.js";
822
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues3 } from "@lls/utils";
823
+ import _5 from "lodash/fp.js";
774
824
 
775
825
  // src/selectors/auth.ts
776
826
  init_define_import_meta();
777
- import _3 from "lodash/fp.js";
778
- var getAuth = _3.get("auth");
779
- var getIsLogged = _3.flow(_3.get("auth.id"), _3.negate(_3.isNil));
780
- var getToken = _3.get("auth.token");
827
+ import _4 from "lodash/fp.js";
828
+ var getAuth = _4.get("auth");
829
+ var getIsLogged = _4.flow(_4.get("auth.id"), _4.negate(_4.isNil));
830
+ var getToken = _4.get("auth.token");
781
831
 
782
832
  // src/selectors/user.ts
783
- var search2 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues("schools", schoolIds), filterEntitiesSimpleFieldByValues2("id", ids));
833
+ var search3 = ({ ids, schoolIds }) => _5.flow(filterEntitiesArrayFieldByValues2("schools", schoolIds), filterEntitiesSimpleFieldByValues3("id", ids));
784
834
  var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
785
- search: search2
835
+ search: search3
786
836
  });
787
837
  var getCurrentUser = (0, import_reselect.createSelector)(
788
838
  getAuth,
@@ -790,10 +840,118 @@ var getCurrentUser = (0, import_reselect.createSelector)(
790
840
  (auth2, users) => users?.find((user2) => user2?.id === auth2?.id)
791
841
  );
792
842
 
843
+ // src/selectors/chapter.ts
844
+ init_define_import_meta();
845
+ import { filterEntitiesFieldExists, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues4 } from "@lls/utils";
846
+ import _6 from "lodash/fp.js";
847
+ var search4 = ({ bookIds, ids, hasTeacherBook }) => _6.flow(
848
+ filterEntitiesSimpleFieldByValues4("book", bookIds),
849
+ filterEntitiesSimpleFieldByValues4("id", ids),
850
+ filterEntitiesFieldExists("teacherBook", hasTeacherBook)
851
+ );
852
+ var { getChapters, getChapter, searchChapters, makeSearchChapters } = crud("chapters", {
853
+ search: search4
854
+ });
855
+
856
+ // src/selectors/page.ts
857
+ init_define_import_meta();
858
+ import {
859
+ createSearchSelector as createSearchSelector3,
860
+ filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3,
861
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5,
862
+ makeGetAllEntities as makeGetAllEntities2,
863
+ makeGetEntityById as makeGetEntityById3
864
+ } from "@lls/utils";
865
+ import _7 from "lodash/fp.js";
866
+ var search5 = ({
867
+ ids,
868
+ chapterIds,
869
+ isValid,
870
+ oldLessonIds,
871
+ premium,
872
+ thematicNames,
873
+ bookIds,
874
+ isOriginal,
875
+ hasNewDesign,
876
+ slugs,
877
+ isLearningAssessment,
878
+ isCreatedFromScratch
879
+ }) => _7.flow(
880
+ filterEntitiesSimpleFieldByValues5("id", ids),
881
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
882
+ filterEntitiesSimpleFieldByValues5("valid", _7.isNil(isValid) ? void 0 : [isValid]),
883
+ filterEntitiesSimpleFieldByValues5("isOriginal", _7.isNil(isOriginal) ? void 0 : [isOriginal]),
884
+ filterEntitiesSimpleFieldByValues5("hasNewDesign", _7.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
885
+ filterEntitiesSimpleFieldByValues5("slug", slugs),
886
+ filterEntitiesSimpleFieldByValues5("oldLesson", oldLessonIds),
887
+ filterEntitiesSimpleFieldByValues5(
888
+ "isLearningAssessment",
889
+ _7.isNil(isLearningAssessment) ? void 0 : [isLearningAssessment]
890
+ ),
891
+ filterEntitiesSimpleFieldByValues5(
892
+ "isCreatedFromScratch",
893
+ _7.isNil(isCreatedFromScratch) ? void 0 : [isCreatedFromScratch]
894
+ ),
895
+ filterEntitiesSimpleFieldByValues5("premium", _7.isNil(premium) ? void 0 : [premium]),
896
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
897
+ filterEntitiesSimpleFieldByValues5("book", bookIds)
898
+ );
899
+ var { getPages, getPage, searchPages, makeSearchPages } = crud("pages", {
900
+ search: search5
901
+ });
902
+ var getDraftPages = makeGetAllEntities2("drafts");
903
+ var makeGetDraftPage = () => makeGetEntityById3("drafts");
904
+ var getDraftPage = makeGetDraftPage();
905
+ var makeSearchDraftPages = () => createSearchSelector3(
906
+ getDraftPages,
907
+ (_state, params) => params,
908
+ (pages, params) => search5(params)(pages)
909
+ );
910
+ var searchDraftPages = makeSearchDraftPages();
911
+ var makeSearchModifiedPages = () => createSearchSelector3(
912
+ getPages,
913
+ (_state, params) => params,
914
+ (pages, {
915
+ chapterIds,
916
+ userIds,
917
+ originalPageIds,
918
+ parentIds,
919
+ bookIds,
920
+ sharedUserIds,
921
+ updatedAfter,
922
+ isLearningAssessment,
923
+ thematicNames,
924
+ isDraft,
925
+ isCreatedFromScratch,
926
+ isParentCreatedFromScratch,
927
+ sharedGroups
928
+ }) => _7.flow(
929
+ filterEntitiesSimpleFieldByValues5("parent", parentIds),
930
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
931
+ filterEntitiesSimpleFieldByValues5("book", bookIds),
932
+ filterEntitiesSimpleFieldByValues5("user", userIds),
933
+ filterEntitiesSimpleFieldByValues5("originalPage", originalPageIds),
934
+ filterEntitiesArrayFieldByValues3("sharedUsers", sharedUserIds),
935
+ filterEntitiesArrayFieldByValues3("sharedGroups", sharedGroups),
936
+ filterEntitiesSimpleFieldByValues5("isOriginal", [false]),
937
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
938
+ !_7.isNil(isLearningAssessment) ? filterEntitiesSimpleFieldByValues5("isLearningAssessment", [isLearningAssessment]) : _7.identity,
939
+ !_7.isNil(isCreatedFromScratch) ? filterEntitiesSimpleFieldByValues5("isCreatedFromScratch", [isCreatedFromScratch]) : _7.identity,
940
+ !_7.isNil(isDraft) ? filterEntitiesSimpleFieldByValues5("isDraft", [isDraft]) : _7.identity,
941
+ isParentCreatedFromScratch ? _7.filter(
942
+ (entity) => _7.flow(_7.find({ id: entity?.originalPage }), _7.get("isCreatedFromScratch"))(pages)
943
+ ) : _7.identity,
944
+ updatedAfter ? _7.filter(
945
+ _7.flow(_7.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
946
+ ) : _7.identity
947
+ )(pages)
948
+ );
949
+ var searchModifiedPages = makeSearchModifiedPages();
950
+
793
951
  // src/reducers/entities.ts
794
952
  init_define_import_meta();
795
953
  import { makeReducer } from "@lls/utils";
796
- import _5 from "lodash/fp.js";
954
+ import _8 from "lodash/fp.js";
797
955
 
798
956
  // src/actions/index.ts
799
957
  init_define_import_meta();
@@ -816,23 +974,23 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
816
974
  // src/reducers/entities.ts
817
975
  var deleteEntityReducer = (state, payload) => {
818
976
  const { path } = payload;
819
- return _5.omit(path, state);
977
+ return _8.omit(path, state);
820
978
  };
821
979
  var updateEntityReducer = (state, payload) => {
822
980
  const { path, entity } = payload;
823
- const currentEntity = _5.get(path, state);
824
- return _5.set(path, _5.merge(currentEntity, entity), state);
981
+ const currentEntity = _8.get(path, state);
982
+ return _8.set(path, _8.merge(currentEntity, entity), state);
825
983
  };
826
984
  var setEntityReducer = (state, payload) => {
827
985
  const { path, entity } = payload;
828
- return _5.set(path, entity, state);
986
+ return _8.set(path, entity, state);
829
987
  };
830
988
  var shallowAssign = (old, next, transform) => {
831
989
  let updated = false;
832
- const merged = _5.flow(
833
- _5.toPairs,
834
- _5.reduce((memo, [key, val]) => {
835
- if (_5.isEmpty(val)) return memo;
990
+ const merged = _8.flow(
991
+ _8.toPairs,
992
+ _8.reduce((memo, [key, val]) => {
993
+ if (_8.isEmpty(val)) return memo;
836
994
  if (!old[key]) {
837
995
  updated = true;
838
996
  memo[key] = val;
@@ -845,7 +1003,7 @@ var shallowAssign = (old, next, transform) => {
845
1003
  return memo;
846
1004
  }
847
1005
  return memo;
848
- }, _5.clone(old))
1006
+ }, _8.clone(old))
849
1007
  )(next);
850
1008
  return updated ? merged : old;
851
1009
  };
@@ -854,7 +1012,7 @@ var setEntitiesReducer = (state, payload) => {
854
1012
  return shallowAssign(
855
1013
  entityKind,
856
1014
  nextEntityKind,
857
- (oldEntity, nextEntity) => _5.isEqual(oldEntity, nextEntity) ? oldEntity : _5.assign(oldEntity, nextEntity)
1015
+ (oldEntity, nextEntity) => _8.isEqual(oldEntity, nextEntity) ? oldEntity : _8.assign(oldEntity, nextEntity)
858
1016
  );
859
1017
  });
860
1018
  };
@@ -872,7 +1030,7 @@ var entities_default = entities;
872
1030
  // src/reducers/auth.ts
873
1031
  init_define_import_meta();
874
1032
  import { makeReducer as makeReducer2 } from "@lls/utils";
875
- import _6 from "lodash/fp.js";
1033
+ import _9 from "lodash/fp.js";
876
1034
  var initialState = {
877
1035
  id: void 0,
878
1036
  role: null,
@@ -885,15 +1043,15 @@ var initialState = {
885
1043
  llsUserId: null
886
1044
  };
887
1045
  var auth = makeReducer2(initialState, {
888
- [actionTypes.SET_AUTH]: _6.assign,
889
- [actionTypes.RESET_AUTH]: _6.constant(initialState)
1046
+ [actionTypes.SET_AUTH]: _9.assign,
1047
+ [actionTypes.RESET_AUTH]: _9.constant(initialState)
890
1048
  });
891
1049
  var auth_default = auth;
892
1050
 
893
1051
  // src/schema/index.ts
894
1052
  init_define_import_meta();
895
1053
  var import_normalizr = __toESM(require_normalizr(), 1);
896
- import _7 from "lodash/fp.js";
1054
+ import _10 from "lodash/fp.js";
897
1055
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
898
1056
  var subject = new import_normalizr.schema.Entity("subjects");
899
1057
  var level = new import_normalizr.schema.Entity("levels");
@@ -908,6 +1066,7 @@ var teacher = new import_normalizr.schema.Entity("teachers");
908
1066
  var faq = new import_normalizr.schema.Entity("faq");
909
1067
  var product = new import_normalizr.schema.Entity("products");
910
1068
  var communityProjects = new import_normalizr.schema.Entity("communityProjects");
1069
+ var builderIo = new import_normalizr.schema.Entity("builderIos");
911
1070
  var grammarRule = new import_normalizr.schema.Entity("grammarRules", {}, { idAttribute: "objectID" });
912
1071
  var mainNotification = new import_normalizr.schema.Entity("mainNotifications");
913
1072
  var explorerResult = new import_normalizr.schema.Entity("explorerResults", {}, { idAttribute: "resourceId" });
@@ -1070,7 +1229,8 @@ var querySchema = {
1070
1229
  addLikeFaq: faq,
1071
1230
  communityProjects: [communityProjects],
1072
1231
  createAnalytics: analytic,
1073
- faq: [faq]
1232
+ faq: [faq],
1233
+ builderIos: [builderIo]
1074
1234
  },
1075
1235
  static: {
1076
1236
  projetVoltaire: {
@@ -1078,20 +1238,42 @@ var querySchema = {
1078
1238
  }
1079
1239
  }
1080
1240
  };
1081
- var normalizeData = _7.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1241
+ var normalizeData = _10.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1082
1242
  export {
1083
1243
  auth_default as authReducer,
1084
1244
  entities_default as entitiesReducer,
1245
+ getBook,
1246
+ getBooks,
1247
+ getChapter,
1248
+ getChapters,
1085
1249
  getCurrentUser,
1250
+ getDraftPage,
1251
+ getDraftPages,
1252
+ getPage,
1253
+ getPages,
1086
1254
  getSchool,
1087
1255
  getSchools,
1088
1256
  getUser,
1089
1257
  getUsers,
1258
+ makeGetBook,
1259
+ makeGetDraftPage,
1260
+ makeSearchBooks,
1261
+ makeSearchChapters,
1262
+ makeSearchDraftPages,
1263
+ makeSearchModifiedPages,
1264
+ makeSearchPages,
1090
1265
  makeSearchSchools,
1091
1266
  makeSearchUsers,
1267
+ makeSearchValidBooks,
1092
1268
  normalizeData,
1093
1269
  querySchema,
1270
+ searchBooks,
1271
+ searchChapters,
1272
+ searchDraftPages,
1273
+ searchModifiedPages,
1274
+ searchPages,
1094
1275
  searchSchools,
1095
1276
  searchUsers,
1277
+ searchValidBooks,
1096
1278
  setEntitiesReducer
1097
1279
  };
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-2d1a9e44",
5
+ "version": "24.1.59-36292a9f",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -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-2d1a9e44",
45
- "@lls/vitescripts": "24.1.59-2d1a9e44"
44
+ "@lls/utils": "24.1.59-36292a9f",
45
+ "@lls/vitescripts": "24.1.59-36292a9f"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {