Booking forms + Scheduler adaptation
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:oc_front/models/abstract.dart';
|
||||
import 'package:oc_front/models/logs.dart';
|
||||
import 'package:oc_front/models/search.dart';
|
||||
import 'package:oc_front/models/shared.dart';
|
||||
import 'package:oc_front/models/workflow.dart';
|
||||
import 'package:oc_front/models/workspace.dart';
|
||||
|
||||
@@ -17,6 +18,7 @@ Map<Type, SerializerDeserializer> refs = <Type, SerializerDeserializer> {
|
||||
WorkflowExecutions: WorkflowExecutions(),
|
||||
LogsResult: LogsResult(),
|
||||
Check: Check(),
|
||||
SharedWorkspace: SharedWorkspace(),
|
||||
};
|
||||
|
||||
class APIResponse<T extends SerializerDeserializer> {
|
||||
|
||||
112
lib/models/shared.dart
Normal file
112
lib/models/shared.dart
Normal file
@@ -0,0 +1,112 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:oc_front/models/abstract.dart';
|
||||
import 'package:oc_front/models/workflow.dart';
|
||||
import 'package:oc_front/models/workspace.dart';
|
||||
|
||||
class SharedWorkspace extends SerializerDeserializer<SharedWorkspace> {
|
||||
String? id;
|
||||
String? name;
|
||||
String? description;
|
||||
String? creatorID;
|
||||
String? version;
|
||||
Map<String, dynamic> attributes = {};
|
||||
List<Workspace> workspaces = [];
|
||||
List<Workflow> workflows = [];
|
||||
List<Peer> peers = [];
|
||||
List<Rule> rules = [];
|
||||
|
||||
SharedWorkspace(
|
||||
{this.id,
|
||||
this.name,
|
||||
this.description,
|
||||
this.creatorID,
|
||||
this.version,
|
||||
this.attributes = const {},
|
||||
this.workspaces = const [],
|
||||
this.workflows = const [],
|
||||
this.peers = const [],
|
||||
this.rules = const []});
|
||||
|
||||
@override
|
||||
deserialize(dynamic json) {
|
||||
try { json = json as Map<String, dynamic>;
|
||||
} catch (e) { return SharedWorkspace(); }
|
||||
return SharedWorkspace(
|
||||
id: json.containsKey("id") ? json["id"] : null,
|
||||
name: json.containsKey("name") ? json["name"] : null,
|
||||
description: json.containsKey("description") ? json["description"] : null,
|
||||
creatorID: json.containsKey("creator_id") ? json["creator_id"] : null,
|
||||
version: json.containsKey("version") ? json["version"] : null,
|
||||
attributes: json.containsKey("attributes") ? json["attributes"] : {},
|
||||
workspaces: json.containsKey("shared_workspaces") ? fromListJson(json["shared_workspaces"], Workspace()) : [],
|
||||
workflows: json.containsKey("shared_workflows") ? fromListJson(json["shared_workflows"], Workflow()) : [],
|
||||
peers: json.containsKey("shared_peers") ? fromListJson(json["shared_peers"], Peer()) : [],
|
||||
rules: json.containsKey("shared_rules") ? fromListJson(json["shared_rules"], Rule()) : [],
|
||||
);
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> serialize() => {
|
||||
"id": id,
|
||||
"name": name,
|
||||
"description": description,
|
||||
"creator_id": creatorID,
|
||||
"version": version,
|
||||
"attributes": attributes,
|
||||
"workspaces": workspaces.map((e) => e.id).toList(),
|
||||
"workflows": workflows.map((e) => e.id).toList(),
|
||||
"peers": peers.map((e) => e.id).toList(),
|
||||
"rules": rules.map((e) => e.id).toList(),
|
||||
};
|
||||
}
|
||||
|
||||
class Rule extends SerializerDeserializer<Rule> {
|
||||
String? id;
|
||||
String? name;
|
||||
String? description;
|
||||
|
||||
Rule(
|
||||
{this.id,
|
||||
this.name,
|
||||
this.description,});
|
||||
|
||||
@override
|
||||
deserialize(dynamic json) {
|
||||
try { json = json as Map<String, dynamic>;
|
||||
} catch (e) { return Rule(); }
|
||||
return Rule(
|
||||
id: json.containsKey("id") ? json["id"] : null,
|
||||
name: json.containsKey("name") ? json["name"] : null,
|
||||
description: json.containsKey("description") ? json["description"] : null,
|
||||
);
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> serialize() => {
|
||||
"id": id,
|
||||
"name": name,
|
||||
"description": description,
|
||||
};
|
||||
}
|
||||
|
||||
class Peer extends SerializerDeserializer<Peer> {
|
||||
String? id;
|
||||
String? name;
|
||||
|
||||
Peer(
|
||||
{this.id,
|
||||
this.name,});
|
||||
|
||||
@override
|
||||
deserialize(dynamic json) {
|
||||
try { json = json as Map<String, dynamic>;
|
||||
} catch (e) { return Peer(); }
|
||||
return Peer(
|
||||
id: json.containsKey("id") ? json["id"] : null,
|
||||
name: json.containsKey("name") ? json["name"] : null,
|
||||
);
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> serialize() => {
|
||||
"id": id,
|
||||
"name": name,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user