chore: init project
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using InboxIntel.Domain.Enums;
|
||||
|
||||
namespace InboxIntel.Infrastructure.Configuration;
|
||||
|
||||
public class GoogleOAuthOptions
|
||||
{
|
||||
public const string SectionName = "GoogleOAuth";
|
||||
public string ClientId { get; set; } = string.Empty;
|
||||
public string ClientSecret { get; set; } = string.Empty;
|
||||
/// <summary>Scopes requested. Gmail read + modify (no send).</summary>
|
||||
public string[] Scopes { get; set; } =
|
||||
{
|
||||
"openid", "email", "profile",
|
||||
"https://www.googleapis.com/auth/gmail.readonly",
|
||||
"https://www.googleapis.com/auth/gmail.modify"
|
||||
};
|
||||
}
|
||||
|
||||
public class GmailSyncOptions
|
||||
{
|
||||
public const string SectionName = "GmailSync";
|
||||
public int PageSize { get; set; } = 100;
|
||||
public int MaxParallelism { get; set; } = 4;
|
||||
public int MaxRetries { get; set; } = 5;
|
||||
/// <summary>Base delay in ms for exponential backoff.</summary>
|
||||
public int BackoffBaseMs { get; set; } = 500;
|
||||
/// <summary>Cron-like daily sync hour (UTC) for the scheduled worker.</summary>
|
||||
public int DailySyncHourUtc { get; set; } = 3;
|
||||
}
|
||||
|
||||
public class AiOptions
|
||||
{
|
||||
public const string SectionName = "Ai";
|
||||
public AiProviderMode Mode { get; set; } = AiProviderMode.Disabled;
|
||||
|
||||
// Ollama (local)
|
||||
public string OllamaBaseUrl { get; set; } = "http://localhost:11434";
|
||||
public string OllamaModel { get; set; } = "llama3.1";
|
||||
|
||||
// OpenAI (cloud, optional)
|
||||
public string OpenAiApiKey { get; set; } = string.Empty;
|
||||
public string OpenAiModel { get; set; } = "gpt-4o-mini";
|
||||
}
|
||||
Reference in New Issue
Block a user