2021-05-30 19:16:20 +08:00
|
|
|
// ******************************
|
|
|
|
// GENERATED CODE, DO NOT EDIT MANUALLY.
|
|
|
|
// SEE /config_gen/README.md
|
|
|
|
// ******************************
|
|
|
|
|
2022-04-03 19:50:51 +08:00
|
|
|
using BililiveRecorder.Core.Config;
|
|
|
|
using BililiveRecorder.Core.Config.V3;
|
2021-05-30 19:16:20 +08:00
|
|
|
using GraphQL.Types;
|
|
|
|
using HierarchicalPropertyDefault;
|
|
|
|
#nullable enable
|
2022-04-03 14:47:54 +08:00
|
|
|
namespace BililiveRecorder.Web.Models
|
|
|
|
{
|
|
|
|
public class SetRoomConfig
|
|
|
|
{
|
|
|
|
public bool? AutoRecord { get; set; }
|
|
|
|
public Optional<RecordMode>? OptionalRecordMode { get; set; }
|
|
|
|
public Optional<CuttingMode>? OptionalCuttingMode { get; set; }
|
|
|
|
public Optional<uint>? OptionalCuttingNumber { get; set; }
|
2023-10-12 17:59:45 +08:00
|
|
|
public Optional<bool>? OptionalCuttingByTitle { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<bool>? OptionalRecordDanmaku { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuRaw { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuSuperChat { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuGift { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuGuard { get; set; }
|
2022-08-27 18:07:09 +08:00
|
|
|
public Optional<bool>? OptionalSaveStreamCover { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?>? OptionalRecordingQuality { get; set; }
|
2022-06-25 17:31:21 +08:00
|
|
|
public Optional<bool>? OptionalFlvProcessorSplitOnScriptTag { get; set; }
|
2024-11-22 21:55:20 +08:00
|
|
|
public Optional<bool>? OptionalFlvProcessorDisableSplitOnH264AnnexB { get; set; }
|
2024-11-10 14:55:48 +08:00
|
|
|
public Optional<string?>? OptionalTitleFilterPatterns { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
|
|
|
|
public void ApplyTo(RoomConfig config)
|
|
|
|
{
|
|
|
|
if (this.AutoRecord.HasValue) config.AutoRecord = this.AutoRecord.Value;
|
|
|
|
if (this.OptionalRecordMode.HasValue) config.OptionalRecordMode = this.OptionalRecordMode.Value;
|
|
|
|
if (this.OptionalCuttingMode.HasValue) config.OptionalCuttingMode = this.OptionalCuttingMode.Value;
|
|
|
|
if (this.OptionalCuttingNumber.HasValue) config.OptionalCuttingNumber = this.OptionalCuttingNumber.Value;
|
2023-10-12 17:59:45 +08:00
|
|
|
if (this.OptionalCuttingByTitle.HasValue) config.OptionalCuttingByTitle = this.OptionalCuttingByTitle.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalRecordDanmaku.HasValue) config.OptionalRecordDanmaku = this.OptionalRecordDanmaku.Value;
|
|
|
|
if (this.OptionalRecordDanmakuRaw.HasValue) config.OptionalRecordDanmakuRaw = this.OptionalRecordDanmakuRaw.Value;
|
|
|
|
if (this.OptionalRecordDanmakuSuperChat.HasValue) config.OptionalRecordDanmakuSuperChat = this.OptionalRecordDanmakuSuperChat.Value;
|
|
|
|
if (this.OptionalRecordDanmakuGift.HasValue) config.OptionalRecordDanmakuGift = this.OptionalRecordDanmakuGift.Value;
|
|
|
|
if (this.OptionalRecordDanmakuGuard.HasValue) config.OptionalRecordDanmakuGuard = this.OptionalRecordDanmakuGuard.Value;
|
2022-08-27 18:07:09 +08:00
|
|
|
if (this.OptionalSaveStreamCover.HasValue) config.OptionalSaveStreamCover = this.OptionalSaveStreamCover.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalRecordingQuality.HasValue) config.OptionalRecordingQuality = this.OptionalRecordingQuality.Value;
|
2022-06-25 17:31:21 +08:00
|
|
|
if (this.OptionalFlvProcessorSplitOnScriptTag.HasValue) config.OptionalFlvProcessorSplitOnScriptTag = this.OptionalFlvProcessorSplitOnScriptTag.Value;
|
2024-11-22 21:55:20 +08:00
|
|
|
if (this.OptionalFlvProcessorDisableSplitOnH264AnnexB.HasValue) config.OptionalFlvProcessorDisableSplitOnH264AnnexB = this.OptionalFlvProcessorDisableSplitOnH264AnnexB.Value;
|
2024-11-10 14:55:48 +08:00
|
|
|
if (this.OptionalTitleFilterPatterns.HasValue) config.OptionalTitleFilterPatterns = this.OptionalTitleFilterPatterns.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class SetGlobalConfig
|
|
|
|
{
|
|
|
|
public Optional<RecordMode>? OptionalRecordMode { get; set; }
|
|
|
|
public Optional<CuttingMode>? OptionalCuttingMode { get; set; }
|
|
|
|
public Optional<uint>? OptionalCuttingNumber { get; set; }
|
2023-10-12 17:59:45 +08:00
|
|
|
public Optional<bool>? OptionalCuttingByTitle { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<bool>? OptionalRecordDanmaku { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuRaw { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuSuperChat { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuGift { get; set; }
|
|
|
|
public Optional<bool>? OptionalRecordDanmakuGuard { get; set; }
|
2022-08-27 18:07:09 +08:00
|
|
|
public Optional<bool>? OptionalSaveStreamCover { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?>? OptionalRecordingQuality { get; set; }
|
2022-04-03 19:35:51 +08:00
|
|
|
public Optional<string?>? OptionalFileNameRecordTemplate { get; set; }
|
2022-06-25 17:31:21 +08:00
|
|
|
public Optional<bool>? OptionalFlvProcessorSplitOnScriptTag { get; set; }
|
2024-11-22 21:55:20 +08:00
|
|
|
public Optional<bool>? OptionalFlvProcessorDisableSplitOnH264AnnexB { get; set; }
|
2023-02-01 19:14:53 +08:00
|
|
|
public Optional<bool>? OptionalFlvWriteMetadata { get; set; }
|
2024-11-10 14:55:48 +08:00
|
|
|
public Optional<string?>? OptionalTitleFilterPatterns { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?>? OptionalWebHookUrls { get; set; }
|
|
|
|
public Optional<string?>? OptionalWebHookUrlsV2 { get; set; }
|
|
|
|
public Optional<bool>? OptionalWpfShowTitleAndArea { get; set; }
|
2022-08-25 18:43:23 +08:00
|
|
|
public Optional<bool>? OptionalWpfNotifyStreamStart { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?>? OptionalCookie { get; set; }
|
|
|
|
public Optional<string?>? OptionalLiveApiHost { get; set; }
|
|
|
|
public Optional<uint>? OptionalTimingCheckInterval { get; set; }
|
2022-08-25 19:23:18 +08:00
|
|
|
public Optional<uint>? OptionalTimingApiTimeout { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<uint>? OptionalTimingStreamRetry { get; set; }
|
|
|
|
public Optional<uint>? OptionalTimingStreamRetryNoQn { get; set; }
|
|
|
|
public Optional<uint>? OptionalTimingStreamConnect { get; set; }
|
|
|
|
public Optional<uint>? OptionalTimingDanmakuRetry { get; set; }
|
|
|
|
public Optional<uint>? OptionalTimingWatchdogTimeout { get; set; }
|
|
|
|
public Optional<uint>? OptionalRecordDanmakuFlushInterval { get; set; }
|
2022-08-25 18:42:36 +08:00
|
|
|
public Optional<DanmakuTransportMode>? OptionalDanmakuTransport { get; set; }
|
2023-07-08 10:32:38 +08:00
|
|
|
public Optional<bool>? OptionalDanmakuAuthenticateWithStreamerUid { get; set; }
|
2022-05-09 22:42:08 +08:00
|
|
|
public Optional<bool>? OptionalNetworkTransportUseSystemProxy { get; set; }
|
|
|
|
public Optional<AllowedAddressFamily>? OptionalNetworkTransportAllowedAddressFamily { get; set; }
|
2022-05-17 00:53:37 +08:00
|
|
|
public Optional<string?>? OptionalUserScript { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
|
|
|
|
public void ApplyTo(GlobalConfig config)
|
|
|
|
{
|
|
|
|
if (this.OptionalRecordMode.HasValue) config.OptionalRecordMode = this.OptionalRecordMode.Value;
|
|
|
|
if (this.OptionalCuttingMode.HasValue) config.OptionalCuttingMode = this.OptionalCuttingMode.Value;
|
|
|
|
if (this.OptionalCuttingNumber.HasValue) config.OptionalCuttingNumber = this.OptionalCuttingNumber.Value;
|
2023-10-12 17:59:45 +08:00
|
|
|
if (this.OptionalCuttingByTitle.HasValue) config.OptionalCuttingByTitle = this.OptionalCuttingByTitle.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalRecordDanmaku.HasValue) config.OptionalRecordDanmaku = this.OptionalRecordDanmaku.Value;
|
|
|
|
if (this.OptionalRecordDanmakuRaw.HasValue) config.OptionalRecordDanmakuRaw = this.OptionalRecordDanmakuRaw.Value;
|
|
|
|
if (this.OptionalRecordDanmakuSuperChat.HasValue) config.OptionalRecordDanmakuSuperChat = this.OptionalRecordDanmakuSuperChat.Value;
|
|
|
|
if (this.OptionalRecordDanmakuGift.HasValue) config.OptionalRecordDanmakuGift = this.OptionalRecordDanmakuGift.Value;
|
|
|
|
if (this.OptionalRecordDanmakuGuard.HasValue) config.OptionalRecordDanmakuGuard = this.OptionalRecordDanmakuGuard.Value;
|
2022-08-27 18:07:09 +08:00
|
|
|
if (this.OptionalSaveStreamCover.HasValue) config.OptionalSaveStreamCover = this.OptionalSaveStreamCover.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalRecordingQuality.HasValue) config.OptionalRecordingQuality = this.OptionalRecordingQuality.Value;
|
2022-04-03 19:35:51 +08:00
|
|
|
if (this.OptionalFileNameRecordTemplate.HasValue) config.OptionalFileNameRecordTemplate = this.OptionalFileNameRecordTemplate.Value;
|
2022-06-25 17:31:21 +08:00
|
|
|
if (this.OptionalFlvProcessorSplitOnScriptTag.HasValue) config.OptionalFlvProcessorSplitOnScriptTag = this.OptionalFlvProcessorSplitOnScriptTag.Value;
|
2024-11-22 21:55:20 +08:00
|
|
|
if (this.OptionalFlvProcessorDisableSplitOnH264AnnexB.HasValue) config.OptionalFlvProcessorDisableSplitOnH264AnnexB = this.OptionalFlvProcessorDisableSplitOnH264AnnexB.Value;
|
2023-02-01 19:14:53 +08:00
|
|
|
if (this.OptionalFlvWriteMetadata.HasValue) config.OptionalFlvWriteMetadata = this.OptionalFlvWriteMetadata.Value;
|
2024-11-10 14:55:48 +08:00
|
|
|
if (this.OptionalTitleFilterPatterns.HasValue) config.OptionalTitleFilterPatterns = this.OptionalTitleFilterPatterns.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalWebHookUrls.HasValue) config.OptionalWebHookUrls = this.OptionalWebHookUrls.Value;
|
|
|
|
if (this.OptionalWebHookUrlsV2.HasValue) config.OptionalWebHookUrlsV2 = this.OptionalWebHookUrlsV2.Value;
|
|
|
|
if (this.OptionalWpfShowTitleAndArea.HasValue) config.OptionalWpfShowTitleAndArea = this.OptionalWpfShowTitleAndArea.Value;
|
2022-08-25 18:43:23 +08:00
|
|
|
if (this.OptionalWpfNotifyStreamStart.HasValue) config.OptionalWpfNotifyStreamStart = this.OptionalWpfNotifyStreamStart.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalCookie.HasValue) config.OptionalCookie = this.OptionalCookie.Value;
|
|
|
|
if (this.OptionalLiveApiHost.HasValue) config.OptionalLiveApiHost = this.OptionalLiveApiHost.Value;
|
|
|
|
if (this.OptionalTimingCheckInterval.HasValue) config.OptionalTimingCheckInterval = this.OptionalTimingCheckInterval.Value;
|
2022-08-25 19:23:18 +08:00
|
|
|
if (this.OptionalTimingApiTimeout.HasValue) config.OptionalTimingApiTimeout = this.OptionalTimingApiTimeout.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
if (this.OptionalTimingStreamRetry.HasValue) config.OptionalTimingStreamRetry = this.OptionalTimingStreamRetry.Value;
|
|
|
|
if (this.OptionalTimingStreamRetryNoQn.HasValue) config.OptionalTimingStreamRetryNoQn = this.OptionalTimingStreamRetryNoQn.Value;
|
|
|
|
if (this.OptionalTimingStreamConnect.HasValue) config.OptionalTimingStreamConnect = this.OptionalTimingStreamConnect.Value;
|
|
|
|
if (this.OptionalTimingDanmakuRetry.HasValue) config.OptionalTimingDanmakuRetry = this.OptionalTimingDanmakuRetry.Value;
|
|
|
|
if (this.OptionalTimingWatchdogTimeout.HasValue) config.OptionalTimingWatchdogTimeout = this.OptionalTimingWatchdogTimeout.Value;
|
|
|
|
if (this.OptionalRecordDanmakuFlushInterval.HasValue) config.OptionalRecordDanmakuFlushInterval = this.OptionalRecordDanmakuFlushInterval.Value;
|
2022-08-25 18:42:36 +08:00
|
|
|
if (this.OptionalDanmakuTransport.HasValue) config.OptionalDanmakuTransport = this.OptionalDanmakuTransport.Value;
|
2023-07-08 10:32:38 +08:00
|
|
|
if (this.OptionalDanmakuAuthenticateWithStreamerUid.HasValue) config.OptionalDanmakuAuthenticateWithStreamerUid = this.OptionalDanmakuAuthenticateWithStreamerUid.Value;
|
2022-05-09 22:42:08 +08:00
|
|
|
if (this.OptionalNetworkTransportUseSystemProxy.HasValue) config.OptionalNetworkTransportUseSystemProxy = this.OptionalNetworkTransportUseSystemProxy.Value;
|
|
|
|
if (this.OptionalNetworkTransportAllowedAddressFamily.HasValue) config.OptionalNetworkTransportAllowedAddressFamily = this.OptionalNetworkTransportAllowedAddressFamily.Value;
|
2022-05-11 00:20:57 +08:00
|
|
|
if (this.OptionalUserScript.HasValue) config.OptionalUserScript = this.OptionalUserScript.Value;
|
2022-04-03 14:47:54 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace BililiveRecorder.Web.Models.Rest
|
|
|
|
{
|
|
|
|
public class RoomConfigDto
|
|
|
|
{
|
|
|
|
public bool AutoRecord { get; set; }
|
|
|
|
public Optional<RecordMode> OptionalRecordMode { get; set; }
|
|
|
|
public Optional<CuttingMode> OptionalCuttingMode { get; set; }
|
|
|
|
public Optional<uint> OptionalCuttingNumber { get; set; }
|
2023-10-12 17:59:45 +08:00
|
|
|
public Optional<bool> OptionalCuttingByTitle { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<bool> OptionalRecordDanmaku { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuRaw { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuSuperChat { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuGift { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuGuard { get; set; }
|
2022-08-27 18:07:09 +08:00
|
|
|
public Optional<bool> OptionalSaveStreamCover { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?> OptionalRecordingQuality { get; set; }
|
2022-06-25 17:31:21 +08:00
|
|
|
public Optional<bool> OptionalFlvProcessorSplitOnScriptTag { get; set; }
|
2024-11-22 21:55:20 +08:00
|
|
|
public Optional<bool> OptionalFlvProcessorDisableSplitOnH264AnnexB { get; set; }
|
2024-11-10 14:55:48 +08:00
|
|
|
public Optional<string?> OptionalTitleFilterPatterns { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
public class GlobalConfigDto
|
|
|
|
{
|
|
|
|
public Optional<RecordMode> OptionalRecordMode { get; set; }
|
|
|
|
public Optional<CuttingMode> OptionalCuttingMode { get; set; }
|
|
|
|
public Optional<uint> OptionalCuttingNumber { get; set; }
|
2023-10-12 17:59:45 +08:00
|
|
|
public Optional<bool> OptionalCuttingByTitle { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<bool> OptionalRecordDanmaku { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuRaw { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuSuperChat { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuGift { get; set; }
|
|
|
|
public Optional<bool> OptionalRecordDanmakuGuard { get; set; }
|
2022-08-27 18:07:09 +08:00
|
|
|
public Optional<bool> OptionalSaveStreamCover { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?> OptionalRecordingQuality { get; set; }
|
2022-04-03 19:35:51 +08:00
|
|
|
public Optional<string?> OptionalFileNameRecordTemplate { get; set; }
|
2022-06-25 17:31:21 +08:00
|
|
|
public Optional<bool> OptionalFlvProcessorSplitOnScriptTag { get; set; }
|
2024-11-22 21:55:20 +08:00
|
|
|
public Optional<bool> OptionalFlvProcessorDisableSplitOnH264AnnexB { get; set; }
|
2023-02-01 19:14:53 +08:00
|
|
|
public Optional<bool> OptionalFlvWriteMetadata { get; set; }
|
2024-11-10 14:55:48 +08:00
|
|
|
public Optional<string?> OptionalTitleFilterPatterns { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?> OptionalWebHookUrls { get; set; }
|
|
|
|
public Optional<string?> OptionalWebHookUrlsV2 { get; set; }
|
|
|
|
public Optional<bool> OptionalWpfShowTitleAndArea { get; set; }
|
2022-08-25 18:43:23 +08:00
|
|
|
public Optional<bool> OptionalWpfNotifyStreamStart { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<string?> OptionalCookie { get; set; }
|
|
|
|
public Optional<string?> OptionalLiveApiHost { get; set; }
|
|
|
|
public Optional<uint> OptionalTimingCheckInterval { get; set; }
|
2022-08-25 19:23:18 +08:00
|
|
|
public Optional<uint> OptionalTimingApiTimeout { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
public Optional<uint> OptionalTimingStreamRetry { get; set; }
|
|
|
|
public Optional<uint> OptionalTimingStreamRetryNoQn { get; set; }
|
|
|
|
public Optional<uint> OptionalTimingStreamConnect { get; set; }
|
|
|
|
public Optional<uint> OptionalTimingDanmakuRetry { get; set; }
|
|
|
|
public Optional<uint> OptionalTimingWatchdogTimeout { get; set; }
|
|
|
|
public Optional<uint> OptionalRecordDanmakuFlushInterval { get; set; }
|
2022-08-25 18:42:36 +08:00
|
|
|
public Optional<DanmakuTransportMode> OptionalDanmakuTransport { get; set; }
|
2023-07-08 10:32:38 +08:00
|
|
|
public Optional<bool> OptionalDanmakuAuthenticateWithStreamerUid { get; set; }
|
2022-05-09 22:42:08 +08:00
|
|
|
public Optional<bool> OptionalNetworkTransportUseSystemProxy { get; set; }
|
|
|
|
public Optional<AllowedAddressFamily> OptionalNetworkTransportAllowedAddressFamily { get; set; }
|
2022-05-17 00:53:37 +08:00
|
|
|
public Optional<string?> OptionalUserScript { get; set; }
|
2022-04-03 14:47:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace BililiveRecorder.Web.Models.Graphql
|
2021-05-30 19:16:20 +08:00
|
|
|
{
|
|
|
|
internal class RoomConfigType : ObjectGraphType<RoomConfig>
|
|
|
|
{
|
|
|
|
public RoomConfigType()
|
|
|
|
{
|
|
|
|
this.Field(x => x.RoomId);
|
|
|
|
this.Field(x => x.AutoRecord);
|
|
|
|
this.Field(x => x.OptionalRecordMode, type: typeof(HierarchicalOptionalType<RecordMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingMode, type: typeof(HierarchicalOptionalType<CuttingMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingNumber, type: typeof(HierarchicalOptionalType<uint>));
|
2023-10-12 17:59:45 +08:00
|
|
|
this.Field(x => x.OptionalCuttingByTitle, type: typeof(HierarchicalOptionalType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordDanmaku, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuRaw, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuSuperChat, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGift, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGuard, type: typeof(HierarchicalOptionalType<bool>));
|
2022-08-27 18:07:09 +08:00
|
|
|
this.Field(x => x.OptionalSaveStreamCover, type: typeof(HierarchicalOptionalType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordingQuality, type: typeof(HierarchicalOptionalType<string>));
|
2022-06-25 17:31:21 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorSplitOnScriptTag, type: typeof(HierarchicalOptionalType<bool>));
|
2024-11-22 21:55:20 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorDisableSplitOnH264AnnexB, type: typeof(HierarchicalOptionalType<bool>));
|
2024-11-10 14:55:48 +08:00
|
|
|
this.Field(x => x.OptionalTitleFilterPatterns, type: typeof(HierarchicalOptionalType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal class GlobalConfigType : ObjectGraphType<GlobalConfig>
|
|
|
|
{
|
|
|
|
public GlobalConfigType()
|
|
|
|
{
|
|
|
|
this.Field(x => x.OptionalRecordMode, type: typeof(HierarchicalOptionalType<RecordMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingMode, type: typeof(HierarchicalOptionalType<CuttingMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingNumber, type: typeof(HierarchicalOptionalType<uint>));
|
2023-10-12 17:59:45 +08:00
|
|
|
this.Field(x => x.OptionalCuttingByTitle, type: typeof(HierarchicalOptionalType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordDanmaku, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuRaw, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuSuperChat, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGift, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGuard, type: typeof(HierarchicalOptionalType<bool>));
|
2022-08-27 18:07:09 +08:00
|
|
|
this.Field(x => x.OptionalSaveStreamCover, type: typeof(HierarchicalOptionalType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordingQuality, type: typeof(HierarchicalOptionalType<string>));
|
2022-04-03 19:35:51 +08:00
|
|
|
this.Field(x => x.OptionalFileNameRecordTemplate, type: typeof(HierarchicalOptionalType<string>));
|
2022-06-25 17:31:21 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorSplitOnScriptTag, type: typeof(HierarchicalOptionalType<bool>));
|
2024-11-22 21:55:20 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorDisableSplitOnH264AnnexB, type: typeof(HierarchicalOptionalType<bool>));
|
2023-02-01 19:14:53 +08:00
|
|
|
this.Field(x => x.OptionalFlvWriteMetadata, type: typeof(HierarchicalOptionalType<bool>));
|
2024-11-10 14:55:48 +08:00
|
|
|
this.Field(x => x.OptionalTitleFilterPatterns, type: typeof(HierarchicalOptionalType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalWebHookUrls, type: typeof(HierarchicalOptionalType<string>));
|
|
|
|
this.Field(x => x.OptionalWebHookUrlsV2, type: typeof(HierarchicalOptionalType<string>));
|
|
|
|
this.Field(x => x.OptionalWpfShowTitleAndArea, type: typeof(HierarchicalOptionalType<bool>));
|
2022-08-25 18:43:23 +08:00
|
|
|
this.Field(x => x.OptionalWpfNotifyStreamStart, type: typeof(HierarchicalOptionalType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalCookie, type: typeof(HierarchicalOptionalType<string>));
|
|
|
|
this.Field(x => x.OptionalLiveApiHost, type: typeof(HierarchicalOptionalType<string>));
|
|
|
|
this.Field(x => x.OptionalTimingCheckInterval, type: typeof(HierarchicalOptionalType<uint>));
|
2022-08-25 19:23:18 +08:00
|
|
|
this.Field(x => x.OptionalTimingApiTimeout, type: typeof(HierarchicalOptionalType<uint>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalTimingStreamRetry, type: typeof(HierarchicalOptionalType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingStreamRetryNoQn, type: typeof(HierarchicalOptionalType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingStreamConnect, type: typeof(HierarchicalOptionalType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingDanmakuRetry, type: typeof(HierarchicalOptionalType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingWatchdogTimeout, type: typeof(HierarchicalOptionalType<uint>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuFlushInterval, type: typeof(HierarchicalOptionalType<uint>));
|
2022-08-25 18:42:36 +08:00
|
|
|
this.Field(x => x.OptionalDanmakuTransport, type: typeof(HierarchicalOptionalType<DanmakuTransportMode>));
|
2023-07-08 10:32:38 +08:00
|
|
|
this.Field(x => x.OptionalDanmakuAuthenticateWithStreamerUid, type: typeof(HierarchicalOptionalType<bool>));
|
2022-05-09 22:42:08 +08:00
|
|
|
this.Field(x => x.OptionalNetworkTransportUseSystemProxy, type: typeof(HierarchicalOptionalType<bool>));
|
|
|
|
this.Field(x => x.OptionalNetworkTransportAllowedAddressFamily, type: typeof(HierarchicalOptionalType<AllowedAddressFamily>));
|
2022-05-11 00:20:57 +08:00
|
|
|
this.Field(x => x.OptionalUserScript, type: typeof(HierarchicalOptionalType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal class DefaultConfigType : ObjectGraphType<DefaultConfig>
|
|
|
|
{
|
|
|
|
public DefaultConfigType()
|
|
|
|
{
|
|
|
|
this.Field(x => x.RecordMode);
|
|
|
|
this.Field(x => x.CuttingMode);
|
|
|
|
this.Field(x => x.CuttingNumber);
|
2023-10-12 17:59:45 +08:00
|
|
|
this.Field(x => x.CuttingByTitle);
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.RecordDanmaku);
|
|
|
|
this.Field(x => x.RecordDanmakuRaw);
|
|
|
|
this.Field(x => x.RecordDanmakuSuperChat);
|
|
|
|
this.Field(x => x.RecordDanmakuGift);
|
|
|
|
this.Field(x => x.RecordDanmakuGuard);
|
2022-08-27 18:07:09 +08:00
|
|
|
this.Field(x => x.SaveStreamCover);
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.RecordingQuality);
|
2022-04-03 19:35:51 +08:00
|
|
|
this.Field(x => x.FileNameRecordTemplate);
|
2022-06-25 17:31:21 +08:00
|
|
|
this.Field(x => x.FlvProcessorSplitOnScriptTag);
|
2024-11-22 21:55:20 +08:00
|
|
|
this.Field(x => x.FlvProcessorDisableSplitOnH264AnnexB);
|
2023-02-01 19:14:53 +08:00
|
|
|
this.Field(x => x.FlvWriteMetadata);
|
2024-11-10 14:55:48 +08:00
|
|
|
this.Field(x => x.TitleFilterPatterns);
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.WebHookUrls);
|
|
|
|
this.Field(x => x.WebHookUrlsV2);
|
|
|
|
this.Field(x => x.WpfShowTitleAndArea);
|
2022-08-25 18:43:23 +08:00
|
|
|
this.Field(x => x.WpfNotifyStreamStart);
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.Cookie);
|
|
|
|
this.Field(x => x.LiveApiHost);
|
|
|
|
this.Field(x => x.TimingCheckInterval);
|
2022-08-25 19:23:18 +08:00
|
|
|
this.Field(x => x.TimingApiTimeout);
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.TimingStreamRetry);
|
|
|
|
this.Field(x => x.TimingStreamRetryNoQn);
|
|
|
|
this.Field(x => x.TimingStreamConnect);
|
|
|
|
this.Field(x => x.TimingDanmakuRetry);
|
|
|
|
this.Field(x => x.TimingWatchdogTimeout);
|
|
|
|
this.Field(x => x.RecordDanmakuFlushInterval);
|
2022-08-25 18:42:36 +08:00
|
|
|
this.Field(x => x.DanmakuTransport);
|
2023-07-08 10:32:38 +08:00
|
|
|
this.Field(x => x.DanmakuAuthenticateWithStreamerUid);
|
2022-05-09 22:42:08 +08:00
|
|
|
this.Field(x => x.NetworkTransportUseSystemProxy);
|
|
|
|
this.Field(x => x.NetworkTransportAllowedAddressFamily);
|
2022-05-11 00:20:57 +08:00
|
|
|
this.Field(x => x.UserScript);
|
2021-05-30 19:16:20 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal class SetRoomConfigType : InputObjectGraphType<SetRoomConfig>
|
|
|
|
{
|
|
|
|
public SetRoomConfigType()
|
|
|
|
{
|
|
|
|
this.Field(x => x.AutoRecord, nullable: true);
|
|
|
|
this.Field(x => x.OptionalRecordMode, nullable: true, type: typeof(HierarchicalOptionalInputType<RecordMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingMode, nullable: true, type: typeof(HierarchicalOptionalInputType<CuttingMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingNumber, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
2023-10-12 17:59:45 +08:00
|
|
|
this.Field(x => x.OptionalCuttingByTitle, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordDanmaku, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuRaw, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuSuperChat, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGift, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGuard, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2022-08-27 18:07:09 +08:00
|
|
|
this.Field(x => x.OptionalSaveStreamCover, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordingQuality, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2022-06-25 17:31:21 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorSplitOnScriptTag, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2024-11-22 21:55:20 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorDisableSplitOnH264AnnexB, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2024-11-10 14:55:48 +08:00
|
|
|
this.Field(x => x.OptionalTitleFilterPatterns, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal class SetGlobalConfigType : InputObjectGraphType<SetGlobalConfig>
|
|
|
|
{
|
|
|
|
public SetGlobalConfigType()
|
|
|
|
{
|
|
|
|
this.Field(x => x.OptionalRecordMode, nullable: true, type: typeof(HierarchicalOptionalInputType<RecordMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingMode, nullable: true, type: typeof(HierarchicalOptionalInputType<CuttingMode>));
|
|
|
|
this.Field(x => x.OptionalCuttingNumber, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
2023-10-12 17:59:45 +08:00
|
|
|
this.Field(x => x.OptionalCuttingByTitle, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordDanmaku, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuRaw, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuSuperChat, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGift, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuGuard, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2022-08-27 18:07:09 +08:00
|
|
|
this.Field(x => x.OptionalSaveStreamCover, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalRecordingQuality, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2022-04-03 19:35:51 +08:00
|
|
|
this.Field(x => x.OptionalFileNameRecordTemplate, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2022-06-25 17:31:21 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorSplitOnScriptTag, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2024-11-22 21:55:20 +08:00
|
|
|
this.Field(x => x.OptionalFlvProcessorDisableSplitOnH264AnnexB, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2023-02-01 19:14:53 +08:00
|
|
|
this.Field(x => x.OptionalFlvWriteMetadata, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2024-11-10 14:55:48 +08:00
|
|
|
this.Field(x => x.OptionalTitleFilterPatterns, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalWebHookUrls, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
|
|
|
this.Field(x => x.OptionalWebHookUrlsV2, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
|
|
|
this.Field(x => x.OptionalWpfShowTitleAndArea, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2022-08-25 18:43:23 +08:00
|
|
|
this.Field(x => x.OptionalWpfNotifyStreamStart, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalCookie, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
|
|
|
this.Field(x => x.OptionalLiveApiHost, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
|
|
|
this.Field(x => x.OptionalTimingCheckInterval, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
2022-08-25 19:23:18 +08:00
|
|
|
this.Field(x => x.OptionalTimingApiTimeout, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
2021-05-30 19:16:20 +08:00
|
|
|
this.Field(x => x.OptionalTimingStreamRetry, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingStreamRetryNoQn, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingStreamConnect, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingDanmakuRetry, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
|
|
|
this.Field(x => x.OptionalTimingWatchdogTimeout, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
|
|
|
this.Field(x => x.OptionalRecordDanmakuFlushInterval, nullable: true, type: typeof(HierarchicalOptionalInputType<uint>));
|
2022-08-25 18:42:36 +08:00
|
|
|
this.Field(x => x.OptionalDanmakuTransport, nullable: true, type: typeof(HierarchicalOptionalInputType<DanmakuTransportMode>));
|
2023-07-08 10:32:38 +08:00
|
|
|
this.Field(x => x.OptionalDanmakuAuthenticateWithStreamerUid, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
2022-05-09 22:42:08 +08:00
|
|
|
this.Field(x => x.OptionalNetworkTransportUseSystemProxy, nullable: true, type: typeof(HierarchicalOptionalInputType<bool>));
|
|
|
|
this.Field(x => x.OptionalNetworkTransportAllowedAddressFamily, nullable: true, type: typeof(HierarchicalOptionalInputType<AllowedAddressFamily>));
|
2022-05-11 00:20:57 +08:00
|
|
|
this.Field(x => x.OptionalUserScript, nullable: true, type: typeof(HierarchicalOptionalInputType<string>));
|
2021-05-30 19:16:20 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|