// Searchfy converts *Inventory to *InventorySearch. func (src *Inventory) Searchfy() (*InventorySearch, error) { if src == nil { return nil, nil } dest := &InventorySearch{} dest.src = src var err error var b []byte dest.ID = strconv.FormatInt(src.ID, 10) dest.ProductName = src.ProductName dest.Description = src.Description dest.DescriptionUnigram, err = smgutils.UnigramForSearch(src.Description) if err != nil { return nil, err } dest.DescriptionBigram, err = smgutils.BigramForSearch(src.Description) if err != nil { return nil, err } dest.Stock = float64(src.Stock) dest.Price = strconv.Itoa(src.Price) dest.Barcode = strconv.FormatInt(src.Barcode, 10) b, err = json.Marshal(src.AdminNames) if err != nil { return nil, err } if str := string(b); str != "" && str != "\"\"" { dest.AdminNames = str } b, err = json.Marshal(src.Shops) if err != nil { return nil, err } if str := string(b); str != "" && str != "\"\"" { dest.Shops = str } dest.CreatedAt = src.CreatedAt dest.UpdatedAtUnixTime = float64(smgutils.Unix(src.UpdatedAt)) dest.UpdatedAt = src.UpdatedAt return dest, nil }
// UnixTimeEqual add query operand. func (p *SampleSearchUnixTimePropertyInfo) UnixTimeEqual(value time.Time) *SampleSearchBuilder { p.b.currentOp.Children = append(p.b.currentOp.Children, &smgutils.Op{FieldName: p.Name + "UnixTime", Type: smgutils.Eq, Value: smgutils.Unix(value)}) return p.b }
// UnixTimeLessThan add query operand. func (p *InventorySearchUnixTimePropertyInfo) UnixTimeLessThan(value time.Time) *InventorySearchBuilder { p.b.currentOp.Children = append(p.b.currentOp.Children, &smgutils.Op{FieldName: p.Name + "UnixTime", Type: smgutils.Lt, Value: smgutils.Unix(value)}) return p.b }