createUsageBoostGrant method

Future<AdminGrantModel> createUsageBoostGrant({
  1. String? targetUserId,
  2. String? targetOrgId,
  3. required int messages,
  4. required DateTime endsAt,
  5. String? reason,
})

Create a usage_boost grant: adds messages extra AI messages to the daily/weekly cap for the grant window (endsAt).

Implementation

Future<AdminGrantModel> createUsageBoostGrant({
  String? targetUserId,
  String? targetOrgId,
  required int messages,
  required DateTime endsAt,
  String? reason,
}) async {
  assert((targetUserId == null) ^ (targetOrgId == null));
  final response = await _client
      .from('admin_grants')
      .insert({
        'target_user_id': ?targetUserId,
        'target_org_id': ?targetOrgId,
        'grant_type': 'usage_boost',
        'ai_boost_messages': messages,
        'ends_at': endsAt.toUtc().toIso8601String(),
        'reason': ?reason,
        'granted_by': _client.auth.currentUser?.id,
      })
      .select()
      .single();
  return AdminGrantModel.fromJson(response);
}