5.0.5 • Published 9 months ago

@travetto/rest-model-query v5.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

RESTful Model Query Routes

RESTful support for generating query APIs from Model classes.

Install: @travetto/rest-model-query

npm install @travetto/rest-model-query

# or

yarn add @travetto/rest-model-query

Data Model Querying support can also be added support in the form of ModelQueryRoutes. This provides listing by query as well as an endpoint to facilitate suggestion behaviors.

Code: ModelQueryRoutes example

import { Inject } from '@travetto/di';
import { ModelQuerySupport } from '@travetto/model-query';
import { Controller } from '@travetto/rest';
import { ModelQueryRoutes } from '@travetto/rest-model-query';

import { User } from './user';

@Controller('/user')
@ModelQueryRoutes(User)
class UserQueryController {
  @Inject()
  source: ModelQuerySupport;
}

is a shorthand that is equal to:

Code: Comparable UserController, built manually

import { Inject } from '@travetto/di';
import { ModelQuerySupport, ValidStringFields } from '@travetto/model-query';
import { isQuerySuggestSupported } from '@travetto/model-query/src/internal/service/common';
import { Controller, Get } from '@travetto/rest';
import { RestModelQuery, RestModelSuggestQuery } from '@travetto/rest-model-query';

import { User } from './user';

@Controller('/user')
class UserQueryController {

  @Inject()
  service: ModelQuerySupport;

  @Get('')
  async getAllUser(query: RestModelQuery) {
    return this.service.query(User, query.finalize());
  }

  @Get('/suggest/:field')
  async suggest(field: ValidStringFields<User>, suggest: RestModelSuggestQuery) {
    if (isQuerySuggestSupported(this.service)) {
      return this.service.suggest(User, field, suggest.q, suggest);
    }
  }
}
5.0.0-rc.12

10 months ago

5.0.0-rc.13

10 months ago

5.0.0-rc.14

10 months ago

5.0.0-rc.15

10 months ago

5.0.5

9 months ago

5.0.4

9 months ago

5.0.3

10 months ago

5.0.2

10 months ago

5.0.1

10 months ago

5.0.0

10 months ago

5.0.0-rc.11

10 months ago

5.0.0-rc.9

11 months ago

5.0.0-rc.0

11 months ago

5.0.0-rc.1

11 months ago

5.0.0-rc.2

11 months ago

5.0.0-rc.3

11 months ago

5.0.0-rc.4

11 months ago

5.0.0-rc.5

11 months ago

5.0.0-rc.6

11 months ago

5.0.0-rc.7

11 months ago

5.0.0-rc.8

11 months ago

5.0.0-rc.10

11 months ago

4.1.4

1 year ago

4.1.5

1 year ago

4.1.3

1 year ago

4.1.0

1 year ago

4.1.1

1 year ago

4.0.7

1 year ago

4.0.6

1 year ago

4.0.5

1 year ago

4.0.4

1 year ago

4.0.3

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

4.0.2

1 year ago

4.0.0-rc.10

1 year ago

4.0.0-rc.9

1 year ago

4.0.0-rc.8

1 year ago

3.4.6

1 year ago

4.0.0-rc.7

1 year ago

4.0.0-rc.6

1 year ago

4.0.0-rc.5

1 year ago

4.0.0-rc.3

1 year ago

4.0.0-rc.4

1 year ago

4.0.0-rc.1

1 year ago

4.0.0-rc.2

1 year ago

4.0.0-rc.0

1 year ago

3.4.4

2 years ago

3.4.5

2 years ago

3.3.8

2 years ago

3.3.7

2 years ago

3.3.6

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

3.4.0

2 years ago

3.4.3

2 years ago

3.4.2

2 years ago

3.4.1

2 years ago

3.4.0-rc.9

2 years ago

3.4.0-rc.7

2 years ago

3.4.0-rc.8

2 years ago

3.4.0-rc.5

2 years ago

3.4.0-rc.6

2 years ago

3.4.0-rc.3

2 years ago

3.4.0-rc.4

2 years ago

3.4.0-rc.1

2 years ago

3.4.0-rc.2

2 years ago

3.4.0-rc.0

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

3.3.5

2 years ago

3.3.4

2 years ago

3.3.3

2 years ago

3.3.2

2 years ago

3.2.0

2 years ago

3.1.18

2 years ago

3.2.0-rc.0

2 years ago

3.1.12

2 years ago

3.1.11

2 years ago

3.1.14

2 years ago

3.1.13

2 years ago

3.1.16

2 years ago

3.1.15

2 years ago

3.1.17

2 years ago

3.1.10

2 years ago

3.1.9

2 years ago

3.1.8

2 years ago

3.1.7

2 years ago

3.1.6

2 years ago

3.1.5

2 years ago

3.1.4

2 years ago

3.0.3

2 years ago

3.1.0-rc.10

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.0-rc.2

2 years ago

3.1.0-rc.3

2 years ago

3.1.0-rc.0

2 years ago

3.1.0-rc.1

2 years ago

3.1.0-rc.6

2 years ago

3.1.0-rc.7

2 years ago

3.1.0-rc.4

2 years ago

3.1.0-rc.5

2 years ago

3.1.0-rc.8

2 years ago

3.1.0-rc.9

2 years ago

3.0.0-rc.28

2 years ago

3.0.0-rc.27

2 years ago

3.0.1-rc.1

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

3.0.2-rc.1

2 years ago

3.0.2-rc.0

2 years ago

3.0.0-rc.24

2 years ago

3.0.0-rc.23

2 years ago

3.0.0-rc.26

2 years ago

3.0.0-rc.25

2 years ago

3.0.0-rc.20

2 years ago

3.0.0-rc.22

2 years ago

3.0.0-rc.21

2 years ago

3.0.0-rc.15

2 years ago

3.0.0-rc.17

2 years ago

3.0.0-rc.16

2 years ago

3.0.0-rc.19

2 years ago

3.0.0-rc.18

2 years ago

3.0.0-rc.13

2 years ago

3.0.0-rc.12

2 years ago

3.0.0-rc.14

2 years ago

3.0.0-rc.6

2 years ago

3.0.0-rc.11

2 years ago

3.0.0-rc.10

2 years ago

3.0.0-rc.9

2 years ago

3.0.0-rc.8

2 years ago

3.0.0-rc.7

2 years ago

3.0.0-rc.4

3 years ago

3.0.0-rc.3

3 years ago

3.0.0-rc.2

3 years ago

3.0.0-rc.1

3 years ago

3.0.0-rc.0

3 years ago