[BASHQL] refactor Connection argument

parent ea23aa3f
dev 102-dev-graph-refresh 104-dev-john-snow-nlp 106-dev-ngrams-score-fix 111-dev-refactor-text-corpus-api-with-conduit 111-dev-refactor-text-corpus-api-with-conduit-alp 117-dev-gql-tree-parent-resolver 118-dev-gql-security 118-dev-gql-security-fix 119-dev-hal-notebook 121-dev-arxiv 124-dev-corpus-export-csv 131-dev-ngrams-table-db-connection 131-dev-ngrams-table-db-connection-2 141-dev-node-stories-db-optimization 143-dev-ngrams-repo-conflicts 144-NgramsTable_Optim 145-dev-graph-explorer-search-tfidf 145-graphExplorerSearch 149-dev-ngrams-table-sorting-fix 151-dev-pubmed-api-key 155-dev-export-list-as-csv 158-dev-ngrams-table-patch-sync 159-dev-node-story-versions-fix 161-dev-conduit-insert-db-fix 162-dev-ghc-9.4 162-dev-ghc-9.x 162-dev-haskell-9.2 163-dev-patch-fix 164-dev-node-write-analysis 169-dev-docs-uniq-id 169-dev-revert-fix 169-dev-singulars-plurals 169-dev-singulars-plurals-remove-map-list-size 175-dev-doc-table-count 175-dev-doc-table-count-temp 177-welcome-door-to-enter-the-project 177-welcome-door-to-enter-the-project-2 184-dev-add-nlp-to-gargantext-ini 184-dev-add-support-for-multiple-languages-in-ini-file 186-dev-ngrams-score-fixes 190-dev-framecalc-async-fix 191-dev-list-upload-fixes 193-dev-api-query-dev-fix 199-dev-materialized-view-refresh-issue 201-dev-user-pubmed-api-key 203-dev-corpus-json-import 205-dev-ethercalc-codimd-doc-upload 206-dev-phylo 213-dev-implement-json-errors 217-dev-ngrams-patch 224-dev-new-ngrams-prototype 224-dev-understanding-ngrams 224-dev-uniform-ngrams-creation 233-dev-terms-dates 234-dev-doc-table-score 238-dev-async-job-worker 238-dev-async-worker-tests 238-dev-async-workers 239-readme-test-reinstall-project-with-cabal-and-update-the-readme-file 239-readme-test-reinstall-project-with-cabal-and-update-the-readme-file-2 242-dev-phylo-websearch 244-dev-cabal-dependencies-versions 244-dev-hal-language-fix-for-abstracts 244-dev-stack2cabal 250-dev-fix-corpus-hyperdata-update 259-dev-security-fixes 260-readme-add-note-about-libraries-devlopment 263-node-content-breadcrumb-display-the-full-path-of-a-node-as-a-breadcrumb-with-each-clickable-parent 267-dev-fix-nginx-config-for-frames 270-dev-sentry-integration 272-dev-fixes-for-node-score 274-dev-more-protolude-in-prelude 275-dev-date-split-fix 280-dev-xml-code-cleanup 281-dev-ngrams-fixes 282-dev-db-obfuscation 293-istex-import-changes-in-the-parser-documents-sources-are-wrong-json-from-zip-file 296-api-hal-remove-useless-first-2-characters-before-authors-and-sources 299-corpus-hal-backend-remove-comment-the-hal-all-lang-choice 303-dev-node-story-fixes 303-dev-node-story-refactoring 304-dev-pubmed-api-not-in-toml 304-dev-toml-config-rewrite 304-dev-toml-config-rewrite-and-update-deps 304-dev-toml-config-rewrite-and-update-deps-9.4.8 304-dev-toml-config-rewrite-ghc-9.4.8 308-dev-order2 312-dev-export-json-as-zip 312-dev-zip-file-last-modification-time-fix 313-dev-json-csv-import-of-older-ngrams 314-node-phylo-change-the-default-value-of-findancestors-to-false 325-dev-cooc-matrix 327-dev-rewrite-hal-crawler 330-node-terms-institutes-missing-with-hal-request 333-dev-no-html-when-downloading-empty-note 337-node-phylo-export-the-phylo-in-json-and-dot-format 340-graph-gexf-export-on-the-node-tags-add-a-weight-attribute 341-dev-notifications-new-job 341-dev-websockets 345-docs-tsv-export-import-check-and-maintain-consistency-between-export-and-import-formats 347-update-gitignore-file 348-csv-tsv-in-all-codebase 357-fix-crawler-istex-host-not-found 360-dev-tsv-test 361-improving-message-error-from-the-tsv-import 361-improving-message-error-from-the-tsv-import-2 361-improving-message-error-from-the-tsv-import-3 362-dev-sqlite 363-docs-describe-frontend-s-build-step 365-documentation-improve-readme 366-creation-of-corpus-from-hal-s-api-crash 368-warning-to-user-when-small-problem-during-an-import 37-servant-job-flatten-breaks-the-swagger-documentation 371-tooling-doc 372-refactoring-renaming-corpus-to-document-for-hal-related-file 374-dev-document-fix 376-dev-annuaire-contacts-page 376-dev-annuaire-fields 376-summer-code-007-tsvdoc-add-all-the-colonnes-as-options-that-will-be-fixed-to-expected-types-by-the-database 384-let-users-create-a-subcorpus 387-remove-dead-code 387-remove-dead-code-2 388-remove-obsolete-ghc-option 388-remove-obsolete-ghc-option-2 389-update-and-improve-weeder-file 389-update-and-improve-weeder-file-2 393-api-openalex-fix-adapt-ngrams_url-field-following-an-api-change-causing-an-externalapierror 396-add-a-node-type-name-error 396-dev-team-management 398-dev-ngram-type-parameter 399-o2-graphs-are-sometimes-generated-without-edges 405-dev-lost-password-design 406-dev-suppress-debug-for-notifications 415-dev-user-empty-field 420-improve-the-project-s-file-hierarchy-and-scripts 421-refactor-gargantext-database-prelude 422-automatically-import-useful-modules-in-the-repl 428-dev-profile-img-upload 428-dev-profile-img-upload-2 428-dev-worker-fixes 430-dev-docs-date-filter 430-fix-test-build-warnings 431-remove-dead-code 433-dev-ignore-tsv-errors 437-nodegraph-remove-the-automatic-call 438-dev-team-node-creator 442-cli-quick-update-the-start-script 443-dev-doc-upload-improvement 444-dev-temporary-file-storage 445-cherrypicked 445-dev-doc-upload-lang 445-order-1-advanced-distance 450-dev-docker-project-name 452-dev-teams-security 465-dev-hyperdata-graph-angle 469-dev-email-change 475-dev-node-team-invite 476-dev-fix-node-story-versions 481-dev-node-calc-upload 497-dev-node-write-selection 506-dev-search-in-tree 506-dev-tree-search-fix 513-dev-pin-tree 548-dev-node-url-share 551-dev-graphql-contexts-ngrams 561-dev-document-date 571-dev-node-corpus-api-search-fixes 571-dev-node-corpus-api-search-fixes-take-2 580-dev-phylo-params 582-dev-node-phylo-init 582-dev-phylo-default-behavior 59-dev-404-error-when-node-doesnt-exist 592-dev-document-upload-abstract 594-dev-ngrams-click-fixes 596-dev-ngrams-initial-sync-fix 600-dev-graphql-error-format 600-dev-invite-and-errors-fixes 600-dev-wip-graphql-error-format 603-dev-istex-zip-file-upload 622-dev-fix-for-first-commit-after-import 67-dev-ci 68-dev-garg-v3-csv-parser 683-dev-graph-explorer-legend 689-dev-graph-legend-show-all-clusters 70-dev-searx-parser 706-dev-graph-parameters-display 73-dev-more-generic-csv-parser 74-dev-frame-calc-csv-import 77-dev-search-result-type-fix 78-dev-list-ids 79-dev-rewrite-better-record-syntax 81-dev-fix-parsers-conduit-length 81-dev-zip-upload 86-dev-graphql 86-dev-graphql-alp 86-dev-graphql-nested 87-term-s-grouping-broken-on-cnrs-gargantext-org 90-dev-async-jobs-with-push-event 90-dev-flow-corpus-progress-report 90-dev-hal-box-fix 90-dev-hal-fixes 90-dev-max-docs-scrapers-parsers 97-dev-istex-search Make-Warning-for-User-During-Import adinapoli/developer-guidelines adinapoli/disable-policy-checks adinapoli/drop-servant-static-th adinapoli/fix-broken-dev adinapoli/fix-datafield-instance adinapoli/fix-phylo-types adinapoli/fix-scheduler adinapoli/hotfix-for-datafield-json-instance adinapoli/improve-cabal adinapoli/improve-cabal-ci-caching adinapoli/improve-cabal-old adinapoli/improve-error-at-startup adinapoli/improve-half-words-stemming adinapoli/investigate-issue-192 adinapoli/issue-180-deps-audit adinapoli/issue-182 adinapoli/issue-185-job-api adinapoli/issue-185-job-api-part-2 adinapoli/issue-187-update-haskell-igraph adinapoli/issue-188 adinapoli/issue-198 adinapoli/issue-198-part-2 adinapoli/issue-217 adinapoli/issue-226 adinapoli/issue-250 adinapoli/issue-252 adinapoli/issue-258 adinapoli/issue-258-part-2 adinapoli/issue-259 adinapoli/issue-259-design-1 adinapoli/issue-261 adinapoli/issue-265 adinapoli/issue-267 adinapoli/issue-267-part-2 adinapoli/issue-267-part-3 adinapoli/issue-271 adinapoli/issue-273 adinapoli/issue-273-part-2 adinapoli/issue-276 adinapoli/issue-279 adinapoli/issue-284 adinapoli/issue-287 adinapoli/issue-290 adinapoli/issue-291 adinapoli/issue-292 adinapoli/issue-298 adinapoli/issue-301 adinapoli/issue-302 adinapoli/issue-304 adinapoli/issue-307 adinapoli/issue-315 adinapoli/issue-317 adinapoli/issue-319 adinapoli/issue-320 adinapoli/issue-321 adinapoli/issue-324 adinapoli/issue-324-part-2 adinapoli/issue-329 adinapoli/issue-329-hotfix adinapoli/issue-331 adinapoli/issue-335 adinapoli/issue-336 adinapoli/issue-346 adinapoli/issue-349 adinapoli/issue-350 adinapoli/issue-352 adinapoli/issue-355 adinapoli/issue-356 adinapoli/issue-364 adinapoli/issue-364-part-3 adinapoli/issue-369 adinapoli/issue-370 adinapoli/issue-374 adinapoli/issue-380 adinapoli/issue-381 adinapoli/issue-385 adinapoli/issue-385-better-testing adinapoli/issue-392 adinapoli/issue-400 adinapoli/issue-400-fix-public-root-lookup adinapoli/issue-403 adinapoli/issue-407 adinapoli/issue-408 adinapoli/issue-409 adinapoli/issue-415 adinapoli/issue-425 adinapoli/issue-426 adinapoli/issue-436 adinapoli/issue-440 adinapoli/issue-440-part-2 adinapoli/issue-455 adinapoli/issue-460 adinapoli/issue-incorrect-pagination adinapoli/issue-ps-632-phylo-unicode adinapoli/mac-fixes adinapoli/more-db-test-coverage adinapoli/phylo-profile-2 adinapoli/phylo-profile-3 adinapoli/profile-to-phylo adinapoli/raw-query-to-pubmed adinapoli/restore-ci adinapoli/switch-hsvm adinapoli/test-ctrl-c-properly adinapoli/try-stack2cabal adinapoli/upgrade-to-947 alp/nix alp/no-gfortran-extralib client-executable client-graphql-endpoint cmd-db dbflow dbflow-bug dbg-perf-order2-graph debug-nans dev-104-adding-language dev-177-DoorWelcome dev-177-DoorWelcome-v2 dev-250-addChineze dev-456-istex-tls-fix dev-593-pubmed-api-key dev-9.0-upgrade dev-Doc dev-add-nanomsg-to-nix dev-addDoc dev-annuaire-file-upload dev-api-node-count dev-api-specs dev-auth dev-bdd dev-bench dev-big-file-upload dev-bin-import dev-bipartite dev-breadcrumbs-fix dev-bridgeness dev-broken dev-cache-optimization dev-cbor dev-charts-update-economy dev-ci dev-client dev-code dev-comments dev-community dev-confluence dev-contributing dev-corpora-from-write-nodes dev-corpus-add-file dev-corpus-upload-file-endpoint dev-corpus-upload-with-filetype dev-corpus-with-filetype dev-dashoard-charts dev-db-schema dev-debian-install-script dev-debug dev-debug-invitation dev-default-extensions dev-demo dev-deps-fixes dev-distributional dev-doc dev-doc-annotation-issue dev-doc-table-api dev-doc-table-cache-issue dev-doc-table-optimization dev-doc-table-score dev-docker-compose-fixes dev-dockerfile-ca-certificates-fix dev-docs-chart-update dev-docs-download dev-docs-in-abstract dev-ekg-monitoring dev-eleve dev-eleve-fix dev-epo-integration dev-epo-patents dev-error-handling dev-fib dev-file-missing dev-file-name dev-file-upload dev-fix-broken-pure-refactor dev-fix-node-children dev-fix-node-update-endpoint dev-flake-merge-0.0.7.1 dev-flow dev-flow-opt dev-forgot-password dev-gargantext-ini-fix dev-getting-started-readme dev-ghc-9.6.6 dev-ghc9.2-acc1.3-etc dev-gql-tree-api dev-graph dev-graph-explorer-gexf dev-graph-multipartite dev-graph-screenshot dev-graph-screenshot-corpus-id-fix dev-graph-search-in-groups-not-in-labels dev-guidelines-update dev-hackathon-fixes dev-hash dev-hyperdata dev-ihaskell-codebook dev-ilike-search-fix dev-indexation dev-infomap dev-ini-fixes dev-invitation-error dev-iramuteq dev-kawen dev-lastmod-cache-tmp dev-learn dev-list-charts dev-list-downloadable dev-list-downloadable-with-content-type dev-listfix dev-login dev-logs dev-lts-16.26-upgrade dev-maplist dev-maxClique dev-merge dev-merge-nix dev-merge-nix-2 dev-merge-rebase dev-merging dev-metrics dev-ngrams-groups dev-ngrams-repo dev-ngrams-repo-optim dev-ngrams-score-recomputation dev-ngrams-table dev-ngrams-table-online dev-ngrams-version-graph dev-no-freeze dev-node-board-add-text-cells dev-notebook dev-notifications-test-fix dev-np dev-occ-opt dev-openalex dev-optim dev-optim-ngrams-table dev-order1 dev-order1-fix dev-order2 dev-padagraph dev-parsers dev-password dev-phylo dev-phylo-accuracy dev-phylo-csv-fix dev-phylo-merge dev-phylo-quality dev-phylo-strict dev-phylo-uniform_accuracy dev-phyloDebug dev-prelude-refactoring dev-proxemy dev-public dev-public-node-api dev-pubmed dev-query dev-radical-term-type-rewrite dev-readme-update dev-refact dev-refact-graph dev-refactor-metrics dev-refactoring dev-release-candidate-0.0.7.4.3 dev-ris dev-scores dev-search dev-servant-job dev-small-fixes dev-social-list dev-sources-chart-sort dev-sql-run-insert-deprecation-fix dev-stack-18.16-upgrade dev-stack-docker-compose dev-stack-upgrade dev-swagger dev-table-doc-search-post dev-term-list-fix dev-test dev-tests-refactor dev-textflow dev-texts dev-toMerge dev-tokens-lemma dev-tree-gql-improvements dev-tree-reload dev-treedebug dev-typeclasses-refactoring dev-user-contact dev-userid-in-auth dev-version dev-websockets dev-websockets-node-update dev-wikidata developer-guidelines fix-confluence-indices-bugs fix-haddock-parse-error fix/386 fix/occurrences_count fix/removes_check_json flake-nix-merge-dev-0.0.7 flexible-job-queue garg-init-errror-msg gitlab-ci-build-nix graphql-fixes hyperdata hyperdata-with-country improve-conversion-script-interface improve-onboarding-experience issue-380 issue-436-dockerfile-and-corenlp issue-436-improvements issue-436-improvements-dockerfile jetbrains-ai-madness jobqueue-fairness jobqueue-test-delay julm/haskell-gargantext-nix lang-parser lists-endpoint-accept-json maj-struct-id master masterAfterDemo ngrams-order ngrams-replace ngrams-replace-dev-merge nothunks openalex-filters patch-1 phylo_paper pin-shell refactor rest-fix rest-ngrams revert-0b51636b singletons stable testing tsvector update-build-shell-nix-merge update-build-shell.nix update-readme update-to-last-oacrawler-commit 0.0.7.4.7 0.0.7.4.5.1 0.0.7.4.5 0.0.7.4.4 0.0.7.4.3 0.0.7.4.2 0.0.7.4.1 0.0.7.4 0.0.7.3.8 0.0.7.3.7 0.0.7.3.6 0.0.7.3.5 0.0.7.3.4 0.0.7.3.3 0.0.7.3.2 0.0.7.3.1 0.0.7.3 0.0.7.2.8 0.0.7.2.7 0.0.7.2.6 0.0.7.2.5 0.0.7.2.4 0.0.7.2.3 0.0.7.2.2 0.0.7.2.1 0.0.7.2 0.0.7.1.16 0.0.7.1.15 0.0.7.1.14 0.0.7.1.13 0.0.7.1.12 0.0.7.1.11 0.0.7.1.10 0.0.7.1.9 0.0.7.1.8 0.0.7.1.7.4 0.0.7.1.7.3 0.0.7.1.7.2 0.0.7.1.7.1 0.0.7.1.7 0.0.7.1.6.5 0.0.7.1.6.4 0.0.7.1.6.3 0.0.7.1.6.2 0.0.7.1.6.1 0.0.7.1.6 0.0.7.1.5.5 0.0.7.1.5.4 0.0.7.1.5.3 0.0.7.1.5.2 0.0.7.1.5.1 0.0.7.1.5 0.0.7.1.4 0.0.7.1.3 0.0.7.1.2 0.0.7.1.1 0.0.7.1 0.0.7 0.0.6.9.9.9.9.1 0.0.6.9.9.9.9 0.0.6.9.9.9.8.1 0.0.6.9.9.9.8 0.0.6.9.9.9.7.3 0.0.6.9.9.9.7.2.1 0.0.6.9.9.9.7.2 0.0.6.9.9.9.7.1 0.0.6.9.9.9.7 0.0.6.9.9.9.6.7.1 0.0.6.9.9.9.6.7 0.0.6.9.9.9.6.6 0.0.6.9.9.9.6.5.1 0.0.6.9.9.9.6.5 0.0.6.9.9.9.6.4 0.0.6.9.9.9.6.3 0.0.6.9.9.9.6.2 0.0.6.9.9.9.6.1 0.0.6.9.9.9.6 0.0.6.9.9.9.5 0.0.6.9.9.9.4.9.3 0.0.6.9.9.9.4.9.2 0.0.6.9.9.9.4.9.1 0.0.6.9.9.9.4.9 0.0.6.9.9.9.4.8 0.0.6.9.9.9.4.7 0.0.6.9.9.9.4.6 0.0.6.9.9.9.4.5 0.0.6.9.9.9.4.4 0.0.6.9.9.9.4.3 0.0.6.9.9.9.4.2 0.0.6.9.9.9.4.1 0.0.6.9.9.9.4 0.0.6.9.9.9.3.2 0.0.6.9.9.9.3.1 0.0.6.9.9.9.3 0.0.6.9.9.9.2 0.0.6.9.9.9.1 0.0.6.9.9.9 0.0.6.9.9.8.3.4 0.0.6.9.9.8.3.3 0.0.6.9.9.8.3.2 0.0.6.9.9.8.3.1 0.0.6.9.9.8.3 0.0.6.9.9.8.2 0.0.6.9.9.8.1 0.0.6.9.9.8 0.0.6.9.9.7.9 0.0.6.9.9.7.8 0.0.6.9.9.7.7 0.0.6.9.9.7.6.4 0.0.6.9.9.7.6.3 0.0.6.9.9.7.6.2 0.0.6.9.9.7.6.1 0.0.6.9.9.7.6 0.0.6.9.9.7.5.1 0.0.6.9.9.7.5 0.0.6.9.9.7.4 0.0.6.9.9.7.3 0.0.6.9.9.7.2 0.0.6.9.9.7.1 0.0.6.9.9.7 0.0.6.9.9.6.9 0.0.6.9.9.6.8 0.0.6.9.9.6.7 0.0.6.9.9.6.6 0.0.6.9.9.6.5 0.0.6.9.9.6.4 0.0.6.9.9.6.3 0.0.6.9.9.6.2 0.0.6.9.9.6.1 0.0.6.9.9.6 0.0.6.9.9.5.8 0.0.6.9.9.5.7 0.0.6.9.9.5.6 0.0.6.9.9.5.5 0.0.6.9.9.5.4 0.0.6.9.9.5.3 0.0.6.9.9.5.2 0.0.6.9.9.5.1 0.0.6.9.9.5 0.0.6.9.9.4.6 0.0.6.9.9.4.5 0.0.6.9.9.4.4 0.0.6.9.9.4.3 0.0.6.9.9.4.2 0.0.6.9.9.4.1 0.0.6.9.9.4 0.0.6.9.9.3.3 0.0.6.9.9.3.2 0.0.6.9.9.3.1 0.0.6.9.9.3 0.0.6.9.9.2 0.0.6.9.9.1 0.0.6.9.9 0.0.6.9.8.7.1 0.0.6.9.8.7 0.0.6.9.8.6.2 0.0.6.9.8.6.1 0.0.6.9.8.6 0.0.6.9.8.5.1 0.0.6.9.8.5 0.0.6.9.8.4 0.0.6.9.8.3 0.0.6.9.8.2.2 0.0.6.9.8.2.1 0.0.6.9.8.2 0.0.6.9.8.1 0.0.6.9.8 0.0.6.9.7.6 0.0.6.9.7.5 0.0.6.9.7.4 0.0.6.9.7.3 0.0.6.9.7.2 0.0.6.9.7.1 0.0.6.9.7 0.0.6.9.6 0.0.6.9.5 0.0.6.9.4.9 0.0.6.9.4.8 0.0.6.9.4.7 0.0.6.9.4.6 0.0.6.9.4.5 0.0.6.9.4.4 0.0.6.9.4.3 0.0.6.9.4.2 0.0.6.9.4.1 0.0.6.9.4 0.0.6.9.3 0.0.6.9.2 0.0.6.9.1 0.0.6.8.6 0.0.6.8.5.9.4 0.0.6.8.5.9.3 0.0.6.8.5.9.2 0.0.6.8.5.9.1 0.0.6.8.5.9 0.0.6.8.5.8 0.0.6.8.5.7 0.0.6.8.5.6 0.0.6.8.5.5 0.0.6.8.5.4 0.0.6.8.5.3 0.0.6.8.5.2 0.0.6.8.5.1 0.0.6.8.5 0.0.6.8.4 0.0.6.8.3 0.0.6.8.2 0.0.6.8.1 0.0.6.8 0.0.6.7.2 0.0.6.7.1 0.0.6.7 0.0.6.6 0.0.6.5.1 0.0.6.5 0.0.6.4 0.0.6.3 0.0.6.2 0.0.6.1 0.0.6 0.0.5.9.6 0.0.5.9.5 0.0.5.9.4 0.0.5.9.3 0.0.5.9.2 0.0.5.9.1 0.0.5.9 0.0.5.8.9.9 0.0.5.8.9.8 0.0.5.8.9.7 0.0.5.8.9.6 0.0.5.8.9.5 0.0.5.8.9.4 0.0.5.8.9.3 0.0.5.8.9.2 0.0.5.8.9.1 0.0.5.8.9 0.0.5.8.8.2 0.0.5.8.8.1 0.0.5.8.8 0.0.5.8.7.2 0.0.5.8.7.1 0.0.5.8.7 0.0.5.8.6 0.0.5.8.5.1 0.0.5.8.5 0.0.5.8.4 0.0.5.8.3 0.0.5.8.2 0.0.5.8.1 0.0.5.8 0.0.5.7.9.1 0.0.5.7.9 0.0.5.7.8 0.0.5.7.7 0.0.5.7.6 0.0.5.7.5 0.0.5.7.4 0.0.5.7.3 0.0.5.7.2 0.0.5.7.1 0.0.5.7 0.0.5.6.7 0.0.5.6.6 0.0.5.6.5 0.0.5.6.4 0.0.5.6.3 0.0.5.6.2 0.0.5.6.1 0.0.5.6 0.0.5.5.7 0.0.5.5.6 0.0.5.5.5 0.0.5.5.4 0.0.5.5.3 0.0.5.5.2 0.0.5.5.1 0.0.5.5 0.0.5.3 0.0.5.2 0.0.5.1 0.0.5 0.0.4.9.9.6 0.0.4.9.9.5 0.0.4.9.9.4 0.0.4.9.9.3 0.0.4.9.9.2 0.0.4.9.9.1 0.0.4.9.9 0.0.4.9.8 0.0.4.9.7 0.0.4.9.6 0.0.4.9.5 0.0.4.9.4 0.0.4.9.3 0.0.4.9.2 0.0.4.9.1 0.0.4.9 0.0.4.8.9 0.0.4.8.8 0.0.4.8.7 0.0.4.8.6 0.0.4.8.5 0.0.4.8.4 0.0.4.8.3 0.0.4.8.2 0.0.4.8.1 0.0.4.8 0.0.4.7.3 0.0.4.7.2 0.0.4.7.1 0.0.4.7 0.0.4.6.1 0.0.4.6 0.0.4.5 0.0.4.4 0.0.4.3 0.0.4.2 0.0.4.1 0.0.4 0.0.3.9.1 0.0.3.9 0.0.3.8.1 0.0.3.8 0.0.3.7 0.0.3.6 0.0.3.5 0.0.3.4 0.0.3.3 0.0.3.2 0.0.3.1 0.0.3 0.0.2.9.6.1 0.0.2.9.6 0.0.2.9.5 0.0.2.9.4 0.0.2.9.3 0.0.2.9.2 0.0.2.9.1 0.0.2.9 0.0.2.8 0.0.2.7.1 0.0.2.7 0.0.2.6 0.0.2.5 0.0.2.4 0.0.2.3 0.0.2.2.1 0.0.2.2 0.0.2.1 0.0.2.0 0.0.1.96.0 0.0.1.95.0 0.0.1.94.1 0.0.1.94.0 0.0.1.93.0 0.0.1.92.0 0.0.1.91.7 0.0.1.91.6 0.0.1.91.5 0.0.1.91.4 0.0.1.91.3 0.0.1.91.2 0.0.1.91.1 0.0.1.91.0 0.0.1.9.10 0.0.1.9.9 0.0.1.9.8 0.0.1.9.7 0.0.1.9.6 0.0.1.9.5 0.0.1.9.4 0.0.1.9.3 0.0.1.9.2 0.0.1.9.1 0.0.1.9 0.0.1.8.6 0.0.1.8.5 0.0.1.8.4 0.0.1.8.3 0.0.1.8.2 0.0.1.8.1 0.0.1.8 0.0.1.7.6 0.0.1.7.5 0.0.1.7.4 0.0.1.7.3 0.0.1.7.2 0.0.1.7.1 0.0.1.7 0.0.1.6.9 0.0.1.6.8 0.0.1.6.7 0.0.1.6.6 0.0.1.6.5 0.0.1.6.4 0.0.1.6.3 0.0.1.6.2 0.0.1.6.1 0.0.1.6 0.0.1.5.2 0.0.1.5.1 0.0.1.5 0.0.1.4.1 0.0.1.4 0.0.1.3.4 0.0.1.3.3 0.0.1.3.2 0.0.1.3.1 0.0.1.3 0.0.1.2 0.0.1.1 0.0.1.0 0.0.0.9 0.0.0.8 0.0.0.7 0.0.0.6 0.0.0.5 0.0.0.4 0.0.0.3
1 merge request!7Refactor
......@@ -75,6 +75,7 @@ import Control.Monad.Reader -- (Reader, ask)
import Database.PostgreSQL.Simple (Connection)
import Data.Text (Text, pack)
import Data.Aeson
import Data.Aeson.Types
import Data.List (last, concat)
import Gargantext.Core.Types
......@@ -91,32 +92,34 @@ import Opaleye hiding (FromField)
type PWD = [NodeId]
--data PWD' a = a | PWD' [a]
type Cmd a = Connection -> IO a
-- | TODO get Children or Node
get :: Connection -> PWD -> IO [Node Value]
get _ [] = pure []
get conn pwd = runQuery conn $ selectNodesWithParentID (last pwd)
get :: PWD -> Cmd [Node Value]
get [] _ = pure []
get pwd conn = runQuery conn $ selectNodesWithParentID (last pwd)
-- | Home, need to filter with UserId
home :: Connection -> IO PWD
home :: Cmd PWD
home c = map node_id <$> getNodesWithParentId c 0 Nothing
-- | ls == get Children
ls :: Connection -> PWD -> IO [Node Value]
ls :: PWD -> Cmd [Node Value]
ls = get
tree :: Connection -> PWD -> IO [Node Value]
tree c p = do
ns <- get c p
children <- mapM (\p' -> get c [p']) $ map node_id ns
tree :: PWD -> Cmd [Node Value]
tree p c = do
ns <- get p c
children <- mapM (\p' -> get [p'] c) $ map node_id ns
pure $ ns <> (concat children)
-- | TODO
post :: Connection -> PWD -> [NodeWrite'] -> IO Int64
post _ [] _ = pure 0
post _ _ [] = pure 0
post c pth ns = mkNode c (last pth) ns
post :: PWD -> [NodeWrite'] -> Cmd Int64
post [] _ _ = pure 0
post _ [] _ = pure 0
post pth ns c = mkNode c (last pth) ns
--postR :: Connection -> PWD -> [NodeWrite'] -> IO [Int]
--postR _ [] _ = pure [0]
......@@ -127,9 +130,9 @@ post c pth ns = mkNode c (last pth) ns
--rm :: Connection -> PWD -> [NodeId] -> IO Int
--rm = del
del :: Connection -> [NodeId] -> IO Int
del _ [] = pure 0
del c ns = deleteNodes c ns
del :: [NodeId] -> Cmd Int
del [] _ = pure 0
del ns c = deleteNodes c ns
-- | TODO
--put :: Connection -> PWD -> [a] -> IO Int64
......@@ -141,84 +144,70 @@ del c ns = deleteNodes c ns
-- jump NodeId
-- touch Dir
type CorpusName = Text
postCorpus :: ToJSON a => CorpusName -> (a -> Text) -> [a] -> Cmd [Int]
postCorpus corpusName title ns c = do
pid <- last <$> home c
let uid = 1
postNode c uid pid ( Node' NodeCorpus corpusName emptyObject
(map (\n -> Node' Document (title n) (toJSON n) []) ns)
)
-- |
-- import IMTClient as C
-- postAnnuaire "Annuaire IMT" (\n -> (maybe "" identity (C.prenom n)) <> " " <> (maybe "" identity (C.nom n))) (take 30 annuaire)
postAnnuaire :: ToJSON a => CorpusName -> (a -> Text) -> [a] -> Cmd [Int]
postAnnuaire corpusName title ns c = do
pid <- last <$> home c
let uid = 1
postNode c uid pid ( Node' Annuaire corpusName emptyObject
(map (\n -> Node' UserPage (title n) (toJSON n) []) ns)
)
--------------------------------------------------------------
-- Tests
--------------------------------------------------------------
get' :: PWD -> Reader Connection (IO [Node Value])
get' [] = pure $ pure []
get' pwd = do
connection <- ask
pure $ runQuery connection $ selectNodesWithParentID (last pwd)
get' :: PWD -> IO [Node Value]
get' = runCmd . get
home' :: IO PWD
home' = do
c <- connectGargandb "gargantext.ini"
home c
--home'' :: Reader Connection (IO PWD)
--home'' = do
-- c <- ask
-- liftIO $ home c
home' = runCmd home
ls' :: IO [Node Value]
ls' = do
c <- connectGargandb "gargantext.ini"
ls' = runCmd $ \c -> do
h <- home c
ls c h
ls h c
tree' :: IO [Node Value]
tree' = do
c <- connectGargandb "gargantext.ini"
tree' = runCmd $ \c -> do
h <- home c
tree c h
tree h c
post' :: IO [Int]
post' = do
c <- connectGargandb "gargantext.ini"
post' = runCmd $ \c -> do
pid <- last <$> home c
let uid = 1
postNode c uid pid ( Node' NodeCorpus (pack "Premier corpus") (toJSON (pack "{}"::Text)) [ Node' Document (pack "Doc1") (toJSON (pack "{}" :: Text)) []
, Node' Document (pack "Doc2") (toJSON (pack "{}" :: Text)) []
, Node' Document (pack "Doc3") (toJSON (pack "{}" :: Text)) []
postNode c uid pid ( Node' NodeCorpus (pack "Premier corpus") emptyObject [ Node' Document (pack "Doc1") emptyObject []
, Node' Document (pack "Doc2") emptyObject []
, Node' Document (pack "Doc3") emptyObject []
]
)
type CorpusName = Text
-- |
-- myCorpus <- Prelude.map doc2hyperdataDocument <$> toDocs <$> snd <$> readCsv "doc/corpus_imt/Gargantext_Corpus_small.csv"
-- There is an error in the CSV parsing...
-- let myCorpus' = Prelude.filter (\n -> T.length (maybe "" identity (hyperdataDocument_title n)) > 30) myCorpus
postCorpus :: ToJSON a => CorpusName -> (a -> Text) -> [a] -> IO [Int]
postCorpus corpusName title ns = do
c <- connectGargandb "gargantext.ini"
pid <- last <$> home c
let uid = 1
postNode c uid pid ( Node' NodeCorpus corpusName (toJSON (pack "{}"::Text))
(map (\n -> Node' Document (title n) (toJSON n) []) ns)
)
-- |
-- import IMTClient as C
-- postAnnuaire "Annuaire IMT" (\n -> (maybe "" identity (C.prenom n)) <> " " <> (maybe "" identity (C.nom n))) (take 30 annuaire)
postAnnuaire :: ToJSON a => CorpusName -> (a -> Text) -> [a] -> IO [Int]
postAnnuaire corpusName title ns = do
c <- connectGargandb "gargantext.ini"
pid <- last <$> home c
let uid = 1
postNode c uid pid ( Node' Annuaire corpusName (toJSON (pack "{}"::Text))
(map (\n -> Node' UserPage (title n) (toJSON n) []) ns)
)
del' :: [NodeId] -> IO Int
del' ns = do
c <- connectGargandb "gargantext.ini"
del c ns
del' ns = runCmd $ del ns
-- corporaOf :: Username -> IO [Corpus]
runCmd :: Cmd a -> IO a
runCmd f = do
c <- connectGargandb "gargantext.ini"
f c
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment