Livebeat is now able to send, store and show beats
This commit is contained in:
@@ -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
|
||||
}
|
||||
6
backend/models/beat/beat.model..ts
Normal file
6
backend/models/beat/beat.model..ts
Normal 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 };
|
||||
16
backend/models/beat/beat.schema.ts
Normal file
16
backend/models/beat/beat.schema.ts
Normal 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 };
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 };
|
||||
@@ -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 };
|
||||
Reference in New Issue
Block a user