Skip to content

Commit 74efce8

Browse files
committed
feat: add a logic for create repositories subdirectory
Signed-off-by: warisniz02 <[email protected]>
1 parent e329f85 commit 74efce8

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

packages/cli/generators/repository/index.js

+16
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,13 @@ module.exports = class RepositoryGenerator extends ArtifactGenerator {
376376
subdirectory,
377377
'model',
378378
);
379+
const subdir = subdirectory.split('models')[1];
380+
if (!this.artifactInfo.modelSubDirs) {
381+
this.artifactInfo.modelSubDirs = {};
382+
}
383+
subdirectoryModelList.forEach(model => {
384+
this.artifactInfo.modelSubDirs[model] = subdir;
385+
});
379386
modelList = modelList.concat(subdirectoryModelList);
380387
} catch (err) {
381388
console.error(
@@ -584,6 +591,15 @@ module.exports = class RepositoryGenerator extends ArtifactGenerator {
584591
this.artifactInfo.modelName,
585592
);
586593

594+
const outFile = `${
595+
this.artifactInfo.modelSubDirs[
596+
this.artifactInfo.modelName || this.artifactInfo.name
597+
]
598+
}/${this.artifactInfo.outFile}`;
599+
if (!outFile.includes('undefined')) {
600+
this.artifactInfo.outFile = outFile.slice(1, outFile.length);
601+
}
602+
587603
this.artifactInfo.indexesToBeUpdated.push({
588604
dir: this.artifactInfo.outDir,
589605
file: this.artifactInfo.outFile,

packages/cli/generators/repository/templates/src/repositories/repository-crud-default-template.ts.ejs

+10-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@ import {inject} from '@loopback/core';
22
<%if (isRepositoryBaseBuiltin) { -%>
33
import {<%= repositoryTypeClass %>} from '@loopback/repository';
44
<% } -%>
5-
import {<%= dataSourceClassName %>} from '../datasources';
6-
import {<%= modelName %>, <%= modelName %>Relations} from '../models';
5+
<%if (modelSubDirs[modelName]) { -%>
6+
import {<%= dataSourceClassName %>} from '../../datasources';
7+
import {<%= modelName %>, <%= modelName %>Relations} from '../../models';
8+
<% } -%>
9+
10+
<%if (!modelSubDirs[modelName]) { -%>
11+
import {<%= dataSourceClassName %>} from '../datasources';
12+
import {<%= modelName %>, <%= modelName %>Relations} from '../models';
13+
<% } -%>
14+
715
<%if ( !isRepositoryBaseBuiltin ) { -%>
816
import {<%=repositoryBaseClass %>} from './<%=repositoryBaseFile %>';
917
<% } -%>

0 commit comments

Comments
 (0)