builder

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2020 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Overview

Package builder provides dynamic query building based on conditions.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ArticleFieldColumns maps requested article fields to columns
	ArticleFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.ArticleFields_ID):          models.ArticleColumns.ID,
			int(shop.ArticleFields_CREATED):     models.ArticleColumns.CreatedAt,
			int(shop.ArticleFields_UPDATED):     models.ArticleColumns.UpdatedAt,
			int(shop.ArticleFields_PUBLISHED):   models.ArticleColumns.Published,
			int(shop.ArticleFields_TITLE):       models.ArticleColumns.Title,
			int(shop.ArticleFields_DESCRIPTION): models.ArticleColumns.Description,
			int(shop.ArticleFields_PRICE):       models.ArticleColumns.Price,
			int(shop.ArticleFields_PROMOTED):    models.ArticleColumns.Promoted,
		},
	}

	// ImageFieldColumns maps requested image fields to columns
	ImageFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.MediaFields_MD_ID):    models.ImageColumns.ID,
			int(shop.MediaFields_MD_LABEL): models.ImageColumns.Label,
			int(shop.MediaFields_MD_URL):   models.ImageColumns.URL,
		},
	}

	// VideoFieldColumns maps requested video fields to columns
	VideoFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.MediaFields_MD_ID):    models.VideoColumns.ID,
			int(shop.MediaFields_MD_LABEL): models.VideoColumns.Label,
			int(shop.MediaFields_MD_URL):   models.VideoColumns.URL,
		},
	}

	// CategoryFieldColumns maps requested category fields to columns
	CategoryFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.CategoryFields_CAT_ID):      models.CategoryColumns.ID,
			int(shop.CategoryFields_CAT_CREATED): models.CategoryColumns.CreatedAt,
			int(shop.CategoryFields_CAT_UPDATED): models.CategoryColumns.UpdatedAt,
			int(shop.CategoryFields_CAT_LABEL):   models.CategoryColumns.Label,
		}}

	// BasePriceFieldColumns maps requested baseprice fields to columns
	BasePriceFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.BasePriceFields_BP_ID):      models.BasePriceColumns.ID,
			int(shop.BasePriceFields_BP_CREATED): models.BasePriceColumns.CreatedAt,
			int(shop.BasePriceFields_BP_UPDATED): models.BasePriceColumns.UpdatedAt,
			int(shop.BasePriceFields_BP_LABEL):   models.BasePriceColumns.Label,
			int(shop.BasePriceFields_BP_PRICE):   models.BasePriceColumns.Price,
		},
	}

	// VariantFieldColumns maps requested variant fields to columns
	VariantFieldColumns = fieldColumns{
		M: map[int]string{
			int(shop.VariantFields_VRT_ID):         models.VariantColumns.ID,
			int(shop.VariantFields_VRT_CREATED):    models.VariantColumns.CreatedAt,
			int(shop.VariantFields_VRT_UPDATED):    models.VariantColumns.UpdatedAt,
			int(shop.VariantFields_VRT_LABELS):     models.VariantColumns.Labels,
			int(shop.VariantFields_VRT_MULTIPLIER): models.VariantColumns.Multiplier,
		},
	}
)
View Source
var Debug bool

Debug enables printing of generated queries

View Source
var DefaultLimit = int32(25)

DefaultLimit is used when ListConditions does not specify any. Zero unsets the default.

Functions

func ArticleColumns

func ArticleColumns(fields []shop.ArticleFields) ([]string, error)

ArticleColumns returns a list of columns, reflecting the requested fields. When shop.ArticleFields_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

func ArticleListQuery

func ArticleListQuery(cond *shop.ListConditions, schema string) (string, []interface{}, error)

ArticleListQuery builds and returns an SQL query based on the provided conditions. The query is designed to return a single JSON array as result. This array should be unmarshalled into a []shop.Article slice.

func BasePriceColumns

func BasePriceColumns(fields []shop.BasePriceFields) ([]string, error)

BasePriceColumns returns a list of columns, reflecting the requested fields. When shop.BasePriceFields_BP_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

func CategoryColumns

func CategoryColumns(fields []shop.CategoryFields) ([]string, error)

CategoryColumns returns a list of columns, reflecting the requested fields. When shop.CategoryFields_CAT_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

func ImageColumns

func ImageColumns(fields []shop.MediaFields) ([]string, error)

ImageColumns returns a list of columns, reflecting the requested fields. When shop.MediaFields_MD_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

func VariantColumns

func VariantColumns(fields []shop.VariantFields) ([]string, error)

VariantColumns returns a list of columns, reflecting the requested fields. When shop.VariantFields_VRT_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

func VideoColumns

func VideoColumns(fields []shop.MediaFields) ([]string, error)

VideoColumns returns a list of columns, reflecting the requested fields. When shop.MediaFields_MD_ALL is passed, all columns are returned In case of an unmapped field, codes.Unimplemented error is returned.

Types

This section is empty.

Jump to

Keyboard shortcuts

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