universo-platform-3d

Форк
0
77 строк · 2.4 Кб
1
import { SpaceObjectModule } from './../space-object/space-object.module'
2
import { LoggerModule } from './../util/logger/logger.module'
3
import { forwardRef, Module } from '@nestjs/common'
4
import { AssetService } from './asset.service'
5
import { AssetController } from './asset.controller'
6
import { Asset, AssetSchema } from './asset.schema'
7
import { MongooseModule } from '@nestjs/mongoose'
8
import { FileUploadModule } from '../util/file-upload/file-upload.module'
9
import { AssetSearch } from './asset.search'
10
import { PaginationService } from '../util/pagination/pagination.service'
11
import { AssetGateway } from './asset.gateway'
12
import { Material, MaterialSchema } from './material.schema'
13
import { Texture, TextureSchema } from './texture.schema'
14
import { MapAsset, MapSchema } from './map.schema'
15
import {
16
  SpaceObject,
17
  SpaceObjectSchema
18
} from '../space-object/space-object.schema'
19
import { RoleModule } from '../roles/role.module'
20
import {
21
  PurchaseOption,
22
  PurchaseOptionSchema
23
} from '../marketplace/purchase-option.subdocument.schema'
24
import { UserModule } from '../user/user.module'
25
import { AuthGuardFirebase } from '../auth/auth.guard'
26
import { StorageModule } from '../storage/storage.module'
27
import { StripeModule } from '../stripe/stripe.module'
28
import { GodotModule } from '../godot-server/godot.module'
29

30
@Module({
31
  imports: [
32
    MongooseModule.forFeature([
33
      { name: PurchaseOption.name, schema: PurchaseOptionSchema }
34
    ]),
35
    LoggerModule,
36
    RoleModule,
37
    forwardRef(() => SpaceObjectModule), // to fix circular dependency
38
    GodotModule,
39
    MongooseModule.forFeature([
40
      {
41
        name: Asset.name,
42
        schema: AssetSchema,
43
        discriminators: [
44
          {
45
            name: Material.name,
46
            schema: MaterialSchema
47
          },
48
          {
49
            name: Texture.name,
50
            schema: TextureSchema
51
          },
52
          {
53
            name: MapAsset.name,
54
            schema: MapSchema
55
          }
56
        ]
57
      }
58
    ]),
59
    MongooseModule.forFeature([
60
      { name: SpaceObject.name, schema: SpaceObjectSchema }
61
    ]),
62
    forwardRef(() => UserModule),
63
    forwardRef(() => FileUploadModule),
64
    StorageModule // to fix circular dependency
65
  ],
66
  controllers: [AssetController],
67
  providers: [
68
    AssetService,
69
    AssetSearch,
70
    PaginationService,
71
    AssetGateway,
72
    PurchaseOption,
73
    AuthGuardFirebase
74
  ],
75
  exports: [AssetService]
76
})
77
export class AssetModule {}
78

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.