Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate task history end point #1071

Merged
merged 4 commits into from
Feb 6, 2024
Merged

Separate task history end point #1071

merged 4 commits into from
Feb 6, 2024

Conversation

Sujanadh
Copy link
Collaborator

Updates

I tried updating task history in task-list. It was working fine. But to apply sorting and filtering operations for history list, it will be quite hectic since it is inside list of nested json. Using separate endpoint for only task history seems good idea and makes easy to apply filter.
This PR address this feature.
And yes, there are so many schemas with similar name, I will restructure those and use only required schemas.

@Sujanadh
Copy link
Collaborator Author

Response

[
  {
    "task_id": 605,
    "action_text": "Status changed from LOCKED_FOR_MAPPING to MAPPED by: Sujan Adhikari",
    "action_date": "2023-12-20T07:44:48.339376",
    "status": "MAPPED",
    "username": "Sujan Adhikari",
    "profile_img": "https://www.openstreetmap.org/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI4NTE3MTksInB1ciI6ImJsb2JfaWQifX0=--6b73d47fac28854f227f3d0ecd56f2f6554c8709/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDAsMTAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--473f0190a9e741bb16565db85fe650d7b0a9ee69/sujan.webp"
  },
  {
    "task_id": 605,
    "action_text": "Status changed from READY to LOCKED_FOR_MAPPING by: Sujan Adhikari",
    "action_date": "2023-12-20T07:44:23.825255",
    "status": "LOCKED_FOR_MAPPING",
    "username": "Sujan Adhikari",
    "profile_img": "https://www.openstreetmap.org/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI4NTE3MTksInB1ciI6ImJsb2JfaWQifX0=--6b73d47fac28854f227f3d0ecd56f2f6554c8709/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDAsMTAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--473f0190a9e741bb16565db85fe650d7b0a9ee69/sujan.webp"
  }
]

@spwoodcock
Copy link
Member

Thanks for the example response, very useful 😄

What immediately stands out is that the profile image URL can be quite long, but is replicated in each item.

Not a big deal if the history is only a few items. But if there are 100s of entries, then it's a bit inefficient to send all that extra data in the json payload. I wonder if there is a way to optimise.

Copy link
Member

@spwoodcock spwoodcock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment on usage of @computed_fields.

I'm not sure what this endpoint is needed for, but I will merge it & it can be updated as needed.

action_text: str
action_date: datetime

@computed_field
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved all the logic to the pydantic model.

Note we can use @computed_field decorators to generated computed values.
We can also use this to generate values based on database relationships.
To do this we need the model_config from_attributes=True:

    model_config = ConfigDict(
        from_attributes=True,
    )

@Sujanadh
Copy link
Collaborator Author

Sujanadh commented Feb 6, 2024

See my comment on usage of @computed_fields.

I'm not sure what this endpoint is needed for, but I will merge it & it can be updated as needed.

it was for the purpose of applying filters, ordering on the task history.

@Sujanadh
Copy link
Collaborator Author

Sujanadh commented Feb 6, 2024

i couldn't get back to it as i got busy on other things 😃

@spwoodcock spwoodcock merged commit 3a5d3d1 into development Feb 6, 2024
5 checks passed
@spwoodcock spwoodcock deleted the feat-task-history branch February 6, 2024 18:03
@spwoodcock
Copy link
Member

No worries! The code is merged & we can built on it at another point if needed 👍

