summary refs log tree commit diff
path: root/MxApiExtensions/MxApiExtensionsConfiguration.cs
blob: c3b6297a3bb4b8954af098cac616e79ff69ba380 (plain) (blame)
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
namespace MxApiExtensions;

public class MxApiExtensionsConfiguration {
    public MxApiExtensionsConfiguration(IConfiguration config) {
        config.GetRequiredSection("MxApiExtensions").Bind(this);
    }

    public List<string> AuthHomeservers { get; set; } = new();
    public List<string> Admins { get; set; } = new();

    public FastInitialSyncConfiguration FastInitialSync { get; set; } = new();

    public CacheConfiguration Cache { get; set; } = new();


    public class FastInitialSyncConfiguration {
        public bool Enabled { get; set; } = true;
        public bool UseRoomInfoCache { get; set; } = true;
    }

    public class CacheConfiguration {
        public RoomInfoCacheConfiguration RoomInfo { get; set; } = new();

        public class RoomInfoCacheConfiguration {
            public TimeSpan BaseTtl { get; set; } = TimeSpan.FromMinutes(1);
            public TimeSpan ExtraTtlPerState { get; set; } = TimeSpan.FromMilliseconds(100);
        }
    }
}