📄 src/Integrations/FaceCamera/ServiceCollectionExtensions.cs
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;

namespace MMirror.Integrations.FaceCamera;

public static class ServiceCollectionExtensions
{
    extension(IServiceCollection services)
    {
        public IServiceCollection AddFaceCameraServices()
        {
            services.TryAddSingleton(TimeProvider.System);

            services.AddOptions<CameraOptions>().BindConfiguration("Camera").ValidateOnStart();
            services.AddTransient<IValidateOptions<CameraOptions>, CameraOptionsValidator>();

            services.AddSingleton<FaceDetectionService>();

            return services;
        }
    }
}