Line data Source code
1 : import 'package:json_annotation/json_annotation.dart';
2 : import 'package:network_tools/src/database/drift_database.dart';
3 : part 'vendor.g.dart';
4 :
5 : /// Gives vendor details matching as prefix of mac address
6 : @JsonSerializable()
7 : class Vendor {
8 3 : Vendor({
9 : required this.macPrefix,
10 : required this.vendorName,
11 : required this.private,
12 : required this.blockType,
13 : required this.lastUpdate,
14 : });
15 :
16 3 : factory Vendor.fromCSVField(List<String> csvField) {
17 3 : return Vendor(
18 9 : macPrefix: csvField[0].split(":").join(),
19 3 : vendorName: csvField[1],
20 3 : private: csvField[2],
21 3 : blockType: csvField[3],
22 3 : lastUpdate: csvField[4],
23 : );
24 : }
25 2 : factory Vendor.fromJson(Map<String, dynamic> json) => _$VendorFromJson(json);
26 1 : factory Vendor.fromDriftData(VendorDriftData data) {
27 1 : return Vendor(
28 1 : macPrefix: data.macPrefix,
29 1 : vendorName: data.vendorName,
30 1 : private: data.private,
31 1 : blockType: data.blockType,
32 1 : lastUpdate: data.lastUpdate,
33 : );
34 : }
35 :
36 2 : Map<String, dynamic> toJson() => _$VendorToJson(this);
37 :
38 : final String macPrefix;
39 : final String vendorName;
40 : final String private;
41 : final String blockType;
42 : final String lastUpdate;
43 : }
|