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

[FR]: Core API - Rework Stored Items #683

Open
22 of 58 tasks
GregJohnStewart opened this issue Aug 24, 2024 · 0 comments
Open
22 of 58 tasks

[FR]: Core API - Rework Stored Items #683

GregJohnStewart opened this issue Aug 24, 2024 · 0 comments
Assignees
Labels
state-triage Brand new issue needing placement type-enhancement New feature or request
Milestone

Comments

@GregJohnStewart
Copy link
Contributor

GregJohnStewart commented Aug 24, 2024

Software

Core API, Base Station

Describe what you'd like to see

We should move from keeping stored in the Item object to keeping them in a separate collection.

Benefits:

  • much greater ability to store many individual things
  • More flexibility in how things are stored
  • Simpler conceptual storage methodology

Object Changes

Items

  • Now much simpler schema (no tracking stored)
  • Typed to specify what kind of stored to allow:
    • Bulk
    • amount
    • unique
  • Hold a list of allowed storage blocks

Stored

  • Now in own collection
  • types:
    • Unique
    • Amount (unique + amount data?)
  • if amount, locked to unit from item

New API layout

/.../inventoryItem [C, S]
                  /<item id> [R, U, D]
                            /stored [S]
                                   /transact (add/ subtract/ transfer/ checkout object types)
                                   /transaction [S]
                                           /<transactionId> [R]
                                   /stats (same as interface for search, but returns a stats object for stored related to an item)
                                   /inBlock/<blockId> [C(if amount, create with 0) S]
                                                     /stats (same as interface for search, but returns a stats object for stored related to an item + block)
                                                     /<storedId> [R, U (update only data, not amounts)]

C/reate
R/ead
U/pdate
D/elete
S/earch


Is your feature request related to a problem?

Test users have expressed some confusion on methods of storage. Additionally, old method does not scale well for large amounts of individual stored items

Describe alternatives you've considered

None

Additional context

None

Checklist:

API

  • Rework objects
  • Rework API
    • Inventory Item
      • Impl
      • Test
      • Integration Test
    • Stored
      • Impl
      • Test
      • Integration Test
    • Transactions
      • Impl
      • Test
      • Integration Test
    • Validation
      • Stored unit
      • In storage block in item
  • Import/export
  • Stats
  • Expiry
  • Low stock
  • Support upgrading from old to new schema

UI

  • Transactions
    • Add
      • Bulk
      • Amt List
      • Unique Multi
      • Unique Single
    • Checkout
      • Bulk
      • Amt List
      • Unique Multi
      • Unique Single
    • Checkin
      • Bulk
      • Amt List
      • Unique Multi
      • Unique Single
    • Subtract
      • Bulk
      • Amt List
      • Unique Multi
      • Unique Single
    • Transfer
      • Bulk
      • Amt List
      • Unique Multi
      • Unique Single
  • Stored in item view
    • Bulk
    • Multi (amt list, unique multi)
    • Single
  • Stored Edit
  • Stored View
  • Stored Search
  • Iconography

To Follow up on:

@GregJohnStewart GregJohnStewart added type-enhancement New feature or request state-triage Brand new issue needing placement labels Aug 24, 2024
@GregJohnStewart GregJohnStewart added this to the V1 milestone Aug 24, 2024
@GregJohnStewart GregJohnStewart self-assigned this Aug 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state-triage Brand new issue needing placement type-enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant