Major Change Inputs & Co
This commit is contained in:
101
lib/models/resources/workflow.dart
Normal file
101
lib/models/resources/workflow.dart
Normal file
@@ -0,0 +1,101 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:oc_front/models/resources/resources.dart';
|
||||
|
||||
class WorkflowItem extends AbstractItem<WorkflowPricing, WorkflowPartnership, WorkflowInstance, WorkflowItem> {
|
||||
// special attributes
|
||||
String? workflowID;
|
||||
|
||||
WorkflowItem({
|
||||
this.workflowID,
|
||||
}): super();
|
||||
|
||||
@override String get topic => "workflow";
|
||||
|
||||
@override deserialize(dynamic data) {
|
||||
try { data = data as Map<String, dynamic>;
|
||||
} catch (e) { return WorkflowItem(); }
|
||||
var w = WorkflowItem(
|
||||
workflowID: data.containsKey("workflow_id") && data["workflow_id"] != null ? data["workflow_id"] : null,
|
||||
);
|
||||
w.mapFromJSON(data, WorkflowInstance());
|
||||
if (w.logo != null) { // get image dimensions
|
||||
var image = Image.network(w.logo!);
|
||||
image.image
|
||||
.resolve(const ImageConfiguration())
|
||||
.addListener(
|
||||
ImageStreamListener(
|
||||
(ImageInfo info, bool _) {
|
||||
w.width = info.image.width.toDouble();
|
||||
w.height = info.image.height.toDouble();
|
||||
}));
|
||||
}
|
||||
return w;
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> infos() {
|
||||
return {};
|
||||
}
|
||||
|
||||
@override Map<String, dynamic> serialize() {
|
||||
Map<String, dynamic> obj ={
|
||||
"workflow_id": workflowID,
|
||||
};
|
||||
obj.addAll(toJSON());
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
class WorkflowInstance extends AbstractInstance<WorkflowPricing, WorkflowPartnership> {
|
||||
WorkflowInstance(): super();
|
||||
|
||||
@override
|
||||
WorkflowInstance deserialize(json) {
|
||||
try { json = json as Map<String, dynamic>;
|
||||
} catch (e) { return WorkflowInstance(); }
|
||||
var w = WorkflowInstance();
|
||||
w.mapFromJSON(json, WorkflowPartnership());
|
||||
return w;
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> infos() {
|
||||
return {};
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> serialize() {
|
||||
return toJSON();
|
||||
}
|
||||
}
|
||||
|
||||
class WorkflowPartnership extends AbstractPartnerShip<WorkflowPricing> {
|
||||
WorkflowPartnership(): super();
|
||||
|
||||
@override
|
||||
WorkflowPartnership deserialize(json) {
|
||||
try { json = json as Map<String, dynamic>;
|
||||
} catch (e) { return WorkflowPartnership(); }
|
||||
var w = WorkflowPartnership();
|
||||
w.mapFromJSON(json, WorkflowPricing());
|
||||
return w;
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> serialize() {
|
||||
return toJSON();
|
||||
}
|
||||
}
|
||||
|
||||
class WorkflowPricing extends AbstractPricing {
|
||||
@override WorkflowPricing deserialize(json) {
|
||||
var w = WorkflowPricing();
|
||||
w.mapFromJSON(json);
|
||||
return w;
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> serialize() {
|
||||
return toJSON();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user