chore(utils): update tsdocs for provider identifiers (#9656)
This commit is contained in:
1 parent
1e0f6188ec
commit
30659b077a
4 files changed
+106
-26
No files matched your search
@@ -13,13 +13,6 @@ import {
|
|||||||
*
|
*
|
||||||
* If you're creating a client or establishing a connection with a third-party service, do it in the constructor.
|
* If you're creating a client or establishing a connection with a third-party service, do it in the constructor.
|
||||||
*
|
*
|
||||||
* In the constructor, you must pass to the parent constructor two parameters:
|
|
||||||
*
|
|
||||||
* 1. The first one is an empty object.
|
|
||||||
* 2. The second is an object having two properties:
|
|
||||||
* - `provider`: The ID of the provider. For example, `emailpass`.
|
|
||||||
* - `displayName`: The label or displayable name of the provider. For example, `Email and Password Authentication`.
|
|
||||||
*
|
|
||||||
* #### Example
|
* #### Example
|
||||||
*
|
*
|
||||||
* ```ts
|
* ```ts
|
||||||
@@ -35,6 +28,7 @@ import {
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* class MyAuthProviderService extends AbstractAuthModuleProvider {
|
* class MyAuthProviderService extends AbstractAuthModuleProvider {
|
||||||
|
* static identifier = "my-auth"
|
||||||
* protected logger_: Logger
|
* protected logger_: Logger
|
||||||
* protected options_: Options
|
* protected options_: Options
|
||||||
* // assuming you're initializing a client
|
* // assuming you're initializing a client
|
||||||
@@ -44,13 +38,7 @@ import {
|
|||||||
* { logger }: InjectedDependencies,
|
* { logger }: InjectedDependencies,
|
||||||
* options: Options
|
* options: Options
|
||||||
* ) {
|
* ) {
|
||||||
* super(
|
* super(...arguments)
|
||||||
* {},
|
|
||||||
* {
|
|
||||||
* provider: "my-auth",
|
|
||||||
* displayName: "My Custom Authentication"
|
|
||||||
* }
|
|
||||||
* )
|
|
||||||
*
|
*
|
||||||
* this.logger_ = logger
|
* this.logger_ = logger
|
||||||
* this.options_ = options
|
* this.options_ = options
|
||||||
@@ -67,11 +55,26 @@ import {
|
|||||||
*/
|
*/
|
||||||
export abstract class AbstractAuthModuleProvider implements IAuthProvider {
|
export abstract class AbstractAuthModuleProvider implements IAuthProvider {
|
||||||
/**
|
/**
|
||||||
* @ignore
|
* Every auth provider must have an `identifier` static property. The provider's ID
|
||||||
|
* will be stored as `au_{identifier}_{id}`, where `{id}` is the provider's `id`
|
||||||
|
* property in the `medusa-config.ts`.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyAuthProviderService extends AbstractAuthModuleProvider {
|
||||||
|
* static identifier = "my-auth"
|
||||||
|
* // ...
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static identifier: string
|
static identifier: string
|
||||||
/**
|
/**
|
||||||
* @ignore
|
* This property indicates the name used when displaying the provider on a frontend application.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyAuthProviderService extends AbstractAuthModuleProvider {
|
||||||
|
* static DISPLAY_NAME = "My Auth"
|
||||||
|
* // ...
|
||||||
|
* }
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
static DISPLAY_NAME: string
|
static DISPLAY_NAME: string
|
||||||
|
|
||||||
@@ -103,8 +106,25 @@ export abstract class AbstractAuthModuleProvider implements IAuthProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override this static method in order for the loader to validate the options provided to the module provider.
|
* This method validates the options of the provider set in `medusa-config.ts`.
|
||||||
* @param options
|
* Implementing this method is optional. It's useful if your provider requires custom validation.
|
||||||
|
*
|
||||||
|
* If the options aren't valid, throw an error.
|
||||||
|
*
|
||||||
|
* @param options - The provider's options.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyAuthProviderService extends AbstractAuthModuleProvider {
|
||||||
|
* static validateOptions(options: Record<any, any>) {
|
||||||
|
* if (!options.apiKey) {
|
||||||
|
* throw new MedusaError(
|
||||||
|
* MedusaError.Types.INVALID_DATA,
|
||||||
|
* "API key is required in the provider's options."
|
||||||
|
* )
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* // ...
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static validateOptions(options: Record<any, any>): void | never {}
|
static validateOptions(options: Record<any, any>): void | never {}
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import { FileTypes, IFileProvider } from "@medusajs/types"
|
|||||||
* class MyFileProviderService extends AbstractFileProviderService {
|
* class MyFileProviderService extends AbstractFileProviderService {
|
||||||
* protected logger_: Logger
|
* protected logger_: Logger
|
||||||
* protected options_: Options
|
* protected options_: Options
|
||||||
|
* static identifier = "my-file"
|
||||||
* // assuming you're initializing a client
|
* // assuming you're initializing a client
|
||||||
* protected client
|
* protected client
|
||||||
*
|
*
|
||||||
@@ -47,13 +48,37 @@ import { FileTypes, IFileProvider } from "@medusajs/types"
|
|||||||
*/
|
*/
|
||||||
export class AbstractFileProviderService implements IFileProvider {
|
export class AbstractFileProviderService implements IFileProvider {
|
||||||
/**
|
/**
|
||||||
* @ignore
|
* Each file provider has a unique ID used to identify it. The provider's ID
|
||||||
|
* will be stored as `fs_{identifier}_{id}`, where `{id}` is the provider's `id`
|
||||||
|
* property in the `medusa-config.ts`.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyFileProviderService extends AbstractFileProviderService {
|
||||||
|
* static identifier = "my-file"
|
||||||
|
* // ...
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static identifier: string
|
static identifier: string
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override this static method in order for the loader to validate the options provided to the module provider.
|
* This method validates the options of the provider set in `medusa-config.ts`.
|
||||||
* @param options
|
* Implementing this method is optional. It's useful if your provider requires custom validation.
|
||||||
|
*
|
||||||
|
* If the options aren't valid, throw an error.
|
||||||
|
*
|
||||||
|
* @param options - The provider's options.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyFileProviderService extends AbstractFileProviderService {
|
||||||
|
* static validateOptions(options: Record<any, any>) {
|
||||||
|
* if (!options.apiKey) {
|
||||||
|
* throw new MedusaError(
|
||||||
|
* MedusaError.Types.INVALID_DATA,
|
||||||
|
* "API key is required in the provider's options."
|
||||||
|
* )
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static validateOptions(options: Record<any, any>): void | never {}
|
static validateOptions(options: Record<any, any>): void | never {}
|
||||||
|
|
||||||
|
|||||||
@@ -49,8 +49,24 @@ export class AbstractNotificationProviderService
|
|||||||
implements INotificationProvider
|
implements INotificationProvider
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Override this static method in order for the loader to validate the options provided to the module provider.
|
* This method validates the options of the provider set in `medusa-config.ts`.
|
||||||
* @param options
|
* Implementing this method is optional. It's useful if your provider requires custom validation.
|
||||||
|
*
|
||||||
|
* If the options aren't valid, throw an error.
|
||||||
|
*
|
||||||
|
* @param options - The provider's options.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyNotificationProviderService extends AbstractNotificationProviderService {
|
||||||
|
* static validateOptions(options: Record<any, any>) {
|
||||||
|
* if (!options.apiKey) {
|
||||||
|
* throw new MedusaError(
|
||||||
|
* MedusaError.Types.INVALID_DATA,
|
||||||
|
* "API key is required in the provider's options."
|
||||||
|
* )
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static validateOptions(options: Record<any, any>): void | never {}
|
static validateOptions(options: Record<any, any>): void | never {}
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,24 @@ export abstract class AbstractPaymentProvider<TConfig = Record<string, unknown>>
|
|||||||
implements IPaymentProvider
|
implements IPaymentProvider
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Override this static method in order for the loader to validate the options provided to the module provider.
|
* This method validates the options of the provider set in `medusa-config.ts`.
|
||||||
* @param options
|
* Implementing this method is optional. It's useful if your provider requires custom validation.
|
||||||
|
*
|
||||||
|
* If the options aren't valid, throw an error.
|
||||||
|
*
|
||||||
|
* @param options - The provider's options.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* class MyPaymentProviderService extends AbstractPaymentProvider<Options> {
|
||||||
|
* static validateOptions(options: Record<any, any>) {
|
||||||
|
* if (!options.apiKey) {
|
||||||
|
* throw new MedusaError(
|
||||||
|
* MedusaError.Types.INVALID_DATA,
|
||||||
|
* "API key is required in the provider's options."
|
||||||
|
* )
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
static validateOptions(options: Record<any, any>): void | never {}
|
static validateOptions(options: Record<any, any>): void | never {}
|
||||||
|
|
||||||
@@ -48,6 +64,7 @@ export abstract class AbstractPaymentProvider<TConfig = Record<string, unknown>>
|
|||||||
* class MyPaymentProviderService extends AbstractPaymentProvider<
|
* class MyPaymentProviderService extends AbstractPaymentProvider<
|
||||||
* Options
|
* Options
|
||||||
* > {
|
* > {
|
||||||
|
* static identifier = "my-payment"
|
||||||
* protected logger_: Logger
|
* protected logger_: Logger
|
||||||
* protected options_: Options
|
* protected options_: Options
|
||||||
* // Assuming you're using a client to integrate
|
* // Assuming you're using a client to integrate
|
||||||
@@ -92,7 +109,9 @@ export abstract class AbstractPaymentProvider<TConfig = Record<string, unknown>>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Each payment provider has a unique identifier defined in its class.
|
* Each payment provider has a unique identifier defined in its class. The provider's ID
|
||||||
|
* will be stored as `pp_{identifier}_{id}`, where `{id}` is the provider's `id`
|
||||||
|
* property in the `medusa-config.ts`.
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
* class MyPaymentProviderService extends AbstractPaymentProvider<
|
* class MyPaymentProviderService extends AbstractPaymentProvider<
|
||||||
|
|||||||
Reference in new issue
Block a user