Skip to content
This repository has been archived by the owner on Jan 5, 2023. It is now read-only.

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
patroza committed May 21, 2021
1 parent 40990d9 commit 3673a8b
Show file tree
Hide file tree
Showing 103 changed files with 426 additions and 644 deletions.
20 changes: 10 additions & 10 deletions .eslintrc.base.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ module.exports = {
//"plugin:jest/recommended",
"plugin:prettier/recommended", // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
],
plugins: ["import", "sort-destructure-keys"],
plugins: ["import", "sort-destructure-keys", "simple-import-sort"],
rules: {
// too many changes
"@typescript-eslint/ban-types": "warn",
Expand All @@ -46,16 +46,16 @@ module.exports = {
// Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
// e.g. "@typescript-eslint/explicit-function-return-type": "off",
"sort-destructure-keys/sort-destructure-keys": "error", // Mainly to sort render props

"sort-imports": "off",
"import/first": "error",
//"import/no-cycle": "error",
"import/newline-after-import": "error",
"import/no-duplicates": "error",
"import/no-unresolved": "error",
"import/order": [
"error",
{
"newlines-between": "always",
pathGroups: [{ pattern: "@/**", group: "external", position: "after" }],
alphabetize: { order: "asc" },
groups: ["builtin", "external", "parent", "sibling", "index"],
},
],
"import/order": "off",
"simple-import-sort/imports": "error",

"object-shorthand": "error",
"prefer-destructuring": "warn",

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ node_modules/
packages/**/*.js
packages/**/*.js.map
packages/**/*.d.ts
!**/jest.config.js

tsconfig.tsbuildinfo
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,20 @@ Interesting bits are in:
- `apps/frontend/src/Tasks`
- `packages/client` and `packages/types`

You can interact via the included frontend project, the `docs/postman` collection, or go wild with `curl` if that's your thing ;-)
You can interact via the included frontend project, the docs or swagger endpoint, Postman (by importing api/openapi.json), or go wild with `curl` if that's your thing ;-)

### Postman

1. import [openapi.json](apps/api/openapi.json)
2. create an environment `localhost`, add `baseUrl` variable with value: `http://localhost:3330`, and make the environment active
3. add a pre-request script to the collection:
```
pm.request.headers.add({
key: 'x-user',
value: '{ "sub": "0"}'
}
);
```

### Testing

Expand Down
6 changes: 3 additions & 3 deletions apps/api/Me/Index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { handle } from "@effect-ts-app/infra/app"
import { Me } from "@effect-ts-demo/todo-client"
import { TaskListGroup, TaskListOrGroup } from "@effect-ts-demo/todo-types"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import * as T from "@effect-ts/core/Effect"
import * as O from "@effect-ts/core/Option"
import { handle } from "@effect-ts-app/infra/app"
import { Me } from "@effect-ts-demo/todo-client"
import { TaskListGroup, TaskListOrGroup } from "@effect-ts-demo/todo-types"

import { TodoContext } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/Me/_routes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as R from "@effect-ts-app/infra/express/schema/routing"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import * as R from "@effect-ts-app/infra/express/schema/routing"

import { demandLoggedIn } from "@/middleware"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/TaskLists/Members/Add.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"

import { TodoContext, UserSVC } from "@/services"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/TaskLists/Members/Remove.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"

import { TodoContext, UserSVC } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/TaskLists/Remove.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import * as T from "@effect-ts/core/Effect"

import { TodoContext, UserSVC } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/TaskLists/Update.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import * as T from "@effect-ts/core/Effect"

import { TodoContext, UserSVC } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/TaskLists/UpdateGroup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import * as T from "@effect-ts/core/Effect"

import { TodoContext, UserSVC } from "@/services"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/TaskLists/UpdateOrder.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as T from "@effect-ts/core/Effect"
import * as Lens from "@effect-ts/monocle/Lens"
import { handle } from "@effect-ts-app/infra/app"
import { TaskLists } from "@effect-ts-demo/todo-client"
import { TaskList, User } from "@effect-ts-demo/todo-types"
import * as T from "@effect-ts/core/Effect"
import * as Lens from "@effect-ts/monocle/Lens"

import { TodoContext, UserSVC } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/TaskLists/_routes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as R from "@effect-ts-app/infra/express/schema/routing"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import * as R from "@effect-ts-app/infra/express/schema/routing"

import { demandLoggedIn } from "@/middleware"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/Tasks/All.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import * as T from "@effect-ts/core/Effect"
import * as O from "@effect-ts/core/Option"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"

import { TodoContext } from "@/services"

Expand Down
6 changes: 3 additions & 3 deletions apps/api/Tasks/Create.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { pipe } from "@effect-ts/core"
import * as T from "@effect-ts/core/Effect"
import { identity } from "@effect-ts/system/Function"
import * as EO from "@effect-ts-app/core/ext/EffectOption"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"
import { User } from "@effect-ts-demo/todo-types"
import { pipe } from "@effect-ts/core"
import * as T from "@effect-ts/core/Effect"
import { identity } from "@effect-ts/system/Function"

import { TodoContext } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/Tasks/Remove.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"
import * as T from "@effect-ts/core/Effect"

import { TodoContext, UserSVC } from "@/services"

Expand Down
6 changes: 3 additions & 3 deletions apps/api/Tasks/Search.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import * as S from "@effect-ts-app/core/ext/Schema"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import * as T from "@effect-ts/core/Effect"
import * as O from "@effect-ts/core/Option"
import * as S from "@effect-ts-app/core/ext/Schema"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"

import { TodoContext } from "@/services"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/Tasks/Update.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as T from "@effect-ts/core/Effect"
import { handle } from "@effect-ts-app/infra/app"
import { Tasks } from "@effect-ts-demo/todo-client"
import { User } from "@effect-ts-demo/todo-types"
import * as T from "@effect-ts/core/Effect"

import { TodoContext, UserSVC } from "@/services"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/Tasks/_access.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import { Chunk } from "@effect-ts/core/Collections/Immutable/Chunk"
import * as O from "@effect-ts-app/core/ext/Option"
import * as S from "@effect-ts-app/core/ext/Schema"
import { makeAuthorize } from "@effect-ts-app/infra/app"
import { Task, TaskList, UserId } from "@effect-ts-demo/todo-types"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import { Chunk } from "@effect-ts/core/Collections/Immutable/Chunk"

import * as TaskListAccess from "@/TaskLists/_access"

Expand Down
2 changes: 1 addition & 1 deletion apps/api/Tasks/_routes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as R from "@effect-ts-app/infra/express/schema/routing"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import * as R from "@effect-ts-app/infra/express/schema/routing"

import { demandLoggedIn } from "@/middleware"

Expand Down
4 changes: 2 additions & 2 deletions apps/api/_services/TodoContext.testdata.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { flow } from "@effect-ts/core/Function"
import { Lens } from "@effect-ts/monocle"
import * as O from "@effect-ts-app/core/ext/Option"
import * as S from "@effect-ts-app/core/ext/Schema"
import { Membership, Step, Task, User, UserId } from "@effect-ts-demo/todo-types"
import { flow } from "@effect-ts/core/Function"
import { Lens } from "@effect-ts/monocle"

import { AUTH_DISABLED } from "@/config"

Expand Down
26 changes: 13 additions & 13 deletions apps/api/_services/TodoContext.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
import { Has } from "@effect-ts/core"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import * as Map from "@effect-ts/core/Collections/Immutable/Map"
import * as L from "@effect-ts/core/Effect/Layer"
import * as Ref from "@effect-ts/core/Effect/Ref"
import { flow, identity, pipe } from "@effect-ts/core/Function"
import * as O from "@effect-ts/core/Option"
import { _A } from "@effect-ts/core/Utils"
import * as T from "@effect-ts-app/core/ext/Effect"
import * as EO from "@effect-ts-app/core/ext/EffectOption"
import { makeCodec } from "@effect-ts-app/infra/context/schema"
import {
Task,
TaskListOrGroup,
TaskListId,
TaskId,
UserId,
User,
TaskList,
TaskListGroup,
TaskListId,
TaskListOrGroup,
User,
UserId,
} from "@effect-ts-demo/todo-types"
import { Has } from "@effect-ts/core"
import * as CNK from "@effect-ts/core/Collections/Immutable/Chunk"
import * as Map from "@effect-ts/core/Collections/Immutable/Map"
import * as L from "@effect-ts/core/Effect/Layer"
import * as Ref from "@effect-ts/core/Effect/Ref"
import { flow, identity, pipe } from "@effect-ts/core/Function"
import * as O from "@effect-ts/core/Option"
import { _A } from "@effect-ts/core/Utils"

import { NotFoundError, NotLoggedInError } from "@/errors"
import * as ListsAccess from "@/TaskLists/_access"
import * as TasksAccess from "@/Tasks/_access"
import { NotFoundError, NotLoggedInError } from "@/errors"

import { makeTestDataUnsafe } from "./TodoContext.testdata"
import * as UserSVC from "./User"
Expand Down
4 changes: 2 additions & 2 deletions apps/api/_services/User.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Has } from "@effect-ts/core"
import * as L from "@effect-ts/core/Effect/Layer"
import { pipe } from "@effect-ts-app/core/ext/Function"
import * as S from "@effect-ts-app/core/ext/Schema"
import { jwt } from "@effect-ts-app/infra/express/schema/jwt"
import { Has } from "@effect-ts/core"
import * as L from "@effect-ts/core/Effect/Layer"

export class UserProfile extends S.Model<UserProfile>()({
/**
Expand Down
6 changes: 3 additions & 3 deletions apps/api/app.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { RouteDescriptorAny } from "@effect-ts-app/infra/express/schema/routing"
import * as A from "@effect-ts/core/Collections/Immutable/Array"
import * as T from "@effect-ts/core/Effect"
import { pipe } from "@effect-ts/core/Function"
import * as Ex from "@effect-ts/express"
import { urlencoded, json } from "body-parser"
import { RouteDescriptorAny } from "@effect-ts-app/infra/express/schema/routing"
import { json, urlencoded } from "body-parser"
import cors from "cors"

import { routes as meRoutes } from "./Me/_routes"
import * as Middleware from "./middleware"
import { routes as taskListRoutes } from "./TaskLists/_routes"
import { routes as taskRoutes } from "./Tasks/_routes"
import * as Middleware from "./middleware"

export const app = pipe(
Middleware.openapiRoutes,
Expand Down
5 changes: 5 additions & 0 deletions apps/api/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
transform: {
"\\.tsx?$": "esbuild-runner/jest",
},
}
6 changes: 3 additions & 3 deletions apps/api/middleware.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
/* eslint-disable @typescript-eslint/ban-types */

import { RequestHandler } from "@effect-ts-app/infra/express/schema/requestHandler"
import { readTextFile } from "@effect-ts-app/infra/simpledb/fileutil"
import * as T from "@effect-ts/core/Effect"
import * as L from "@effect-ts/core/Effect/Layer"
import { pipe } from "@effect-ts/core/Function"
import * as Ex from "@effect-ts/express"
import { RequestHandler } from "@effect-ts-app/infra/express/schema/requestHandler"
import { readTextFile } from "@effect-ts-app/infra/simpledb/fileutil"
import express from "express"
import jwt from "express-jwt"
import jwtAuthz from "express-jwt-authz"
import jwksRsa from "jwks-rsa"
import redoc from "redoc-express"
import { setup, serve } from "swagger-ui-express"
import { serve, setup } from "swagger-ui-express"

import * as cfg from "./config"
import { NotLoggedInError } from "./errors"
Expand Down
Loading

1 comment on commit 3673a8b

@vercel
Copy link

@vercel vercel bot commented on 3673a8b May 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.