Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions client/lib/generated/api/settings.pb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -793,6 +793,8 @@ class UpdateDiscordReminderSettingsRequest extends $pb.GeneratedMessage {
$fixnum.Int64? discordEndReminderMins,
$core.String? discordStartReminderMessage,
$core.String? discordEndReminderMessage,
$core.bool? discordAutoDeleteStartReminder,
$core.bool? discordAutoDeleteEndReminder,
}) {
final result = create();
if (discordStartReminderMins != null)
Expand All @@ -803,6 +805,10 @@ class UpdateDiscordReminderSettingsRequest extends $pb.GeneratedMessage {
result.discordStartReminderMessage = discordStartReminderMessage;
if (discordEndReminderMessage != null)
result.discordEndReminderMessage = discordEndReminderMessage;
if (discordAutoDeleteStartReminder != null)
result.discordAutoDeleteStartReminder = discordAutoDeleteStartReminder;
if (discordAutoDeleteEndReminder != null)
result.discordAutoDeleteEndReminder = discordAutoDeleteEndReminder;
return result;
}

Expand All @@ -824,6 +830,8 @@ class UpdateDiscordReminderSettingsRequest extends $pb.GeneratedMessage {
..aInt64(2, _omitFieldNames ? '' : 'discordEndReminderMins')
..aOS(3, _omitFieldNames ? '' : 'discordStartReminderMessage')
..aOS(4, _omitFieldNames ? '' : 'discordEndReminderMessage')
..aOB(5, _omitFieldNames ? '' : 'discordAutoDeleteStartReminder')
..aOB(6, _omitFieldNames ? '' : 'discordAutoDeleteEndReminder')
..hasRequiredFields = false;

@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
Expand Down Expand Up @@ -884,6 +892,24 @@ class UpdateDiscordReminderSettingsRequest extends $pb.GeneratedMessage {
$core.bool hasDiscordEndReminderMessage() => $_has(3);
@$pb.TagNumber(4)
void clearDiscordEndReminderMessage() => $_clearField(4);

@$pb.TagNumber(5)
$core.bool get discordAutoDeleteStartReminder => $_getBF(4);
@$pb.TagNumber(5)
set discordAutoDeleteStartReminder($core.bool value) => $_setBool(4, value);
@$pb.TagNumber(5)
$core.bool hasDiscordAutoDeleteStartReminder() => $_has(4);
@$pb.TagNumber(5)
void clearDiscordAutoDeleteStartReminder() => $_clearField(5);

@$pb.TagNumber(6)
$core.bool get discordAutoDeleteEndReminder => $_getBF(5);
@$pb.TagNumber(6)
set discordAutoDeleteEndReminder($core.bool value) => $_setBool(5, value);
@$pb.TagNumber(6)
$core.bool hasDiscordAutoDeleteEndReminder() => $_has(5);
@$pb.TagNumber(6)
void clearDiscordAutoDeleteEndReminder() => $_clearField(6);
}

class UpdateDiscordReminderSettingsResponse extends $pb.GeneratedMessage {
Expand Down
31 changes: 28 additions & 3 deletions client/lib/generated/api/settings.pbjson.dart
Original file line number Diff line number Diff line change
Expand Up @@ -340,12 +340,32 @@ const UpdateDiscordReminderSettingsRequest$json = {
'10': 'discordEndReminderMessage',
'17': true
},
{
'1': 'discord_auto_delete_start_reminder',
'3': 5,
'4': 1,
'5': 8,
'9': 4,
'10': 'discordAutoDeleteStartReminder',
'17': true
},
{
'1': 'discord_auto_delete_end_reminder',
'3': 6,
'4': 1,
'5': 8,
'9': 5,
'10': 'discordAutoDeleteEndReminder',
'17': true
},
],
'8': [
{'1': '_discord_start_reminder_mins'},
{'1': '_discord_end_reminder_mins'},
{'1': '_discord_start_reminder_message'},
{'1': '_discord_end_reminder_message'},
{'1': '_discord_auto_delete_start_reminder'},
{'1': '_discord_auto_delete_end_reminder'},
],
};

Expand All @@ -356,9 +376,14 @@ final $typed_data.Uint8List updateDiscordReminderSettingsRequestDescriptor = $co
'aXNjb3JkX2VuZF9yZW1pbmRlcl9taW5zGAIgASgDSAFSFmRpc2NvcmRFbmRSZW1pbmRlck1pbn'
'OIAQESSAoeZGlzY29yZF9zdGFydF9yZW1pbmRlcl9tZXNzYWdlGAMgASgJSAJSG2Rpc2NvcmRT'
'dGFydFJlbWluZGVyTWVzc2FnZYgBARJEChxkaXNjb3JkX2VuZF9yZW1pbmRlcl9tZXNzYWdlGA'
'QgASgJSANSGWRpc2NvcmRFbmRSZW1pbmRlck1lc3NhZ2WIAQFCHgocX2Rpc2NvcmRfc3RhcnRf'
'cmVtaW5kZXJfbWluc0IcChpfZGlzY29yZF9lbmRfcmVtaW5kZXJfbWluc0IhCh9fZGlzY29yZF'
'9zdGFydF9yZW1pbmRlcl9tZXNzYWdlQh8KHV9kaXNjb3JkX2VuZF9yZW1pbmRlcl9tZXNzYWdl');
'QgASgJSANSGWRpc2NvcmRFbmRSZW1pbmRlck1lc3NhZ2WIAQESTwoiZGlzY29yZF9hdXRvX2Rl'
'bGV0ZV9zdGFydF9yZW1pbmRlchgFIAEoCEgEUh5kaXNjb3JkQXV0b0RlbGV0ZVN0YXJ0UmVtaW'
'5kZXKIAQESSwogZGlzY29yZF9hdXRvX2RlbGV0ZV9lbmRfcmVtaW5kZXIYBiABKAhIBVIcZGlz'
'Y29yZEF1dG9EZWxldGVFbmRSZW1pbmRlcogBAUIeChxfZGlzY29yZF9zdGFydF9yZW1pbmRlcl'
'9taW5zQhwKGl9kaXNjb3JkX2VuZF9yZW1pbmRlcl9taW5zQiEKH19kaXNjb3JkX3N0YXJ0X3Jl'
'bWluZGVyX21lc3NhZ2VCHwodX2Rpc2NvcmRfZW5kX3JlbWluZGVyX21lc3NhZ2VCJQojX2Rpc2'
'NvcmRfYXV0b19kZWxldGVfc3RhcnRfcmVtaW5kZXJCIwohX2Rpc2NvcmRfYXV0b19kZWxldGVf'
'ZW5kX3JlbWluZGVy');

