Skip to content

Commit 4a6b51e

Browse files
authored
Managed adapter lint fixes (#366)
* lint fixes * enable husky
1 parent 8989556 commit 4a6b51e

File tree

19 files changed

+125
-122
lines changed

19 files changed

+125
-122
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
"@typescript-eslint/no-unused-vars": [ "error", { "ignoreRestSiblings": true, "argsIgnorePattern": "^_" } ],
6262
"@typescript-eslint/no-explicit-any": "off",
6363
"@typescript-eslint/ban-ts-comment": "warn",
64-
"eol-last": [ "error", "always" ]
64+
"eol-last": [ "error", "always" ],
65+
"@typescript-eslint/no-empty-interface": "off"
6566
}
6667
}
6768
]

.husky/pre-commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/sh
22
. "$(dirname "$0")/_/husky.sh"
33

4-
#npx lint-staged --allow-empty
4+
npx lint-staged --allow-empty
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Item } from '@wix-velo/velo-external-db-types'
2-
import { Options, QueryRequest, QueryV2 } from 'libs/velo-external-db-core/src/spi-model/data_source'
32

43
const axios = require('axios').create({
54
baseURL: 'http://localhost:8080'
65
})
76

87
export const givenItems = async(items: Item[], collectionName: string, auth: any) => await axios.post('/data/insert/bulk', { collectionName: collectionName, items: items }, auth)
98

10-
export const expectAllDataIn = async(collectionName: string, auth: any) => (await axios.post('/data/find', { collectionName: collectionName, filter: '', sort: '', skip: 0, limit: 25 }, auth)).data
9+
export const expectAllDataIn = async(collectionName: string, auth: any) => (await axios.post('/data/find', { collectionName: collectionName, filter: '', sort: '', skip: 0, limit: 25 }, auth)).data

apps/velo-external-db/test/e2e/app_auth.e2e.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Uninitialized, gen } from '@wix-velo/test-commons'
2-
import { authVisitor, authOwnerWithoutJwt, errorResponseWith } from '@wix-velo/external-db-testkit'
3-
import each from 'jest-each'
2+
import { authOwnerWithoutJwt, errorResponseWith } from '@wix-velo/external-db-testkit'
43
import { initApp, teardownApp, dbTeardown, setupDb, currentDbImplementationName } from '../resources/e2e_resources'
54

65

apps/velo-external-db/test/e2e/app_data.e2e.spec.ts

Lines changed: 39 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import { Uninitialized, gen as genCommon } from '@wix-velo/test-commons'
22
import { SchemaOperations } from '@wix-velo/velo-external-db-types'
3+
import { dataSpi } from '@wix-velo/velo-external-db-core'
34
const { UpdateImmediately, DeleteImmediately, Truncate, Aggregate, FindWithSort, Projection } = SchemaOperations
45
import { testIfSupportedOperationsIncludes } from '@wix-velo/test-commons'
56
import * as gen from '../gen'
67
import * as schema from '../drivers/schema_api_rest_test_support'
7-
import * as data from '../drivers/data_api_rest_test_support'
88
import * as matchers from '../drivers/schema_api_rest_matchers'
99
import { authAdmin, authOwner, authVisitor } from '@wix-velo/external-db-testkit'
1010
import * as authorization from '../drivers/authorization_test_support'
1111
import Chance = require('chance')
1212
import { initApp, teardownApp, dbTeardown, setupDb, currentDbImplementationName, supportedOperations } from '../resources/e2e_resources'
13-
import { Options, QueryRequest, QueryV2, CountRequest, QueryResponsePart, UpdateRequest, TruncateRequest, RemoveRequest, RemoveResponsePart, InsertRequest, Group } from 'libs/velo-external-db-core/src/spi-model/data_source'
13+
14+
1415
import axios from 'axios'
1516
import { streamToArray } from '@wix-velo/test-commons'
1617

@@ -33,29 +34,29 @@ const queryRequest = (collectionName, sort, fields, filter?: any) => ({
3334
offset: 0,
3435
},
3536
cursorPaging: null
36-
} as QueryV2,
37+
} as dataSpi.QueryV2,
3738
includeReferencedItems: [],
3839
options: {
3940
consistentRead: false,
4041
appOptions: {},
41-
} as Options,
42+
} as dataSpi.Options,
4243
omitTotalCount: false
43-
} as QueryRequest)
44+
} as dataSpi.QueryRequest)
4445

4546

4647

4748
const queryCollectionAsArray = (collectionName, sort, fields, filter?: any) => axiosInstance.post('/data/query',
4849
queryRequest(collectionName, sort, fields, filter),
49-
{responseType: 'stream', transformRequest: authVisitor.transformRequest}).then(response => streamToArray(response.data))
50+
{ responseType: 'stream', transformRequest: authVisitor.transformRequest }).then(response => streamToArray(response.data))
5051

5152
const countRequest = (collectionName) => ({
5253
collectionId: collectionName,
5354
filter: '',
5455
options: {
5556
consistentRead: false,
5657
appOptions: {},
57-
} as Options,
58-
}) as CountRequest
58+
} as dataSpi.Options,
59+
}) as dataSpi.CountRequest
5960

6061
const updateRequest = (collectionName, items) => ({
6162
// collection name
@@ -67,8 +68,8 @@ const updateRequest = (collectionName, items) => ({
6768
options: {
6869
consistentRead: false,
6970
appOptions: {},
70-
} as Options,
71-
}) as UpdateRequest
71+
} as dataSpi.Options,
72+
}) as dataSpi.UpdateRequest
7273

7374
const insertRequest = (collectionName, items, overwriteExisting) => ({
7475
collectionId: collectionName,
@@ -77,13 +78,13 @@ const insertRequest = (collectionName, items, overwriteExisting) => ({
7778
options: {
7879
consistentRead: false,
7980
appOptions: {},
80-
} as Options,
81-
} as InsertRequest)
81+
} as dataSpi.Options,
82+
} as dataSpi.InsertRequest)
8283

83-
const givenItems = async (items, collectionName, auth) =>
84-
axiosInstance.post('/data/insert', insertRequest(collectionName, items, false), {responseType: 'stream', transformRequest: auth.transformRequest})
84+
const givenItems = async(items, collectionName, auth) =>
85+
axiosInstance.post('/data/insert', insertRequest(collectionName, items, false), { responseType: 'stream', transformRequest: auth.transformRequest })
8586

86-
const pagingMetadata = (total, count) => ({pagingMetadata: {count: count, offset:0, total: total, tooManyToCount: false}} as QueryResponsePart)
87+
const pagingMetadata = (total, count) => ({ pagingMetadata: { count: count, offset: 0, total: total, tooManyToCount: false } } as dataSpi.QueryResponsePart)
8788

