Skip to content

Commit

Permalink
refactor: remove atomic react methods (#206)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: Removes react method from atomic banks and cards clients.
  • Loading branch information
lcschy committed Jun 30, 2022
1 parent 6abb3f7 commit f2a200f
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 496 deletions.
7 changes: 6 additions & 1 deletion .releaserc.json
@@ -1,7 +1,12 @@
{
"branches": ["master"],
"plugins": [
"@semantic-release/commit-analyzer",
[
"@semantic-release/commit-analyzer",
{
"releaseRules": [{ "type": "refactor", "release": "patch" }]
}
],
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
Expand Down
21 changes: 0 additions & 21 deletions src/atomic/banks/BasisTheoryAtomicBanks.ts
Expand Up @@ -2,8 +2,6 @@ import type { AxiosTransformer } from 'axios';
import {
createRequestConfig,
dataExtractor,
proxyRaw,
transformAtomicReactionRequestSnakeCase,
transformAtomicRequestSnakeCase,
transformAtomicResponseCamelCase,
} from '@/common';
Expand All @@ -13,8 +11,6 @@ import { CrudBuilder } from '@/service/CrudBuilder';
import type {
AtomicBank,
CreateAtomicBank,
AtomicReactRequest,
ReactResponse,
UpdateAtomicBank,
} from '@/types/models';
import type { PaginatedQuery, RequestOptions } from '@/types/sdk';
Expand Down Expand Up @@ -50,23 +46,6 @@ export const BasisTheoryAtomicBanks = new CrudBuilder(
.patch(`/${id}`, request, createRequestConfig(options))
.then(dataExtractor);
}

public react(
tokenId: string,
request: AtomicReactRequest,
options?: RequestOptions
): Promise<ReactResponse> {
return this.client
.post(
`/${tokenId}/react`,
request,
createRequestConfig(options, {
transformRequest: transformAtomicReactionRequestSnakeCase,
transformResponse: proxyRaw,
})
)
.then(dataExtractor);
}
}
)
.create<AtomicBank, CreateAtomicBank>()
Expand Down
26 changes: 1 addition & 25 deletions src/atomic/cards/BasisTheoryAtomicCards.ts
@@ -1,10 +1,5 @@
import type { AxiosTransformer } from 'axios';
import {
createRequestConfig,
dataExtractor,
transformAtomicReactionRequestSnakeCase,
proxyRaw,
} from '@/common';
import { createRequestConfig, dataExtractor } from '@/common';
import {
transformAtomicRequestSnakeCase,
transformAtomicResponseCamelCase,
Expand All @@ -15,8 +10,6 @@ import { CrudBuilder } from '@/service/CrudBuilder';
import type {
AtomicCard,
CreateAtomicCard,
AtomicReactRequest,
ReactResponse,
UpdateAtomicCard,
} from '@/types/models';
import type { PaginatedQuery, RequestOptions } from '@/types/sdk';
Expand Down Expand Up @@ -52,23 +45,6 @@ export const BasisTheoryAtomicCards = new CrudBuilder(
.patch(`/${id}`, request, createRequestConfig(options))
.then(dataExtractor);
}

public react(
tokenId: string,
request: AtomicReactRequest,
options?: RequestOptions
): Promise<ReactResponse> {
return this.client
.post(
`/${tokenId}/react`,
request,
createRequestConfig(options, {
transformRequest: transformAtomicReactionRequestSnakeCase,
transformResponse: proxyRaw,
})
)
.then(dataExtractor);
}
}
)
.create<AtomicCard, CreateAtomicCard>()
Expand Down
26 changes: 2 additions & 24 deletions src/common/utils.ts
Expand Up @@ -9,12 +9,7 @@ import os from 'os';
import { snakeCase } from 'snake-case';
import snakecaseKeys from 'snakecase-keys';
import type { RequestTransformers } from '@/service';
import type {
AtomicReactRequest,
Reactor,
Token,
TokenBase,
} from '@/types/models';
import type { Reactor, Token, TokenBase } from '@/types/models';
import type {
ApplicationInfo,
ClientUserAgent,
Expand Down Expand Up @@ -96,22 +91,6 @@ const transformTokenRequestSnakeCase: AxiosTransformer = (
} as Token;
};

