Livebeat is now able to send, store and show beats

This commit is contained in:
2020-10-23 00:39:36 +02:00
parent f722ee9595
commit 13f8437f29
52 changed files with 1948 additions and 442 deletions

View File

@@ -1,11 +1,11 @@
import { Document } from 'mongoose';
import { IPhone } from '../phone/phone.interface';
export interface ITrack extends Document {
export interface IBeat extends Document {
coordinate?: number[],
velocity?: number,
accuracy: number,
speed: number,
battery?: number,
magneticField?: number,
phone: IPhone,
createdAt?: Date
}

View File

@@ -0,0 +1,6 @@
import { Model, model } from 'mongoose';
import { IBeat } from './beat.interface';
import { schemaBeat } from './beat.schema';
const modelBeat: Model<IBeat> = model<IBeat>('Beat', schemaBeat, 'Beat');
export { modelBeat as Beat };

View File

@@ -0,0 +1,16 @@
import { Schema, SchemaTypes } from 'mongoose';
import { Phone } from '../phone/phone.model';
const schemaBeat = new Schema({
coordinate: { type: [Number], required: false },
accuracy: { type: Number, required: false },
speed: { type: Number, required: false },
battery: { type: Number, required: false },
phone: { type: SchemaTypes.ObjectId, required: true, default: 'user' }
}, {
timestamps: {
createdAt: true
}
});
export { schemaBeat };

View File

@@ -2,6 +2,7 @@ import { Document } from 'mongoose';
import { IUser } from '../user/user.interface';
export interface IPhone extends Document {
androidId: String,
displayName: String,
modelName: String,
operatingSystem: String,

View File

@@ -1,12 +1,13 @@
import { Schema } from 'mongoose';
import { Mongoose, Schema, SchemaType, SchemaTypes } from 'mongoose';
import { User } from '../user/user.model';
const schemaPhone = new Schema({
androidId: { type: String, required: true },
displayName: { type: String, required: true },
modelName: { type: String, required: false },
operatingSystem: { type: String, required: false },
architecture: { type: String, required: false },
user: { type: User, required: true }
user: { type: SchemaTypes.ObjectId, required: true }
}, {
timestamps: {
createdAt: true,

View File

@@ -1,6 +0,0 @@
import { Model, model } from 'mongoose';
import { ITrack } from './track.interface';
import { schemaTrack } from './track.schema';
const modelTrack: Model<ITrack> = model<ITrack>('Track', schemaTrack, 'Track');
export { modelTrack as Phone };

View File

@@ -1,16 +0,0 @@
import { Schema } from 'mongoose';
import { Phone } from '../phone/phone.model';
const schemaTrack = new Schema({
coordinate: { type: [Number], required: false },
velocity: { type: Number, required: false },
battery: { type: Number, required: false },
magneticField: { type: Number, required: false },
phone: { type: Phone, required: true, default: 'user' }
}, {
timestamps: {
createdAt: true
}
});
export { schemaTrack };