@$core.Deprecated('Use updateDiscordReminderSettingsResponseDescriptor instead')
const UpdateDiscordReminderSettingsResponse$json = {
Expand Down
38 changes: 38 additions & 0 deletions client/lib/generated/db/db.pb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -579,12 +579,14 @@ class Notification extends $pb.GeneratedMessage {
$core.String? sessionId,
$core.String? teamMemberId,
$core.bool? sent,
$core.String? discordMessageId,
}) {
final result = create();
if (notificationType != null) result.notificationType = notificationType;
if (sessionId != null) result.sessionId = sessionId;
if (teamMemberId != null) result.teamMemberId = teamMemberId;
if (sent != null) result.sent = sent;
if (discordMessageId != null) result.discordMessageId = discordMessageId;
return result;
}

Expand All @@ -606,6 +608,7 @@ class Notification extends $pb.GeneratedMessage {
..aOS(2, _omitFieldNames ? '' : 'sessionId')
..aOS(3, _omitFieldNames ? '' : 'teamMemberId')
..aOB(4, _omitFieldNames ? '' : 'sent')
..aOS(5, _omitFieldNames ? '' : 'discordMessageId')
..hasRequiredFields = false;

@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
Expand Down Expand Up @@ -662,6 +665,15 @@ class Notification extends $pb.GeneratedMessage {
$core.bool hasSent() => $_has(3);
@$pb.TagNumber(4)
void clearSent() => $_clearField(4);

@$pb.TagNumber(5)
$core.String get discordMessageId => $_getSZ(4);
@$pb.TagNumber(5)
set discordMessageId($core.String value) => $_setString(4, value);
@$pb.TagNumber(5)
$core.bool hasDiscordMessageId() => $_has(4);
@$pb.TagNumber(5)
void clearDiscordMessageId() => $_clearField(5);
}

class Logo extends $pb.GeneratedMessage {
Expand Down Expand Up @@ -889,6 +901,8 @@ class Settings extends $pb.GeneratedMessage {
$core.Iterable<TeamMemberType>? leaderboardMemberTypes,
$core.bool? discordRsvpReactionsEnabled,
$core.String? discordNotificationChannelId,
$core.bool? discordAutoDeleteStartReminder,
$core.bool? discordAutoDeleteEndReminder,
}) {
final result = create();
if (nextSessionThresholdSecs != null)
Expand Down Expand Up @@ -933,6 +947,10 @@ class Settings extends $pb.GeneratedMessage {
result.discordRsvpReactionsEnabled = discordRsvpReactionsEnabled;
if (discordNotificationChannelId != null)
result.discordNotificationChannelId = discordNotificationChannelId;
if (discordAutoDeleteStartReminder != null)
result.discordAutoDeleteStartReminder = discordAutoDeleteStartReminder;
if (discordAutoDeleteEndReminder != null)
result.discordAutoDeleteEndReminder = discordAutoDeleteEndReminder;
return result;
}

Expand Down Expand Up @@ -977,6 +995,8 @@ class Settings extends $pb.GeneratedMessage {
defaultEnumValue: TeamMemberType.STUDENT)
..aOB(23, _omitFieldNames ? '' : 'discordRsvpReactionsEnabled')
..aOS(24, _omitFieldNames ? '' : 'discordNotificationChannelId')
..aOB(25, _omitFieldNames ? '' : 'discordAutoDeleteStartReminder')
..aOB(26, _omitFieldNames ? '' : 'discordAutoDeleteEndReminder')
..hasRequiredFields = false;

@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
Expand Down Expand Up @@ -1208,6 +1228,24 @@ class Settings extends $pb.GeneratedMessage {
$core.bool hasDiscordNotificationChannelId() => $_has(23);
@$pb.TagNumber(24)
void clearDiscordNotificationChannelId() => $_clearField(24);

@$pb.TagNumber(25)
$core.bool get discordAutoDeleteStartReminder => $_getBF(24);
@$pb.TagNumber(25)
set discordAutoDeleteStartReminder($core.bool value) => $_setBool(24, value);
@$pb.TagNumber(25)
$core.bool hasDiscordAutoDeleteStartReminder() => $_has(24);
@$pb.TagNumber(25)
void clearDiscordAutoDeleteStartReminder() => $_clearField(25);

@$pb.TagNumber(26)
$core.bool get discordAutoDeleteEndReminder => $_getBF(25);
@$pb.TagNumber(26)
set discordAutoDeleteEndReminder($core.bool value) => $_setBool(25, value);
@$pb.TagNumber(26)
$core.bool hasDiscordAutoDeleteEndReminder() => $_has(25);
@$pb.TagNumber(26)
void clearDiscordAutoDeleteEndReminder() => $_clearField(26);
}

const $core.bool _omitFieldNames =
Expand Down
32 changes: 30 additions & 2 deletions client/lib/generated/db/db.pbjson.dart
Original file line number Diff line number Diff line change
Expand Up @@ -268,9 +268,19 @@ const Notification$json = {
'17': true
},
{'1': 'sent', '3': 4, '4': 1, '5': 8, '10': 'sent'},
{
'1': 'discord_message_id',
'3': 5,
'4': 1,
'5': 9,
'9': 1,
'10': 'discordMessageId',
'17': true
},
],
'8': [
{'1': '_team_member_id'},
{'1': '_discord_message_id'},
],
};

