item

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2022 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteItem added in v1.0.0

func DeleteItem(id primitive.ObjectID) error

Delete item from DB

func ModifyItem added in v1.0.0

func ModifyItem(id primitive.ObjectID, ni Item) error

modify item in DB

func SaveItem added in v1.0.0

func SaveItem(i Item) (primitive.ObjectID, error)

Add item to db

Types

type InvoiceItem

type InvoiceItem struct {
	Item
	/* Each product must have a quantity
	 * but it is upto the backend to enforce that
	 */
	// TODO: float64 isn't ideal, find a better way
	Quantity           float64 `bson:"Quantitiy" json:"Quantity"`
	DiscountPercentage float64 `bson:"DiscountPercentage,omitempty" json:"DiscountPercentage"`
}

Item but with extra fields an invoice might require

type Item

type Item struct {
	Id                 primitive.ObjectID `bson:"_id,omitempty" json:"Id"`
	Brand              brand.Brand        `bson:"Brand,omitempty" json:"Brand"`
	UnitOfMeasure      string             `bson:"UnitOfMeasure" json:"UnitOfMeasure"`
	HasDecimalQuantity bool               `bson:"HasDecimalQuantity, json:"HasDecimalQuantity"`
	// just the defaults, can be overridden in an invoice
	Name        string  `bson:"Name" json:"Name"`
	Description string  `bson:"Description" json:"Description"`
	HSN         string  `bson:"HSN" json:"HSN"`
	UnitPrice   float64 `bson:"UnitPrice" json:"UnitPrice"`
	// default tax percentage
	GSTPercentage float64 `bson:"GSTPercentage" json:"GSTPercentage"`
	MaxQuantity   float64 `bson:"MaxQuantity" json:"MaxQuantity"`
	MinQuantity   float64 `bson:"MinQuantity" json:"MinQuantity"`
}

An item is any product * or service that can be sold * Items may have a max and min quanity * and some default fields like GST and Unit Price * that don't need to be entered manually * * the front-end may or may not implement * the default fields * * Items can be assigned brands * and certain actions can be performed * on the products of a brand altogether

func GetItems added in v0.0.2

func GetItems(filter bson.M) ([]Item, error)

GetItems queries the database and * returns items based on the given filter * if filter is nil every item is returned

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL