// Code generated by sqlc. DO NOT EDIT.
// source: system_options.sql

package db

import (
	"context"
	"database/sql"
)

const createSystemOption = `-- name: CreateSystemOption :one
INSERT INTO system_options (key, value) VALUES ($1, $2) RETURNING option_id, key, value
`

type CreateSystemOptionParams struct {
	Key   string         `json:"key"`
	Value sql.NullString `json:"value"`
}

func (q *Queries) CreateSystemOption(ctx context.Context, arg CreateSystemOptionParams) (SystemOption, error) {
	row := q.db.QueryRowContext(ctx, createSystemOption, arg.Key, arg.Value)
	var i SystemOption
	err := row.Scan(&i.OptionID, &i.Key, &i.Value)
	return i, err
}

const getSystemOptionByKey = `-- name: GetSystemOptionByKey :one
SELECT key, value FROM system_options WHERE key = $1
`

type GetSystemOptionByKeyRow struct {
	Key   string         `json:"key"`
	Value sql.NullString `json:"value"`
}

func (q *Queries) GetSystemOptionByKey(ctx context.Context, key string) (GetSystemOptionByKeyRow, error) {
	row := q.db.QueryRowContext(ctx, getSystemOptionByKey, key)
	var i GetSystemOptionByKeyRow
	err := row.Scan(&i.Key, &i.Value)
	return i, err
}