admin

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2022 License: Unlicense Imports: 2 Imported by: 5

Documentation

Index

Constants

View Source
const (
	CollectionCustomer     = "customers"
	CollectionGlobalConfig = "globalconfigs"
	CollectionGroup        = "groups"
	CollectionIncrement    = "increments"
	CollectionOrder        = "orders"
	CollectionProduct      = "products"
	CollectionStore        = "stores"
	CollectionTax          = "taxes"
	CollectionUser         = "users"
)

Variables

View Source
var (
	GroupObjectIDs = []string{
		"orders", "driver", "store",
	}
)
View Source
var OrderObjectIDs = []string{
	"customer", "store",
}

Functions

This section is empty.

Types

type Coupon

type Coupon struct {
	ID     int    `json:"id"`
	Code   string `json:"code"`
	Amount string `json:"amount"`
}

type CreateGroupRequest

type CreateGroupRequest struct {
	Store string `json:"store"`
}

type CreateOrderAddressOptions

type CreateOrderAddressOptions struct {
	FirstName    string
	LastName     string
	Telephone    string
	Email        string
	AddressLine1 string
	AddressLine2 string
	Postcode     string
	City         string
}

type CreateOrderOrderOptions

type CreateOrderOrderOptions struct {
	OrderID            string
	OrderNumber        string
	InvoiceNumber      string
	Items              []OrderItem
	DeliveryDate       string
	DeliveryTime       string
	Net                string
	Total              string
	Tax                string
	Tip                string
	CouponCode         string
	AppliedCouponNet   string
	AppliedCouponTax   string
	AppliedCouponTotal string
	ShippingMethod     OrderShippingMethod
	CustomerNote       string
	Status             OrderStatus
	Store              primitive.ObjectID
	CompanyKey         string
}

type CreateOrderRequest

type CreateOrderRequest struct {
	FirstName          string              `json:"firstName"`
	LastName           string              `json:"lastName"`
	Telephone          string              `json:"telephone"`
	Email              string              `json:"email"`
	AddressLine1       string              `json:"addressLine1"`
	AddressLine2       string              `json:"addressLine2"`
	Postcode           string              `json:"postcode"`
	City               string              `json:"city"`
	ShippingMethod     OrderShippingMethod `json:"shippingMethod"`
	Items              []OrderItem         `json:"items"`
	Net                string              `json:"net"`
	Tax                string              `json:"tax"`
	Total              string              `json:"total"`
	CouponCode         string              `json:"couponCode"`
	AppliedCouponNet   string              `json:"appliedCouponNet"`
	AppliedCouponTax   string              `json:"appliedCouponTax"`
	AppliedCouponTotal string              `json:"appliedCouponTotal"`
	Store              primitive.ObjectID  `json:"store"`
	CompanyKey         string              `json:"companyKey"`
}

type Customer

type Customer struct {
	ID           primitive.ObjectID `bson:"_id" json:"id"`
	CustomerRef  string             `bson:"customerRef" json:"customerRef"`
	FirstName    string             `bson:"firstName" json:"firstName"`
	LastName     string             `bson:"lastName" json:"lastName"`
	AddressLine1 string             `bson:"addressLine1" json:"addressLine1"`
	AddressLine2 string             `bson:"addressLine2" json:"addressLine2"`
	Postcode     string             `bson:"postcode" json:"postcode"`
	City         string             `bson:"city" json:"city"`
	Telephone    string             `bson:"telephone" json:"telephone"`
	Email        string             `bson:"email" json:"email"`
	Boxes        []int              `bson:"boxes" json:"boxes"`
	CreatedAt    time.Time          `bson:"createdAt" json:"createdAt"`
	UpdatedAt    time.Time          `bson:"updatedAt" json:"updatedAt"`
}

type Device

type Device struct {
	Name     string `bson:"name" json:"name"`
	DeviceID string `bson:"deviceId" json:"deviceId"`
}

type GetRevenueRequest

type GetRevenueRequest struct {
	From    time.Time          `json:"from"`
	To      time.Time          `json:"to"`
	StoreID primitive.ObjectID `json:"storeId"`
}

type GlobalConfig

