• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

teableio / teable / 20346522118

18 Dec 2025 06:06PM UTC coverage: 71.804% (-0.3%) from 72.072%
20346522118

push

github

web-flow
feat: template preview (T1306,T1316) (#2291)

* feat: template preview

* feat: add preview in template detail

* fix: remove debug code

* fix: unit test

* fix: permission.service unit test

* fix: share link view in template preview pages

* feat: more complete template preview ui

* fix: missing app actions in template

* fix: locales file conflict

* feat: template support app T1316

* feat: support jump to active node when create template

* chore: update i18n

* chore: update i18n

* perf: optimise user publish to community validation process

* fix: base export e2e fail unexpect

* fix: losing duplicate audit-log

* fix: publish dialog select active node error

* feat: unlock template recommended select

* feat: app in template preview

* fix: featured null and false filter fail

* fix: template detail scroll

* chore: constant template spaceId

* perf: create template should close schedule trigger workflow and authority

* fix: publish base ui error

* feat: template preview e2e

* perf: delete template old snapshot app when create new

* fix: import table date with computed data error

* fix: import base e2e

* fix: duplicate base do not turn on workflow and authority

---------

Co-authored-by: caoxing <caoxing9@gmail.com>

23942 of 26781 branches covered (89.4%)

790 of 1409 new or added lines in 38 files covered. (56.07%)

64 existing lines in 11 files now uncovered.

59510 of 82878 relevant lines covered (71.8%)

4185.44 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.22
/apps/nestjs-backend/src/features/plugin/plugin.module.ts
1
import { Module } from '@nestjs/common';
5✔
2
import { JwtModule } from '@nestjs/jwt';
3
import { authConfig, type IAuthConfig } from '../../configs/auth.config';
4
import { AccessTokenModule } from '../access-token/access-token.module';
5
import { StorageModule } from '../attachments/plugins/storage.module';
6
import { UserModule } from '../user/user.module';
7
import { OfficialPluginInitService } from './official/official-plugin-init.service';
8
import { PluginAuthService } from './plugin-auth.service';
9
import { PluginController } from './plugin.controller';
10
import { PluginService } from './plugin.service';
11

12
@Module({
13
  imports: [
5✔
14
    UserModule,
5✔
15
    AccessTokenModule,
5✔
16
    StorageModule,
5✔
17
    JwtModule.registerAsync({
5✔
18
      useFactory: (config: IAuthConfig) => ({
5✔
UNCOV
19
        secret: config.jwt.secret,
×
UNCOV
20
        signOptions: {
×
UNCOV
21
          expiresIn: config.jwt.expiresIn,
×
UNCOV
22
        },
×
UNCOV
23
      }),
×
24
      inject: [authConfig.KEY],
5✔
25
    }),
5✔
26
  ],
5✔
27
  providers: [PluginService, PluginAuthService, OfficialPluginInitService],
5✔
28
  controllers: [PluginController],
5✔
29
})
30
export class PluginModule {}
5✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc