发布

  • [OPIK-4550] [BE] feat: add P1 workspace permission annotations to delete and log endpoints (#5658)

    frostbyte_neo 发布于 2026-03-17 06:05:02 +00:00

    • [OPIK-4550] [BE] feat: add P1 workspace permission annotations to delete and log endpoints

    Add @RequiredPermissions annotations for P1 priority workspace permissions
    across 7 resource classes (26 endpoints total):

    • project_delete: ProjectsResource (deleteById, deleteProjectsBatch)
    • trace_delete: TracesResource (deleteById, deleteTraces)
    • dataset_delete: DatasetsResource (deleteDataset, deleteDatasetByName,
      deleteDatasetsBatch, deleteDatasetItems)
    • annotation_queue_delete: AnnotationQueuesResource
      (deleteAnnotationQueueBatch, removeItemsFromAnnotationQueue)
    • prompt_delete: PromptResource (deletePrompt, deletePromptsBatch)
    • optimization_run_delete: OptimizationsResource (deleteOptimizationsById)
    • trace_span_thread_log: TracesResource (create, createTraces, batchUpdate,
      update, openTraceThread, closeTraceThread, batchUpdateThreads,
      updateThread) and SpansResource (create, createSpans, batchUpdate, update)

    Includes permission verification tests for all annotated endpoints following
    the existing DashboardsResourceTest/ExperimentsResourceTest pattern.

    Implements OPIK-4550: Workspace permissions and user roles management

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    • fix(tests): address PR review comments - add missing permission tests
    • SpansResourceTest: add tests for createSpans batch, batchUpdateSpans,
      and updateSpan (covers all 4 annotated span endpoints)
    • TracesResourceTest: add tests for closeTraceThread, updateThread,
      and batchUpdateThreads (covers all thread operations)
    • DatasetsResourceTest: remove unused datasetId variable in
      deleteDatasetItemsPassesRequiredPermissionsToAuthEndpoint

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(tests): use closeTraceThreads batch API in permission test

    The closeTraceThread client sends TraceThreadIdentifier but the endpoint
    expects TraceThreadBatchIdentifier, causing deserialization issues.
    Switch to closeTraceThreads which sends the correct request type.

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    • fix(tests): remove closeTraceThread permission test

    The closeTraceThreads client asserts SC_NO_CONTENT but gets 404 for
    non-existent threads. Thread operations are still covered by
    openTraceThread, updateThread, and batchUpdateThreads tests.

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com


    Co-authored-by: Claude Opus 4.6 noreply@anthropic.com

    下载附件