Skip to content

Commit aa70c2e

Browse files
Merge pull request #57 from appwrite/dev
Fix msg91 params
2 parents e5f8956 + 72e2075 commit aa70c2e

11 files changed

+43
-17
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 11.0.2
2+
3+
* Fixed MSG91 missing template ID
4+
15
## 11.0.1
26

37
* Fixed parameters using enum types

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Add this to your package's `pubspec.yaml` file:
2323

2424
```yml
2525
dependencies:
26-
dart_appwrite: ^11.0.1
26+
dart_appwrite: ^11.0.2
2727
```
2828
2929
You can install packages from the command line:

docs/examples/messaging/create-msg91provider.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Messaging messaging = Messaging(client);
1010
Provider result = await messaging.createMsg91Provider(
1111
providerId: '<PROVIDER_ID>',
1212
name: '<NAME>',
13-
from: '+12065550100', // (optional)
13+
templateId: '<TEMPLATE_ID>', // (optional)
1414
senderId: '<SENDER_ID>', // (optional)
1515
authKey: '<AUTH_KEY>', // (optional)
1616
enabled: false, // (optional)

docs/examples/messaging/update-msg91provider.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Provider result = await messaging.updateMsg91Provider(
1111
providerId: '<PROVIDER_ID>',
1212
name: '<NAME>', // (optional)
1313
enabled: false, // (optional)
14+
templateId: '<TEMPLATE_ID>', // (optional)
1415
senderId: '<SENDER_ID>', // (optional)
1516
authKey: '<AUTH_KEY>', // (optional)
16-
from: '<FROM>', // (optional)
1717
);

lib/dart_appwrite.dart

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
library dart_appwrite;
77

88
import 'dart:async';
9+
import 'dart:math';
910
import 'dart:typed_data';
1011
import 'dart:convert';
1112

lib/id.dart

+25-4
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,34 @@ part of dart_appwrite;
44
class ID {
55
ID._();
66

7-
/// Have Appwrite generate a unique ID for you.
8-
static String unique() {
9-
return 'unique()';
7+
// Generate an hex ID based on timestamp
8+
// Recreated from https://www.php.net/manual/en/function.uniqid.php
9+
static String _hexTimestamp() {
10+
final now = DateTime.now();
11+
final sec = (now.millisecondsSinceEpoch / 1000).floor();
12+
final usec = now.microsecondsSinceEpoch - (sec * 1000000);
13+
return sec.toRadixString(16) +
14+
usec.toRadixString(16).padLeft(5, '0');
15+
}
16+
17+
// Generate a unique ID with padding to have a longer ID
18+
static String unique({int padding = 7}) {
19+
String id = _hexTimestamp();
20+
21+
if (padding > 0) {
22+
StringBuffer sb = StringBuffer();
23+
for (var i = 0; i < padding; i++) {
24+
sb.write(Random().nextInt(16).toRadixString(16));
25+
}
26+
27+
id += sb.toString();
28+
}
29+
30+
return id;
1031
}
1132

1233
/// Uses [id] as the ID for the resource.
1334
static String custom(String id) {
1435
return id;
1536
}
16-
}
37+
}

lib/services/messaging.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -522,14 +522,14 @@ class Messaging extends Service {
522522
/// Create Msg91 provider
523523
///
524524
/// Create a new MSG91 provider.
525-
Future<models.Provider> createMsg91Provider({required String providerId, required String name, String? from, String? senderId, String? authKey, bool? enabled}) async {
525+
Future<models.Provider> createMsg91Provider({required String providerId, required String name, String? templateId, String? senderId, String? authKey, bool? enabled}) async {
526526
final String apiPath = '/messaging/providers/msg91';
527527

528528
final Map<String, dynamic> apiParams = {
529529

530530
'providerId': providerId,
531531
'name': name,
532-
'from': from,
532+
'templateId': templateId,
533533
'senderId': senderId,
534534
'authKey': authKey,
535535
'enabled': enabled,
@@ -550,16 +550,16 @@ class Messaging extends Service {
550550
/// Update Msg91 provider
551551
///
552552
/// Update a MSG91 provider by its unique ID.
553-
Future<models.Provider> updateMsg91Provider({required String providerId, String? name, bool? enabled, String? senderId, String? authKey, String? from}) async {
553+
Future<models.Provider> updateMsg91Provider({required String providerId, String? name, bool? enabled, String? templateId, String? senderId, String? authKey}) async {
554554
final String apiPath = '/messaging/providers/msg91/{providerId}'.replaceAll('{providerId}', providerId);
555555

556556
final Map<String, dynamic> apiParams = {
557557

558558
'name': name,
559559
'enabled': enabled,
560+
'templateId': templateId,
560561
'senderId': senderId,
561562
'authKey': authKey,
562-
'from': from,
563563

564564
};
565565

lib/src/client_browser.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ClientBrowser extends ClientBase with ClientMixin {
3333
'x-sdk-name': 'Dart',
3434
'x-sdk-platform': 'server',
3535
'x-sdk-language': 'dart',
36-
'x-sdk-version': '11.0.1',
36+
'x-sdk-version': '11.0.2',
3737
'X-Appwrite-Response-Format' : '1.5.0',
3838
};
3939

lib/src/client_io.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class ClientIO extends ClientBase with ClientMixin {
4242
'x-sdk-name': 'Dart',
4343
'x-sdk-platform': 'server',
4444
'x-sdk-language': 'dart',
45-
'x-sdk-version': '11.0.1',
46-
'user-agent' : 'AppwriteDartSDK/11.0.1 (${Platform.operatingSystem}; ${Platform.operatingSystemVersion})',
45+
'x-sdk-version': '11.0.2',
46+
'user-agent' : 'AppwriteDartSDK/11.0.2 (${Platform.operatingSystem}; ${Platform.operatingSystemVersion})',
4747
'X-Appwrite-Response-Format' : '1.5.0',
4848
};
4949

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: dart_appwrite
2-
version: 11.0.1
2+
version: 11.0.2
33
description: Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API
44
homepage: https://appwrite.io
55
repository: https://github.com/appwrite/sdk-for-dart

test/id_test.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import 'package:test/test.dart';
33

44
void main() {
55
group('unique()', () {
6-
test('returns unique()', () {
7-
expect(ID.unique(), 'unique()');
6+
test('returns unique ID', () {
7+
expect((ID.unique()).length, 20);
88
});
99
});
1010

0 commit comments

Comments
 (0)