๐ WAYPOINT LESSON
Checkpoint โ The User Directory with a Repository
โญโญ intermediateโณ 25 min read๐ Lesson 134 of 265
Compose the layer: parameterized repository over the engine, transactional registration, fake-backed service tests.
The gate (mini-build)
A user directory service over the in-memory engine:
IUserRepositoryโRegister(string name),FindByName(string name)(returnsUser?),Count().SqlUserRepository(CjDb db) : IUserRepositoryโ every SQL parameterized;Registerwraps a uniqueness pre-check and the insert in ONE transaction (begin โ check โ insert โ commit) and returns "ok" or "duplicate".Map(row)โUser(Name, Balance)โ balance defaults to 0 when the column is null.UserService(IUserRepository)โInvite(string name)returns"invited:<name>"on success,"exists:<name>"when the name is taken (Module 11: the service knows only the interface).
User: record User(string Name, decimal Balance).