Skip to content

Instantly share code, notes, and snippets.

View masterxavierfox's full-sized avatar
✌️

Xavier Fox masterxavierfox

✌️
View GitHub Profile
function upload_table {
t=$1
s=$2
start_date=$3
end_date=$4
while [ "$start_date" != "$end_date" ]; do
upload_day "$t" "$s" "$start_date"
start_date=$(date -d "$start_date+1 days" +%Y-%m-%d)
done
}
#!/bin/bash
function upload_day {
table=$1
sel=$2
day=$3
next_day=$(date -d "$day+1 days" +%Y-%m-%d)
bq_suffix=$(date -d "$day" +%Y%m%d)
echo "Uploading $table: $day..."
psql <yourdbname> -c "\\copy (select $sel from $table where created_at >= '$day' and created_at < '$next_day') TO '$table-$day.csv' WITH CSV HEADER"
gzip $table-$day.csv
$ sudo su - postgres
$ psql yourdbname
yourdbname=> create index transactions_created_at on transactions (created_at);
@masterxavierfox
masterxavierfox / simple-flask-proxy.py
Created March 13, 2019 09:19
simple flask proxy server
from flask import request, Response
import requests
def _proxy(*args, **kwargs):
resp = requests.request(
method=request.method,
url=request.url.replace(request.host_url, 'new-domain.com'),
headers={key: value for (key, value) in request.headers if key != 'Host'},
data=request.get_data(),
cookies=request.cookies,
@masterxavierfox
masterxavierfox / gql.go
Created November 26, 2018 18:18
go-graphql-gql
package gql
import (
"fmt"
"github.com/graphql-go/graphql"
)
// ExecuteQuery runs our graphql queries
func ExecuteQuery(query string, schema graphql.Schema) *graphql.Result {
@masterxavierfox
masterxavierfox / server.go
Created November 26, 2018 18:16
go-graphql-server
package server
import (
"encoding/json"
"net/http"
"github.com/masterxavierfox/go-graphql-api/gql"
"github.com/go-chi/render"
"github.com/graphql-go/graphql"
)
@masterxavierfox
masterxavierfox / types.go
Created November 26, 2018 18:14
go-graphql-types
package gql
import "github.com/graphql-go/graphql"
// User describes a graphql object containing a User
var User = graphql.NewObject(
graphql.ObjectConfig{
Name: "User",
Fields: graphql.Fields{
"id": &graphql.Field{
@masterxavierfox
masterxavierfox / resolvers.go
Created November 26, 2018 18:12
go-graphql-resolvers
package gql
import (
"github.com/masterxavierfox/go-graphql-api/postgres"
"github.com/graphql-go/graphql"
)
// Resolver struct holds a connection to our database
type Resolver struct {
db *postgres.Db
@masterxavierfox
masterxavierfox / queries.go
Created November 26, 2018 18:11
go-graphql-queries
package gql
import (
"github.com/masterxavierfox/go-graphql-api/postgres"
"github.com/graphql-go/graphql"
)
// Root holds a pointer to a graphql object
type Root struct {
Query *graphql.Object
@masterxavierfox
masterxavierfox / postgres.go
Last active November 26, 2018 18:09
go-graphql-poatgres
package postgres
import (
"database/sql"
"fmt"
// postgres driver
_ "github.com/lib/pq"
)