// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.29.0 // source: customers.sql package db import ( "context" "database/sql" ) const createCustomer = `-- name: CreateCustomer :execresult INSERT INTO customers ( name, trading_name, abn, created, notes, discount_pricing_policies, payment_terms, customer_category_id, url, country_id ) VALUES ( ?, ?, ?, NOW(), ?, ?, ?, ?, ?, ? ) ` type CreateCustomerParams struct { Name string `json:"name"` TradingName string `json:"trading_name"` Abn sql.NullString `json:"abn"` Notes string `json:"notes"` DiscountPricingPolicies string `json:"discount_pricing_policies"` PaymentTerms string `json:"payment_terms"` CustomerCategoryID int32 `json:"customer_category_id"` Url string `json:"url"` CountryID int32 `json:"country_id"` } func (q *Queries) CreateCustomer(ctx context.Context, arg CreateCustomerParams) (sql.Result, error) { return q.db.ExecContext(ctx, createCustomer, arg.Name, arg.TradingName, arg.Abn, arg.Notes, arg.DiscountPricingPolicies, arg.PaymentTerms, arg.CustomerCategoryID, arg.Url, arg.CountryID, ) } const deleteCustomer = `-- name: DeleteCustomer :exec DELETE FROM customers WHERE id = ? ` func (q *Queries) DeleteCustomer(ctx context.Context, id int32) error { _, err := q.db.ExecContext(ctx, deleteCustomer, id) return err } const getCustomer = `-- name: GetCustomer :one SELECT id, name, trading_name, abn, created, notes, discount_pricing_policies, payment_terms, customer_category_id, url, country_id FROM customers WHERE id = ? LIMIT 1 ` func (q *Queries) GetCustomer(ctx context.Context, id int32) (Customer, error) { row := q.db.QueryRowContext(ctx, getCustomer, id) var i Customer err := row.Scan( &i.ID, &i.Name, &i.TradingName, &i.Abn, &i.Created, &i.Notes, &i.DiscountPricingPolicies, &i.PaymentTerms, &i.CustomerCategoryID, &i.Url, &i.CountryID, ) return i, err } const getCustomerByABN = `-- name: GetCustomerByABN :one SELECT id, name, trading_name, abn, created, notes, discount_pricing_policies, payment_terms, customer_category_id, url, country_id FROM customers WHERE abn = ? LIMIT 1 ` func (q *Queries) GetCustomerByABN(ctx context.Context, abn sql.NullString) (Customer, error) { row := q.db.QueryRowContext(ctx, getCustomerByABN, abn) var i Customer err := row.Scan( &i.ID, &i.Name, &i.TradingName, &i.Abn, &i.Created, &i.Notes, &i.DiscountPricingPolicies, &i.PaymentTerms, &i.CustomerCategoryID, &i.Url, &i.CountryID, ) return i, err } const listCustomers = `-- name: ListCustomers :many SELECT id, name, trading_name, abn, created, notes, discount_pricing_policies, payment_terms, customer_category_id, url, country_id FROM customers ORDER BY name LIMIT ? OFFSET ? ` type ListCustomersParams struct { Limit int32 `json:"limit"` Offset int32 `json:"offset"` } func (q *Queries) ListCustomers(ctx context.Context, arg ListCustomersParams) ([]Customer, error) { rows, err := q.db.QueryContext(ctx, listCustomers, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() items := []Customer{} for rows.Next() { var i Customer if err := rows.Scan( &i.ID, &i.Name, &i.TradingName, &i.Abn, &i.Created, &i.Notes, &i.DiscountPricingPolicies, &i.PaymentTerms, &i.CustomerCategoryID, &i.Url, &i.CountryID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const searchCustomersByName = `-- name: SearchCustomersByName :many SELECT id, name, trading_name, abn, created, notes, discount_pricing_policies, payment_terms, customer_category_id, url, country_id FROM customers WHERE name LIKE CONCAT('%', ?, '%') OR trading_name LIKE CONCAT('%', ?, '%') ORDER BY name LIMIT ? OFFSET ? ` type SearchCustomersByNameParams struct { CONCAT interface{} `json:"CONCAT"` CONCAT_2 interface{} `json:"CONCAT_2"` Limit int32 `json:"limit"` Offset int32 `json:"offset"` } func (q *Queries) SearchCustomersByName(ctx context.Context, arg SearchCustomersByNameParams) ([]Customer, error) { rows, err := q.db.QueryContext(ctx, searchCustomersByName, arg.CONCAT, arg.CONCAT_2, arg.Limit, arg.Offset, ) if err != nil { return nil, err } defer rows.Close() items := []Customer{} for rows.Next() { var i Customer if err := rows.Scan( &i.ID, &i.Name, &i.TradingName, &i.Abn, &i.Created, &i.Notes, &i.DiscountPricingPolicies, &i.PaymentTerms, &i.CustomerCategoryID, &i.Url, &i.CountryID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateCustomer = `-- name: UpdateCustomer :exec UPDATE customers SET name = ?, trading_name = ?, abn = ?, notes = ?, discount_pricing_policies = ?, payment_terms = ?, customer_category_id = ?, url = ?, country_id = ? WHERE id = ? ` type UpdateCustomerParams struct { Name string `json:"name"` TradingName string `json:"trading_name"` Abn sql.NullString `json:"abn"` Notes string `json:"notes"` DiscountPricingPolicies string `json:"discount_pricing_policies"` PaymentTerms string `json:"payment_terms"` CustomerCategoryID int32 `json:"customer_category_id"` Url string `json:"url"` CountryID int32 `json:"country_id"` ID int32 `json:"id"` } func (q *Queries) UpdateCustomer(ctx context.Context, arg UpdateCustomerParams) error { _, err := q.db.ExecContext(ctx, updateCustomer, arg.Name, arg.TradingName, arg.Abn, arg.Notes, arg.DiscountPricingPolicies, arg.PaymentTerms, arg.CustomerCategoryID, arg.Url, arg.CountryID, arg.ID, ) return err }