Skip to content

Instantly share code, notes, and snippets.

@mdlavin
mdlavin / lambda-function-xray-enablement.tf
Last active March 18, 2024 14:38
Terraform configuration to enable X-Ray for a Lambda function
resource "aws_lambda_function" "service" {
# Your usual aws_lambda_function configuration settings here
tracing_config {
mode = "Active"
}
}
@mdlavin
mdlavin / secure-data-create-observation.ts
Last active August 1, 2022 12:34
Secure Health Data Storage Article - Create Observation Snippet
const createObservation = async (accountId: string, projectId: string, patientId: string) => {
const observation = await fetch(`https://fhir.us.lifeomic.com/${accountId}/dstu3/Observation`, {
method: 'POST',
headers: {
authorization: `Bearer ${process.env.PHC_API_KEY}`,
'content-type': 'application/json'
},
body: JSON.stringify({
resourceType: "Observation",
@mdlavin
mdlavin / secure-data-create-patient.ts
Last active August 1, 2022 12:31
Secure Health Data Storage Article - Create Patient Snippet
const createPatient = async (accountId: string, projectId: string) => {
const patient = await fetch(`https://fhir.us.lifeomic.com/${accountId}/dstu3/Patient`, {
method: 'POST',
headers: {
authorization: `Bearer ${process.env.PHC_API_KEY}`,
'content-type': 'application/json'
},
body: JSON.stringify({
resourceType: "Patient",
@mdlavin
mdlavin / Machine Setup.md
Last active July 7, 2022 11:45
Machine setup

Enable FileVault disk encryption

Enable Firewall

sudo defaults write /Library/Preferences/com.apple.alf globalstate -int 1

Disable guest account

@mdlavin
mdlavin / amplifyPush.sh
Last active July 6, 2022 08:33 — forked from swaminator/amplifyPush.sh
The amplifyPush script (Pulled on 12/27/2019)
#!/usr/bin/env bash
set -e
IFS='|'
help_output () {
echo "usage: amplify-push <--environment|-e <name>> <--simple|-s>"
echo " --environment The name of the Amplify environment to use"
echo " --simple Optional simple flag auto-includes stack info from env cache"
exit 1
}
@mdlavin
mdlavin / graphql-apollo-xray-error-formatter.js
Last active January 19, 2022 18:50
An Apollo Server formatError function that avoids "Converting circular structure to JSON" errors
// This is the attribute that continuation local storage uses to hold onto
// the current context. The value comes from https://github.com/othiym23/node-continuation-local-storage/blob/fc770288979f6050e4371c1e1b44d2b76b233664/context.js#L11
const CLS_CONTEXT_ATTRIBUTE = 'error@context';
// A formatError function that can be used with
// https://www.apollographql.com/docs/apollo-server/features/errors#for-the-client-response
function formatError (err) {
// The continuation-local-storage module attaches a context attribute to
// errors so that the context can be resolved from errors. The attribute
// is enumerable by default and so it gets included in GraphQL error
@mdlavin
mdlavin / amplify-custom-auth-domain-app.js
Created January 23, 2021 19:45
Amplify Custom Auth Domain Config Update
import awsconfig from "./aws-exports";
import Amplify from "@aws-amplify/core";
// Find the User Pool ID for your production deployment in
// the AWS Console
if (awsconfig.aws_user_pools_id === "us-east-1_M7n6RNrq9") {
awsconfig.oauth.domain = "auth.yourdomain.com;
}
Amplify.configure(awsconfig);
@mdlavin
mdlavin / template.yml
Created January 23, 2021 20:37
Amplify custom auth domain template.yml
AWSTemplateFormatVersion: 2010-09-09
Parameters:
env:
Type: String
authCognitoResourceUserPoolId:
Type: String
Mappings:
CustomAuthDomains:
@mdlavin
mdlavin / backend-config.json
Last active January 23, 2021 20:38
Amplify custom auth domain backend-config.json
{
"auth": {
"domain": {
"providerPlugin": "awscloudformation",
"dependsOn": [
{
"category": "auth",
"resourceName": "CognitoResource",
"attributes": [
"UserPoolId"
@mdlavin
mdlavin / enable-graphql-resolvers-xray-tracing.js
Last active October 2, 2019 11:32
Enabling graphql-resolvers-xray-tracing integration
const traceResolvers = require('@lifeomic/graphql-resolvers-xray-tracing');
const schema = makeExecutableSchema( ... );
traceResolvers(schema);