Expand All @@ -279,7 +289,8 @@ final $typed_data.Uint8List notificationDescriptor = $convert.base64Decode(
'CgxOb3RpZmljYXRpb24SRAoRbm90aWZpY2F0aW9uX3R5cGUYASABKA4yFy50ay5kYi5Ob3RpZm'
'ljYXRpb25UeXBlUhBub3RpZmljYXRpb25UeXBlEh0KCnNlc3Npb25faWQYAiABKAlSCXNlc3Np'
'b25JZBIpCg50ZWFtX21lbWJlcl9pZBgDIAEoCUgAUgx0ZWFtTWVtYmVySWSIAQESEgoEc2VudB'
'gEIAEoCFIEc2VudEIRCg9fdGVhbV9tZW1iZXJfaWQ=');
'gEIAEoCFIEc2VudBIxChJkaXNjb3JkX21lc3NhZ2VfaWQYBSABKAlIAVIQZGlzY29yZE1lc3Nh'
'Z2VJZIgBAUIRCg9fdGVhbV9tZW1iZXJfaWRCFQoTX2Rpc2NvcmRfbWVzc2FnZV9pZA==');

@$core.Deprecated('Use logoDescriptor instead')
const Logo$json = {
Expand Down Expand Up @@ -473,6 +484,20 @@ const Settings$json = {
'5': 8,
'10': 'discordRsvpReactionsEnabled'
},
{
'1': 'discord_auto_delete_start_reminder',
'3': 25,
'4': 1,
'5': 8,
'10': 'discordAutoDeleteStartReminder'
},
{
'1': 'discord_auto_delete_end_reminder',
'3': 26,
'4': 1,
'5': 8,
'10': 'discordAutoDeleteEndReminder'
},
],
};

