Table of Contents

Class AdminPluginsController

Namespace
Builvero.Api.Controllers
Assembly
Builvero.Api.dll

Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

[ApiController]
[Route("api/admin/plugins")]
[Authorize(Policy = "AdminWrite")]
public class AdminPluginsController : ControllerBase
Inheritance
AdminPluginsController
Inherited Members

Constructors

AdminPluginsController(IPluginAdminService, ILogger<AdminPluginsController>)

public AdminPluginsController(IPluginAdminService adminService, ILogger<AdminPluginsController> logger)

Parameters

adminService IPluginAdminService
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).
logger ILogger<AdminPluginsController>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Methods

ApprovePlugin(Guid)

Approves a plugin.

[HttpPost("{pluginId}/approve")]
public Task<ActionResult> ApprovePlugin(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

ApprovePluginVersion(Guid)

Approves a plugin version.

[HttpPost("versions/{versionId}/approve")]
public Task<ActionResult> ApprovePluginVersion(Guid versionId)

Parameters

versionId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

ArchivePlugin(Guid)

Archives a plugin.

[HttpPost("{pluginId}/archive")]
public Task<ActionResult> ArchivePlugin(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

ArchivePluginVersion(Guid)

Archives a plugin version.

[HttpPost("versions/{versionId}/archive")]
public Task<ActionResult> ArchivePluginVersion(Guid versionId)

Parameters

versionId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

DeletePlugin(Guid)

Deletes a plugin.

[HttpDelete("{pluginId}")]
public Task<ActionResult> DeletePlugin(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

DeletePluginVersion(Guid)

Deletes a plugin version.

[HttpDelete("versions/{versionId}")]
public Task<ActionResult> DeletePluginVersion(Guid versionId)

Parameters

versionId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

DisablePlugin(Guid)

Disables a plugin.

[HttpPost("{pluginId}/disable")]
public Task<ActionResult> DisablePlugin(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

DisablePluginVersion(Guid)

Disables a plugin version.

[HttpPost("versions/{versionId}/disable")]
public Task<ActionResult> DisablePluginVersion(Guid versionId)

Parameters

versionId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

GetPluginDetails(Guid)

Gets plugin details by ID (admin view).

[HttpGet("{pluginId}")]
public Task<ActionResult<PluginDto>> GetPluginDetails(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult<PluginDto>>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

GetPluginSubmissions()

Gets all plugin submissions for admin review.

[HttpGet]
public Task<ActionResult<List<PluginDto>>> GetPluginSubmissions()

Returns

Task<ActionResult<List<PluginDto>>>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

GetPluginTelemetry(Guid)

Gets plugin telemetry (install counts, activity).

[HttpGet("{pluginId}/telemetry")]
public Task<ActionResult<PluginTelemetryDto>> GetPluginTelemetry(Guid pluginId)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult<PluginTelemetryDto>>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

RejectPlugin(Guid, RejectPluginRequest)

Rejects a plugin with a reason.

[HttpPost("{pluginId}/reject")]
public Task<ActionResult> RejectPlugin(Guid pluginId, RejectPluginRequest request)

Parameters

pluginId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).
request RejectPluginRequest
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

RejectPluginVersion(Guid, RejectPluginRequest)

Rejects a plugin version with a reason.

[HttpPost("versions/{versionId}/reject")]
public Task<ActionResult> RejectPluginVersion(Guid versionId, RejectPluginRequest request)

Parameters

versionId Guid
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).
request RejectPluginRequest
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

SubmitPlugin(IFormFile)

Submits a new plugin or plugin version (uploads ZIP, extracts manifest, creates/updates plugin).

[HttpPost("submit")]
[RequestSizeLimit(50000000)]
public Task<ActionResult<PluginDto>> SubmitPlugin(IFormFile zipFile)

Parameters

zipFile IFormFile
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).

Returns

Task<ActionResult<PluginDto>>
Provides API endpoints for admin plugin management (submit, approve, reject, disable, archive, delete).