Task: Add sample client sdk

This commit is contained in:
2021-09-04 19:07:29 +07:00
commit 82de95b4b7
13 changed files with 135 additions and 0 deletions

20
lib/sdk/ClientSDK.dart Normal file
View File

@@ -0,0 +1,20 @@
import 'package:sample_dart_dsdk/sdk/services/CategoryService.dart';
import 'package:sample_dart_dsdk/sdk/services/ProductService.dart';
class ClientSDK {
static var _instance;
static ClientSDK getInstance() {
if (_instance == null) {
ClientSDK();
}
return _instance;
}
ProductService getProductService() {
return ProductService();
}
CategoryService getCategoryService() => CategoryService();
}

View File

@@ -0,0 +1,6 @@
class Category {
int id;
String name;
Category(this.id, this.name);
}

View File

@@ -0,0 +1,20 @@
class Product {
int id;
String name;
double price;
Product(this.id, this.name, this.price);
static Product fromJson(dynamic json) => Product(
json['id'],
json['name'],
json['price'],
);
}
class ProductRequest {
String name;
double price;
ProductRequest(this.name, this.price);
}

View File

@@ -0,0 +1,7 @@
import 'package:sample_dart_dsdk/sdk/models/CategoryModel.dart';
class CategoryService {
List<Category> getAll() {
return List.empty();
}
}

View File

@@ -0,0 +1,15 @@
import 'package:sample_dart_dsdk/sdk/models/ProductModel.dart';
class ProductService {
List<Product> getAll() {
return List.empty();
}
Product getOne() {
return Product.fromJson(null);
}
Product create() {
return Product.fromJson(null);
}
}

13
lib/test.dart Normal file
View File

@@ -0,0 +1,13 @@
import 'package:sample_dart_dsdk/sdk/ClientSDK.dart';
void main(List<String> args) {
var client = ClientSDK.getInstance();
var productService = client.getProductService();
var products = productService.getAll();
print(products);
var categoryService = client.getCategoryService();
var categories = categoryService.getAll();
print(categories);
}