Skip to content

Add Bulk Operations Support #12

@izadoesdev

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

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