Skip to content

Commit b82e1bd

Browse files
author
Wenbo Cao
committed
sqlite version for excel handler
1 parent ec6db64 commit b82e1bd

File tree

16 files changed

+729
-0
lines changed

16 files changed

+729
-0
lines changed

src/Infrastructure/BotSharp.Abstraction/Files/Utilities/FileUtility.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,20 @@ public static string GetFileContentType(string fileName)
5858

5959
return contentType;
6060
}
61+
62+
public static List<string> GetMimeFileTypes(IEnumerable<string> fileTypes)
63+
{
64+
var provider = new FileExtensionContentTypeProvider();
65+
var mimeTypes = provider.Mappings.Where(x => fileTypes.Any(type => x.Value.Contains(type))).Select(x => x.Key).ToList();
66+
67+
return mimeTypes;
68+
}
69+
70+
public static List<string> GetContentFileTypes(IEnumerable<string> mimeTypes)
71+
{
72+
var provider = new FileExtensionContentTypeProvider();
73+
var mappings = provider.Mappings.Where(x => mimeTypes.Any(type => x.Key.Contains(type))).Select(x => x.Value).ToList();
74+
75+
return mappings;
76+
}
6177
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<Compile Remove="Provider\**" />
11+
<EmbeddedResource Remove="Provider\**" />
12+
<None Remove="Provider\**" />
13+
</ItemGroup>
14+
15+
<ItemGroup>
16+
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.8" />
17+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.8" />
18+
<PackageReference Include="NPOI" Version="2.7.1" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<Folder Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\functions\" />
23+
<Folder Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\templates\" />
24+
</ItemGroup>
25+
26+
<ItemGroup>
27+
<ProjectReference Include="..\..\Infrastructure\BotSharp.Core\BotSharp.Core.csproj" />
28+
<ProjectReference Include="..\BotSharp.Plugin.SqlDriver\BotSharp.Plugin.SqlDriver.csproj" />
29+
</ItemGroup>
30+
31+
</Project>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace BotSharp.Plugin.ExcelHandler.Enums;
8+
9+
public class UtilityName
10+
{
11+
public const string ExcelHandler = "excel-handler";
12+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using BotSharp.Abstraction.Plugins;
7+
using BotSharp.Abstraction.Settings;
8+
using BotSharp.Plugin.ExcelHandler.Helpers;
9+
using BotSharp.Plugin.ExcelHandler.Hooks;
10+
using BotSharp.Plugin.ExcelHandler.Settings;
11+
using Microsoft.Extensions.Configuration;
12+
13+
namespace BotSharp.Plugin.ExcelHandler;
14+
15+
public class ExcelHandlerPlugin : IBotSharpPlugin
16+
{
17+
public string Id => "c56a8e29-b16f-4d75-8766-8309342130cb";
18+
public string Name => "Excel Handler";
19+
public string Description => "Load data from excel file and transform it into a list of JSON format.";
20+
21+
public void RegisterDI(IServiceCollection services, IConfiguration config)
22+
{
23+
services.AddScoped(provider =>
24+
{
25+
var settingService = provider.GetRequiredService<ISettingService>();
26+
return settingService.Bind<ExcelHandlerSettings>("ExcelHandler");
27+
});
28+
29+
services.AddScoped<IAgentUtilityHook, ExcelHandlerUtilityHook>();
30+
services.AddScoped<IAgentHook, ExcelHandlerHook>();
31+
services.AddScoped<IDbHelpers, DbHelpers>();
32+
}
33+
}

0 commit comments

Comments
 (0)