Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: remove atomic react methods #206

Merged
merged 3 commits into from Jun 30, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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,
};