package user // Reader type Reader interface { Read(id uint64) (*User, error) ReadAll() ([]*User, error) } // Writer type Writer interface { Update(user *User) error Create(user *User) (uint64, error) Delete(user *User) (uint64, error) } // Repository repository interface type Repository interface { Reader Writer }