parent
207161d3b1
commit
d4b08a93b2
@ -1 +1 @@ |
|||||||
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,0DAAuD;AACvD,mCAAmC;AAM5B,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEZ;IACA;IAFV,YACU,WAAyB,EACzB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAc;QACzB,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,GAAkB;QAC7B,MAAM,MAAM,GAAW,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAiB;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,IAAI,8BAAqB,CAAC,cAAc,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC;IACf,CAAC;CACF,CAAA;AAtCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGY,4BAAY;QACb,gBAAU;GAHrB,WAAW,CAsCvB"} |
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,0DAAuD;AACvD,iDAAmC;AAM5B,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEZ;IACA;IAFV,YACU,WAAyB,EACzB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAc;QACzB,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,GAAkB;QAC7B,MAAM,MAAM,GAAW,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAiB;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,IAAI,8BAAqB,CAAC,cAAc,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC;IACf,CAAC;CACF,CAAA;AAtCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGY,4BAAY;QACb,gBAAU;GAHrB,WAAW,CAsCvB"} |
@ -1 +1 @@ |
|||||||
{"version":3,"file":"timestamped.entity.js","sourceRoot":"","sources":["../../../src/common/entities/timestamped.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA6D;AAE7D,MAAsB,iBAAiB;IAErC,SAAS,CAAO;IAGhB,SAAS,CAAO;;;;CACjB;AAND,8CAMC;AAJC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC7B,IAAI;oDAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC7B,IAAI;oDAAC"} |
{"version":3,"file":"timestamped.entity.js","sourceRoot":"","sources":["../../../src/common/entities/timestamped.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAoE;AAEpE,MAAsB,iBAAiB;IAGrC,SAAS,CAAO;IAIhB,SAAS,CAAO;;;;CACjB;AARD,8CAQC;AALC;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC7B,IAAI;oDAAC;AAIhB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC7B,IAAI;oDAAC"} |
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||||||
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":"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"} |
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":"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"} |
@ -1,9 +1,11 @@ |
|||||||
import { CreateDateColumn, UpdateDateColumn } from 'typeorm'; |
import { CreateDateColumn, Index, UpdateDateColumn } from 'typeorm'; |
||||||
|
|
||||||
export abstract class TimestampedEntity { |
export abstract class TimestampedEntity { |
||||||
|
@Index() |
||||||
@CreateDateColumn({ type: 'timestamp' }) |
@CreateDateColumn({ type: 'timestamp' }) |
||||||
createdAt: Date; |
createdAt: Date; |
||||||
|
|
||||||
|
@Index() |
||||||
@UpdateDateColumn({ type: 'timestamp' }) |
@UpdateDateColumn({ type: 'timestamp' }) |
||||||
updatedAt: Date; |
updatedAt: Date; |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
import { DataSource } from 'typeorm'; |
||||||
|
import { User } from './users/entities/user.entity'; |
||||||
|
import { Profile } from './profiles/entities/profile.entity'; |
||||||
|
import { Sensor } from './sensors/entities/sensor.entity'; |
||||||
|
import { SensorData } from './sensors/entities/sensor-data.entity'; |
||||||
|
import { SensorGroup } from './sensors/entities/sensor-group.entity'; |
||||||
|
import * as dotenv from 'dotenv'; |
||||||
|
|
||||||
|
dotenv.config(); |
||||||
|
|
||||||
|
export const AppDataSource = new DataSource({ |
||||||
|
type: 'mysql', |
||||||
|
host: process.env.DB_HOST, |
||||||
|
port: parseInt(process.env.DB_PORT || '3306', 10), |
||||||
|
username: process.env.DB_USERNAME, |
||||||
|
password: process.env.DB_PASSWORD, |
||||||
|
database: process.env.DB_DATABASE, |
||||||
|
entities: [User, Profile, Sensor, SensorData, SensorGroup], |
||||||
|
synchronize: true, |
||||||
|
logging: true, |
||||||
|
}); |
@ -0,0 +1,65 @@ |
|||||||
|
import { faker } from '@faker-js/faker'; |
||||||
|
import { AppDataSource } from 'src/data-source'; |
||||||
|
import { SensorData } from 'src/sensors/entities/sensor-data.entity'; |
||||||
|
import { SensorGroup } from 'src/sensors/entities/sensor-group.entity'; |
||||||
|
import { Sensor } from 'src/sensors/entities/sensor.entity'; |
||||||
|
import { User } from 'src/users/entities/user.entity'; |
||||||
|
|
||||||
|
async function run() { |
||||||
|
await AppDataSource.initialize(); |
||||||
|
const queryRunner = AppDataSource.createQueryRunner(); |
||||||
|
|
||||||
|
await queryRunner.connect(); |
||||||
|
await queryRunner.startTransaction(); |
||||||
|
|
||||||
|
try { |
||||||
|
const userRepo = AppDataSource.getRepository(User); |
||||||
|
const groupRepo = AppDataSource.getRepository(SensorGroup); |
||||||
|
const sensorRepo = AppDataSource.getRepository(Sensor); |
||||||
|
const dataRepo = AppDataSource.getRepository(SensorData); |
||||||
|
|
||||||
|
const users = await userRepo.find({ take: 2, order: { createdAt: 'DESC' } }); |
||||||
|
if (!users.length) { |
||||||
|
console.error('❌ No users found.'); |
||||||
|
process.exit(1); |
||||||
|
} |
||||||
|
|
||||||
|
for (let i = 0; i < 2; i++) { |
||||||
|
const group = groupRepo.create({ |
||||||
|
name: `SensorGroup_${i + 1}`, |
||||||
|
users, |
||||||
|
}); |
||||||
|
await groupRepo.save(group); |
||||||
|
console.log(`✅ Created SensorGroup ${group.name}`); |
||||||
|
|
||||||
|
for (let j = 0; j < 2; j++) { |
||||||
|
const sensor = sensorRepo.create({ |
||||||
|
name: `sensor_${i + 1}_${j + 1}`, |
||||||
|
group, |
||||||
|
}); |
||||||
|
await sensorRepo.save(sensor); |
||||||
|
console.log(`✅ Created Sensor ${sensor.name}`); |
||||||
|
|
||||||
|
const data = Array.from({ length: 10 }).map(() => |
||||||
|
dataRepo.create({ |
||||||
|
sensor, |
||||||
|
value: parseFloat(faker.finance.amount({ min: 10, max: 100, dec: 2 })), |
||||||
|
}), |
||||||
|
); |
||||||
|
await dataRepo.save(data); |
||||||
|
console.log(`✅ Created Sensor(${sensor.name})'s 10 data`); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
await queryRunner.commitTransaction(); |
||||||
|
console.log(`🎉 Finish task!`); |
||||||
|
} catch (err) { |
||||||
|
await queryRunner.rollbackTransaction(); |
||||||
|
console.log('❌ Error seeding sensors: ', err); |
||||||
|
} finally { |
||||||
|
await queryRunner.release(); |
||||||
|
await AppDataSource.destroy(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
run(); |
@ -1,26 +0,0 @@ |
|||||||
import { NestFactory } from '@nestjs/core'; |
|
||||||
import { AppModule } from 'src/app.module'; |
|
||||||
import { AuthService } from 'src/auth/auth.service'; |
|
||||||
import { testUsers } from './data/sample-user'; |
|
||||||
|
|
||||||
async function bootstrap() { |
|
||||||
const app = await NestFactory.createApplicationContext(AppModule); |
|
||||||
const authService = app.get(AuthService); |
|
||||||
|
|
||||||
for (const user of testUsers) { |
|
||||||
try { |
|
||||||
await authService.signup(user); |
|
||||||
console.log(`✅ Create user: ${user.name}`); |
|
||||||
} catch (err: unknown) { |
|
||||||
if (err instanceof Error) { |
|
||||||
console.error(`❌ Fail to create user: ${user.name}`, err.message); |
|
||||||
} else { |
|
||||||
console.error(`❌ Fail to create user: ${user.name}`, err); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
await app.close(); |
|
||||||
} |
|
||||||
|
|
||||||
bootstrap(); |
|
Loading…
Reference in new issue