8889
describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, () => {
8990
beforeAll(async() => {
@@ -100,7 +101,7 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
100101
await givenItems([ctx.item, ctx.anotherItem], ctx.collectionName, authAdmin)
101102
await authorization.givenCollectionWithVisitorReadPolicy(ctx.collectionName)
102103

103-
const itemsByOrder = [ctx.item, ctx.anotherItem].sort((a,b) => (a[ctx.column.name] > b[ctx.column.name]) ? 1 : -1).map(item => ({item}))
104+
const itemsByOrder = [ctx.item, ctx.anotherItem].sort((a, b) => (a[ctx.column.name] > b[ctx.column.name]) ? 1 : -1).map(item => ({ item }))
104105

105106
await expect(queryCollectionAsArray(ctx.collectionName, [{ fieldName: ctx.column.name, order: 'ASC' }], undefined)).resolves.toEqual(
106107
([...itemsByOrder, pagingMetadata(2, 2)])
@@ -110,14 +111,9 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
110111
testIfSupportedOperationsIncludes(supportedOperations, [ Projection ])('find api with projection', async() => {
111112
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
112113
await givenItems([ctx.item ], ctx.collectionName, authAdmin)
113-
114-
const response = await axiosInstance.post('/data/query',
115-
queryRequest(ctx.collectionName, [], [ctx.column.name]),
116-
{responseType: 'stream', transformRequest: authVisitor.transformRequest}
117-
)
118-
114+
119115
await expect(queryCollectionAsArray(ctx.collectionName, [], [ctx.column.name])).resolves.toEqual(
120-
expect.arrayContaining([{item: {[ctx.column.name]: ctx.item[ctx.column.name]}}, pagingMetadata(1, 1)])
116+
expect.arrayContaining([{ item: { [ctx.column.name]: ctx.item[ctx.column.name] } }, pagingMetadata(1, 1)])
121117
)
122118
})
123119

@@ -126,9 +122,9 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
126122
test('insert api', async() => {
127123
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
128124

129-
const response = await axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, ctx.items, false), {responseType: 'stream', transformRequest: authAdmin.transformRequest})
125+
const response = await axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, ctx.items, false), { responseType: 'stream', transformRequest: authAdmin.transformRequest })
130126

131-
const expectedItems = ctx.items.map(item => ({item: item} as QueryResponsePart))
127+
const expectedItems = ctx.items.map(item => ({ item: item } as dataSpi.QueryResponsePart))
132128

133129
await expect(streamToArray(response.data)).resolves.toEqual(expectedItems)
134130
await expect(queryCollectionAsArray(ctx.collectionName, [], undefined)).resolves.toEqual(expect.arrayContaining(
@@ -143,9 +139,9 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
143139
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
144140
await givenItems([ ctx.items[0] ], ctx.collectionName, authAdmin)
145141

146-
const response = axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, ctx.items, false), {responseType: 'stream', transformRequest: authAdmin.transformRequest})
142+
const response = axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, ctx.items, false), { responseType: 'stream', transformRequest: authAdmin.transformRequest })
147143

148-
const expectedItems = [QueryResponsePart.item(ctx.items[0])]
144+
const expectedItems = [dataSpi.QueryResponsePart.item(ctx.items[0])]
149145

150146
await expect(response).rejects.toThrow('400')
151147

@@ -161,8 +157,8 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
161157
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
162158
await givenItems([ ctx.item ], ctx.collectionName, authAdmin)
163159

164-
const response = await axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, [ctx.modifiedItem], true), {responseType: 'stream', transformRequest: authAdmin.transformRequest})
165-
const expectedItems = [QueryResponsePart.item(ctx.modifiedItem)]
160+
const response = await axiosInstance.post('/data/insert', insertRequest(ctx.collectionName, [ctx.modifiedItem], true), { responseType: 'stream', transformRequest: authAdmin.transformRequest })
161+
const expectedItems = [dataSpi.QueryResponsePart.item(ctx.modifiedItem)]
166162

167163
await expect(streamToArray(response.data)).resolves.toEqual(expectedItems)
168164
await expect(queryCollectionAsArray(ctx.collectionName, [], undefined)).resolves.toEqual(expect.arrayContaining(
@@ -192,7 +188,7 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
192188
sum: ctx.numberColumns[1].name
193189
}
194190
]
195-
} as Group,
191+
} as dataSpi.Group,
196192
finalFilter: {
197193
$and: [
198194
{ myAvg: { $gt: 0 } },
@@ -202,12 +198,12 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
202198
}, { responseType: 'stream', ...authAdmin })
203199

204200
await expect(streamToArray(response.data)).resolves.toEqual(
205-
expect.arrayContaining([{item: {
201+
expect.arrayContaining([{ item: {
206202
_id: ctx.numberItem._id,
207203
_owner: ctx.numberItem._owner,
208204
myAvg: ctx.numberItem[ctx.numberColumns[0].name],
209205
mySum: ctx.numberItem[ctx.numberColumns[1].name]
210-
}},
206+
} },
211207
pagingMetadata(1, 1)
212208
]))
213209
})
@@ -218,9 +214,9 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
218214

219215
const response = await axiosInstance.post('/data/remove', {
220216
collectionId: ctx.collectionName, itemIds: ctx.items.map((i: { _id: any }) => i._id)
221-
} as RemoveRequest, {responseType: 'stream', transformRequest: authAdmin.transformRequest})
217+
} as dataSpi.RemoveRequest, { responseType: 'stream', transformRequest: authAdmin.transformRequest })
222218

223-
const expectedItems = ctx.items.map(item => ({item: item} as RemoveResponsePart))
219+
const expectedItems = ctx.items.map(item => ({ item: item } as dataSpi.RemoveResponsePart))
224220

225221
await expect(streamToArray(response.data)).resolves.toEqual(expect.arrayContaining(expectedItems))
226222
await expect(queryCollectionAsArray(ctx.collectionName, [], undefined)).resolves.toEqual([pagingMetadata(0, 0)])
@@ -231,11 +227,11 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
231227
await givenItems([ctx.item], ctx.collectionName, authAdmin)
232228

233229
const filter = {
234-
_id: {$eq: ctx.item._id}
230+
_id: { $eq: ctx.item._id }
235231
}
236232

237233
await expect(queryCollectionAsArray(ctx.collectionName, undefined, undefined, filter)).resolves.toEqual(
238-
([...[QueryResponsePart.item(ctx.item)], pagingMetadata(1, 1)])
234+
([...[dataSpi.QueryResponsePart.item(ctx.item)], pagingMetadata(1, 1)])
239235
)
240236
})
241237

@@ -244,7 +240,7 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
244240
await givenItems([ctx.item], ctx.collectionName, authAdmin)
245241

246242
const filter = {
247-
_id: {$eq: 'wrong'}
243+
_id: { $eq: 'wrong' }
248244
}
249245

250246
await expect(queryCollectionAsArray(ctx.collectionName, undefined, undefined, filter)).resolves.toEqual(
@@ -257,27 +253,27 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
257253
await givenItems([ctx.item], ctx.collectionName, authAdmin)
258254

259255
const filter = {
260-
_id: {$eq: ctx.item._id}
256+
_id: { $eq: ctx.item._id }
261257
}
262258

263259
await expect(queryCollectionAsArray(ctx.collectionName, undefined, [ctx.column.name], filter)).resolves.toEqual(
264-
([QueryResponsePart.item({[ctx.column.name]: ctx.item[ctx.column.name]}), pagingMetadata(1, 1)])
260+
([dataSpi.QueryResponsePart.item({ [ctx.column.name]: ctx.item[ctx.column.name] }), pagingMetadata(1, 1)])
265261
)
266262
})
267263

268264
testIfSupportedOperationsIncludes(supportedOperations, [ UpdateImmediately ])('update api', async() => {
269265
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
270266
await givenItems(ctx.items, ctx.collectionName, authAdmin)
271-
const response = await axiosInstance.post('/data/update', updateRequest(ctx.collectionName, ctx.modifiedItems), {responseType: 'stream', transformRequest: authAdmin.transformRequest})
267+
const response = await axiosInstance.post('/data/update', updateRequest(ctx.collectionName, ctx.modifiedItems), { responseType: 'stream', transformRequest: authAdmin.transformRequest })
272268

273-
const expectedItems = ctx.modifiedItems.map(item => ({item: item} as QueryResponsePart))
269+
const expectedItems = ctx.modifiedItems.map(item => ({ item: item } as dataSpi.QueryResponsePart))
274270

275271
await expect(streamToArray(response.data)).resolves.toEqual(expectedItems)
276272

277273
await expect(queryCollectionAsArray(ctx.collectionName, [], undefined)).resolves.toEqual(expect.arrayContaining(
278274
[
279275
...expectedItems,
280-
pagingMetadata(ctx.modifiedItems.length,ctx.modifiedItems.length)
276+
pagingMetadata(ctx.modifiedItems.length, ctx.modifiedItems.length)
281277
]))
282278
})
283279

