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

Design cloud native supporting API #19

Open
49 tasks
steveoh opened this issue Sep 24, 2024 · 2 comments
Open
49 tasks

Design cloud native supporting API #19

steveoh opened this issue Sep 24, 2024 · 2 comments
Labels
area: feature creation Functionality related to feature creation area: project panel Functionality within the project panel size: extra large 80 hours or less estimated

Comments

@steveoh
Copy link
Member

steveoh commented Sep 24, 2024

The mapping application requires CRUD operations to support the mapping functionality.

The parent application supplies a key and token to authorize the request. Consider proxying our solution through apigee to handle WRI auth.

Tasks

GET project/{id}

  • Supports the informational request that provides all of the data to populate the project information pane
  • Default project information
  • Spatial features with attributes
  • if editing is allowed by the requester

GET supporting/filters

  • Provides the data for pick lists and options from lookup tables
  • Project status values
  • Feature type values

GET supporting/editing

  • Provides the data to create pick lists for creating new features
  • Point and Line actions
  • Herbicide treatments
  • Feature attributes

GET project/{id}/{featureId}

  • Provide the data to show specific feature data when selected
  • county
  • sage grouse
  • land ownership
  • stream

POST project/{id}/create

  • Support creating new features
  • The project must exist
  • The project must not be cancelled or completed unless the user is an admin
  • The project must allow features unless the user is an admin
  • The user must not be anonymous or public
  • The user must be a project manager, contributor, or admin
  • The input geometry must be valid
  • The input geometry must not overlap features of the same type
  • The spatial intersections must be calculated for the feature
  • The project spatial intersections must be updated
  • The project centroid must be updated

PUT project/{id}

  • Support modifying existing features
  • The project must exist
  • The project must not be cancelled or completed unless the user is an admin
  • The project must allow features unless the user is an admin
  • The user must not be anonymous or public
  • The user must be a project manager, contributor, or admin
  • The input geometry must be valid
  • The input geometry must not overlap features of the same type
  • The spatial intersections must be calculated for the feature
  • The project spatial intersections must be updated
  • The project centroid must be updated

DELETE project/{id}

  • Support deleting existing features
  • The project must exist
  • The project must not be cancelled or completed unless the user is an admin
  • The project must allow features unless the user is an admin
  • The user must not be anonymous or public
  • The user must be a project manager, contributor, or admin
  • The input geometry must be valid
  • The input geometry must not overlap features of the same type
  • The spatial intersections must be calculated for the feature
  • The project spatial intersections must be updated
  • The project centroid must be updated
@steveoh steveoh added area: feature creation Functionality related to feature creation area: project panel Functionality within the project panel size: extra large 80 hours or less estimated labels Sep 24, 2024
@stdavis
Copy link
Member

stdavis commented Sep 25, 2024

Does the project centroid need to be updated under "PUT project/{id}"?

@steveoh
Copy link
Member Author

steveoh commented Sep 25, 2024

Yep, for put, post, and delete. I'll update the boxes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: feature creation Functionality related to feature creation area: project panel Functionality within the project panel size: extra large 80 hours or less estimated
Projects
None yet
Development

No branches or pull requests

2 participants