mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-02-26 20:09:21 -05:00
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
import {
|
|
createSupabaseDirectClient,
|
|
SupabaseDirectClient,
|
|
} from 'shared/supabase/init'
|
|
import * as admin from 'firebase-admin'
|
|
import { convertPrivateUser, convertUser } from 'common/supabase/users'
|
|
import { log, type Logger } from 'shared/monitoring/log'
|
|
import { metrics } from 'shared/monitoring/metrics'
|
|
|
|
export { metrics }
|
|
export { log, type Logger }
|
|
|
|
export const getUser = async (
|
|
userId: string,
|
|
pg: SupabaseDirectClient = createSupabaseDirectClient()
|
|
) => {
|
|
return await pg.oneOrNone(
|
|
`select * from users where id = $1 limit 1`,
|
|
[userId],
|
|
convertUser
|
|
)
|
|
}
|
|
|
|
export const getPrivateUser = async (
|
|
userId: string,
|
|
pg: SupabaseDirectClient = createSupabaseDirectClient()
|
|
) => {
|
|
return await pg.oneOrNone(
|
|
`select * from private_users where id = $1 limit 1`,
|
|
[userId],
|
|
convertPrivateUser
|
|
)
|
|
}
|
|
|
|
export const getUserByUsername = async (
|
|
username: string,
|
|
pg: SupabaseDirectClient = createSupabaseDirectClient()
|
|
) => {
|
|
const res = await pg.oneOrNone(
|
|
`select * from users where username = $1`,
|
|
username
|
|
)
|
|
|
|
return res ? convertUser(res) : null
|
|
}
|
|
|
|
export const getPrivateUserByKey = async (
|
|
apiKey: string,
|
|
pg: SupabaseDirectClient = createSupabaseDirectClient()
|
|
) => {
|
|
return await pg.oneOrNone(
|
|
`select * from private_users where data->>'apiKey' = $1 limit 1`,
|
|
[apiKey],
|
|
convertPrivateUser
|
|
)
|
|
}
|
|
|
|
// TODO: deprecate in favor of common/src/envs/is-prod.ts
|
|
export const isProd = () => {
|
|
// mqp: kind of hacky rn. the first clause is for cloud run API service,
|
|
// second clause is for local scripts and cloud functions
|
|
if (process.env.ENVIRONMENT) {
|
|
return process.env.ENVIRONMENT == 'PROD'
|
|
} else {
|
|
return admin.app().options.projectId === 'polylove'
|
|
}
|
|
}
|
|
|
|
export const LOCAL_DEV = process.env.GOOGLE_CLOUD_PROJECT == null
|