# Namespace adas_core.Domain

### Classes

Permissions

  Represents a set of permissions, providing functionality related to access control and authorization.

QueryCustomizer<T>

  Allow to pass to a IQueryable multiple requests like:

  - Include (to fetch eagerly relations inside T entity) Use a Builder pattern.
  <example>

      var queryCustomizer = QueryCustomizer<Video>.New()
          .Include(v => v.Room)
          .Include(v => v.Clips)
          .Include(v => v.Diagnosis)
          .Include(v => v.Movies)
          .Include(v => v.Patient)
          .Include(v => v.Service)
          .Include(v => v.Thumbnail)
          .Include(v => v.VideoDoctors)
          .Include(v => v.Procedure)
          .Include(v => v.Recordings)
          .Include(v => v.Chapters)
          .Include(v => v.LogDownloadVideoUsers)
          .Include("VideoDoctors.Doctor")
          ;
      var v = _videoRepository.GetById(id, queryCustomizer);

  </example>

SourcePermissions

  Represents a set of permissions associated with a source, defining the access rights or constraints applicable to it.

### Interfaces

IDefaultRepository<T, TS>