Skip to content
Snippets Groups Projects
datamodel.dart 13.44 KiB
import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:package_info_plus/package_info_plus.dart';

class Collection {
  int id;
  String description;
  String collectionName;

  Collection({
    required this.id,
    required this.description,
    required this.collectionName,
  });

  factory Collection.fromJson(Map<String, dynamic> json) {
    return Collection(
      id: json['id'],
      description: json['description'],
      collectionName: json['collectionName'],
    );
  }

  Map<String, dynamic> toJson() => {
    'id': id,
    'description': description,
    'collectionName' : collectionName
  };

  @override
  String toString(){
    return '$collectionName $id $description';
  }
}

class Device{
  int id;
  String urn;

  Device(this.id, this.urn);

  factory Device.fromJson(Map<String, dynamic> json){
    return Device( json['id'] as int,
        json['urn'] as String);
  }

  Map<String, dynamic> toJson() => {
    'id': id,
    'urn': urn
  };

  @override
  String toString(){
    return urn;
  }
}


class Event{
  int id;  //This shall be the mysql primary key database id
  int urnId;
  String urn;
  String label;
  String type; // Event type name  TODO: this should be an EventType variable
  int typeId;
  String description;
  String status;