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

Initial implementation: product, product_item, reservation #1

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

Empact
Copy link

@Empact Empact commented Jun 14, 2021

See bitcoinstore/api for endpoints, which are in the style of nested restful resources.

See docs and test for descriptions. To accommodate fungible vs. non-fungible products, the product is represented as a type of item, with the items used to represent both non-fungible items and fungible items, which can be of a single type or several variants.

For reservations, the item is locked on a row basis, and aggregate counts are maintained on the item.

Empact added 13 commits June 8, 2021 18:58
And move page.up endpoint therein.
Introduce a product factory for easier testing of existing products.
And the product id as via a json response.
Allows create and update. Here I split the attributes between Product
and ProductItem such that Product is a category, always having one or
more ProductItem. In the case of fungible items, the ProductItem is
conceptually a variant of the product. In the case of non-fungible
items, each ProductItem represents a separate item, and has a
amount_in_stock value of 1.
Note this is a partial implementation: only create and destroy/cancel
are supported, and only the current request is considered against the
total amount on stock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant