Skip to content

Commit af57f76

Browse files
cezudasMarceloRGonc
andcommitted
Make fields and rows Openops tables helpers use database token authentication helpers (#1663)
Part of OPS-3021. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> * **Refactor** * Updated token/context handling and public parameter types across table-related APIs. * Reorganized request header utilities to centralize header creation. * **Tests** * Enhanced test mocks with numeric/boolean/throw-or-return helpers. * Adjusted mock initialization to improve module loading and alignment with header mocking. * **Deprecation** * Added deprecation notice for the default database ID helper; slated for future removal. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Marcelo Gonçalves <marcelo@openops.com>
1 parent c15c4fe commit af57f76

10 files changed

Lines changed: 25 additions & 16 deletions

File tree

packages/openops/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export * from './lib/openops-analytics';
3939
export * from './lib/openops-tables/applications-service';
4040
export * from './lib/openops-tables/auth-user';
4141
export * from './lib/openops-tables/context-helpers';
42+
export * from './lib/openops-tables/create-axios-headers';
4243
export * from './lib/openops-tables/fields';
4344
export * from './lib/openops-tables/filters';
4445
export * from './lib/openops-tables/openops-tables-common-properties';

packages/openops/src/lib/openops-tables/applications-service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createAxiosHeaders, makeOpenOpsTablesGet } from './requests-helpers';
1+
import { createAxiosHeaders } from './create-axios-headers';
2+
import { makeOpenOpsTablesGet } from './requests-helpers';
23
import { Application } from './types';
34

45
export const OPENOPS_DEFAULT_DATABASE_NAME = 'OpenOps Dataset';

packages/openops/src/lib/openops-tables/fields.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
import { IAxiosRetryConfig } from 'axios-retry';
2-
import {
3-
createAxiosHeaders,
4-
makeOpenOpsTablesGet,
5-
} from '../openops-tables/requests-helpers';
2+
import { makeOpenOpsTablesGet } from '../openops-tables/requests-helpers';
63
import { TokenOrResolver } from './context-helpers';
4+
import { createAxiosHeaders } from './create-axios-headers';
75

86
export async function getFields(
97
tableId: number,
10-
contextOrToken: TokenOrResolver,
8+
tokenOrResolver: TokenOrResolver,
119
userFieldNames = true,
1210
axiosRetryConfig?: IAxiosRetryConfig,
1311
): Promise<OpenOpsField[]> {
14-
const authenticationHeader = createAxiosHeaders(contextOrToken);
12+
const authenticationHeader = createAxiosHeaders(tokenOrResolver);
1513
const fields = await makeOpenOpsTablesGet<any[]>(
1614
`api/database/fields/table/${tableId}/?user_field_names=${userFieldNames}`,
1715
authenticationHeader,

packages/openops/src/lib/openops-tables/requests-helpers.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { AxiosError, AxiosHeaders, AxiosResponse, Method } from 'axios';
44
import { IAxiosRetryConfig } from 'axios-retry';
55
import { StatusCodes } from 'http-status-codes';
66
import { makeHttpRequest } from '../axios-wrapper';
7-
export { createAxiosHeaders } from './create-axios-headers';
87

98
const RETRY_DELAY_MS = 1000;
109

packages/openops/src/lib/openops-tables/rows.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import {
66
ViewFilterTypesEnum,
77
} from '../openops-tables/filters';
88
import {
9-
createAxiosHeaders,
109
makeOpenOpsTablesDelete,
1110
makeOpenOpsTablesGet,
1211
makeOpenOpsTablesPatch,
1312
makeOpenOpsTablesPost,
1413
makeOpenOpsTablesPut,
1514
} from '../openops-tables/requests-helpers';
1615
import { TokenOrResolver } from './context-helpers';
16+
import { createAxiosHeaders } from './create-axios-headers';
1717

1818
export interface OpenOpsRow {
1919
id: number;
@@ -22,7 +22,7 @@ export interface OpenOpsRow {
2222

2323
export interface RowParams {
2424
tableId: number;
25-
token: string;
25+
token: TokenOrResolver;
2626
}
2727

2828
type RowParamsWithTokenOrContext = Omit<RowParams, 'token'> & {

packages/openops/src/lib/openops-tables/tables.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { AxiosHeaders } from 'axios';
2-
import {
3-
createAxiosHeaders,
4-
makeOpenOpsTablesGet,
5-
} from '../openops-tables/requests-helpers';
6-
import { resolveTokenProvider, TablesServerContext } from './context-helpers';
2+
import { makeOpenOpsTablesGet } from '../openops-tables/requests-helpers';
3+
import { TablesServerContext, resolveTokenProvider } from './context-helpers';
4+
import { createAxiosHeaders } from './create-axios-headers';
75

86
export interface OpenOpsTable {
97
id: number;

packages/openops/test/openops-tables/application-service.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ const makeOpenOpsTablesGetMock = jest.fn();
22
const createAxiosHeadersMock = jest.fn();
33
jest.mock('../../src/lib/openops-tables/requests-helpers', () => ({
44
makeOpenOpsTablesGet: makeOpenOpsTablesGetMock,
5+
}));
6+
7+
jest.mock('../../src/lib/openops-tables/create-axios-headers', () => ({
58
createAxiosHeaders: createAxiosHeadersMock,
69
}));
710

packages/openops/test/openops-tables/fields.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ const makeOpenOpsTablesGetMock = jest.fn();
22
const createAxiosHeadersMock = jest.fn();
33
jest.mock('../../src/lib/openops-tables/requests-helpers', () => ({
44
makeOpenOpsTablesGet: makeOpenOpsTablesGetMock,
5+
}));
6+
7+
jest.mock('../../src/lib/openops-tables/create-axios-headers', () => ({
58
createAxiosHeaders: createAxiosHeadersMock,
69
}));
710

packages/openops/test/openops-tables/rows.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ jest.mock('../../src/lib/openops-tables/requests-helpers', () => {
1414
makeOpenOpsTablesPatch: makeOpenOpsTablesPatchMock,
1515
makeOpenOpsTablesPost: makeOpenOpsTablesPostMock,
1616
makeOpenOpsTablesDelete: makeOpenOpsTablesDeleteMock,
17-
createAxiosHeaders: createAxiosHeadersMock,
1817
};
1918
});
2019

20+
jest.mock('../../src/lib/openops-tables/create-axios-headers', () => ({
21+
createAxiosHeaders: createAxiosHeadersMock,
22+
}));
23+
2124
jest.mock('@openops/server-shared', () => ({
2225
...jest.requireActual('@openops/server-shared'),
2326
logger: {

packages/openops/test/openops-tables/tables.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ const createAxiosHeadersMock = jest.fn();
44

55
jest.mock('../../src/lib/openops-tables/requests-helpers', () => ({
66
makeOpenOpsTablesGet: makeOpenOpsTablesGetMock,
7+
}));
8+
9+
jest.mock('../../src/lib/openops-tables/create-axios-headers', () => ({
710
createAxiosHeaders: createAxiosHeadersMock,
811
}));
912

0 commit comments

Comments
 (0)