type GlobalConfig struct {
	ID                           primitive.ObjectID `bson:"_id" json:"id"`
	ProductAttributeOutOfStockIn int                `bson:"productAttributeOutOfStockInId" json:"productAttributeOutOfStockInId"`
	ProductAttributePfandId      int                `bson:"productAttributePfandId" json:"productAttributePfandId"`
	PusherAPIKey                 string             `json:"pusherApiKey"` // TODO: before provide PATCH method, add this to DB!!!
	CreatedAt                    time.Time          `bson:"createdAt" json:"createdAt"`
	UpdatedAt                    time.Time          `bson:"updatedAt" json:"updatedAt"`
}

type Group

type Group struct {
	ID         primitive.ObjectID   `bson:"_id" json:"id"`
	Orders     []primitive.ObjectID `bson:"orders" json:"orders"`
	RouteOrder []int                `bson:"routeOrder" json:"routeOrder"`
	Number     string               `bson:"number" json:"number"`
	Finalized  bool                 `bson:"finalized" json:"finalized"`
	Delivered  bool                 `bson:"delivered" json:"delivered"`
	Driver     primitive.ObjectID   `bson:"driver" json:"driver"`
	DriverName string               `bson:"driverName" json:"driverName"`
	Store      primitive.ObjectID   `bson:"store" json:"store"`
	CreatedAt  time.Time            `bson:"createdAt" json:"createdAt"`
	UpdatedAt  time.Time            `bson:"updatedAt" json:"updatedAt"`
}

type GroupDetails

type GroupDetails struct {
	Group  Group          `json:"group"`
	Orders []OrderDetails `json:"orders"`
}

type HttpErrorBody

type HttpErrorBody struct {
	Message     string `json:"message"`
	RequestID   string `json:"requestId"`
	RequestTime string `json:"requestTime"`
	Method      string `json:"method"`
	Path        string `json:"path"`
}

type Increment

type Increment struct {
	ID        primitive.ObjectID `bson:"_id"`
	Key       string             `bson:"key"`
	Value     int64              `bson:"value"`
	CreatedAt time.Time          `bson:"createdAt"`
	UpdatedAt time.Time          `bson:"updatedAt"`
}

type Order

type Order struct {
	ID                  primitive.ObjectID  `bson:"_id" json:"id"`
	OrderID             string              `bson:"orderId" json:"orderId"`
	OrderNumber         string              `bson:"orderNumber" json:"orderNumber"`
	InvoiceNumber       string              `bson:"invoiceNumber" json:"invoiceNumber"`
	ValidAddress        bool                `bson:"validAddress" json:"validAddress"`
	Address             string              `bson:"address" json:"address"`
	AddressLine2        string              `bson:"addressLine2" json:"addressLine2"`
	Email               string              `bson:"email" json:"email"`
	Telephone           string              `bson:"telephone" json:"telephone"`
	CustomerNote        string              `bson:"customerNote" json:"customerNote"`
	DeliveryDate        string              `bson:"deliveryDate" json:"deliveryDate"`
	DeliveryTime        string              `bson:"deliveryTime" json:"deliveryTime"`
	ShippingMethod      OrderShippingMethod `bson:"shippingMethod" json:"shippingMethod"`
	Customer            primitive.ObjectID  `bson:"customer" json:"customer"`
	Status              OrderStatus         `bson:"status" json:"status"`
	Secret              string              `bson:"secret" json:"secret"`
	Items               []OrderItem         `bson:"items" json:"items"`
	Net                 string              `bson:"net" json:"net"`
	Tax                 string              `bson:"tax" json:"tax"`
	Total               string              `bson:"total" json:"total"`
	PaidTotal           string              `bson:"paidTotal" json:"paidTotal"`
	CouponCode          string              `bson:"couponCode" json:"couponCode"`
	AppliedCouponNet    string              `bson:"appliedCouponNet" json:"appliedCouponNet"`
	AppliedCouponTax    string              `bson:"appliedCouponTax" json:"appliedCouponTax"`
	AppliedCouponTotal  string              `bson:"appliedCouponTotal" json:"appliedCouponTotal"`
	Tip                 string              `bson:"tip" json:"tip"`
	Printed             bool                `bson:"printed" json:"printed"`
	LocalPickupNotified bool                `bson:"localPickupNotified" json:"localPickupNotified"`
	ReadyIn             string              `bson:"readyIn" json:"readyIn"`
	Store               primitive.ObjectID  `bson:"store" json:"store"`
	CompanyKey          string              `bson:"companyKey" json:"companyKey"`
	PaymentEvents       []interface{}       `bson:"paymentEvents" json:"paymentEvents"`
	LastSessionId       string              `bson:"lastSessionId" json:"lastSessionId"` // for corporate page
	NewBoxes            int                 `bson:"newBoxes" json:"newBoxes"`
	ReturnBoxes         int                 `bson:"returnBoxes" json:"returnBoxes"`
	CreatedAt           time.Time           `bson:"createdAt" json:"createdAt"`
	UpdatedAt           time.Time           `bson:"updatedAt" json:"updatedAt"`
}

