2022-05-20 20:57:45 +00:00
|
|
|
// Code generated by sqlc. DO NOT EDIT.
|
|
|
|
// versions:
|
|
|
|
// sqlc v1.13.0
|
|
|
|
// source: queries.sql
|
|
|
|
|
|
|
|
package store
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-05-24 19:20:28 +00:00
|
|
|
"database/sql"
|
2022-05-20 20:57:45 +00:00
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
const createUser = `-- name: CreateUser :one
|
2022-05-20 22:34:20 +00:00
|
|
|
INSERT INTO users (twitter_id, username, name, access_token, refresh_token, created_at, updated_at)
|
|
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
|
|
|
ON CONFLICT (twitter_id)
|
|
|
|
DO
|
|
|
|
UPDATE SET access_token = EXCLUDED.access_token, refresh_token = EXCLUDED.refresh_token, username = EXCLUDED.username, name = EXCLUDED.name, updated_at = EXCLUDED.updated_at
|
2022-05-20 20:57:45 +00:00
|
|
|
RETURNING id, twitter_id, username, name, access_token, refresh_token, delete_tweets_enabled, delete_tweets_num_per_iteration, created_at, updated_at
|
|
|
|
`
|
|
|
|
|
|
|
|
type CreateUserParams struct {
|
2022-05-20 22:34:20 +00:00
|
|
|
TwitterID string
|
|
|
|
Username string
|
|
|
|
Name string
|
|
|
|
AccessToken string
|
|
|
|
RefreshToken string
|
|
|
|
CreatedAt time.Time
|
|
|
|
UpdatedAt time.Time
|
2022-05-20 20:57:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error) {
|
|
|
|
row := q.db.QueryRow(ctx, createUser,
|
|
|
|
arg.TwitterID,
|
|
|
|
arg.Username,
|
|
|
|
arg.Name,
|
|
|
|
arg.AccessToken,
|
2022-05-20 22:34:20 +00:00
|
|
|
arg.RefreshToken,
|
2022-05-20 20:57:45 +00:00
|
|
|
arg.CreatedAt,
|
|
|
|
arg.UpdatedAt,
|
|
|
|
)
|
|
|
|
var i User
|
|
|
|
err := row.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.TwitterID,
|
|
|
|
&i.Username,
|
|
|
|
&i.Name,
|
|
|
|
&i.AccessToken,
|
|
|
|
&i.RefreshToken,
|
|
|
|
&i.DeleteTweetsEnabled,
|
|
|
|
&i.DeleteTweetsNumPerIteration,
|
|
|
|
&i.CreatedAt,
|
|
|
|
&i.UpdatedAt,
|
|
|
|
)
|
|
|
|
return i, err
|
|
|
|
}
|
2022-05-20 22:34:20 +00:00
|
|
|
|
2022-05-24 19:20:28 +00:00
|
|
|
const getLastElonTweet = `-- name: GetLastElonTweet :one
|
|
|
|
SELECT id, twitter_id, text, posted_at, processed_at, created_at, updated_at from elon_tweets ORDER BY twitter_id DESC LIMIT 1
|
|
|
|
`
|
|
|
|
|
|
|
|
func (q *Queries) GetLastElonTweet(ctx context.Context) (ElonTweet, error) {
|
|
|
|
row := q.db.QueryRow(ctx, getLastElonTweet)
|
|
|
|
var i ElonTweet
|
|
|
|
err := row.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.TwitterID,
|
|
|
|
&i.Text,
|
|
|
|
&i.PostedAt,
|
|
|
|
&i.ProcessedAt,
|
|
|
|
&i.CreatedAt,
|
|
|
|
&i.UpdatedAt,
|
|
|
|
)
|
|
|
|
return i, err
|
|
|
|
}
|
|
|
|
|
2022-05-20 22:34:20 +00:00
|
|
|
const getUserByTwitterID = `-- name: GetUserByTwitterID :one
|
|
|
|
SELECT id, twitter_id, username, name, access_token, refresh_token, delete_tweets_enabled, delete_tweets_num_per_iteration, created_at, updated_at FROM users WHERE twitter_id = $1
|
|
|
|
`
|
|
|
|
|
|
|
|
func (q *Queries) GetUserByTwitterID(ctx context.Context, twitterID string) (User, error) {
|
|
|
|
row := q.db.QueryRow(ctx, getUserByTwitterID, twitterID)
|
|
|
|
var i User
|
|
|
|
err := row.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.TwitterID,
|
|
|
|
&i.Username,
|
|
|
|
&i.Name,
|
|
|
|
&i.AccessToken,
|
|
|
|
&i.RefreshToken,
|
|
|
|
&i.DeleteTweetsEnabled,
|
|
|
|
&i.DeleteTweetsNumPerIteration,
|
|
|
|
&i.CreatedAt,
|
|
|
|
&i.UpdatedAt,
|
|
|
|
)
|
|
|
|
return i, err
|
|
|
|
}
|
2022-05-24 19:20:28 +00:00
|
|
|
|
|
|
|
const upsertElonTweet = `-- name: UpsertElonTweet :one
|
|
|
|
INSERT INTO elon_tweets (twitter_id, text, posted_at, processed_at, created_at, updated_at)
|
|
|
|
VALUES ($1, $2, $3, $4, NOW(), NOW())
|
|
|
|
ON CONFLICT (twitter_id) DO NOTHING
|
|
|
|
RETURNING id, twitter_id, text, posted_at, processed_at, created_at, updated_at
|
|
|
|
`
|
|
|
|
|
|
|
|
type UpsertElonTweetParams struct {
|
|
|
|
TwitterID int64
|
|
|
|
Text string
|
|
|
|
PostedAt time.Time
|
|
|
|
ProcessedAt sql.NullTime
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) UpsertElonTweet(ctx context.Context, arg UpsertElonTweetParams) (ElonTweet, error) {
|
|
|
|
row := q.db.QueryRow(ctx, upsertElonTweet,
|
|
|
|
arg.TwitterID,
|
|
|
|
arg.Text,
|
|
|
|
arg.PostedAt,
|
|
|
|
arg.ProcessedAt,
|
|
|
|
)
|
|
|
|
var i ElonTweet
|
|
|
|
err := row.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.TwitterID,
|
|
|
|
&i.Text,
|
|
|
|
&i.PostedAt,
|
|
|
|
&i.ProcessedAt,
|
|
|
|
&i.CreatedAt,
|
|
|
|
&i.UpdatedAt,
|
|
|
|
)
|
|
|
|
return i, err
|
|
|
|
}
|