const transformAtomicReactionRequestSnakeCase: AxiosTransformer = (
request: AtomicReactRequest
): Token | undefined => {
if (typeof request === 'undefined') {
return undefined;
}

return {
...snakecaseKeys(request, { deep: true }),
...(request.requestParameters !== undefined
? // eslint-disable-next-line camelcase
{ request_parameters: request.requestParameters }
: {}),
} as Token;
};

const transformTokenResponseCamelCase: AxiosTransformer = (
token: Token
): Token | undefined => {
Expand Down Expand Up @@ -288,7 +267,7 @@ const getQueryParams = <Q>(query: Q = {} as Q): string => {

objectKeys.forEach((objectKey) => {
appendSafe(
`${key}.${objectKey}`,
`${String(key)}.${objectKey}`,
((value as unknown) as Record<string, string>)[objectKey],
true
);
Expand Down Expand Up @@ -393,7 +372,6 @@ export {
transformReactorRequestSnakeCase,
transformAtomicRequestSnakeCase,
transformTokenRequestSnakeCase,
transformAtomicReactionRequestSnakeCase,
transformTokenResponseCamelCase,
transformReactorResponseCamelCase,
transformResponseCamelCase,
Expand Down
15 changes: 1 addition & 14 deletions src/types/models/shared.ts
Expand Up @@ -24,22 +24,9 @@ interface TokenBase<T extends TokenType = TokenType> extends Auditable {
fingerprint?: string;
metadata?: Record<string, string>;
}

interface AtomicReactRequest {
reactorId: string;
requestParameters?: Record<string, unknown>;
}

interface ReactResponse {
tokens: DataObject;
raw: DataObject;
}

export type {
Primitive,
Auditable,
TokenType,
TokenBase,
AtomicReactRequest,
ReactResponse,
};
export type { Primitive, Auditable, TokenType, TokenBase, ReactResponse };
12 changes: 2 additions & 10 deletions src/types/sdk/services/banks.ts
Expand Up @@ -3,21 +3,13 @@ import type {
CreateAtomicBank,
UpdateAtomicBank,
} from '@/types/models';
import type {
Create,
Retrieve,
Update,
Delete,
List,
AtomicReact,
} from './shared';
import type { Create, Retrieve, Update, Delete, List } from './shared';

interface AtomicBanks
extends Create<AtomicBank, CreateAtomicBank>,
Retrieve<AtomicBank>,
Update<AtomicBank, UpdateAtomicBank>,
Delete,
List<AtomicBank>,
AtomicReact {}
List<AtomicBank> {}

export type { AtomicBanks };
12 changes: 2 additions & 10 deletions src/types/sdk/services/cards.ts
Expand Up @@ -3,21 +3,13 @@ import type {
CreateAtomicCard,
UpdateAtomicCard,
} from '@/types/models';
import type {
Create,
Retrieve,
Update,
Delete,
List,
AtomicReact,
} from './shared';
import type { Create, Retrieve, Update, Delete, List } from './shared';

interface AtomicCards
extends Create<AtomicCard, CreateAtomicCard>,
Retrieve<AtomicCard>,
Update<AtomicCard, UpdateAtomicCard>,
Delete,
List<AtomicCard>,
AtomicReact {}
List<AtomicCard> {}

export type { AtomicCards };
11 changes: 0 additions & 11 deletions src/types/sdk/services/shared.ts
@@ -1,5 +1,3 @@
import type { AtomicReactRequest, ReactResponse } from '@/types/models';

interface RequestOptions {
apiKey?: string;
correlationId?: string;
Expand Down Expand Up @@ -50,14 +48,6 @@ type List<T, Q extends PaginatedQuery = PaginatedQuery> = {
list(query?: Q, options?: RequestOptions): Promise<PaginatedList<T>>;
};

type AtomicReact = {
react(
tokenId: string,
request: AtomicReactRequest,
options?: RequestOptions
): Promise<ReactResponse>;
};

export type {
RequestOptions,
PaginatedQuery,
Expand All @@ -67,5 +57,4 @@ export type {
Update,
Delete,
List,
AtomicReact,
};

0 comments on commit f2a200f

Please sign in to comment.