@@ -291,7 +287,7 @@ describe(`Velo External DB Data REST API: ${currentDbImplementationName()}`, ()
291287
testIfSupportedOperationsIncludes(supportedOperations, [ Truncate ])('truncate api', async() => {
292288
await schema.givenCollection(ctx.collectionName, [ctx.column], authOwner)
293289
await givenItems([ctx.item, ctx.anotherItem], ctx.collectionName, authAdmin)
294-
await axiosInstance.post('/data/truncate', { collectionId: ctx.collectionName } as TruncateRequest, authAdmin)
290+
await axiosInstance.post('/data/truncate', { collectionId: ctx.collectionName } as dataSpi.TruncateRequest, authAdmin)
295291
await expect(queryCollectionAsArray(ctx.collectionName, [], undefined)).resolves.toEqual([pagingMetadata(0, 0)])
296292
})
297293

libs/external-db-google-sheets/src/supported_operations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ import { SchemaOperations } from '@wix-velo/velo-external-db-types'
22

33
const { List, ListHeaders, Create, Drop, AddColumn, Describe, Projection } = SchemaOperations
44

5-
export const supportedOperations = [ List, ListHeaders, Create, Drop, AddColumn, Describe, Projection ]
5+
export const supportedOperations = [ List, ListHeaders, Create, Drop, AddColumn, Describe, Projection ]

libs/external-db-google-sheets/tests/drivers/sql_filter_transformer_test_support.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const filterParser = {
88
}
99

1010

11-
export const stubEmptyFilterFor = (filter: any) => {
11+
export const stubEmptyFilterFor = (_filter: any) => {
1212
}
1313

1414

@@ -24,7 +24,7 @@ export const givenAllFieldsProjectionFor = (projection: any) => {
2424
when(filterParser.projection).calledWith(projection).mockReturnValue(undefined)
2525
}
2626

27-
export const stubEmptyFilterAndSortFor = (filter: any) => {
27+
export const stubEmptyFilterAndSortFor = (_filter: any) => {
2828
}
2929

3030
export const givenFilterByIdWith = (id:any, filter: any) => {

libs/external-db-google-sheets/tests/google_sheets_test_utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,4 @@ const batchUpdateFunctions = ( request, doc ) => {
6868
}
6969

7070

71-
module.exports = { changeUrl, numToColumnLetter, addNewSheetToDoc, deleteSheetFromDoc, deleteRowFromSheet, setHeaderToSheet, updateRow, batchUpdateFunctions }
71+
module.exports = { changeUrl, numToColumnLetter, addNewSheetToDoc, deleteSheetFromDoc, deleteRowFromSheet, setHeaderToSheet, updateRow, batchUpdateFunctions }

libs/test-commons/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export * from './libs/test-commons'
22
export * as gen from './libs/gen'
3-
export { authConfig } from "./libs/auth-config.json";
3+
export { authConfig } from './libs/auth-config.json'

libs/test-commons/src/libs/test-commons.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ export const testSupportedOperations = (supportedOperations: SchemaOperations[],
2020
})
2121
}
2222

23-
export const streamToArray = async (stream: any) => {
23+
export const streamToArray = async(stream: any) => {
2424

2525
return new Promise((resolve, reject) => {
2626
const arr: any[] = []
2727

2828
stream.on('data', (data: any) => {
2929
arr.push(JSON.parse(data.toString()))
30-
});
30+
})
3131

3232
stream.on('end', () => {
3333
resolve(arr)
34-
});
34+
})
3535

3636
stream.on('error', (err: Error) => reject(err))
3737

3838
})
39-
}
39+
}

0 commit comments

Comments
 (0)