Skip to content

Instantly share code, notes, and snippets.

export type Message = { content: string; sent: Date; from: string };
export type Conversation = Message[];
export interface ConversationService {
createConversation: (id: string, initial: Message) => Promise<Conversation>;
updateConversation: (id: string, message: Message) => Promise<Conversation>;
deleteConversation: (id: string) => Promise<boolean>;
}
import express from "express";
const app = express();
app.use(express.json());
app.get("/", (req, res) => {
res.send("Hello World");
});
const run = () => {
services:
api:
build: ./api
ports:
- "3010:3000"
volumes:
- .:/app
environment:
- NODE_ENV=development
- PORT=3000
FROM node:21-alpine
WORKDIR /app/web
COPY . .
RUN npm install --silent --legacy-peer-deps
CMD ["npm", "run", "dev"]
FROM node:21-alpine
WORKDIR /app/api
COPY . .
RUN npm install --silent --legacy-peer-deps
CMD ["npm", "run", "dev"]
import React, { createContext, useContext, useMemo } from 'react';
import type { CSSProperties, PropsWithChildren } from 'react';
import type { DraggableSyntheticListeners, UniqueIdentifier } from '@dnd-kit/core';
import { useSortable } from '@dnd-kit/sortable';
import { CSS } from '@dnd-kit/utilities';
import { Icon, IconProps } from '../Icon';
import { Button, ListItem, ListItemProps } from '@chakra-ui/react';
import styled from '@emotion/styled';
type Props = ListItemProps & {
{{#=}}( (IF({{equals(issue.Reach.value, "25%")}}, .25, 0)+IF({{equals(issue.Reach.value, "50%")}}, .5, 0)+IF({{equals(issue.Reach.value, "75%")}}, .75, 0)+IF({{equals(issue.Reach.value, "100%")}}, 1, 0)) * (IF({{equals(issue.Impact Score.value,"Massive Impact")}},3, 0) + IF({{equals(issue.Impact Score.value,"High Impact")}},2, 0) + IF({{equals(issue.Impact Score.value,"Medium Impact")}},1, 0) + IF({{equals(issue.Impact Score.value,"Low Impact")}},0.5, 0) + IF({{equals(issue.Impact Score.value,"Minimal Impact")}},0.25, 0)) * (IF({{equals(issue.Confidence.value,"100%")}}, 1, 0) + IF({{equals(issue.Confidence.value,"80%")}}, 0.8, 0) + IF({{equals(issue.Confidence.value,"50%")}}, 0.5, 0)) ) / (IF({{equals(issue.Effort.value, "Extremely High")}},5, 0) + IF({{equals(issue.Effort.value, "High")}},4, 0) + IF({{equals(issue.Effort.value, "Medium")}},3, 0) + IF({{equals(issue.Effort.value, "Low")}},2, 0) + IF({{equals(issue.Effort.value, "Insignificant")}}, 1, 0)){{/}}
interface DatabaseModel {
id: number;
name: string;
description: string;
createdAt: Date;
updatedAt: Date;
archived: boolean;
}
type PutAPIModel = Partial<DatabaseModel>;
import express, { Request } from "express";
import orderRepository from "../data";
const itemRouter = express.Router();
itemRouter
.route("/:id/item")
.post(async (req: Request<{ id: string }, {}, { product_id: number; quantity: number }, {}>, res) => {
const { body, params } = req;
const { product_id, quantity } = body;
@christopherbauer
christopherbauer / index.ts
Created July 2, 2023 17:35
orderRouter with repository
import express, { Request } from "express";
import itemRouter from "./item";
import orderRepository from "./data";
const orderRouter = express.Router();
orderRouter
.route("/")
.get(async (req: Request<{}, {}, {}, {}>, res) => {
const orders = await orderRepository.list();