Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 80bb76d

Browse files
committedJan 19, 2025
alt: still separate Domain.
1 parent 0aecaa1 commit 80bb76d

19 files changed

+36
-55
lines changed
 

‎api/package.json

+15-25
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,6 @@
5555
}
5656
},
5757
"imports": {
58-
"#api/*": {
59-
"import": {
60-
"types": "./dist/*.d.ts",
61-
"default": "./dist/*.js"
62-
},
63-
"require": {
64-
"types": "./dist/*.d.ts",
65-
"default": "./_cjs/*.cjs"
66-
}
67-
},
6858
"#core/*": {
6959
"import": {
7060
"types": "./dist/core/*.d.ts",
@@ -75,16 +65,6 @@
7565
"default": "./_cjs/core/*.cjs"
7666
}
7767
},
78-
"#models": {
79-
"import": {
80-
"types": "./dist/models.d.ts",
81-
"default": "./dist/models.js"
82-
},
83-
"require": {
84-
"types": "./dist/models.d.ts",
85-
"default": "./_cjs/models.cjs"
86-
}
87-
},
8868
"#resources": {
8969
"import": {
9070
"types": "./dist/resources.d.ts",
@@ -95,14 +75,14 @@
9575
"default": "./_cjs/resources.cjs"
9676
}
9777
},
98-
"#models/*": {
78+
"#Domain/*": {
9979
"import": {
100-
"types": "./dist/models/*.d.ts",
101-
"default": "./dist/models/*.js"
80+
"types": "./dist/Domain/*.d.ts",
81+
"default": "./dist/Domain/*.js"
10282
},
10383
"require": {
104-
"types": "./dist/models/*.d.ts",
105-
"default": "./_cjs/models/*.cjs"
84+
"types": "./dist/Domain/*.d.ts",
85+
"default": "./_cjs/Domain/*.cjs"
10686
}
10787
},
10888
"#resources/*": {
@@ -114,6 +94,16 @@
11494
"types": "./dist/resources/*.d.ts",
11595
"default": "./_cjs/resources/*.cjs"
11696
}
97+
},
98+
"#api/*": {
99+
"import": {
100+
"types": "./dist/*.d.ts",
101+
"default": "./dist/*.js"
102+
},
103+
"require": {
104+
"types": "./dist/*.d.ts",
105+
"default": "./_cjs/*.cjs"
106+
}
117107
}
118108
},
119109
"dependencies": {

‎api/src/Accounts/UserRepo.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { RepoConfig } from "#api/config"
22
import { RepoDefault } from "#api/lib/layers"
3+
import { User } from "#Domain/User"
4+
import type { UserId } from "#Domain/User"
35
import { Model } from "@effect-app/infra"
46
import { NotFoundError, NotLoggedInError } from "@effect-app/infra/errors"
57
import { Q } from "@effect-app/infra/Model"
@@ -9,8 +11,6 @@ import { fakerArb } from "effect-app/faker"
911
import { Email } from "effect-app/Schema"
1012
import fc from "fast-check"
1113
import { UserProfile } from "../UserProfile.js"
12-
import type { UserId } from "./models.js"
13-
import { User } from "./models.js"
1414

1515
export type UserSeed = "sample" | ""
1616

‎api/src/Accounts/UserResolver.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import { UserId } from "#Domain/User"
12
import { clientFor } from "#resources/lib"
23
import { Effect, Exit, Request, RequestResolver } from "effect"
34
import { Array, Option, pipe, S } from "effect-app"
45
import { ApiClientFactory, NotFoundError } from "effect-app/client"
56
import { type Schema } from "effect-app/Schema"
6-
import { UserId } from "./models.js"
77
import { AccountsRsc } from "./resources.js"
88
import { UserView } from "./UserView.js"
99

‎api/src/Accounts/UserView.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { User } from "#Domain/User"
12
import { S } from "#resources/lib"
2-
import { User } from "./models.js"
33

44
export class UserView extends S.ExtendedClass<UserView, UserView.Encoded>()({
55
...User.pick("id", "role"),

‎api/src/Accounts/resources.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import { User, UserId } from "#Domain/User"
12
import { S } from "#resources/lib"
23
import { NotFoundError } from "effect-app/client"
3-
import { User, UserId } from "./models.js"
44
import { UserView } from "./UserView.js"
55

66
export class GetMe extends S.Req<GetMe>()("GetMe", {}, { success: User, failure: NotFoundError }) {}

‎api/src/Blog/BlogPostRepo.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { UserFromIdResolver } from "#Accounts/models"
21
import { UserRepo } from "#Accounts/UserRepo"
32
import { RepoDefault } from "#api/lib/layers"
3+
import { BlogPost } from "#Domain/Blog"
4+
import { UserFromIdResolver } from "#Domain/User"
45
import { Model } from "@effect-app/infra"
56
import { Effect } from "effect"
67
import { Context } from "effect-app"
78
import { NonEmptyString255, NonEmptyString2k } from "effect-app/Schema"
8-
import { BlogPost } from "./models.js"
99

1010
export type BlogPostSeed = "sample" | ""
1111

‎api/src/Blog/PostView.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { UserViewFromId } from "#api/Accounts/UserResolver"
2+
import { BlogPost } from "#Domain/Blog"
23
import { S } from "#resources/lib"
3-
import { BlogPost } from "./models.js"
44

55
export class BlogPostView extends S.ExtendedClass<BlogPostView, BlogPostView.Encoded>()({
66
...BlogPost.omit("author"),

‎api/src/Blog/controllers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { UserRepo } from "#api/Accounts/UserRepo"
22
import { Events } from "#api/Events"
33
import { matchFor, Router } from "#api/lib/routing"
4+
import { BlogPost } from "#Domain/Blog"
45
import { BogusEvent } from "#resources/Events"
56
import { Operations } from "@effect-app/infra/Operations"
67
import { Duration, Effect, Schedule } from "effect"
78
import { Option } from "effect-app"
89
import { NonEmptyString2k, NonNegativeInt } from "effect-app/Schema"
910
import { OperationsDefault } from "../lib/layers.js"
1011
import { BlogPostRepo } from "./BlogPostRepo.js"
11-
import { BlogPost } from "./models.js"
1212
import { BlogRsc } from "./resources.js"
1313

1414
export default Router(BlogRsc)({

‎api/src/Blog/resources.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { BlogPost, BlogPostId } from "#Domain/Blog"
12
import { S } from "#resources/lib"
23
import { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client"
34
import { OperationId } from "effect-app/Operations"
4-
import { BlogPost, BlogPostId } from "./models.js"
55
import { BlogPostView } from "./PostView.js"
66

77
export class CreatePost extends S.Req<CreatePost>()("CreatePost", BlogPost.pick("title", "body"), {

‎api/src/Blog/models.ts ‎api/src/Domain/Blog.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { UserFromId } from "#Accounts/models"
21
import { S } from "effect-app"
2+
import { UserFromId } from "./User.js"
33

44
export const BlogPostId = S.prefixedStringId<BlogPostId>()("post", "BlogPostId")
55
export interface BlogPostIdBrand {
File renamed without changes.

‎api/src/HelloWorld/controllers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { User } from "#api/Accounts/models"
21
import { UserRepo } from "#api/Accounts/UserRepo"
32
import { matchFor, Router } from "#api/lib/routing"
3+
import { User } from "#Domain/User"
44
import { getRequestContext } from "@effect-app/infra/api/setupRequest"
55
import { generate } from "@effect-app/infra/test"
66
import { Effect, S } from "effect-app"

‎api/src/UserProfile.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { Role } from "#Domain/User"
12
import { parseJwt } from "@effect-app/infra/api/routing/schema/jwt"
23
import { Context, S } from "effect-app"
34
import { UserProfileId } from "effect-app/ids"
4-
import { Role } from "./Accounts/models.js"
55

66
export class UserProfile extends Context.assignTag<UserProfile>()(
77
S.Class<UserProfile>()({

‎api/src/resources/lib/req.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Role } from "#api/Accounts/models"
1+
import type { Role } from "#Domain/User"
22
import { NotLoggedInError, UnauthorizedError } from "@effect-app/infra/errors"
33
import { Duration, Layer, Request as EffectRequest } from "effect-app"
44
import type { RPCContextMap } from "effect-app/client"

‎api/tsconfig.json

+2-8
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,8 @@
2020
"#resources": [
2121
"./src/resources.js"
2222
],
23-
"#models": [
24-
"./src/models.js"
25-
],
26-
"#resources/*": [
27-
"./src/resources/*.js"
28-
],
29-
"#models/*": [
30-
"./src/models/*.js"
23+
"#Domain/*": [
24+
"./src/Domain/*.js"
3125
],
3226
"#api/*": [
3327
"./src/*.js"

‎api/tsconfig.src.json

+2-5
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,11 @@
3030
"#resources": [
3131
"./src/resources.js"
3232
],
33-
"#models": [
34-
"./src/models.js"
35-
],
3633
"#resources/*": [
3734
"./src/resources/*.js"
3835
],
39-
"#models/*": [
40-
"./src/models/*.js"
36+
"#Domain/*": [
37+
"./src/Domain/*.js"
4138
],
4239
"#api/*": [
4340
"./src/*.js"

‎frontend/composables/currentUser.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Naive login, good enough for the start
22

3-
import type { UserId } from "#Accounts/models"
3+
import type { UserId } from "#Domain/User"
44

55
export function getUserId() {
66
return useCookie("user-id")

‎frontend/nuxt.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ export default defineNuxtConfig({
2525

2626
alias: {
2727
...[
28+
"Domain",
2829
// TODO: auto gen
2930
"Accounts",
3031
"Blog",
3132
"Operations",
3233
"HelloWorld",
3334
"resources",
34-
"models",
3535
].reduce(
3636
(prev, cur) => {
3737
prev[`#${cur}`] = fileURLToPath(

‎frontend/pages/blog/[id].vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import { BlogPostId } from "#Blog/models"
32
import { BlogRsc } from "#Blog/resources"
3+
import { BlogPostId } from "#Domain/Blog"
44
import type { ClientEvents } from "#resources/Events"
55
66
const { id } = useRouteParams({ id: BlogPostId })

0 commit comments

Comments
 (0)
Please sign in to comment.