Skip to content

Commit

Permalink
added support to supabase PostgREST
Browse files Browse the repository at this point in the history
  • Loading branch information
olegbilovus committed May 24, 2023
1 parent 7cb29dd commit 0d79884
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .idea/codestream.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 9 additions & 3 deletions chsystem/web/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,16 @@ def wrapper_fun(*args, **kwargs):

class ApiPostgREST:

def __init__(self, cert_f, key_f, cf_client_id, cf_client_secret, url):
def __init__(self, url, cert_f=None, key_f=None, cf_client_id=None, cf_client_secret=None, api_key=None,
api_key_name=None):
self.session = requests.Session()
self.session.cert = (cert_f, key_f)
self.session.headers.update({'CF-Access-Client-Id': cf_client_id, 'CF-Access-Client-Secret': cf_client_secret})
if cert_f and key_f:
self.session.cert = (cert_f, key_f)
if cf_client_id and cf_client_secret:
self.session.headers.update(
{'CF-Access-Client-Id': cf_client_id, 'CF-Access-Client-Secret': cf_client_secret})
if api_key and api_key_name:
self.session.headers.update({api_key_name: api_key})
self.url = url

def check_valid_conn(self) -> bool:
Expand Down
23 changes: 15 additions & 8 deletions chsystem/web/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,23 @@
logger = logs.get_logger('Web', token=os.getenv('LOGTAIL_WEB'))
logger.info('Starting Web')

cert_f = tempfile.NamedTemporaryFile(delete=False)
cert_f.write(bytes(os.getenv('CERT'), 'utf-8'))
cert_f.close()

key_f = tempfile.NamedTemporaryFile(delete=False)
key_f.write(bytes(os.getenv('CERT_KEY'), 'utf-8'))
key_f.close()
cert_env = os.getenv('CERT')
if cert_env:
cert_f = tempfile.NamedTemporaryFile(delete=False)
cert_f.write(bytes(cert_env, 'utf-8'))
cert_f.close()
cert_env = cert_f.name

key_env = os.getenv('CERT_KEY')
if key_env:
key_f = tempfile.NamedTemporaryFile(delete=False)
key_f.write(bytes(key_env, 'utf-8'))
key_f.close()
key_env = key_f.name

api = ApiPostgREST(url=os.getenv('URL'), cf_client_id=os.getenv('CF_CLIENT_ID'),
cf_client_secret=os.getenv('CF_CLIENT_SECRET'), cert_f=cert_f.name, key_f=key_f.name)
cf_client_secret=os.getenv('CF_CLIENT_SECRET'), cert_f=cert_env, key_f=key_env,
api_key=os.getenv('API_KEY'), api_key_name=os.getenv('API_KEY_NAME'))

app = Flask(__name__, template_folder='templates', static_folder='static')
SESSION_NAME = "SessionID"
Expand Down

0 comments on commit 0d79884

Please sign in to comment.