Expand Down Expand Up @@ -503,4 +528,7 @@ final $typed_data.Uint8List settingsDescriptor = $convert.base64Decode(
'ZF9zaG93X292ZXJ0aW1lGBUgASgIUhdsZWFkZXJib2FyZFNob3dPdmVydGltZRJPChhsZWFkZX'
'Jib2FyZF9tZW1iZXJfdHlwZXMYFiADKA4yFS50ay5kYi5UZWFtTWVtYmVyVHlwZVIWbGVhZGVy'
'Ym9hcmRNZW1iZXJUeXBlcxJDCh5kaXNjb3JkX3JzdnBfcmVhY3Rpb25zX2VuYWJsZWQYFyABKA'
'hSG2Rpc2NvcmRSc3ZwUmVhY3Rpb25zRW5hYmxlZA==');
'hSG2Rpc2NvcmRSc3ZwUmVhY3Rpb25zRW5hYmxlZBJKCiJkaXNjb3JkX2F1dG9fZGVsZXRlX3N0'
'YXJ0X3JlbWluZGVyGBkgASgIUh5kaXNjb3JkQXV0b0RlbGV0ZVN0YXJ0UmVtaW5kZXISRgogZG'
'lzY29yZF9hdXRvX2RlbGV0ZV9lbmRfcmVtaW5kZXIYGiABKAhSHGRpc2NvcmRBdXRvRGVsZXRl'
'RW5kUmVtaW5kZXI=');
45 changes: 45 additions & 0 deletions client/lib/views/setup/integrations_setup.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class IntegrationsSetupTab extends HookConsumerWidget {
final endReminderMinsController = useTextEditingController();
final startReminderMessageController = useTextEditingController();
final endReminderMessageController = useTextEditingController();
final autoDeleteStartReminder = useState(false);
final autoDeleteEndReminder = useState(false);
final rsvpReactionsEnabled = useState(true);
final selfLinkEnabled = useState(false);
final nameSyncEnabled = useState(true);
Expand Down Expand Up @@ -67,6 +69,8 @@ class IntegrationsSetupTab extends HookConsumerWidget {
: '15';
startReminderMessageController.text = s.discordStartReminderMessage;
endReminderMessageController.text = s.discordEndReminderMessage;
autoDeleteStartReminder.value = s.discordAutoDeleteStartReminder;
autoDeleteEndReminder.value = s.discordAutoDeleteEndReminder;
rsvpReactionsEnabled.value = s.discordRsvpReactionsEnabled;
selfLinkEnabled.value = s.discordSelfLinkEnabled;
nameSyncEnabled.value = s.discordNameSyncEnabled;
Expand Down Expand Up @@ -123,6 +127,9 @@ class IntegrationsSetupTab extends HookConsumerWidget {
discordStartReminderMessage:
startReminderMessageController.text,
discordEndReminderMessage: endReminderMessageController.text,
discordAutoDeleteStartReminder:
autoDeleteStartReminder.value,
discordAutoDeleteEndReminder: autoDeleteEndReminder.value,
),
),
);
Expand Down Expand Up @@ -312,6 +319,25 @@ class IntegrationsSetupTab extends HookConsumerWidget {
onUpdate: updateDiscordReminder,
),
const SizedBox(height: 24),
SettingRow(
label: 'Auto Delete Start Reminders',
description:
'Automatically delete the start reminder message from Discord once the session start time has passed.',
child: Row(
children: [
Switch(
value: autoDeleteStartReminder.value,
onChanged: (value) {
autoDeleteStartReminder.value = value;
updateDiscordReminder();
},
),
const SizedBox(width: 8),
Text(autoDeleteStartReminder.value ? 'Enabled' : 'Disabled'),
],
),
),
const SizedBox(height: 24),
SettingRow(
label: 'Start Reminder RSVP Reactions',
description:
Expand Down Expand Up @@ -354,6 +380,25 @@ class IntegrationsSetupTab extends HookConsumerWidget {
onUpdate: updateDiscordReminder,
),
const SizedBox(height: 24),
SettingRow(
label: 'Auto Delete End Reminders',
description:
'Automatically delete the end reminder message from Discord once the session end time has passed.',
child: Row(
children: [
Switch(
value: autoDeleteEndReminder.value,
onChanged: (value) {
autoDeleteEndReminder.value = value;
updateDiscordReminder();
},
),
const SizedBox(width: 8),
Text(autoDeleteEndReminder.value ? 'Enabled' : 'Disabled'),
],
),
),
const SizedBox(height: 24),
SettingRow(
label: 'Self-Linking',
description:
Expand Down
2 changes: 2 additions & 0 deletions protos/api/settings.proto
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ message UpdateDiscordReminderSettingsRequest {
optional int64 discord_end_reminder_mins = 2;
optional string discord_start_reminder_message = 3;
optional string discord_end_reminder_message = 4;
optional bool discord_auto_delete_start_reminder = 5;
optional bool discord_auto_delete_end_reminder = 6;
}

message UpdateDiscordReminderSettingsResponse {}
Expand Down
3 changes: 3 additions & 0 deletions protos/db/db.proto
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ message Notification {
string session_id = 2;
optional string team_member_id = 3;
bool sent = 4;
optional string discord_message_id = 5;
}

message Logo {
Expand Down Expand Up @@ -110,4 +111,6 @@ message Settings {
bool leaderboard_show_overtime = 21;
repeated TeamMemberType leaderboard_member_types = 22;
bool discord_rsvp_reactions_enabled = 23;
bool discord_auto_delete_start_reminder = 25;
bool discord_auto_delete_end_reminder = 26;
}
4 changes: 4 additions & 0 deletions server/src/generated/tk.api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3258,6 +3258,10 @@ pub struct UpdateDiscordReminderSettingsRequest {
pub discord_end_reminder_message: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(bool, optional, tag = "5")]
pub discord_auto_delete_start_reminder: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "6")]
pub discord_auto_delete_end_reminder: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateDiscordReminderSettingsResponse {}
Expand Down
6 changes: 6 additions & 0 deletions server/src/generated/tk.db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ pub struct Notification {
pub team_member_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub sent: bool,
#[prost(string, optional, tag = "5")]
pub discord_message_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Logo {
Expand Down Expand Up @@ -144,6 +146,10 @@ pub struct Settings {
pub leaderboard_member_types: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, tag = "23")]
pub discord_rsvp_reactions_enabled: bool,
#[prost(bool, tag = "25")]
pub discord_auto_delete_start_reminder: bool,
#[prost(bool, tag = "26")]
pub discord_auto_delete_end_reminder: bool,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
Expand Down
Loading
Loading