Polarex.Benefits (Polarex v0.2.8)
View SourceProvides API endpoints related to benefits
Summary
Functions
Create Benefit
Delete Benefit
Get Benefit
List Benefit Grants
List Benefits
Update Benefit
Functions
@spec benefits_create( Polarex.BenefitCustomCreate.t() | Polarex.BenefitDiscordCreate.t() | Polarex.BenefitDownloadablesCreate.t() | Polarex.BenefitGitHubRepositoryCreate.t() | Polarex.BenefitLicenseKeysCreate.t() | Polarex.BenefitMeterCreditCreate.t(), keyword() ) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t()}
Create Benefit
Create a benefit.
Scopes: benefits:write
@spec benefits_delete( String.t(), keyword() ) :: :ok | {:error, Polarex.HTTPValidationError.t() | Polarex.NotPermitted.t() | Polarex.ResourceNotFound.t()}
Delete Benefit
Delete a benefit.
[!WARNING] Every grants associated with the benefit will be revoked. Users will lose access to the benefit.
Scopes: benefits:write
@spec benefits_get( String.t(), keyword() ) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Get Benefit
Get a benefit by ID.
Scopes: benefits:read benefits:write
@spec benefits_grants( String.t(), keyword() ) :: {:ok, Polarex.ListResourceBenefitGrant.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
List Benefit Grants
List the individual grants for a benefit.
It's especially useful to check if a user has been granted a benefit.
Scopes: benefits:read benefits:write
Options
is_granted: Filter by granted status. Iftrue, only granted benefits will be returned. Iffalse, only revoked benefits will be returned.customer_id: Filter by customer.page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.
@spec benefits_list(keyword()) :: {:ok, Polarex.ListResourceBenefit.t()} | {:error, Polarex.HTTPValidationError.t()}
List Benefits
List benefits.
Scopes: benefits:read benefits:write
Options
organization_id: Filter by organization ID.type: Filter by benefit type.query: Filter by description.page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.sorting: Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign-before the criteria name to sort by descending order.metadata: Filter by metadata key-value pairs. It uses thedeepObjectstyle, e.g.?metadata[key]=value.
@spec benefits_update( String.t(), Polarex.BenefitCustomUpdate.t() | Polarex.BenefitDiscordUpdate.t() | Polarex.BenefitDownloadablesUpdate.t() | Polarex.BenefitGitHubRepositoryUpdate.t() | Polarex.BenefitLicenseKeysUpdate.t() | Polarex.BenefitMeterCreditUpdate.t(), keyword() ) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Update Benefit
Update a benefit.
Scopes: benefits:write