docs(iec62304): [REL-1.0.2] apply curated XML doc review updates

This commit is contained in:
n8n IEC 62304 Bot
2026-07-06 21:21:05 +02:00
parent 64da453152
commit ad518abd07
2 changed files with 109 additions and 161 deletions
+13 -18
View File
@@ -198,23 +198,21 @@ public class LdapLoginService : ILoginService
=> throw new LoginServicesException("Not implemented");
/// <summary>
/// This method is not implemented in the LdapLoginService, as the user retrieval process is handled through the Login(string username, string password) method and the GetOrCreateUser(User userEntryLdap, LdapEntry entry) method.
/// Retrieves a <see cref="User"/> matching the specified <paramref name="username"/>.
/// </summary>
/// <param name="username">The username of the user to retrieve.</param>
/// <returns>A task representing the asynchronous operation.</returns>
/// <exception cref="LoginServicesException">Thrown when the method is not implemented.</exception>
/// <!-- aidoc-review:v1 severity=medium kind=missing_returns
/// "The <returns> tag describes a generic 'task representing the asynchronous operation' but does not mention that the task resolves to a User? (nullable User) as per the method signature." -->
/// <param name="username">The username to look up.</param>
/// <returns>A <see cref="Task{TResult}"/> that resolves to the <see cref="User"/> if found, or <see langword="null"/> when no matching user exists.</returns>
/// <exception cref="LoginServicesException">Thrown because the operation is not yet implemented.</exception>
/// <!-- aidoc:v1 sig=5184c30 -->
public Task<User?> GetByUsername(string username)
=> throw new LoginServicesException("Not implemented");
/// <summary>
/// This method is not implemented in the LdapLoginService, as the user retrieval process is handled through the Login(string username, string password) method and the GetOrCreateUser(User userEntryLdap, LdapEntry entry) method.
/// Retrieves all <see cref="User"/> entities from the system. This method is not yet implemented and currently throws a <see cref="LoginServicesException"/> when invoked.
/// </summary>
/// <returns>A task representing the asynchronous operation.</returns>
/// <exception cref="LoginServicesException">Thrown when the method is not implemented.</exception>
/// <!-- aidoc-review:v1 severity=low kind=wrong_returns
/// "The <returns> tag says 'A task representing the asynchronous operation' but does not mention the Task<List<User>> return type, omitting the List<User> payload." -->
/// <returns>A <see cref="Task{List{User}}"/> that represents the asynchronous operation, intended to contain the full collection of <see cref="User"/> entries.</returns>
/// <exception cref="LoginServicesException">Thrown unconditionally because the method has not been implemented.</exception>
/// <!-- aidoc:v1 sig=aa066d6 -->
public Task<List<User>> GetAllUsers()
=> throw new LoginServicesException("Not implemented");
@@ -341,14 +339,11 @@ public class LdapLoginService : ILoginService
/// <summary>
/// This method retrieves a list of authorities for a user based on the LDAP entry and the application's configuration for mapping LDAP groups to authorities.
/// Maps an <see cref="LdapEntry"/> to a <see cref="User"/> object, populating the username from the configured attribute and, when the corresponding properties are configured, composing the user's name from the first and last name attributes.
/// </summary>
/// <param name="ldapEntry">The LDAP entry containing the user's information.</param>
/// <returns>The existing or newly created user with updated authorities.</returns>
/// <!-- aidoc-review:v1 severity=high kind=wrong_summary
/// "The summary states the method retrieves a list of authorities based on LDAP groups, but the code only constructs a User with UserName and Name (first/last) from LDAP attributes—no authorities are involved." -->
/// <!-- aidoc-review:v1 severity=high kind=wrong_returns
/// "The <returns> describes 'The existing or newly created user with updated authorities,' but the method only ever returns a newly constructed User with name properties populated; no authorities are set or updated." -->
/// <param name="ldapEntry">The <see cref="LdapEntry"/> from which the <see cref="User"/> properties are read.</param>
/// <returns>A <see cref="User"/> instance populated from the LDAP entry attributes.</returns>
/// <!-- aidoc:v1 sig=947181a body=33ffec8 -->
private User GetUser(LdapEntry ldapEntry)
{