Implement premium features and GDPR compliance in bot and WebUI
- Added new models for premium tier configurations and assignments, enabling feature limits for free and premium users. - Introduced GDPR deletion logging and commands for user data management. - Enhanced logging configuration with retention days for audit logs. - Updated bot commands and job processing to include new premium and GDPR functionalities. - Improved localization with new keys for premium features and GDPR commands in both English and German. - Added UI components for managing premium settings and logging retention in the WebUI.
This commit is contained in:
@@ -162,6 +162,7 @@ export const LoggingConfigDashboardSchema = z.object({
|
||||
ignoreBots: z.boolean(),
|
||||
ignoredChannelIds: z.array(z.string()),
|
||||
ignoredRoleIds: z.array(z.string()),
|
||||
retentionDays: z.number().int().min(0).max(3650),
|
||||
logChannels: z.array(LogChannelMappingSchema)
|
||||
});
|
||||
export type LoggingConfigDashboard = z.infer<typeof LoggingConfigDashboardSchema>;
|
||||
@@ -172,6 +173,7 @@ export const LoggingConfigDashboardPatchSchema = z
|
||||
ignoreBots: z.boolean().optional(),
|
||||
ignoredChannelIds: z.array(z.string()).optional(),
|
||||
ignoredRoleIds: z.array(z.string()).optional(),
|
||||
retentionDays: z.number().int().min(0).max(3650).optional(),
|
||||
logChannels: z.array(LogChannelMappingSchema).optional()
|
||||
})
|
||||
.refine((value) => Object.keys(value).length > 0, { message: 'At least one field is required' });
|
||||
@@ -632,6 +634,7 @@ export const KNOWN_COMMAND_NAMES = [
|
||||
'reminders', 'afk', 'emoji', 'sticker', 'timestamp', 'snipe', 'editsnipe', 'embed', '8ball', 'dice',
|
||||
'flip', 'rps', 'choose', 'trivia', 'tictactoe', 'connect4', 'hangman', 'meme', 'cat', 'dog',
|
||||
'giveaway', 'ticket', 'selfroles', 'tag', 'starboard', 'suggest', 'suggestion', 'birthday', 'voice',
|
||||
'stats', 'invites', 'feeds', 'schedule', 'announce', 'backup'
|
||||
'stats', 'invites', 'feeds', 'schedule', 'announce', 'backup', 'help', 'info', 'invite', 'support',
|
||||
'privacy', 'gdpr'
|
||||
] as const;
|
||||
export type KnownCommandName = (typeof KNOWN_COMMAND_NAMES)[number];
|
||||
|
||||
Reference in New Issue
Block a user