fix: resource generator modelsDir output
This commit is contained in:
@ -5,6 +5,8 @@ import { generateApiRoute, generateSchemaFile } from '../utils/schematics'
|
|||||||
import { capitalize, pluralize, singularize } from '../utils/formatting'
|
import { capitalize, pluralize, singularize } from '../utils/formatting'
|
||||||
|
|
||||||
export function setupResourceRPC({ nuxt, rpc }: NuxtDevtoolsServerContext): any {
|
export function setupResourceRPC({ nuxt, rpc }: NuxtDevtoolsServerContext): any {
|
||||||
|
const runtimeConfig = nuxt.options.runtimeConfig
|
||||||
|
|
||||||
return {
|
return {
|
||||||
// TODO: maybe separate functions
|
// TODO: maybe separate functions
|
||||||
async generateResource(collection: Collection, resources: Resource[]) {
|
async generateResource(collection: Collection, resources: Resource[]) {
|
||||||
@ -13,9 +15,9 @@ export function setupResourceRPC({ nuxt, rpc }: NuxtDevtoolsServerContext): any
|
|||||||
const dbName = capitalize(singular)
|
const dbName = capitalize(singular)
|
||||||
|
|
||||||
if (collection.fields) {
|
if (collection.fields) {
|
||||||
const schemaPath = resolve(nuxt.options.serverDir, 'utils/models', `${singular}.schema.ts`)
|
const schemaPath = resolve(nuxt.options.serverDir, runtimeConfig.mongoose.modelsDir, `${singular}.schema.ts`)
|
||||||
if (!fs.existsSync(schemaPath)) {
|
if (!fs.existsSync(schemaPath)) {
|
||||||
fs.ensureDirSync(resolve(nuxt.options.serverDir, 'utils/models'))
|
fs.ensureDirSync(resolve(nuxt.options.serverDir, runtimeConfig.mongoose.modelsDir))
|
||||||
fs.writeFileSync(schemaPath, generateSchemaFile(dbName, collection.fields))
|
fs.writeFileSync(schemaPath, generateSchemaFile(dbName, collection.fields))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +53,7 @@ export function setupResourceRPC({ nuxt, rpc }: NuxtDevtoolsServerContext): any
|
|||||||
async resourceSchema(collection: string) {
|
async resourceSchema(collection: string) {
|
||||||
// TODO: use magicast
|
// TODO: use magicast
|
||||||
const singular = singularize(collection).toLowerCase()
|
const singular = singularize(collection).toLowerCase()
|
||||||
const schemaPath = resolve(nuxt.options.serverDir, 'utils/models', `${singular}.schema.ts`)
|
const schemaPath = resolve(nuxt.options.serverDir, runtimeConfig.mongoose.modelsDir, `${singular}.schema.ts`)
|
||||||
if (fs.existsSync(schemaPath)) {
|
if (fs.existsSync(schemaPath)) {
|
||||||
const content = fs.readFileSync(schemaPath, 'utf-8').match(/schema: \{(.|\n)*\}/g)
|
const content = fs.readFileSync(schemaPath, 'utf-8').match(/schema: \{(.|\n)*\}/g)
|
||||||
if (content) {
|
if (content) {
|
||||||
|
|||||||
Reference in New Issue
Block a user