guide article domain - wwwsolutions/nestjs-starter-kit GitHub Wiki
Example from Rest-Mongoose integration
Each library has a single responsibility.
npm install xxxxxxxxxxxxxx
npm i -D xxxxxxxxxxxxxxxxxxx
-
libs/api/domain/article
DOMAIN-
data-access
DATA LAYER -
feature
API LAYER-
src
-
lib
-
decorators
-
guards
-
resolvers
-
strategies
- api-domain-article-feature.module.ts
-
- index.ts
-
-
-
This is base domain library which holds:
- xxxxxxxx
- xxxxxxxx
- xxxxxxxx
nx generate @nrwl/nest:library --name=feature --directory=api/domain/article --buildable --standaloneConfig --strict --tags=type:feature,scope:api --no-interactive
// libs/api/domain/article/feature/src/lib/api-domain-article-feature.module.ts
// libs/api/domain/article/feature/src/lib/guards/gql-auth.guard.ts
// libs/api/domain/article/feature/src/lib/resolvers/auth.resolver.ts
// libs/api/domain/article/feature/src/lib/strategies/xxx.strategy.ts
// libs/api/domain/article/feature/src/lib/strategies/local.strategy.ts
// libs/api/domain/article/feature/src/index.ts
Contains domain's data layer and exposes:
- xxxxxxxxxxxxx
- xxxxxxxxxxxxx
- xxxxxxxxxxxxx
nx generate @nrwl/nest:library --name=data-access --directory=api/domain/article --buildable --standaloneConfig --strict --tags=type:data-access,scope:api --no-interactive
// libs/api/domain/article/data-access/src/lib/api-domain-article-data-access.module.ts
// libs/api/domain/article/data-access/src/lib/article.service.ts
// libs/api/domain/article/data-access/src/lib/models/xxx.model.ts
// libs/api/domain/article/data-access/src/index.ts
Add feature module name to the domains array.
// libs/api/core/src/lib/registrations/domains.registration.ts
import { ApiDomainArticleFeatureModule } from '@wwwsolutions/api/domain/article/feature';
export const domains: NestImportsType = [ApiDomainArticleFeatureModule];
Utilize guards.
// libs/api/domain/users/feature/src/lib/users.resolver.ts