const UserId = Schema.UUID.pipe(Schema.brand("UserId"))
const AddressId = Schema.UUID.pipe(Schema.brand("AddressId"))
class User extends Model.Class<User>("user")({
id: Model.Generated(UserId),
name: Schema.String,
addressId: AddressId
}) {}
class Address extends Model.Class<Address>("addrfess")({
id: Model.Generated(AddressId),
street: Schema.String
}) {}
// Defining the joined schema
// No User.extend, User.select.extend. This will not have method defined on User
const UserWithAddress = Schema.Struct({
...User.select.fields,
address: Address.select
})
SqlClient.SqlClient.pipe(
Effect.map((sql) =>
SqlSchema.findOne({
Request: Schema.Void,
Result: UserWithAddress,
execute: () =>
sql`
`
})
)
)
const UserId = Schema.UUID.pipe(Schema.brand("UserId"))
const AddressId = Schema.UUID.pipe(Schema.brand("AddressId"))
class User extends Model.Class<User>("user")({
id: Model.Generated(UserId),
name: Schema.String,
addressId: AddressId
}) {}
class Address extends Model.Class<Address>("addrfess")({
id: Model.Generated(AddressId),
street: Schema.String
}) {}
// Defining the joined schema
// No User.extend, User.select.extend. This will not have method defined on User
const UserWithAddress = Schema.Struct({
...User.select.fields,
address: Address.select
})
SqlClient.SqlClient.pipe(
Effect.map((sql) =>
SqlSchema.findOne({
Request: Schema.Void,
Result: UserWithAddress,
execute: () =>
sql`
`
})
)
)