@labdigital/commercetools-mock 0.6.1 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/commercetools-mock.cjs.development.js +365 -332
  2. package/dist/commercetools-mock.cjs.development.js.map +1 -1
  3. package/dist/commercetools-mock.cjs.production.min.js +1 -1
  4. package/dist/commercetools-mock.cjs.production.min.js.map +1 -1
  5. package/dist/commercetools-mock.esm.js +365 -332
  6. package/dist/commercetools-mock.esm.js.map +1 -1
  7. package/dist/projectAPI.d.ts +1 -1
  8. package/dist/repositories/abstract.d.ts +13 -9
  9. package/dist/repositories/cart-discount.d.ts +3 -3
  10. package/dist/repositories/cart.d.ts +12 -12
  11. package/dist/repositories/category.d.ts +11 -11
  12. package/dist/repositories/channel.d.ts +2 -2
  13. package/dist/repositories/custom-object.d.ts +3 -3
  14. package/dist/repositories/customer-group.d.ts +4 -4
  15. package/dist/repositories/customer.d.ts +4 -4
  16. package/dist/repositories/discount-code.d.ts +3 -3
  17. package/dist/repositories/extension.d.ts +3 -3
  18. package/dist/repositories/helpers.d.ts +3 -0
  19. package/dist/repositories/inventory-entry.d.ts +7 -7
  20. package/dist/repositories/my-order.d.ts +6 -0
  21. package/dist/repositories/order.d.ts +18 -17
  22. package/dist/repositories/payment.d.ts +8 -8
  23. package/dist/repositories/product-projection.d.ts +3 -3
  24. package/dist/repositories/product-type.d.ts +5 -5
  25. package/dist/repositories/product.d.ts +4 -4
  26. package/dist/repositories/project.d.ts +4 -4
  27. package/dist/repositories/shipping-method.d.ts +3 -3
  28. package/dist/repositories/shopping-list.d.ts +2 -2
  29. package/dist/repositories/state.d.ts +3 -3
  30. package/dist/repositories/store.d.ts +4 -4
  31. package/dist/repositories/subscription.d.ts +2 -2
  32. package/dist/repositories/tax-category.d.ts +4 -4
  33. package/dist/repositories/type.d.ts +3 -3
  34. package/dist/repositories/zone.d.ts +3 -3
  35. package/dist/services/my-order.d.ts +2 -2
  36. package/dist/storage.d.ts +1 -1
  37. package/package.json +1 -1
  38. package/src/ctMock.ts +6 -0
  39. package/src/projectAPI.ts +1 -1
  40. package/src/repositories/abstract.ts +37 -17
  41. package/src/repositories/cart-discount.ts +11 -11
  42. package/src/repositories/cart.ts +28 -19
  43. package/src/repositories/category.ts +17 -13
  44. package/src/repositories/channel.ts +3 -3
  45. package/src/repositories/custom-object.ts +16 -8
  46. package/src/repositories/customer-group.ts +5 -5
  47. package/src/repositories/customer.ts +10 -6
  48. package/src/repositories/discount-code.ts +14 -14
  49. package/src/repositories/errors.ts +3 -3
  50. package/src/repositories/extension.ts +12 -8
  51. package/src/repositories/helpers.ts +9 -0
  52. package/src/repositories/inventory-entry.ts +17 -10
  53. package/src/repositories/my-order.ts +19 -0
  54. package/src/repositories/order.test.ts +79 -3
  55. package/src/repositories/order.ts +77 -37
  56. package/src/repositories/payment.ts +21 -17
  57. package/src/repositories/product-projection.ts +5 -5
  58. package/src/repositories/product-type.ts +14 -10
  59. package/src/repositories/product.ts +5 -5
  60. package/src/repositories/project.ts +21 -17
  61. package/src/repositories/shipping-method.ts +27 -20
  62. package/src/repositories/shopping-list.ts +10 -6
  63. package/src/repositories/state.ts +13 -9
  64. package/src/repositories/store.ts +18 -14
  65. package/src/repositories/subscription.ts +3 -3
  66. package/src/repositories/tax-category.ts +16 -12
  67. package/src/repositories/type.ts +15 -11
  68. package/src/repositories/zone.ts +13 -9
  69. package/src/services/abstract.ts +17 -9
  70. package/src/services/cart.ts +6 -12
  71. package/src/services/custom-object.ts +8 -4
  72. package/src/services/customer.ts +5 -2
  73. package/src/services/my-customer.ts +7 -3
  74. package/src/services/my-order.ts +3 -3
  75. package/src/services/order.ts +3 -2
  76. package/src/services/product-projection.ts +2 -1
  77. package/src/services/product-type.ts +2 -1
  78. package/src/services/project.ts +4 -4
  79. package/src/services/store.ts +2 -1
  80. package/src/services/tax-category.ts +2 -1
  81. package/src/storage.ts +1 -1
@@ -14,14 +14,14 @@ import {
14
14
  } from '@commercetools/platform-sdk'
15
15
  import { Writable } from 'types'
16
16
  import { getBaseResourceProperties } from '../helpers'
17
- import { AbstractResourceRepository } from './abstract'
17
+ import { AbstractResourceRepository, RepositoryContext } from './abstract'
18
18
 
19
19
  export class TypeRepository extends AbstractResourceRepository {
20
20
  getTypeId(): ReferenceTypeId {
21
21
  return 'type'
22
22
  }
23
23
 
24
- create(projectKey: string, draft: TypeDraft): Type {
24
+ create(context: RepositoryContext, draft: TypeDraft): Type {
25
25
  const resource: Type = {
26
26
  ...getBaseResourceProperties(),
27
27
  key: draft.key,
@@ -30,24 +30,28 @@ export class TypeRepository extends AbstractResourceRepository {
30
30
  fieldDefinitions: draft.fieldDefinitions || [],
31
31
  description: draft.description,
32
32
  }
33
- this.save(projectKey, resource)
33
+ this.save(context, resource)
34
34
  return resource
35
35
  }
36
36
  actions: Partial<
37
37
  Record<
38
38
  TypeUpdateAction['action'],
39
- (projectKey: string, resource: Writable<Type>, action: any) => void
39
+ (
40
+ context: RepositoryContext,
41
+ resource: Writable<Type>,
42
+ action: any
43
+ ) => void
40
44
  >
41
45
  > = {
42
46
  addFieldDefinition: (
43
- projectKey: string,
47
+ context: RepositoryContext,
44
48
  resource: Writable<Type>,
45
49
  { fieldDefinition }: TypeAddFieldDefinitionAction
46
50
  ) => {
47
51
  resource.fieldDefinitions.push(fieldDefinition)
48
52
  },
49
53
  removeFieldDefinition: (
50
- projectKey: string,
54
+ context: RepositoryContext,
51
55
  resource: Writable<Type>,
52
56
  { fieldName }: TypeRemoveFieldDefinitionAction
53
57
  ) => {
@@ -56,21 +60,21 @@ export class TypeRepository extends AbstractResourceRepository {
56
60
  })
57
61
  },
58
62
  setDescription: (
59
- projectKey: string,
63
+ context: RepositoryContext,
60
64
  resource: Writable<Type>,
61
65
  { description }: TypeSetDescriptionAction
62
66
  ) => {
63
67
  resource.description = description
64
68
  },
65
69
  changeName: (
66
- projectKey: string,
70
+ context: RepositoryContext,
67
71
  resource: Writable<Type>,
68
72
  { name }: TypeChangeNameAction
69
73
  ) => {
70
74
  resource.name = name
71
75
  },
72
76
  changeFieldDefinitionOrder: (
73
- projectKey: string,
77
+ context: RepositoryContext,
74
78
  resource: Writable<Type>,
75
79
  { fieldNames }: TypeChangeFieldDefinitionOrderAction
76
80
  ) => {
@@ -99,7 +103,7 @@ export class TypeRepository extends AbstractResourceRepository {
99
103
  resource.fieldDefinitions.push(...current)
100
104
  },
101
105
  addEnumValue: (
102
- projectKey: string,
106
+ context: RepositoryContext,
103
107
  resource: Writable<Type>,
104
108
  { fieldName, value }: TypeAddEnumValueAction
105
109
  ) => {
@@ -120,7 +124,7 @@ export class TypeRepository extends AbstractResourceRepository {
120
124
  })
121
125
  },
122
126
  changeEnumValueLabel: (
123
- projectKey: string,
127
+ context: RepositoryContext,
124
128
  resource: Writable<Type>,
125
129
  { fieldName, value }: TypeChangeEnumValueLabelAction
126
130
  ) => {
@@ -11,14 +11,14 @@ import {
11
11
  } from '@commercetools/platform-sdk'
12
12
  import { Writable } from 'types'
13
13
  import { getBaseResourceProperties } from '../helpers'
14
- import { AbstractResourceRepository } from './abstract'
14
+ import { AbstractResourceRepository, RepositoryContext } from './abstract'
15
15
 
16
16
  export class ZoneRepository extends AbstractResourceRepository {
17
17
  getTypeId(): ReferenceTypeId {
18
18
  return 'zone'
19
19
  }
20
20
 
21
- create(projectKey: string, draft: ZoneDraft): Zone {
21
+ create(context: RepositoryContext, draft: ZoneDraft): Zone {
22
22
  const resource: Zone = {
23
23
  ...getBaseResourceProperties(),
24
24
  key: draft.key,
@@ -26,25 +26,29 @@ export class ZoneRepository extends AbstractResourceRepository {
26
26
  name: draft.name,
27
27
  description: draft.description,
28
28
  }
29
- this.save(projectKey, resource)
29
+ this.save(context, resource)
30
30
  return resource
31
31
  }
32
32
 
33
33
  actions: Partial<
34
34
  Record<
35
35
  ZoneUpdateAction['action'],
36
- (projectKey: string, resource: Writable<Zone>, action: any) => void
36
+ (
37
+ context: RepositoryContext,
38
+ resource: Writable<Zone>,
39
+ action: any
40
+ ) => void
37
41
  >
38
42
  > = {
39
43
  addLocation: (
40
- projectKey: string,
44
+ context: RepositoryContext,
41
45
  resource: Writable<Zone>,
42
46
  { location }: ZoneAddLocationAction
43
47
  ) => {
44
48
  resource.locations.push(location)
45
49
  },
46
50
  removeLocation: (
47
- projectKey: string,
51
+ context: RepositoryContext,
48
52
  resource: Writable<Zone>,
49
53
  { location }: ZoneRemoveLocationAction
50
54
  ) => {
@@ -55,21 +59,21 @@ export class ZoneRepository extends AbstractResourceRepository {
55
59
  })
56
60
  },
57
61
  changeName: (
58
- projectKey: string,
62
+ context: RepositoryContext,
59
63
  resource: Writable<Zone>,
60
64
  { name }: ZoneChangeNameAction
61
65
  ) => {
62
66
  resource.name = name
63
67
  },
64
68
  setDescription: (
65
- projectKey: string,
69
+ context: RepositoryContext,
66
70
  resource: Writable<Zone>,
67
71
  { description }: ZoneSetDescriptionAction
68
72
  ) => {
69
73
  resource.description = description
70
74
  },
71
75
  setKey: (
72
- projectKey: string,
76
+ context: RepositoryContext,
73
77
  resource: Writable<Zone>,
74
78
  { key }: ZoneSetKeyAction
75
79
  ) => {
@@ -2,6 +2,7 @@ import { Update } from '@commercetools/platform-sdk'
2
2
  import { ParsedQs } from 'qs'
3
3
  import { Request, Response, Router } from 'express'
4
4
  import { AbstractResourceRepository } from '../repositories/abstract'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export default abstract class AbstractService {
7
8
  protected abstract getBasePath(): string
@@ -40,7 +41,7 @@ export default abstract class AbstractService {
40
41
  const limit = this._parseParam(request.query.limit)
41
42
  const offset = this._parseParam(request.query.offset)
42
43
 
43
- const result = this.repository.query(request.params.projectKey, {
44
+ const result = this.repository.query(getRepositoryContext(request), {
44
45
  expand: this._parseParam(request.query.expand),
45
46
  where: this._parseParam(request.query.where),
46
47
  limit: limit !== undefined ? Number(limit) : undefined,
@@ -59,7 +60,7 @@ export default abstract class AbstractService {
59
60
 
60
61
  getWithKey(request: Request, response: Response) {
61
62
  const result = this.repository.getByKey(
62
- request.params.projectKey,
63
+ getRepositoryContext(request),
63
64
  request.params['key'],
64
65
  { expand: this._parseParam(request.query.expand) }
65
66
  )
@@ -69,7 +70,7 @@ export default abstract class AbstractService {
69
70
 
70
71
  deletewithId(request: Request, response: Response) {
71
72
  const result = this.repository.delete(
72
- request.params.projectKey,
73
+ getRepositoryContext(request),
73
74
  request.params['id'],
74
75
  {
75
76
  expand: this._parseParam(request.query.expand),
@@ -87,7 +88,10 @@ export default abstract class AbstractService {
87
88
 
88
89
  post(request: Request, response: Response) {
89
90
  const draft = request.body
90
- const resource = this.repository.create(request.params.projectKey, draft)
91
+ const resource = this.repository.create(
92
+ getRepositoryContext(request),
93
+ draft
94
+ )
91
95
  const result = this._expandWithId(request, resource.id)
92
96
  return response.status(this.createStatusCode).send(result)
93
97
  }
@@ -95,7 +99,7 @@ export default abstract class AbstractService {
95
99
  postWithId(request: Request, response: Response) {
96
100
  const updateRequest: Update = request.body
97
101
  const resource = this.repository.get(
98
- request.params.projectKey,
102
+ getRepositoryContext(request),
99
103
  request.params['id']
100
104
  )
101
105
  if (!resource) {
@@ -107,7 +111,7 @@ export default abstract class AbstractService {
107
111
  }
108
112
 
109
113
  const updatedResource = this.repository.processUpdateActions(
110
- request.params.projectKey,
114
+ getRepositoryContext(request),
111
115
  resource,
112
116
  updateRequest.actions
113
117
  )
@@ -121,9 +125,13 @@ export default abstract class AbstractService {
121
125
  }
122
126
 
123
127
  protected _expandWithId(request: Request, resourceId: string) {
124
- const result = this.repository.get(request.params.projectKey, resourceId, {
125
- expand: this._parseParam(request.query.expand),
126
- })
128
+ const result = this.repository.get(
129
+ getRepositoryContext(request),
130
+ resourceId,
131
+ {
132
+ expand: this._parseParam(request.query.expand),
133
+ }
134
+ )
127
135
  return result
128
136
  }
129
137
 
@@ -4,6 +4,7 @@ import { CartRepository } from '../repositories/cart'
4
4
  import { AbstractStorage } from '../storage'
5
5
  import { Cart, CartDraft, Order } from '@commercetools/platform-sdk'
6
6
  import { OrderRepository } from '../repositories/order'
7
+ import { getRepositoryContext } from '../repositories/helpers'
7
8
 
8
9
  export class CartService extends AbstractService {
9
10
  public repository: CartRepository
@@ -21,17 +22,13 @@ export class CartService extends AbstractService {
21
22
 
22
23
  extraRoutes(parent: Router) {
23
24
  parent.post('/replicate', (request, response) => {
25
+ const context = getRepositoryContext(request)
26
+
24
27
  // @ts-ignore
25
28
  const cartOrOrder: Cart | Order | null =
26
29
  request.body.reference.typeId === 'order'
27
- ? this.orderRepository.get(
28
- request.params.projectKey,
29
- request.body.reference.id
30
- )
31
- : this.repository.get(
32
- request.params.projectKey,
33
- request.body.reference.id
34
- )
30
+ ? this.orderRepository.get(context, request.body.reference.id)
31
+ : this.repository.get(context, request.body.reference.id)
35
32
 
36
33
  if (!cartOrOrder) {
37
34
  return response.status(400).send()
@@ -50,10 +47,7 @@ export class CartService extends AbstractService {
50
47
  }),
51
48
  }
52
49
 
53
- const newCart = this.repository.create(
54
- request.params.projectKey,
55
- cartDraft
56
- )
50
+ const newCart = this.repository.create(context, cartDraft)
57
51
 
58
52
  return response.status(200).send(newCart)
59
53
  })
@@ -3,6 +3,7 @@ import { Request, Response, Router } from 'express'
3
3
  import { CustomObjectRepository } from '../repositories/custom-object'
4
4
  import { AbstractStorage } from '../storage'
5
5
  import { CustomObjectDraft } from '@commercetools/platform-sdk'
6
+ import { getRepositoryContext } from '../repositories/helpers'
6
7
 
7
8
  export class CustomObjectService extends AbstractService {
8
9
  public repository: CustomObjectRepository
@@ -24,7 +25,7 @@ export class CustomObjectService extends AbstractService {
24
25
 
25
26
  getWithContainerAndKey(request: Request, response: Response) {
26
27
  const result = this.repository.getWithContainerAndKey(
27
- request.params.projectKey,
28
+ getRepositoryContext(request),
28
29
  request.params.container,
29
30
  request.params.key
30
31
  )
@@ -42,13 +43,13 @@ export class CustomObjectService extends AbstractService {
42
43
  container: request.params.container,
43
44
  }
44
45
 
45
- const result = this.repository.create(request.params.projectKey, draft)
46
+ const result = this.repository.create(getRepositoryContext(request), draft)
46
47
  return response.status(200).send(result)
47
48
  }
48
49
 
49
50
  deleteWithContainerAndKey(request: Request, response: Response) {
50
51
  const current = this.repository.getWithContainerAndKey(
51
- request.params.projectKey,
52
+ getRepositoryContext(request),
52
53
  request.params.container,
53
54
  request.params.key
54
55
  )
@@ -57,7 +58,10 @@ export class CustomObjectService extends AbstractService {
57
58
  return response.status(404).send('Not Found')
58
59
  }
59
60
 
60
- const result = this.repository.delete(request.params.projectKey, current.id)
61
+ const result = this.repository.delete(
62
+ getRepositoryContext(request),
63
+ current.id
64
+ )
61
65
 
62
66
  return response.status(200).send(result)
63
67
  }
@@ -4,6 +4,7 @@ import { CustomerRepository } from '../repositories/customer'
4
4
  import { AbstractStorage } from '../storage'
5
5
  import { getBaseResourceProperties } from '../helpers'
6
6
  import { v4 as uuidv4 } from 'uuid'
7
+ import { getRepositoryContext } from '../repositories/helpers'
7
8
 
8
9
  export class CustomerService extends AbstractService {
9
10
  public repository: CustomerRepository
@@ -19,11 +20,13 @@ export class CustomerService extends AbstractService {
19
20
 
20
21
  extraRoutes(parent: Router) {
21
22
  parent.post('/password-token', (request, response) => {
22
- const customer = this.repository.query(request.params.projectKey, {
23
+ const customer = this.repository.query(getRepositoryContext(request), {
23
24
  where: [`email="${request.body.email}"`],
24
25
  })
26
+ // @ts-ignore
25
27
  const ttlMinutes: number = request.params.ttlMinutes
26
- ? +request.params.ttlMinutes
28
+ ? // @ts-ignore
29
+ +request.params.ttlMinutes
27
30
  : 34560
28
31
  const { version, ...rest } = getBaseResourceProperties()
29
32
 
@@ -2,6 +2,7 @@ import AbstractService from './abstract'
2
2
  import { Request, Response, Router } from 'express'
3
3
  import { AbstractStorage } from '../storage'
4
4
  import { CustomerRepository } from '../repositories/customer'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class MyCustomerService extends AbstractService {
7
8
  public repository: CustomerRepository
@@ -32,7 +33,7 @@ export class MyCustomerService extends AbstractService {
32
33
  }
33
34
 
34
35
  getMe(request: Request, response: Response) {
35
- const resource = this.repository.getMe(request.params.projectKey)
36
+ const resource = this.repository.getMe(getRepositoryContext(request))
36
37
  if (!resource) {
37
38
  return response.status(404).send('Not found')
38
39
  }
@@ -41,7 +42,10 @@ export class MyCustomerService extends AbstractService {
41
42
 
42
43
  signUp(request: Request, response: Response) {
43
44
  const draft = request.body
44
- const resource = this.repository.create(request.params.projectKey, draft)
45
+ const resource = this.repository.create(
46
+ getRepositoryContext(request),
47
+ draft
48
+ )
45
49
  const result = this._expandWithId(request, resource.id)
46
50
  return response.status(this.createStatusCode).send({ customer: result })
47
51
  }
@@ -50,7 +54,7 @@ export class MyCustomerService extends AbstractService {
50
54
  const { email, password } = request.body
51
55
  const encodedPassword = Buffer.from(password).toString('base64')
52
56
 
53
- const result = this.repository.query(request.params.projectKey, {
57
+ const result = this.repository.query(getRepositoryContext(request), {
54
58
  where: [`email = "${email}"`, `password = "${encodedPassword}"`],
55
59
  })
56
60
 
@@ -1,14 +1,14 @@
1
1
  import AbstractService from './abstract'
2
2
  import { Router } from 'express'
3
3
  import { AbstractStorage } from '../storage'
4
- import { OrderRepository } from '../repositories/order'
4
+ import { MyOrderRepository } from '../repositories/my-order'
5
5
 
6
6
  export class MyOrderService extends AbstractService {
7
- public repository: OrderRepository
7
+ public repository: MyOrderRepository
8
8
 
9
9
  constructor(parent: Router, storage: AbstractStorage) {
10
10
  super(parent)
11
- this.repository = new OrderRepository(storage)
11
+ this.repository = new MyOrderRepository(storage)
12
12
  }
13
13
 
14
14
  getBasePath() {
@@ -2,6 +2,7 @@ import AbstractService from './abstract'
2
2
  import { Request, Response, Router } from 'express'
3
3
  import { OrderRepository } from '../repositories/order'
4
4
  import { AbstractStorage } from '../storage'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class OrderService extends AbstractService {
7
8
  public repository: OrderRepository
@@ -23,7 +24,7 @@ export class OrderService extends AbstractService {
23
24
  import(request: Request, response: Response) {
24
25
  const importDraft = request.body
25
26
  const resource = this.repository.import(
26
- request.params.projectKey,
27
+ getRepositoryContext(request),
27
28
  importDraft
28
29
  )
29
30
  return response.status(200).send(resource)
@@ -31,7 +32,7 @@ export class OrderService extends AbstractService {
31
32
 
32
33
  getWithOrderNumber(request: Request, response: Response) {
33
34
  const resource = this.repository.getWithOrderNumber(
34
- request.params.projectKey,
35
+ getRepositoryContext(request),
35
36
  request.params.orderNumber,
36
37
  request.query
37
38
  )
@@ -2,6 +2,7 @@ import { ProductProjectionRepository } from './../repositories/product-projectio
2
2
  import AbstractService from './abstract'
3
3
  import { AbstractStorage } from '../storage'
4
4
  import { Request, Response, Router } from 'express'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class ProductProjectionService extends AbstractService {
7
8
  public repository: ProductProjectionRepository
@@ -21,7 +22,7 @@ export class ProductProjectionService extends AbstractService {
21
22
 
22
23
  search(request: Request, response: Response) {
23
24
  const resource = this.repository.search(
24
- request.params.projectKey,
25
+ getRepositoryContext(request),
25
26
  request.query
26
27
  )
27
28
  return response.status(200).send(resource)
@@ -2,6 +2,7 @@ import { ProductTypeRepository } from '../repositories/product-type'
2
2
  import AbstractService from './abstract'
3
3
  import { Request, Response, Router } from 'express'
4
4
  import { AbstractStorage } from '../storage'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class ProductTypeService extends AbstractService {
7
8
  public repository: ProductTypeRepository
@@ -21,7 +22,7 @@ export class ProductTypeService extends AbstractService {
21
22
 
22
23
  getWithKey(request: Request, response: Response) {
23
24
  const resource = this.repository.getWithKey(
24
- request.params.projectKey,
25
+ getRepositoryContext(request),
25
26
  request.params.key
26
27
  )
27
28
  if (resource) {
@@ -3,6 +3,7 @@ import { Request, Response } from 'express'
3
3
  import { AbstractStorage } from '../storage'
4
4
  import { ProjectRepository } from '../repositories/project'
5
5
  import { Update } from '@commercetools/platform-sdk'
6
+ import { getRepositoryContext } from '../repositories/helpers'
6
7
 
7
8
  export class ProjectService {
8
9
  public repository: ProjectRepository
@@ -18,21 +19,20 @@ export class ProjectService {
18
19
  }
19
20
 
20
21
  get(request: Request, response: Response) {
21
- const projectKey = request.params.projectKey
22
- const project = this.repository.get(projectKey)
22
+ const project = this.repository.get(getRepositoryContext(request))
23
23
  return response.status(200).send(project)
24
24
  }
25
25
 
26
26
  post(request: Request, response: Response) {
27
27
  const updateRequest: Update = request.body
28
- const project = this.repository.get(request.params.projectKey)
28
+ const project = this.repository.get(getRepositoryContext(request))
29
29
 
30
30
  if (!project) {
31
31
  return response.status(404).send({})
32
32
  }
33
33
 
34
34
  this.repository.processUpdateActions(
35
- request.params.projectKey,
35
+ getRepositoryContext(request),
36
36
  project,
37
37
  updateRequest.actions
38
38
  )
@@ -2,6 +2,7 @@ import AbstractService from './abstract'
2
2
  import { Router, Request, Response } from 'express'
3
3
  import { StoreRepository } from '../repositories/store'
4
4
  import { AbstractStorage } from '../storage'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class StoreService extends AbstractService {
7
8
  public repository: StoreRepository
@@ -21,7 +22,7 @@ export class StoreService extends AbstractService {
21
22
 
22
23
  getWithKey(request: Request, response: Response) {
23
24
  const resource = this.repository.getWithKey(
24
- request.params.projectKey,
25
+ getRepositoryContext(request),
25
26
  request.params.key
26
27
  )
27
28
  if (resource) {
@@ -2,6 +2,7 @@ import { TaxCategoryRepository } from '../repositories/tax-category'
2
2
  import AbstractService from './abstract'
3
3
  import { AbstractStorage } from '../storage'
4
4
  import { Request, Response, Router } from 'express'
5
+ import { getRepositoryContext } from '../repositories/helpers'
5
6
 
6
7
  export class TaxCategoryService extends AbstractService {
7
8
  public repository: TaxCategoryRepository
@@ -21,7 +22,7 @@ export class TaxCategoryService extends AbstractService {
21
22
 
22
23
  getWithKey(request: Request, response: Response) {
23
24
  const resource = this.repository.getWithKey(
24
- request.params.projectKey,
25
+ getRepositoryContext(request),
25
26
  request.params.key
26
27
  )
27
28
  if (resource) {
package/src/storage.ts CHANGED
@@ -67,7 +67,7 @@ export abstract class AbstractStorage {
67
67
  projectKey: string,
68
68
  typeId: RepositoryTypes,
69
69
  id: string,
70
- params: GetParams
70
+ params?: GetParams
71
71
  ): ResourceMap[RepositoryTypes] | null
72
72
 
73
73
  abstract getByKey<RepositoryTypes extends keyof ResourceMap>(