45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # Matrix API Lite
 | |
| 
 | |
| This package is a dead simple data model over the client-server specification of https://matrix.org and is mostly used as a base for a more complete Matrix SDK.
 | |
| It doesn't contain any logic and just provides methods for all API endpoints and json parser for all objects. It is intended to be as close to the specificaton
 | |
| as possible so we get a 1:1 relationship with the API. More complex logic like a sync loop or a data model for rooms should be implemented in a more complete
 | |
| Matrix SDK.
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| A simple usage example:
 | |
| 
 | |
| ```dart
 | |
| import 'package:matrix/matrix_api_lite.dart';
 | |
| 
 | |
| void main() async {
 | |
|   final api = MatrixApi(homeserver: Uri.parse('https://matrix.org'));
 | |
|   final capabilities = await api.requestServerCapabilities();
 | |
|   print(capabilities.toJson());
 | |
| }
 | |
| 
 | |
| ```
 | |
| 
 | |
| ## Generated code
 | |
| 
 | |
| The files in `lib/src/generated` are generated by [dart_openapi_codegen](https://gitlab.com/famedly/company/frontend/dart_openapi_codegen/)
 | |
| from [matrix-spec](https://github.com/matrix-org/matrix-spec/).
 | |
| 
 | |
| To regenerate the code, follow these steps:
 | |
| 
 | |
| 1. Clone both repositories next to each other
 | |
|   1.1 `git clone git@github.com:famedly/dart_openapi_codegen.git`
 | |
|   1.2 `git clone git@github.com:famedly/matrix-dart-sdk.git`
 | |
| 2. Execute the script in the dart_openapi_codegen directory:
 | |
| ```sh
 | |
| cd dart_openapi_codegen
 | |
| ./scripts/matrix.sh ../matrix-dart-sdk/lib/matrix_api_lite/generated
 | |
| cd ..
 | |
| ```
 | |
| 3. Run the build_runner in the matrix_api_lite directory to generate enhanced_enum stuff:
 | |
| ```sh
 | |
| cd matrix-dart-sdk
 | |
| dart pub get
 | |
| dart run build_runner build
 | |
| ```
 | |
| 4. Check lints and tests and create a merge request |