type OrderDetails

type OrderDetails struct {
	Order    Order    `json:"order"`
	Customer Customer `json:"customer"`
}

type OrderItem

type OrderItem struct {
	Name       string           `bson:"name" json:"name"`
	Quantity   int              `bson:"quantity" json:"quantity"`
	SKU        string           `bson:"sku" json:"sku"`
	Categories []string         `bson:"categories" json:"categories"`
	Extra      []OrderItemExtra `bson:"extra" json:"extra"`
	Net        string           `bson:"net" json:"net"`
	Tax        string           `bson:"tax" json:"tax"`
	TaxClass   string           `bson:"taxClass" json:"taxClass"`
	TaxRate    string           `bson:"taxRate" json:"taxRate"`
	Total      string           `bson:"total" json:"total"`
}

type OrderItemExtra

type OrderItemExtra struct {
	Key   string `bson:"key" json:"key"`
	Value string `bson:"value" json:"value"`
}

type OrderShippingMethod

type OrderShippingMethod string
const (
	OrderShippingMethodFreeShipping OrderShippingMethod = "free_shipping"
	OrderShippingMethodLocalPickup  OrderShippingMethod = "local_pickup"
)

type OrderStatus

type OrderStatus string
const (
	OrderStatusPending        OrderStatus = "PENDING"
	OrderStatusNew            OrderStatus = "NEW"
	OrderStatusNotPossible    OrderStatus = "NOT_POSSIBLE"
	OrderStatusCancelled      OrderStatus = "CANCELLED"
	OrderStatusAddedToGroup   OrderStatus = "ADDED_TO_GROUP"
	OrderStatusGroupFinalized OrderStatus = "GROUP_FINALIZED"
	OrderStatusDelivered      OrderStatus = "DELIVERED"
)

type PaymentDropInRequest

type PaymentDropInRequest struct {
	ReturnURL string `json:"returnUrl"`
}

type PaymentDropInResponse

type PaymentDropInResponse struct {
	ID          string `json:"id"`
	SessionData string `json:"sessionData"`
}

type Product

type Product struct {
	ID           primitive.ObjectID `bson:"_id" json:"id"`
	WPID         int                `bson:"id" json:"wpId"` // it's ok in patch request because we won't change this
	Name         string             `bson:"name" json:"name"`
	Permalink    string             `bson:"permalink" json:"permalink"`
	Type         ProductType        `bson:"type" json:"type"`
	SKU          string             `bson:"sku" json:"sku"`
	Price        string             `bson:"price" json:"price"`
	RegularPrice string             `bson:"regularPrice" json:"regularPrice"`
	SalePrice    string             `bson:"salePrice" json:"salePrice"`
	TaxClass     string             `bson:"taxClass" json:"taxClass"`
	Categories   []string           `bson:"categories" json:"categories"`
	Images       []string           `bson:"images" json:"images"`
	Attributes   []ProductAttribute `bson:"attributes" json:"attributes"`
	Variations   []ProductVariation `bson:"variations" json:"variations"`
	OutOfStockIn []string           `bson:"outOfStockIn" json:"outOfStockIn"`
	Pfand        string             `bson:"pfand" json:"pfand"`
	CreatedAt    time.Time          `bson:"createdAt" json:"createdAt"`
	UpdatedAt    time.Time          `bson:"updatedAt" json:"updatedAt"`
}

type ProductAttribute

type ProductAttribute struct {
	WPID      int      `bson:"id" json:"wpId"` // it's ok in patch request because we won't change this
	Name      string   `bson:"name" json:"name"`
	Position  int      `bson:"position" json:"position"`
	Variation bool     `bson:"variation" json:"variation"`
	Visible   bool     `bson:"visible" json:"visible"`
	Options   []string `bson:"options" json:"options"`
}

