diff --git a/packages/strapi-connector-mongoose/lib/queries.js b/packages/strapi-connector-mongoose/lib/queries.js index 018f8ae4d0..c3f5ab1e6d 100644 --- a/packages/strapi-connector-mongoose/lib/queries.js +++ b/packages/strapi-connector-mongoose/lib/queries.js @@ -316,7 +316,7 @@ module.exports = ({ model, modelKey, strapi }) => { // verify the provided ids are related to this entity. idsToKeep.forEach(id => { - if (allIds.findIndex(currentId => currentId.toString() === id) === -1) { + if (allIds.findIndex(currentId => currentId.toString() === id.toString()) === -1) { const err = new Error( `Some of the provided components in ${key} are not related to the entity` ); diff --git a/packages/strapi-generate-new/lib/create-project.js b/packages/strapi-generate-new/lib/create-project.js index 99211b988c..7eff762a9e 100644 --- a/packages/strapi-generate-new/lib/create-project.js +++ b/packages/strapi-generate-new/lib/create-project.js @@ -12,10 +12,7 @@ const { trackUsage, captureStderr } = require('./utils/usage'); const packageJSON = require('./resources/json/package.json'); const databaseJSON = require('./resources/json/database.json.js'); -module.exports = async function createProject( - scope, - { connection, dependencies } -) { +module.exports = async function createProject(scope, { connection, dependencies }) { console.log('Creating files.'); const { rootPath } = scope; @@ -29,13 +26,12 @@ module.exports = async function createProject( const dotFiles = await fse.readdir(join(resources, 'dot-files')); await Promise.all( dotFiles.map(name => { - return fse.copy( - join(resources, 'dot-files', name), - join(rootPath, `.${name}`) - ); + return fse.copy(join(resources, 'dot-files', name), join(rootPath, `.${name}`)); }) ); + await trackUsage({ event: 'didCopyProjectFiles', scope }); + // copy templates await fse.writeJSON( join(rootPath, 'package.json'), @@ -51,6 +47,8 @@ module.exports = async function createProject( } ); + await trackUsage({ event: 'didWritePackageJSON', scope }); + // ensure node_modules is created await fse.ensureDir(join(rootPath, 'node_modules')); @@ -66,11 +64,15 @@ module.exports = async function createProject( ); }) ); + + await trackUsage({ event: 'didCopyConfigurationFiles', scope }); } catch (err) { await fse.remove(scope.rootPath); throw err; } + await trackUsage({ event: 'willInstallProjectDependencies', scope }); + const installPrefix = chalk.yellow('Installing dependencies:'); const loader = ora(installPrefix).start(); @@ -93,6 +95,8 @@ module.exports = async function createProject( loader.stop(); console.log(`Dependencies installed ${chalk.green('successfully')}.`); + + await trackUsage({ event: 'didInstallProjectDependencies', scope }); } catch (error) { loader.stop(); await trackUsage({ @@ -119,9 +123,7 @@ module.exports = async function createProject( ); console.log(); console.log( - `cd ${chalk.green(rootPath)} && ${chalk.cyan( - scope.useYarn ? 'yarn' : 'npm' - )} install` + `cd ${chalk.green(rootPath)} && ${chalk.cyan(scope.useYarn ? 'yarn' : 'npm')} install` ); console.log(); diff --git a/packages/strapi-generate-new/lib/utils/usage.js b/packages/strapi-generate-new/lib/utils/usage.js index 7ab53581fa..8e9bda0740 100644 --- a/packages/strapi-generate-new/lib/utils/usage.js +++ b/packages/strapi-generate-new/lib/utils/usage.js @@ -71,6 +71,7 @@ function trackError({ scope, error }) { version: scope.strapiVersion, nodeVersion: process.version, docker: scope.docker, + useYarn: scope.useYarn, }, }); } catch (err) { @@ -92,6 +93,7 @@ function trackUsage({ event, scope, error }) { node_version: process.version, version: scope.strapiVersion, docker: scope.docker, + useYarn: scope.useYarn, }, }); } catch (err) { diff --git a/packages/strapi-provider-upload-rackspace/lib/index.js b/packages/strapi-provider-upload-rackspace/lib/index.js index 8b851f1ee0..63ddad2afc 100644 --- a/packages/strapi-provider-upload-rackspace/lib/index.js +++ b/packages/strapi-provider-upload-rackspace/lib/index.js @@ -29,7 +29,7 @@ module.exports = { const readStream = streamifier.createReadStream(file.buffer); const writeStream = client.upload({ ...options, - remote: file.name, + remote: file.hash, contentType: file.mime, }); @@ -38,22 +38,21 @@ module.exports = { writeStream.on('error', error => error && reject(error)); writeStream.on('success', result => { remoteURL() - .then(data => + .then(data => { resolve( Object.assign(file, { - name: result.name, mime: result.contentType, url: `${data.cdnSslUri}/${result.name}`, }) - ) - ) + ); + }) .catch(err => console.error(err) && reject(err)); }); }); }, delete(file) { return new Promise((resolve, reject) => { - client.removeFile(config.container, file.name, error => { + client.removeFile(config.container, file.hash, error => { if (error) return reject(error); return resolve(); });