From 9b799463bb73706c87c840461eb4b523ad5b373a Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Sun, 19 Jan 2025 11:01:58 +0100 Subject: [PATCH 1/3] separate resource from controller due to tree shaking issues in dev --- api/src/Accounts/GetMe.resource.ts | 5 +++++ api/src/Accounts/GetMe.ts | 6 +----- api/src/Accounts/IndexUsers.resource.ts | 13 +++++++++++++ api/src/Accounts/IndexUsers.ts | 15 ++------------- api/src/Blog/CreatePost.resource.ts | 9 +++++++++ api/src/Blog/CreatePost.ts | 11 ++--------- api/src/Blog/FindPost.resource.ts | 11 +++++++++++ api/src/Blog/FindPost.ts | 12 +----------- api/src/Blog/ListPosts.resource.ts | 10 ++++++++++ api/src/Blog/ListPosts.ts | 11 +---------- api/src/Blog/PublishPost.resource.ts | 8 ++++++++ api/src/Blog/PublishPost.ts | 9 +-------- api/src/HelloWorld/GetHelloWorld.resource.ts | 15 +++++++++++++++ api/src/HelloWorld/GetHelloWorld.ts | 15 +-------------- api/src/Operations/FindOperation.resource.ts | 6 ++++++ api/src/Operations/FindOperation.ts | 7 +------ api/src/resources/Accounts.ts | 2 +- api/src/resources/Blog.ts | 8 ++++---- api/src/resources/HelloWorld.ts | 2 +- api/src/resources/Operations.ts | 4 ++-- api/src/resources/Users.ts | 2 +- 21 files changed, 96 insertions(+), 85 deletions(-) create mode 100644 api/src/Accounts/GetMe.resource.ts create mode 100644 api/src/Accounts/IndexUsers.resource.ts create mode 100644 api/src/Blog/CreatePost.resource.ts create mode 100644 api/src/Blog/FindPost.resource.ts create mode 100644 api/src/Blog/ListPosts.resource.ts create mode 100644 api/src/Blog/PublishPost.resource.ts create mode 100644 api/src/HelloWorld/GetHelloWorld.resource.ts create mode 100644 api/src/Operations/FindOperation.resource.ts diff --git a/api/src/Accounts/GetMe.resource.ts b/api/src/Accounts/GetMe.resource.ts new file mode 100644 index 000000000..20064a094 --- /dev/null +++ b/api/src/Accounts/GetMe.resource.ts @@ -0,0 +1,5 @@ +import { S } from "#resources/lib" +import { NotFoundError } from "effect-app/client" +import { User } from "./models.js" + +export class GetMe extends S.Req()("Accounts.GetMe", {}, { success: User, failure: NotFoundError }) {} diff --git a/api/src/Accounts/GetMe.ts b/api/src/Accounts/GetMe.ts index 5550c1e05..8820f869c 100644 --- a/api/src/Accounts/GetMe.ts +++ b/api/src/Accounts/GetMe.ts @@ -1,12 +1,8 @@ import { handlerFor } from "#api/lib/handler" -import { S } from "#resources/lib" import { Effect } from "effect-app" -import { NotFoundError } from "effect-app/client" -import { User } from "./models.js" +import { GetMe } from "./GetMe.resource.js" import { UserRepo } from "./UserRepo.js" -export class GetMe extends S.Req()("Accounts.GetMe", {}, { success: User, failure: NotFoundError }) {} - export default handlerFor(GetMe)({ dependencies: [UserRepo.Default], effect: Effect.gen(function*() { diff --git a/api/src/Accounts/IndexUsers.resource.ts b/api/src/Accounts/IndexUsers.resource.ts new file mode 100644 index 000000000..775745742 --- /dev/null +++ b/api/src/Accounts/IndexUsers.resource.ts @@ -0,0 +1,13 @@ +import { S } from "#resources/lib" +import { UserId } from "./models.js" +import { UserView } from "./views.js" + +export class IndexUsers extends S.Req()("Accounts.IndexUsers", { + filterByIds: S.NonEmptyArray(UserId) +}, { + allowAnonymous: true, + allowRoles: ["user"], + success: S.Struct({ + users: S.Array(UserView) + }) +}) {} diff --git a/api/src/Accounts/IndexUsers.ts b/api/src/Accounts/IndexUsers.ts index fa2701302..8c0580529 100644 --- a/api/src/Accounts/IndexUsers.ts +++ b/api/src/Accounts/IndexUsers.ts @@ -1,20 +1,9 @@ import { handlerFor } from "#api/lib/handler" import { Q } from "#api/services" -import { S } from "#resources/lib" import { Array, Effect, Order } from "effect-app" -import { UserId } from "./models.js" +import { IndexUsers } from "./IndexUsers.resource.js" import { UserRepo } from "./UserRepo.js" -import { UserView } from "./views.js" - -export class IndexUsers extends S.Req()("Accounts.IndexUsers", { - filterByIds: S.NonEmptyArray(UserId) -}, { - allowAnonymous: true, - allowRoles: ["user"], - success: S.Struct({ - users: S.Array(UserView) - }) -}) {} +import type { UserView } from "./views.js" export default handlerFor(IndexUsers)({ dependencies: [UserRepo.Default], diff --git a/api/src/Blog/CreatePost.resource.ts b/api/src/Blog/CreatePost.resource.ts new file mode 100644 index 000000000..bbff111e9 --- /dev/null +++ b/api/src/Blog/CreatePost.resource.ts @@ -0,0 +1,9 @@ +import { S } from "#resources/lib" +import { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client" +import { BlogPost, BlogPostId } from "./models.js" + +export class CreatePost extends S.Req()("Blog.Create", BlogPost.pick("title", "body"), { + allowRoles: ["user"], + success: S.Struct({ id: BlogPostId }), + failure: S.Union(NotFoundError, InvalidStateError, OptimisticConcurrencyException) +}) {} diff --git a/api/src/Blog/CreatePost.ts b/api/src/Blog/CreatePost.ts index 87b6759c0..a08462bbc 100644 --- a/api/src/Blog/CreatePost.ts +++ b/api/src/Blog/CreatePost.ts @@ -1,17 +1,10 @@ import { UserRepo } from "#Accounts/UserRepo" import { handlerFor } from "#api/lib/handler" -import { S } from "#resources/lib" import { Effect } from "effect-app" -import { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client" -import { BlogPost, BlogPostId } from "./models.js" +import { CreatePost } from "./CreatePost.resource.js" +import { BlogPost } from "./models.js" import { BlogPostRepo } from "./Repo.js" -export class CreatePost extends S.Req()("Blog.Create", BlogPost.pick("title", "body"), { - allowRoles: ["user"], - success: S.Struct({ id: BlogPostId }), - failure: S.Union(NotFoundError, InvalidStateError, OptimisticConcurrencyException) -}) {} - export default handlerFor(CreatePost)({ dependencies: [ BlogPostRepo.Default, diff --git a/api/src/Blog/FindPost.resource.ts b/api/src/Blog/FindPost.resource.ts new file mode 100644 index 000000000..d47a58950 --- /dev/null +++ b/api/src/Blog/FindPost.resource.ts @@ -0,0 +1,11 @@ +import { S } from "#resources/lib" +import { BlogPostId } from "./models.js" +import { BlogPostView } from "./views.js" + +export class FindPost extends S.Req()("Blog.FindPost", { + id: BlogPostId +}, { + allowAnonymous: true, + allowRoles: ["user"], + success: S.NullOr(BlogPostView) +}) {} diff --git a/api/src/Blog/FindPost.ts b/api/src/Blog/FindPost.ts index afe03e09a..95b83534a 100644 --- a/api/src/Blog/FindPost.ts +++ b/api/src/Blog/FindPost.ts @@ -1,18 +1,8 @@ import { handlerFor } from "#api/lib/handler" -import { S } from "#resources/lib" import { Effect } from "effect" import { Option } from "effect-app" -import { BlogPostId } from "./models.js" +import { FindPost } from "./FindPost.resource.js" import { BlogPostRepo } from "./Repo.js" -import { BlogPostView } from "./views.js" - -export class FindPost extends S.Req()("Blog.FindPost", { - id: BlogPostId -}, { - allowAnonymous: true, - allowRoles: ["user"], - success: S.NullOr(BlogPostView) -}) {} export default handlerFor(FindPost)({ dependencies: [ diff --git a/api/src/Blog/ListPosts.resource.ts b/api/src/Blog/ListPosts.resource.ts new file mode 100644 index 000000000..a587f28cc --- /dev/null +++ b/api/src/Blog/ListPosts.resource.ts @@ -0,0 +1,10 @@ +import { S } from "#resources/lib" +import { BlogPostView } from "./views.js" + +export class ListPosts extends S.Req()("Blog.List", {}, { + allowAnonymous: true, + allowRoles: ["user"], + success: S.Struct({ + items: S.Array(BlogPostView) + }) +}) {} diff --git a/api/src/Blog/ListPosts.ts b/api/src/Blog/ListPosts.ts index 354a1c99a..c5a0013ac 100644 --- a/api/src/Blog/ListPosts.ts +++ b/api/src/Blog/ListPosts.ts @@ -1,16 +1,7 @@ import { handlerFor } from "#api/lib/handler" -import { S } from "#resources/lib" import { Effect } from "effect-app" +import { ListPosts } from "./ListPosts.resource.js" import { BlogPostRepo } from "./Repo.js" -import { BlogPostView } from "./views.js" - -export class ListPosts extends S.Req()("Blog.List", {}, { - allowAnonymous: true, - allowRoles: ["user"], - success: S.Struct({ - items: S.Array(BlogPostView) - }) -}) {} export default handlerFor(ListPosts)({ dependencies: [ diff --git a/api/src/Blog/PublishPost.resource.ts b/api/src/Blog/PublishPost.resource.ts new file mode 100644 index 000000000..6223b2c29 --- /dev/null +++ b/api/src/Blog/PublishPost.resource.ts @@ -0,0 +1,8 @@ +import { S } from "#resources/lib" +import { NotFoundError } from "effect-app/client" +import { OperationId } from "effect-app/Operations" +import { BlogPostId } from "./models.js" + +export class PublishPost extends S.Req()("Blog.PublishPost", { + id: BlogPostId +}, { allowRoles: ["user"], success: OperationId, failure: S.Union(NotFoundError) }) {} diff --git a/api/src/Blog/PublishPost.ts b/api/src/Blog/PublishPost.ts index 0438e31c0..a2dd14019 100644 --- a/api/src/Blog/PublishPost.ts +++ b/api/src/Blog/PublishPost.ts @@ -2,18 +2,11 @@ import { handlerFor } from "#api/lib/handler" import { OperationsDefault } from "#api/lib/layers" import { Events, Operations } from "#api/services" import { BogusEvent } from "#resources/Events" -import { S } from "#resources/lib" import { Duration, Effect, Schedule } from "effect-app" -import { NotFoundError } from "effect-app/client" -import { OperationId } from "effect-app/Operations" import { NonEmptyString2k, NonNegativeInt } from "effect-app/Schema" -import { BlogPostId } from "./models.js" +import { PublishPost } from "./PublishPost.resource.js" import { BlogPostRepo } from "./Repo.js" -export class PublishPost extends S.Req()("Blog.PublishPost", { - id: BlogPostId -}, { allowRoles: ["user"], success: OperationId, failure: S.Union(NotFoundError) }) {} - export default handlerFor(PublishPost)({ dependencies: [ BlogPostRepo.Default, diff --git a/api/src/HelloWorld/GetHelloWorld.resource.ts b/api/src/HelloWorld/GetHelloWorld.resource.ts new file mode 100644 index 000000000..799a29d5c --- /dev/null +++ b/api/src/HelloWorld/GetHelloWorld.resource.ts @@ -0,0 +1,15 @@ +import { UserView } from "#Accounts/views" +import { S } from "#resources/lib" +import { RequestContext } from "@effect-app/infra/RequestContext" + +class Response extends S.Class()({ + now: S.Date.withDefault, + echo: S.String, + context: RequestContext, + currentUser: S.NullOr(UserView), + randomUser: UserView +}) {} + +export class GetHelloWorld extends S.Req()("HelloWorld.GetHelloWorld", { + echo: S.String +}, { allowAnonymous: true, allowRoles: ["user"], success: Response }) {} diff --git a/api/src/HelloWorld/GetHelloWorld.ts b/api/src/HelloWorld/GetHelloWorld.ts index 71cc5e330..c4a8d8a17 100644 --- a/api/src/HelloWorld/GetHelloWorld.ts +++ b/api/src/HelloWorld/GetHelloWorld.ts @@ -1,24 +1,11 @@ -import { UserView } from "#Accounts/views" import { handlerFor } from "#api/lib/handler" import { S } from "#resources/lib" import { getRequestContext } from "@effect-app/infra/api/setupRequest" -import { RequestContext } from "@effect-app/infra/RequestContext" import { generate } from "@effect-app/infra/test" import { Effect } from "effect-app" import { User } from "../Accounts/models.js" import { UserRepo } from "../Accounts/UserRepo.js" - -class Response extends S.Class()({ - now: S.Date.withDefault, - echo: S.String, - context: RequestContext, - currentUser: S.NullOr(UserView), - randomUser: UserView -}) {} - -export class GetHelloWorld extends S.Req()("HelloWorld.GetHelloWorld", { - echo: S.String -}, { allowAnonymous: true, allowRoles: ["user"], success: Response }) {} +import { GetHelloWorld } from "./GetHelloWorld.resource.js" export default handlerFor(GetHelloWorld)({ dependencies: [UserRepo.Default], diff --git a/api/src/Operations/FindOperation.resource.ts b/api/src/Operations/FindOperation.resource.ts new file mode 100644 index 000000000..ee5e6868c --- /dev/null +++ b/api/src/Operations/FindOperation.resource.ts @@ -0,0 +1,6 @@ +import { S } from "#resources/lib" +import { Operation, OperationId } from "effect-app/Operations" + +export class FindOperation extends S.Req()("Operations.FindOperation", { + id: OperationId +}, { allowAnonymous: true, allowRoles: ["user"], success: S.NullOr(Operation) }) {} diff --git a/api/src/Operations/FindOperation.ts b/api/src/Operations/FindOperation.ts index 709d94d24..5fde38ca9 100644 --- a/api/src/Operations/FindOperation.ts +++ b/api/src/Operations/FindOperation.ts @@ -1,13 +1,8 @@ import { handlerFor } from "#api/lib/handler" import { OperationsDefault } from "#api/lib/layers" import { Operations } from "#api/services" -import { S } from "#resources/lib" import { Effect } from "effect-app" -import { Operation, OperationId } from "effect-app/Operations" - -export class FindOperation extends S.Req()("Operations.FindOperation", { - id: OperationId -}, { allowAnonymous: true, allowRoles: ["user"], success: S.NullOr(Operation) }) {} +import { FindOperation } from "./FindOperation.resource.js" export default handlerFor(FindOperation)({ dependencies: [OperationsDefault], diff --git a/api/src/resources/Accounts.ts b/api/src/resources/Accounts.ts index c52d143cf..50e11cbd1 100644 --- a/api/src/resources/Accounts.ts +++ b/api/src/resources/Accounts.ts @@ -1,5 +1,5 @@ //// codegen:start {preset: barrel, include: ../Blog/*.ts, export: { as: 'PascalCase' }} -export { GetMe } from "../Accounts/GetMe.js" +export { GetMe } from "../Accounts/GetMe.resource.js" //// codegen:end // codegen:start {preset: meta, sourcePrefix: src/resources/} diff --git a/api/src/resources/Blog.ts b/api/src/resources/Blog.ts index d84fb27d3..5ad57b26f 100644 --- a/api/src/resources/Blog.ts +++ b/api/src/resources/Blog.ts @@ -1,8 +1,8 @@ //// codegen:start {preset: barrel, include: ../Blog/*.ts, export: { as: 'PascalCase' }} -export { CreatePost } from "../Blog/CreatePost.js" -export { FindPost } from "../Blog/FindPost.js" -export { ListPosts } from "../Blog/ListPosts.js" -export { PublishPost } from "../Blog/PublishPost.js" +export { CreatePost } from "../Blog/CreatePost.resource.js" +export { FindPost } from "../Blog/FindPost.resource.js" +export { ListPosts } from "../Blog/ListPosts.resource.js" +export { PublishPost } from "../Blog/PublishPost.resource.js" //// codegen:end // codegen:start {preset: meta, sourcePrefix: src/resources/} diff --git a/api/src/resources/HelloWorld.ts b/api/src/resources/HelloWorld.ts index ab6ae8abe..8563aed76 100644 --- a/api/src/resources/HelloWorld.ts +++ b/api/src/resources/HelloWorld.ts @@ -1,4 +1,4 @@ -export { GetHelloWorld } from "../HelloWorld/GetHelloWorld.js" +export { GetHelloWorld } from "../HelloWorld/GetHelloWorld.resource.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "HelloWorld" } as const diff --git a/api/src/resources/Operations.ts b/api/src/resources/Operations.ts index 3cef8b0a6..7b4ec2714 100644 --- a/api/src/resources/Operations.ts +++ b/api/src/resources/Operations.ts @@ -2,11 +2,11 @@ import { Duration, Effect } from "effect-app" import { NotFoundError } from "effect-app/client" import type { Operation, OperationId } from "effect-app/Operations" import { OperationFailure } from "effect-app/Operations" -import { FindOperation } from "../Operations/FindOperation.js" +import { FindOperation } from "../Operations/FindOperation.resource.js" import { clientFor } from "./lib.js" import * as S from "./lib/schema.js" -export { FindOperation } from "../Operations/FindOperation.js" +export { FindOperation } from "../Operations/FindOperation.resource.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "Operations" } as const diff --git a/api/src/resources/Users.ts b/api/src/resources/Users.ts index 3cfb99aad..d52022f0a 100644 --- a/api/src/resources/Users.ts +++ b/api/src/resources/Users.ts @@ -1,4 +1,4 @@ -export { IndexUsers } from "../Accounts/IndexUsers.js" +export { IndexUsers } from "../Accounts/IndexUsers.resource.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "Users" } as const From f248241eb8d8ad9bbd18f4b8f4baea5876f853f8 Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Sun, 19 Jan 2025 11:04:16 +0100 Subject: [PATCH 2/3] rename .resource to .request --- api/src/Accounts/{GetMe.resource.ts => GetMe.request.ts} | 0 api/src/Accounts/GetMe.ts | 2 +- .../{IndexUsers.resource.ts => IndexUsers.request.ts} | 0 api/src/Accounts/IndexUsers.ts | 2 +- .../{CreatePost.resource.ts => CreatePost.request.ts} | 0 api/src/Blog/CreatePost.ts | 2 +- .../Blog/{FindPost.resource.ts => FindPost.request.ts} | 0 api/src/Blog/FindPost.ts | 2 +- .../Blog/{ListPosts.resource.ts => ListPosts.request.ts} | 0 api/src/Blog/ListPosts.ts | 2 +- .../{PublishPost.resource.ts => PublishPost.request.ts} | 0 api/src/Blog/PublishPost.ts | 2 +- ...GetHelloWorld.resource.ts => GetHelloWorld.request.ts} | 0 api/src/HelloWorld/GetHelloWorld.ts | 2 +- ...FindOperation.resource.ts => FindOperation.request.ts} | 0 api/src/Operations/FindOperation.ts | 2 +- api/src/resources/Accounts.ts | 2 +- api/src/resources/Blog.ts | 8 ++++---- api/src/resources/HelloWorld.ts | 2 +- api/src/resources/Operations.ts | 4 ++-- api/src/resources/Users.ts | 2 +- 21 files changed, 17 insertions(+), 17 deletions(-) rename api/src/Accounts/{GetMe.resource.ts => GetMe.request.ts} (100%) rename api/src/Accounts/{IndexUsers.resource.ts => IndexUsers.request.ts} (100%) rename api/src/Blog/{CreatePost.resource.ts => CreatePost.request.ts} (100%) rename api/src/Blog/{FindPost.resource.ts => FindPost.request.ts} (100%) rename api/src/Blog/{ListPosts.resource.ts => ListPosts.request.ts} (100%) rename api/src/Blog/{PublishPost.resource.ts => PublishPost.request.ts} (100%) rename api/src/HelloWorld/{GetHelloWorld.resource.ts => GetHelloWorld.request.ts} (100%) rename api/src/Operations/{FindOperation.resource.ts => FindOperation.request.ts} (100%) diff --git a/api/src/Accounts/GetMe.resource.ts b/api/src/Accounts/GetMe.request.ts similarity index 100% rename from api/src/Accounts/GetMe.resource.ts rename to api/src/Accounts/GetMe.request.ts diff --git a/api/src/Accounts/GetMe.ts b/api/src/Accounts/GetMe.ts index 8820f869c..48af9c8cc 100644 --- a/api/src/Accounts/GetMe.ts +++ b/api/src/Accounts/GetMe.ts @@ -1,6 +1,6 @@ import { handlerFor } from "#api/lib/handler" import { Effect } from "effect-app" -import { GetMe } from "./GetMe.resource.js" +import { GetMe } from "./GetMe.request.js" import { UserRepo } from "./UserRepo.js" export default handlerFor(GetMe)({ diff --git a/api/src/Accounts/IndexUsers.resource.ts b/api/src/Accounts/IndexUsers.request.ts similarity index 100% rename from api/src/Accounts/IndexUsers.resource.ts rename to api/src/Accounts/IndexUsers.request.ts diff --git a/api/src/Accounts/IndexUsers.ts b/api/src/Accounts/IndexUsers.ts index 8c0580529..025c80939 100644 --- a/api/src/Accounts/IndexUsers.ts +++ b/api/src/Accounts/IndexUsers.ts @@ -1,7 +1,7 @@ import { handlerFor } from "#api/lib/handler" import { Q } from "#api/services" import { Array, Effect, Order } from "effect-app" -import { IndexUsers } from "./IndexUsers.resource.js" +import { IndexUsers } from "./IndexUsers.request.js" import { UserRepo } from "./UserRepo.js" import type { UserView } from "./views.js" diff --git a/api/src/Blog/CreatePost.resource.ts b/api/src/Blog/CreatePost.request.ts similarity index 100% rename from api/src/Blog/CreatePost.resource.ts rename to api/src/Blog/CreatePost.request.ts diff --git a/api/src/Blog/CreatePost.ts b/api/src/Blog/CreatePost.ts index a08462bbc..2f4a57b7b 100644 --- a/api/src/Blog/CreatePost.ts +++ b/api/src/Blog/CreatePost.ts @@ -1,7 +1,7 @@ import { UserRepo } from "#Accounts/UserRepo" import { handlerFor } from "#api/lib/handler" import { Effect } from "effect-app" -import { CreatePost } from "./CreatePost.resource.js" +import { CreatePost } from "./CreatePost.request.js" import { BlogPost } from "./models.js" import { BlogPostRepo } from "./Repo.js" diff --git a/api/src/Blog/FindPost.resource.ts b/api/src/Blog/FindPost.request.ts similarity index 100% rename from api/src/Blog/FindPost.resource.ts rename to api/src/Blog/FindPost.request.ts diff --git a/api/src/Blog/FindPost.ts b/api/src/Blog/FindPost.ts index 95b83534a..2ff6b4393 100644 --- a/api/src/Blog/FindPost.ts +++ b/api/src/Blog/FindPost.ts @@ -1,7 +1,7 @@ import { handlerFor } from "#api/lib/handler" import { Effect } from "effect" import { Option } from "effect-app" -import { FindPost } from "./FindPost.resource.js" +import { FindPost } from "./FindPost.request.js" import { BlogPostRepo } from "./Repo.js" export default handlerFor(FindPost)({ diff --git a/api/src/Blog/ListPosts.resource.ts b/api/src/Blog/ListPosts.request.ts similarity index 100% rename from api/src/Blog/ListPosts.resource.ts rename to api/src/Blog/ListPosts.request.ts diff --git a/api/src/Blog/ListPosts.ts b/api/src/Blog/ListPosts.ts index c5a0013ac..ee66f1a2f 100644 --- a/api/src/Blog/ListPosts.ts +++ b/api/src/Blog/ListPosts.ts @@ -1,6 +1,6 @@ import { handlerFor } from "#api/lib/handler" import { Effect } from "effect-app" -import { ListPosts } from "./ListPosts.resource.js" +import { ListPosts } from "./ListPosts.request.js" import { BlogPostRepo } from "./Repo.js" export default handlerFor(ListPosts)({ diff --git a/api/src/Blog/PublishPost.resource.ts b/api/src/Blog/PublishPost.request.ts similarity index 100% rename from api/src/Blog/PublishPost.resource.ts rename to api/src/Blog/PublishPost.request.ts diff --git a/api/src/Blog/PublishPost.ts b/api/src/Blog/PublishPost.ts index a2dd14019..c08664ed9 100644 --- a/api/src/Blog/PublishPost.ts +++ b/api/src/Blog/PublishPost.ts @@ -4,7 +4,7 @@ import { Events, Operations } from "#api/services" import { BogusEvent } from "#resources/Events" import { Duration, Effect, Schedule } from "effect-app" import { NonEmptyString2k, NonNegativeInt } from "effect-app/Schema" -import { PublishPost } from "./PublishPost.resource.js" +import { PublishPost } from "./PublishPost.request.js" import { BlogPostRepo } from "./Repo.js" export default handlerFor(PublishPost)({ diff --git a/api/src/HelloWorld/GetHelloWorld.resource.ts b/api/src/HelloWorld/GetHelloWorld.request.ts similarity index 100% rename from api/src/HelloWorld/GetHelloWorld.resource.ts rename to api/src/HelloWorld/GetHelloWorld.request.ts diff --git a/api/src/HelloWorld/GetHelloWorld.ts b/api/src/HelloWorld/GetHelloWorld.ts index c4a8d8a17..adba353b3 100644 --- a/api/src/HelloWorld/GetHelloWorld.ts +++ b/api/src/HelloWorld/GetHelloWorld.ts @@ -5,7 +5,7 @@ import { generate } from "@effect-app/infra/test" import { Effect } from "effect-app" import { User } from "../Accounts/models.js" import { UserRepo } from "../Accounts/UserRepo.js" -import { GetHelloWorld } from "./GetHelloWorld.resource.js" +import { GetHelloWorld } from "./GetHelloWorld.request.js" export default handlerFor(GetHelloWorld)({ dependencies: [UserRepo.Default], diff --git a/api/src/Operations/FindOperation.resource.ts b/api/src/Operations/FindOperation.request.ts similarity index 100% rename from api/src/Operations/FindOperation.resource.ts rename to api/src/Operations/FindOperation.request.ts diff --git a/api/src/Operations/FindOperation.ts b/api/src/Operations/FindOperation.ts index 5fde38ca9..b431f5444 100644 --- a/api/src/Operations/FindOperation.ts +++ b/api/src/Operations/FindOperation.ts @@ -2,7 +2,7 @@ import { handlerFor } from "#api/lib/handler" import { OperationsDefault } from "#api/lib/layers" import { Operations } from "#api/services" import { Effect } from "effect-app" -import { FindOperation } from "./FindOperation.resource.js" +import { FindOperation } from "./FindOperation.request.js" export default handlerFor(FindOperation)({ dependencies: [OperationsDefault], diff --git a/api/src/resources/Accounts.ts b/api/src/resources/Accounts.ts index 50e11cbd1..c97356e38 100644 --- a/api/src/resources/Accounts.ts +++ b/api/src/resources/Accounts.ts @@ -1,5 +1,5 @@ //// codegen:start {preset: barrel, include: ../Blog/*.ts, export: { as: 'PascalCase' }} -export { GetMe } from "../Accounts/GetMe.resource.js" +export { GetMe } from "../Accounts/GetMe.request.js" //// codegen:end // codegen:start {preset: meta, sourcePrefix: src/resources/} diff --git a/api/src/resources/Blog.ts b/api/src/resources/Blog.ts index 5ad57b26f..f88c3e4e2 100644 --- a/api/src/resources/Blog.ts +++ b/api/src/resources/Blog.ts @@ -1,8 +1,8 @@ //// codegen:start {preset: barrel, include: ../Blog/*.ts, export: { as: 'PascalCase' }} -export { CreatePost } from "../Blog/CreatePost.resource.js" -export { FindPost } from "../Blog/FindPost.resource.js" -export { ListPosts } from "../Blog/ListPosts.resource.js" -export { PublishPost } from "../Blog/PublishPost.resource.js" +export { CreatePost } from "../Blog/CreatePost.request.js" +export { FindPost } from "../Blog/FindPost.request.js" +export { ListPosts } from "../Blog/ListPosts.request.js" +export { PublishPost } from "../Blog/PublishPost.request.js" //// codegen:end // codegen:start {preset: meta, sourcePrefix: src/resources/} diff --git a/api/src/resources/HelloWorld.ts b/api/src/resources/HelloWorld.ts index 8563aed76..e8ca19092 100644 --- a/api/src/resources/HelloWorld.ts +++ b/api/src/resources/HelloWorld.ts @@ -1,4 +1,4 @@ -export { GetHelloWorld } from "../HelloWorld/GetHelloWorld.resource.js" +export { GetHelloWorld } from "../HelloWorld/GetHelloWorld.request.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "HelloWorld" } as const diff --git a/api/src/resources/Operations.ts b/api/src/resources/Operations.ts index 7b4ec2714..535b79ea3 100644 --- a/api/src/resources/Operations.ts +++ b/api/src/resources/Operations.ts @@ -2,11 +2,11 @@ import { Duration, Effect } from "effect-app" import { NotFoundError } from "effect-app/client" import type { Operation, OperationId } from "effect-app/Operations" import { OperationFailure } from "effect-app/Operations" -import { FindOperation } from "../Operations/FindOperation.resource.js" +import { FindOperation } from "../Operations/FindOperation.request.js" import { clientFor } from "./lib.js" import * as S from "./lib/schema.js" -export { FindOperation } from "../Operations/FindOperation.resource.js" +export { FindOperation } from "../Operations/FindOperation.request.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "Operations" } as const diff --git a/api/src/resources/Users.ts b/api/src/resources/Users.ts index d52022f0a..37b3e3a9c 100644 --- a/api/src/resources/Users.ts +++ b/api/src/resources/Users.ts @@ -1,4 +1,4 @@ -export { IndexUsers } from "../Accounts/IndexUsers.resource.js" +export { IndexUsers } from "../Accounts/IndexUsers.request.js" // codegen:start {preset: meta, sourcePrefix: src/resources/} export const meta = { moduleName: "Users" } as const From c578816a0cac531d1c2af5a43545f02ff9ad040e Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Sun, 19 Jan 2025 11:17:36 +0100 Subject: [PATCH 3/3] fix --- api/src/Accounts/resolvers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/Accounts/resolvers.ts b/api/src/Accounts/resolvers.ts index 8c5c2ccf1..d1d17771f 100644 --- a/api/src/Accounts/resolvers.ts +++ b/api/src/Accounts/resolvers.ts @@ -5,7 +5,7 @@ import { Effect, Exit, Request, RequestResolver } from "effect" import { Array, Option, pipe, S } from "effect-app" import { ApiClientFactory, NotFoundError } from "effect-app/client" import { type Schema } from "effect-app/Schema" -import { IndexUsers } from "./IndexUsers.js" +import { IndexUsers } from "./IndexUsers.request.js" interface GetUserViewById extends Request.Request> { readonly _tag: "GetUserViewById"