This repository has been archived by the owner on Jun 15, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Startup.cs
47 lines (45 loc) · 1.92 KB
/
Startup.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using MayanGlyphsApi.Data;
using MayanGlyphsApi.Data.Mongo;
using MayanGlyphsApi.Models;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using MongoDB.Bson.Serialization;
using MongoDB.Driver;
[assembly: FunctionsStartup(typeof(MayanGlyphsApi.Startup))]
namespace MayanGlyphsApi
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
BsonClassMap.RegisterClassMap<Artifact>(map =>
{
map.AutoMap();
map.SetIgnoreExtraElements(true);
map.MapMember(a => a.Coordinate)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.Cycle260)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.Cycl365)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.BlEng)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.BlSpan)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.Hyphenated)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.GraphCodes)
.SetSerializer(new StringOrInt32Serializer());
map.MapMember(a => a.Blocklogosyllabic)
.SetSerializer(new StringOrInt32Serializer());
});
builder.Services.AddSingleton<IMongoClient>(provider =>
{
var config = provider.GetService<IConfiguration>();
return new MongoClient(config["COSMOSCONNECTION"]);
});
builder.Services.AddSingleton<IDocumentStore, MongoDocumentStore>();
}
}
}