type ProductType

type ProductType string
const (
	ProductTypeSimple   ProductType = "simple"
	ProductTypeVariable ProductType = "variable"
)

type ProductVariation

type ProductVariation struct {
	WPID         int                         `bson:"id" json:"wpId"` // it's ok in patch request because we won't change this
	Price        string                      `bson:"price" json:"price"`
	RegularPrice string                      `bson:"regularPrice" json:"regularPrice"`
	SalePrice    string                      `bson:"salePrice" json:"salePrice"`
	Attributes   []ProductVariationAttribute `bson:"attributes" json:"attributes"`
}

type ProductVariationAttribute

type ProductVariationAttribute struct {
	WPID   int    `bson:"id" json:"wpId"` // it's ok in patch request because we won't change this
	Name   string `bson:"name" json:"name"`
	Option string `bson:"option" json:"option"`
}

type PusherGroupEvent

type PusherGroupEvent struct {
	StoreID string `json:"storeId"`
}

type PusherOrderEvent

type PusherOrderEvent struct {
	StoreID string `json:"storeId"`
}

type PusherOrderPaymentEvent

type PusherOrderPaymentEvent struct {
	OrderID string `json:"orderId"`
}

type Revenue

type Revenue struct {
	Request GetRevenueRequest `json:"request"`
	Items   []RevenueItem     `json:"items"`
}

type RevenueItem

type RevenueItem struct {
	Text  string               `json:"type"`
	Total primitive.Decimal128 `json:"total"`
}

type SearchCustomerRequest

type SearchCustomerRequest struct {
	Text         *string `json:"text"`
	FirstName    *string `json:"firstName"`
	LastName     *string `json:"lastName"`
	AddressLine1 *string `json:"addressLine1"`
	Postcode     *string `json:"postcode"`
	Telephone    *string `json:"telephone"`
	Email        *string `json:"email"`
	Limit        *int64  `json:"limit"`
}

type SearchOrderRequest

type SearchOrderRequest struct {
	Text  *string `json:"text"`
	Limit *int64  `json:"limit"`
}

type Store

type Store struct {
	ID            primitive.ObjectID `bson:"_id" json:"id"`
	Email         string             `bson:"email" json:"email"`
	Telephone     string             `bson:"telephone" json:"telephone"`
	Name          string             `bson:"name" json:"name"`
	Address       string             `bson:"address" json:"address"`
	Company       string             `bson:"company" json:"company"`
	Owner         string             `bson:"owner" json:"owner"`
	Register      string             `bson:"register" json:"register"`
	Tax           string             `bson:"tax" json:"tax"`
	Configuration StoreConfiguration `bson:"configuration" json:"configuration"`
	Drivers       []string           `bson:"drivers" json:"drivers"`
	Devices       []Device           `bson:"devices" json:"devices"`
	CreatedAt     time.Time          `bson:"createdAt" json:"createdAt"`
	UpdatedAt     time.Time          `bson:"updatedAt" json:"updatedAt"`
}

type StoreConfiguration

type StoreConfiguration struct {
	EnablePrinterAddress      bool   `bson:"enablePrinterAddress" json:"enablePrinterAddress"`
	EnablePrinterInternal     bool   `bson:"enablePrinterInternal" json:"enablePrinterInternal"`
	EnablePrinterPositions    bool   `bson:"enablePrinterPositions" json:"enablePrinterPositions"`
	POSID                     string `bson:"posId" json:"posId"`
	EnableAutomaticPosPayment bool   `bson:"enableAutomaticPosPayment" json:"enableAutomaticPosPayment"`
	WPStoreKey                string `bson:"wpStoreKey" json:"wpStoreKey"`
}

type Tax

type Tax struct {
	ID        primitive.ObjectID `bson:"_id" json:"id"`
	WPID      int                `bson:"id" json:"wpId"`
	Rate      string             `bson:"rate" json:"rate"`
	Name      string             `bson:"name" json:"name"`
	TaxClass  string             `bson:"class" json:"taxClass"` // it's ok to have different names here because we don't provide PATCH request for this entity.
	CreatedAt time.Time          `bson:"createdAt" json:"createdAt"`
	UpdatedAt time.Time          `bson:"updatedAt" json:"updatedAt"`
}

Jump to

Keyboard shortcuts

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