Skip to content

Add Bulk Operations Support #12

Description

@izadoesdev

Overview

Add support for bulk operations to create, update, or revoke multiple keys efficiently.

Motivation

Bulk operations improve efficiency when managing many keys at once.

Proposed API

// Bulk create
const results = await keys.createBulk([
  { ownerId: 'user_1', scopes: ['read'] },
  { ownerId: 'user_2', scopes: ['write'] },
])

// Bulk revoke
await keys.revokeBulk(['key_1', 'key_2', 'key_3'])

// Bulk update
await keys.updateBulk([
  { id: 'key_1', metadata: { name: 'Updated' } },
  { id: 'key_2', metadata: { enabled: false } }
])

Implementation Details

Performance Considerations

  • Batch database operations
  • Support transaction rollback on errors
  • Return success/failure for each operation

API Design

interface BulkResult<T> {
  successful: T[]
  failed: Array<{ item: any, error: Error }>
}

const result = await manager.createBulk(items)

Acceptance Criteria

  • Implement bulk create
  • Implement bulk update
  • Implement bulk revoke
  • Add transaction support
  • Return detailed results
  • Add tests for bulk operations
  • Document bulk operation limits

Priority

Low - Efficiency improvement

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions