Skip to content

Commit

Permalink
feat(request client): add option to skip refresh
Browse files Browse the repository at this point in the history
  • Loading branch information
benjlevesque committed Mar 9, 2023
1 parent 139fb70 commit 10de014
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
18 changes: 13 additions & 5 deletions packages/request-client.js/src/api/request-network.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,10 @@ export default class RequestNetwork {
* @param requestParameters Parameters to create a request
* @returns The created request
*/
public async createRequest(parameters: Types.ICreateRequestParameters): Promise<Request> {
public async createRequest(
parameters: Types.ICreateRequestParameters,
options?: Types.ICreateRequestOptions,
): Promise<Request> {
const { requestParameters, topics, paymentNetwork } = await this.prepareRequestParameters(
parameters,
);
Expand All @@ -100,8 +103,10 @@ export default class RequestNetwork {
},
);

// refresh the local request data
await request.refresh();
if (!options?.skipRefresh) {
// refresh the local request data
await request.refresh();
}

return request;
}
Expand All @@ -116,6 +121,7 @@ export default class RequestNetwork {
public async _createEncryptedRequest(
parameters: Types.ICreateRequestParameters,
encryptionParams: EncryptionTypes.IEncryptionParameters[],
options?: Types.ICreateRequestOptions,
): Promise<Request> {
const { requestParameters, topics, paymentNetwork } = await this.prepareRequestParameters(
parameters,
Expand All @@ -142,8 +148,10 @@ export default class RequestNetwork {
},
);

// refresh the local request data
await request.refresh();
if (!options?.skipRefresh) {
// refresh the local request data
await request.refresh();
}

return request;
}
Expand Down
8 changes: 8 additions & 0 deletions packages/types/src/client-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,14 @@ export interface ICreateRequestParameters {
disableEvents?: boolean;
}

export interface ICreateRequestOptions {
/**
* Disable the request refresh after creation
* Warning: the `balance` will be null.
*/
skipRefresh?: boolean;
}

/** Parameters to create a request. ICreateParameters with a more flexible currency */
export interface IRequestInfo {
currency: string | RequestLogic.ICurrency;
Expand Down

0 comments on commit 10de014

Please sign in to comment.