2021-07-23 16:45:29 +08:00
|
|
|
import 'package:dartz/dartz.dart';
|
|
|
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
2021-07-31 10:50:56 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/flowy-document/doc_create.pb.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-document/doc_modify.pb.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-document/doc_query.pb.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-document/errors.pb.dart';
|
2021-07-23 16:45:29 +08:00
|
|
|
|
|
|
|
class DocRepository {
|
|
|
|
final String docId;
|
|
|
|
DocRepository({
|
|
|
|
required this.docId,
|
|
|
|
});
|
|
|
|
|
2021-07-31 10:50:56 +08:00
|
|
|
Future<Either<DocInfo, DocError>> createDoc(
|
2021-07-24 15:20:18 +08:00
|
|
|
{required String name, String? desc, String? text}) {
|
|
|
|
final request =
|
|
|
|
CreateDocRequest(id: docId, name: name, desc: desc, text: text);
|
2021-07-23 16:45:29 +08:00
|
|
|
|
|
|
|
return EditorEventCreateDoc(request).send();
|
|
|
|
}
|
|
|
|
|
2021-07-31 10:50:56 +08:00
|
|
|
Future<Either<DocInfo, DocError>> readDoc() {
|
2021-07-23 16:45:29 +08:00
|
|
|
final request = QueryDocRequest.create()..docId = docId;
|
2021-07-24 14:05:49 +08:00
|
|
|
return EditorEventReadDocInfo(request).send();
|
|
|
|
}
|
|
|
|
|
2021-07-31 10:50:56 +08:00
|
|
|
Future<Either<DocData, DocError>> readDocData(String path) {
|
2021-07-24 14:05:49 +08:00
|
|
|
final request = QueryDocDataRequest.create()
|
|
|
|
..docId = docId
|
|
|
|
..path = path;
|
|
|
|
return EditorEventReadDocData(request).send();
|
2021-07-23 16:45:29 +08:00
|
|
|
}
|
|
|
|
|
2021-07-31 10:50:56 +08:00
|
|
|
Future<Either<Unit, DocError>> updateDoc(
|
2021-07-23 16:45:29 +08:00
|
|
|
{String? name, String? desc, String? text}) {
|
|
|
|
final request = UpdateDocRequest(id: docId, name: name, text: text);
|
|
|
|
|
|
|
|
return EditorEventUpdateDoc(request).send();
|
|
|
|
}
|
2021-07-24 09:57:17 +08:00
|
|
|
|
2021-07-31 10:50:56 +08:00
|
|
|
Future<Either<Unit, DocError>> closeDoc(
|
2021-07-24 09:57:17 +08:00
|
|
|
{String? name, String? desc, String? text}) {
|
|
|
|
throw UnimplementedError();
|
|
|
|
}
|
2021-07-23 16:45:29 +08:00
|
|
|
}
|