spwoodcock added a commit that referenced this pull request Feb 23, 2024
* feat: project submissions page (#1150)

* fix (routes): projectSubmissions route added

* fix (icon): icon added

* fix (projectSubmissions): setup

* fix (projectSubmissions): styling adjustments

* feat (projectSubmissions): projectInfo section slicing

* feat (AssetModules): icon added

* feat (taskSubmissions): taskSection - UI slicing

* fix (projectSubmissions): UI fixes

* feat (AssetModules): icons added

* feat (select): className added to select

* feat (projectSubmission): submissionsTable - filter section UI completed

* feat: (AssetModules): icons added

* fix (routes): normal import for projectSubmissions

* feat (customTable): custom table added

* feat (submissionsPage): table added to submission page

* fix (taskSubmissions): mobile responsive

* feat (recharts): recharts package added

* icon added

* feat (recharts): bar & pie chart added

* feat (LineChart): lineChart added

* feat (ProjectSubmissions): infographics - infographics slicing

* feat (package): html2canvas package added

* feat (submissionsPage): chartDownload - download feature added to the charts

* fix (lineChart): line color changed

* fix (UI): UI changes

* fix (barChart): dynamic data for barChart

* fix (pieChart): dynamic data for pieChart

* fix (barChart): dynamic dataKey for xAxis

* fix (lineChart): dynamic data for lineChart

* fix (chart): bar/pie color changed

* fix (lineChart): x & y axis labels added

* feat (projectSubmissions): skeleton loader added

* fix (projectSubmissions): filter padding increase

* feat (projectSubmissions): skeletonLoader - skeletonLoader added to infographics and table

* created api that returns the submission count by date

* fix (projectSubmissions): infographicsCard - infographicsCard seperated to another component

* feat (projectSubmissions): barChart - api fetch for formSubmissions

* refactored response

* feat: (projectSubmissions): submissionBar - dummy data replaced with actual data

* fix (barChart): maxBarSize set

* feat (projectSubmissions): task api call

* feat (projectSubmissions): projectInfo - dynamic value for projTitle, tasks count, submission count

* feat (projectSubmissions): taskSidebar - dynamic data added

* feat (projectSubmissions): taskSidebar - zoomToTask feature added

* Created Project dashboard

* added organization info

* Exception handling in s3 if no object found

* refactor

* fix: string based date to custom date format for over 7days

* feat (projectSubmissions): contributorsTable - contributors table data fetch

* fix (projectSubmissions): UI fix

* fix (assetModules): duplicated icon removed

* feat (projectSubmissions): projectInfo - api integration

* fix (projectSubmissions): piechart - outerRadius adjusted

* fix (projectSubmissions): message display if no data available

* feat (projectSubmissions): taskLoading - skeleton loader added for tasks

* fix (projectSubmissions): filter - UI fix

* feat submissionsTable: api fetch for submissionsTable field & data

* feat projectSubmissionsTable: dynamic header & data add with skeleton loader

* fix projectSubmissions: relative path imports replaced with absolute path imports

* feat projectSubmissionsTable: refresh table data functionality add

* fix import: wrong validation import fix

* feat submissionTable: mui tablePagination added

* fix projectSubmissions: pagination api fetch

* fix createProjectSlice: import fix

* fix projectSubmissions: types added to slice

* fix projectSubmissions: loading state to false if error arise in table api fetch

* fix projectSubmissions: pagination disable on api fetch pending

* fix select: optional type of null to value, errorMsg optional

* fix projectSubmissions: table filter state added

* fix lineChart: line color changed, xLabel & yLabel hidden if not present

* fix projectSubmissions: validated vs mapped task lineChart add

* fix bar/pieChart - color updated

* fix projectSubmissions: redirection to submissionsPage on View Submissions click

* fix projectSubmissions: loading state add on projectProgress api fetch

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix loadingBar: loading bar moved to & imported from createnewproject folder

* refactor createproject: old createProject folder deleted

* refactor routes: removed import & removed old commented createproject routes

* docs: add docs and task board badges to README

* docs: update docs/task board badges to track development

* fix: project creation draw and max boundary area (#1157)

* fix uploadArea: areaValidation for fileUpload, draw hide if selectionType uploadFile, draw available if AOI reset

* fix stepSwitcher: remove cursor-pointer on step hover

* fix projctDetails: link to setting ODK server placed on Here text

* refactor: add extra error handling if data extract download fails (#1158)

* fix: downloading data extract accessing download_url key

* add error log if data extract download fails

* fix: project submission date and time formatted (#1160)

* fix button: other btnType UI change

* fix useOutsideClick: useOutsideClick hook add

* feat projectDetails: buttons added including handleOutsideClick

* feat projectOptions: options added for larger screens

* fix projectDetails: redirect to projectSubmissions page on viewInfographics click

* fix: zlib compress dynamic QR codes from frontend (#1159)

* build(frontend): add pako for zlib compression, relock via pnpm

* fix(frontend): add zlib compression to dynamic qrcodes

* fix: zlib compression for qrcodes pako v2 (Uint8Array)

* build: add qrcode conversion container to contrib

* fix(frontend): remove svcfmtm from loginSlice initialState

* fix(backend): append /v1/ to odk_token url for qrcodes

* fix: map default odk credentials to organisations (#1123)

* fix: add odk cred org schemas for db and pydantic

* fix: add HttpUrlStr type for Url validation of str values

* fix: fix OdkCentral schema to handle passwords, inherit

* refactor: use new ODKCentralDecrypted, simplify proj create

* fix: add org_deps get_org_odk_creds method

* refactor(frontend): update create_project json structure

* refactor(frontend): remove code to add #FMTM tag automatically

* test: fix project route tests

* refactor: revert setting outline_geojson in create_app_project

* feat(frontend): option to add default odk creds for organisation

* refactor(frontend): rename form during project creation --> category

* refactor: remove additional route added during rebase

* feat: set project delete endpoint to org_admin only

* feat(frontend): project deletion capability

* fix: organisation logo display full width (#1166)

* fix homePage: exploreProjectCard image crop fix

* fix splitTasks: text below progressBar remove

* fix: create popup outside of async request (fix ios login) (#1167)

* fix: baselayer url changed with token

* feat: project admin role (#1133)

* project_admin role deps

* fix: default value for role in user_role table

* feat: api to create new project manager

* fix: linting errors

* fix: linting errors

* delete projects endpoint restricted for organisation admin only

* fix:linting errors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add new project admin allowed to project admin role

* updated project admin role deps

* feat: dependency org_admin to create project

* feat: implemented access to project_admin to edit the project

* feat: applied user dependency as per the requirement

* project_admin role deps

* fix: default value for role in user_role table

* feat: api to create new project manager

* fix: linting errors

* fix: linting errors

* delete projects endpoint restricted for organisation admin only

* fix:linting errors

* add new project admin allowed to project admin role

* updated project admin role deps

* feat: dependency org_admin to create project

* feat: implemented access to project_admin to edit the project

* feat: applied user dependency as per the requirement

* update and refactor: user roles

* refactor: simplify role access, combine into single query

* refactor: update usage of roles, org_admin return dict of objects

* fix: update project manager role usage

* perf: add db indexes for org managers and user roles

* dependency removed from validate_form endpoint

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* test: fix create_project pass url param

* fix: add role for DEBUG enabled user

* fix(frontend): pass org_id as url param to create_project

* test: create test user account as ADMIN permission

* fix: separate login logic from /me/ route

* test: fix tests requiring auth permissions

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>
Co-authored-by: Sam <78538841+spwoodcock@users.noreply.github.com>

* fix: organisation routes role usage & approval

* fix: remove approved flag from organisations endpoint

* feat: mapper role (#1163)

* fix: remove approved flag from organisations endpoint

* feat: Implement Mapper role

* Refactor: check role from lower hierarchy and added role in end points

* refactor: update mapper role to use check_access func

* refactor: fix linting errors for backend

---------

Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>
Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat: manage / edit project UI (#1154)

* fix (routes): projectSubmissions route added

* fix (icon): icon added

* fix (projectSubmissions): setup

* fix (projectSubmissions): styling adjustments

* feat (projectSubmissions): projectInfo section slicing

* feat (AssetModules): icon added

* feat (taskSubmissions): taskSection - UI slicing

* fix (projectSubmissions): UI fixes

* feat (AssetModules): icons added

* feat (select): className added to select

* feat (projectSubmission): submissionsTable - filter section UI completed

* feat: (AssetModules): icons added

* fix (routes): normal import for projectSubmissions

* feat (customTable): custom table added

* feat (submissionsPage): table added to submission page

* fix (taskSubmissions): mobile responsive

* feat (recharts): recharts package added

* icon added

* feat (recharts): bar & pie chart added

* feat (LineChart): lineChart added

* feat (ProjectSubmissions): infographics - infographics slicing

* feat (package): html2canvas package added

* feat (submissionsPage): chartDownload - download feature added to the charts

* fix (lineChart): line color changed

* fix (UI): UI changes

* fix (barChart): dynamic data for barChart

* fix (pieChart): dynamic data for pieChart

* fix (barChart): dynamic dataKey for xAxis

* fix (lineChart): dynamic data for lineChart

* fix (chart): bar/pie color changed

* fix (lineChart): x & y axis labels added

* feat (projectSubmissions): skeleton loader added

* fix (projectSubmissions): filter padding increase

* feat (projectSubmissions): skeletonLoader - skeletonLoader added to infographics and table

* created api that returns the submission count by date

* fix (projectSubmissions): infographicsCard - infographicsCard seperated to another component

* feat (projectSubmissions): barChart - api fetch for formSubmissions

* refactored response

* feat: (projectSubmissions): submissionBar - dummy data replaced with actual data

* fix (barChart): maxBarSize set

* feat (projectSubmissions): task api call

* feat (projectSubmissions): projectInfo - dynamic value for projTitle, tasks count, submission count

* feat (projectSubmissions): taskSidebar - dynamic data added

* feat (projectSubmissions): taskSidebar - zoomToTask feature added

* Created Project dashboard

* added organization info

* Exception handling in s3 if no object found

* refactor

* fix: string based date to custom date format for over 7days

* feat (projectSubmissions): contributorsTable - contributors table data fetch

* fix (projectSubmissions): UI fix

* fix (assetModules): duplicated icon removed

* feat (projectSubmissions): projectInfo - api integration

* fix (projectSubmissions): piechart - outerRadius adjusted

* fix (projectSubmissions): message display if no data available

* feat (projectSubmissions): taskLoading - skeleton loader added for tasks

* fix (projectSubmissions): filter - UI fix

* feat (manageProject): manageProject added

* feat (assetModules): icon added

* feat (chips): chips added

* fix (select): UI fix

* feat (manageProject): partial UI completion for manage-project

* feat (AssetModules): icon added

* feat (UploadArea): custom upload area added

* feat (manageProject): editTab - UI slicing completed for editTab

* fix (AssetModules): duplicate icon removed

* fix (select/manageProject): UI fix

* feat (ManageProject): userTab - table added

* fix (manageProject): mobile responsive fix

* fix (customTable): css fix

* feat (AssetModules): icons added

* feat kebabMenu: kebabMenu added

* feat (manageProject): table - kebab menu added to table

* fix manageProject - UI fixes

* fix (KebabMenu): added types

* fix select: title background transparent

* fix button: loading text checked first to display if button state loading

* feat (manageProject): editProject - edit project description add

* feat manageProject: formCategory list api fetch

* feat uuid: uuid package add to generated ids

* fix uploadArea: uuid add to uniquely identify each file

* fix (manageProject): edit - projectId passes as prop to child

* feat (manageProject): formUpdate - postFormUpdate api hit on update click

* fix manageProject: individualProjectDetails fetch on parent component

* fix navigation: navigation route added to manageProject and back btn

* feat newProjectDetails: viewInfographics & manageProject btn add for mobile view under project options

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* ci: update all gh-workflows --> v1.4.7

* refactor: cast all fields for sqlalchemy with python types (#1173)

* refactor: cast all fields for sqlalchemy with python types

* fix: flatgeobuf conversion extract from Column first

* feat: task history end point with associated user (#1071)

* feat: separate task history end point

* fix: add user relationship backref to task history

* fix: add user details to task_history endpoint

* refactor: revert to sqlalchemy backref names

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* feat(frontend): default organisation credentials during proj create  (#1174)

* fix: improve create organisation ui styling

* fix: set org odk password field to password type

* fix: allow for empty value for HttpUrlStr validation

* feat(frontend): create project using default organization creds

* refactor: update project creation comments --> tags

* refactor: task status update endpoint to adjust mapper role (#1180)

* update: task status update endpoint to adjust mapper role

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix: update db relations for generating submissions (#1179)

* fix: update submission in s3

* Fix: error handling in s3

* removed optional from get_obj_from_bucket

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* fix uploadArea: geojson validation for uploaded file

* feat: create / edit organization form (#1178)

* feat createEditOrganization: routes/header setup

* feat createEditOrganization: conditionally showing consent/createEdit forms

* fix createEditOrganizationHeader: component renamed

* feat consentQuestions: consent questions schema setup in constants

* feat consentDetailsForm: leftSide container UI add

* feat checkbox: custom radixUI checkbox component add

* fix radioButton: className prop add to radioButton

* fix consentQuestions: questions update

* fix button: hover effect added to btn type other

* fix checkBox: UI fix

* feat consentDetailsForm: UI complete

* feat consentDetailsForm: useForm integration & validations add

* fix createEditOrganizationForm: organizationId props pass

* fix RadioButton: required prop added

* fix inputTextField: sublabel add

* feat createEditOrganizationForm: form UI & validation complete

* fix inputTextField: subLabel update

* fix consentQuestions: redirection links added

* fix organizationForm: post create organization detail

* feat editOrganizationForm: individualOrganization api fetch

* feat organizationForm: patch organizationData on update

* fix organizationForm: naming change

* fix organization: instructions updated & seperated to another component

* fix manageOrganization: hide profile, org_type, osm_profile fields for edit organization

* fix projectDetails: dowloadOptions open/close issue fix

* feat approveOrganization: UI complete

* fix organizationService: loading state false

* fix createEditOrganizationForm: osm_profile remove from form

* fix createEditOrganizationForm: filedType changed to password

* feat userRole: userRole set to localStorage

* fix manageOrganizations: UI fix, verified show/hide based on userRoles

* fix manageOrganization: UI update

* fix organizationDetailsValidation: osmProfile removed

* fix createEditOrganization: clear consentForm state on organization creation

* feat approveOrganization: approve api hit on verify click

* refactor: org creation page consent questions (#1185)

* fix consentQuestion: participated_in question required change to false

* fix consentDetailsValidation: updated validation where user should mark atleast one checkbox for log_into question

* feat: osm-rawdata for generating data extracts (#1183)

* refactor: remove old unused DefineMapArea component

* refactor: rename /generate endpoint --> /generate_project_data

* fix(frontend): correctly send data_extract_type to project create

* fix(frontend): add data_extract_url param, refactor DataExtract for clarity

* build: add migration for projects.data_extract_url field

* fix: add slash to osm-data-extract url for correct method

* fix(frontend): pass through data extract url & type during proj creation

* fix: set data extract url and type on generate endpoint

* fix(backend): use osm-rawdata for data extract generation + filtering

* fix(frontend): add form_category for osm data extract post params

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* build: update osm-rawdata --> v0.2.0

* build: update osm-rawdata --> v0.2.1

* feat: correctly set data extract url if custom upload or osm

* fix: load fgb data extract and get geojson geoms

* fix: accept xls forms in xls and xlsx format

* fix: optional data extracts for tasking splitting algo

* build: update fmtm-splitter --> v1.1.1

* refactor: simplify project file generation during creation

* fix(frontend): passing params for tasking splitting algo

* refactor: remove data extract type if osm generated

* build: update minio browser to use env var

* refactor: do not include minio port bind by default

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* test: fix create project generate_appuser_files usage

* fix: project submission card UI enhancement (#1186)

* feat assetModules: icon add

* fix projectSubmissions: projectDataCard UI enhancement

* fix: projectSubmissions: UI enhancement

* fix projectSubmissions: infographics section mobile responsive

* docs: use mdx_truly_sane_lists plugin for list ordering

* fix: feature type not being saved as a geojson type

* fix: axios interceptors fixing test

* fix: axios interceptor testing

* fix: project creation workflow fixes (task splitting) (#1194)

* fix: remove Field(Form()) from schemas

* refactor: move geometry generation to project_schemas

* fix(frontend): send project outline geojson during create

* fix: only send custom data extracts to splitter

* fix: optional project_task_name in schema

* refactor(frontend): remove refs to project_task_name

* refactor(backend): remove extract_type from data-extract-url

* fix(frontend): setting data extract url if osm generated extract

* test: fix or remove tests during project creation

* fix: add odk_central_url to org details returned

* feat: add community_type for organisations, add unapproved org list endpoint (#1197)

* create organisation permission updated to login_required

* api to list unapproved organisations

* Feat: Added email and community_type field in organisation

* fix: changed org_id to mandatory to create project

* fix: added organisation_id in payload of create project

* fix: await check crs, added email and community type in test organisation

* refactor: proper enum field community type in test organisation

* build: update community_type migration number & logic

* refactor: remove email field from organisation

* refactor: remove organisation_id from ProjectUpload model

* refactor: remove email from dborg model for conftest

* refactor: remove organisation_id from create_project POST json

* test: fix remove organisation_id from ProjectUpload

* fix: add optional organisation_id to ProjectUpload

* feat: add project to org_user_dict if present

* fix: extract project from org_user_dict on deletion

* test: fix tests to include organisation_id extracted from fixture

---------

Co-authored-by: Niraj Adhikari <nrjadkry@gmail.com>
Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* fix: org creation using Form params

* feat: endpoints for task comments (#1171)

* feat: taskcomment model added

* feat: crud task comment

* feat: task comment crud api route added

* feat: task comment schema added

* fix: removed use of dictionary to object

* fix: change row name by id with task_comment_id

* fix: renamed comment_task_id_to_id

* feat: migration add-task-comment

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* renamed task_comment index

* fix: removed new table migration for taskcomment

* feat: used task_history table to get task_comment and add task_comment
Using task_history table maintained action row as COMMENT and added comment

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: linting issue

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: improve sql, use query params, fix linting errors

* refactor: minor code cleanup bundled in merge

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* fix: update task status when mapping starts (#1208)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat: init public beta org and svcfmtm user migration (#1206)

* build: remove odk vars from frontend build dev compose

* build: remove user password field from init schema

* build: fix only continue migration if sql script succeeds

* build: update migration entrypoint envsubst + error handling

* build: migration to create fmtm public beta org + svcfmtm

* build: add gettext for envsubst command in dockerfile

* build: use odk user email for svcfmtm user email

* fix: replace org init with startup code for pass encrypt

* fix: specify user id for svcfmtm admin init

* build: fix remove sequential user id (create manually)

* build: remove default user creation from migration script

* build: fix project-roles migration if enum exists

* fix (manageProject) - formUpdate: remove formCategory dropdown for update

* fix (projectSubmissions): taskList: search functionality add to task-list section

* fix taskIdSearch: message display if searched taskId not present

* fix:added interceptor for cookie issue

* feat: filters on submission table (#1191)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* build: increase proxy_read_timeout for longer connection time

* refactor: remove old edit-project code (#1210)

* refactor (frontend): rename changeset to hashtags (#1211)

* fix editProject: fieldName changeset change to tags, tags field required set to false

* fix namingChange: field title Tags changed to Hashtags

* feat: api returning details of unapproved org (#1218)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat: improve submissions dynamic filtering (#1217)

* fix submissionTable: filterObj key name change, reviewStateData constant add

* feat: filters on submission table

* fix inputTextField: input label fix

* fix submissionTable: submitted by textField add

* feat customDatePicker: react-datepicker add

* fix projectSubmissions: datepicker add & payload add for api fetch

* fix projectSubmissions: submissionFilters UI enhancement

* fix projectSubmissions: toggle infographics/table view UI re-arrangement

* feat pieChart: legend add

* fix submissionInfographics: dynamic value for projectProgress pieChart

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix: data extract generation and task splitting with polylines (#1219)

* build: bump osm-rawdata & fmtm-splitter versions for fixes

* fix: use useStWithin=False for data extract generation with polyline

* fix: first coordinate check when check_crs geojson

* Updated osm-fieldwork version (#1222)

* fix: submissions form fields

* refactor central crud

* pdm lock file updated

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: Niraj Adhikari <nrjadkry@gmail.com>

* feat (frontend): approve organization api integration (#1215)

* fix managProject: UI fix

* feat manageOrganization: redirect to approveOrganization on org click on To Be Verified tab org list

* fix rejectOrganization: service for rejectOrganization add

* feat organizationApproval: state management to show approving/rejecting status, redirect to manage-org after approval success

* fix: update schema to edit only required fields (#1223)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* Instructions in create and edit project (#1224)

* fix: update schema to edit only required fields

* feat: added instructions in project create and edit

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* fix editProject: formUpdate file extension spelling corrected to xlsx

* fix header: activeTab selection based on url pathname

* refactor primaryAppBar: unnecessary commented code remove

* feat: added approved in get organisation response (#1226)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat assetModules: tuneIcon add

* feat shadcnDropdown: shadcn dropdown add

* fix select: zIndex add to selectContent

* fix submissionsFilter: UI enhancement

* fix submissionTable: logic add to handle Point & object to display dynamic table

* feat submissionsTable: buttons add

* fix modal: modal props type add

* fix taskService: josmService comment update

* feat projectSubmissions: uploadToJosm api integration & modalOpen on josmError

* fix: removed deps from delele org api (#1233)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* fix dropdown: dropdownMenu UI fix

* feat submissionTable: download as csv & json dropdown add on download option

* fix taskService: axios get replace fetch for convertXMLToJOSM service

* fix: required odk credentials if no organisation default (#1205)

* fix ICreateProject: projectDetailsTypes fix

* fix projectDetialsForm: default of value #FMTM add to tags field

* fix projectDetailsForm: odk url, email, password made required

* fix projectDetailsForm: default FMTM tag removal

* fix checkbox: className props add

* fix createEditOrganization: remove email field, checkbox add to conditionally show ODK credentials field

* fix organizationForm: remove email field

* fix customDatePicker: types add

* fix createEditOrganizationFrom: ODK credential fields optional/required based on checkbox

* feat createNewProject: conditionally hide/unhide ODK credentials fields based on checkbox selection

* fix createNewProject: clear odkCredentials on defaultODKCredentials checkbox uncheck

* fix createNewProject - step1: UI enhancement, splitted form updated to single column form

* fix organizationForm: getUnapprovedOrganization api replacement

* fix unapprovedOrg: return obj instead of array

* fix organization: state not clear issue solve

* fix organization: editOrganization organizationFormData state clear

* fix createEditOrganization: comments add

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat (frontend,backend): my organisations tab implemented (#1227)

* feat: my organisations api route added

* feat: get my organisation function

* feat: added get organisation api service

* feat: organisationGridCard Component created

* feat: Type added to organisation slice

* Feat: My organisation tab for data fetching

* refactor: remove missed print statement

---------

Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* refactor: improve flatgeobuf loading and generation (#1235)

* refactor: update flatgeobuf --> geojson to extract properties

* fix: create flatgeobuf files with spatial index by default

* docs: comment note for future fgb generation

* docs: extra info on fgb generation with tags

* fix: project org UI issues (#1230)

* fix editProject: formUpdate file extension spelling corrected to xlsx

* fix header: activeTab selection based on url pathname

* refactor primaryAppBar: unnecessary commented code remove

* feat assetModules: tuneIcon add

* feat shadcnDropdown: shadcn dropdown add

* fix select: zIndex add to selectContent

* fix submissionsFilter: UI enhancement

* fix submissionTable: logic add to handle Point & object to display dynamic table

* feat submissionsTable: buttons add

* fix modal: modal props type add

* fix taskService: josmService comment update

* feat projectSubmissions: uploadToJosm api integration & modalOpen on josmError

* fix dropdown: dropdownMenu UI fix

* feat submissionTable: download as csv & json dropdown add on download option

* fix taskService: axios get replace fetch for convertXMLToJOSM service

* test (frontend): case config, add test cases (#1231)

* feat: Test cases configuration changes for vitest

* feat(Test): Button test cases added with docstring

* feat(Testcases): added a small test cases to check if test is working

* fix: add created_by user id to organisation table (#1232)

* feat: added user in organisation

* feat: make user org manager after org approval

* fix: added user_id in org pytest fixture

* refactor: simplify organisation user_id --> created_by int field

* build: update migrations to match org db model

* refactor: simplify org approval logic

* refactor: bullet point in migration file

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* feat submissionsPage: redirect to respective submissions & task submissions page on button click

* Feat verification tag add (#1234)

* feat organizationList: verification tag add on organization card

* fix projectTaskStatus: enum value display

* fix manageOrganization: hide new btn if no token & show verified/unverified tab on ALL tab selection only

* fix manageOrganization: add verification tag & redirect to approve org if org not verified

* fix: qr popup on task status & styling (#1184)

* fix (environment): tasksStatus - actionKey name change, btnBG key add

* fix assetModules: icon add

* fix button: UI change, id prop inclusion

* fix qrCodeComponent: UI enhancement, component moved from projectDetails to taskSectionPopup

* fix dialogTaskActions: UI enhancements, buttons add

* fix qrCodeComponent: qrcode access form parent component, code cleanup, UI enhancement

* fix qrCodeComponent: UI fix

* fix projectdetails: old projectDetails page replaced with new

* fix button: id prop relaced with btnId prop

* fix qrPopup: btnid extract from event.currentTarget

* fix projectDetails: navigate path to project_details fix

* feat filterParams: filter out null objects

* feat projectSubmissions: searchParams add on individual submissions page navigation

* fix projectSubmissions: navigate to projectSubmissions with searchParams

* feat: added bbox in read project's outline (#1244)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat: flatgeobuf data extracts on frontend & backend (#1241)

* refactor: add data_extract_url to ProjectOut schema

* feat: load remote flatgeobuf data extracts from S3

* fix(frontend): correctly load nested fgb GeometryCollection type

* feat: read/write flatgeobuf, split geoms by task in database

* feat: split fgb extract by t
ask, generate geojson form media

* refactor: deletion comment for frontend files not required

* build: remove features table from db

* feat: allow uploading of custom data extracts in fgb format

* test: update tests to use flatgeobuf data extracts

* refactor: rename var for clarity

* ci: minify backend test data + ignore from prettier

* fix: move OdkDecrypted logic into project_deps (#1239)

* fix:commit features to db before generating task files

* refactor: convert repeated odk_cred into a function

* fix: reuse DbProject object when retrieving odk creds

---------

Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: spwoodcock <sam.woodcock@protonmail.com>

* fix: comment broken SubmissionMap import on frontend

* refactor: changed sync to async gather_all_submission_csvs (#1258)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* feat(manage-organizations): add `OrganizationCardSkeleton` component

* feat(manage-organisations): implement skeleton loader while Organizations are being fetched

* refactor: reorganize the code to make it cleaner

* fix: send bbox from geojson properties to josm (#1256)

* build: upgrade osm-rawdata --> 0.2.3 & relock all versions

* fix: file validity check on fileUpload only once (#1262)

* fix: use raw sql for organisation crud (#1253)

* fix: update initial_feature_count --> feature_count and populate values (#1265)

* build: rename tasks.initial_feature_count --> tasks.feature_count

* refactor: rename initial_feauture_count in endpoints

* fix: dynamic submissions legend chloropeth (#1250)

* fix projectSubmissions: dynamic mapLegend and taskChloropeth on increasing submissions count

* feat projectSubmissionsMap: popup showing expected/submissions count add

* fix homeSCSS: width fix

* fix popupHeader: border fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: removing redundant code for removing extra closing </osm> tag (#1264)

Co-authored-by: sujanadh <sujanadh07@gmail.com>

* fix: task splitting with custom data extract (#1255)

* fix: handle GeometryCollection wrappers in geojson parse

* fix: task splitting when custom data extract uploaded

* feat: add map popups to data extract geometries (#1266)

* refactor: always return all properties on map click

* refactor: rename submissionModel --> taskModel

* refactor: configurable primary property key for map AsyncPopup

* feat: add map popup on data extract geom click

* build: make initial_feature_count migration idempotent

---------

Co-authored-by: Nishit Suwal <81785002+NSUWAL123@users.noreply.github.com>
Co-authored-by: sujanadh <sujanadh07@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: NSUWAL123 <suwalnishit@gmail.com>
Co-authored-by: Deepak Pradhan (Varun) <37866666+varun2948@users.noreply.github.com>
Co-authored-by: Deepak Pradhan <deepak.pradhan048@gmail.com>
Co-authored-by: Niraj Adhikari <41701707+nrjadkry@users.noreply.github.com>
Co-authored-by: Sujan Adhikari <109404840+Sujanadh@users.noreply.github.com>
Co-authored-by: Niraj Adhikari <nrjadkry@gmail.com>
Co-authored-by: prajwalism <prajwalkhadgi11@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Related to backend code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants