Skip to content

Commit

Permalink
refactor: revert to 1.2.10 with specific modifications (#142)
Browse files Browse the repository at this point in the history
* Revert to version 1.2.10 while preserving:
  - Deprecation of `deactive` and `deactiveVerification` methods
  - Fixes for `queryAsset` and `search` API
* Remove URI encoding for path parameters
* Simplify query parameter handling across multiple APIs
* Update version to 1.3.1
  • Loading branch information
YeungKC authored Jan 31, 2025
1 parent abf1d66 commit 35af9d8
Show file tree
Hide file tree
Showing 14 changed files with 77 additions and 84 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 1.3.1

* Revert to 1.2.10 with following exceptions preserved:
* Mark `deactive` and `deactiveVerification` as deprecated in favor of `deactivate` and `deactivateVerification`
* Fix `queryAsset` and `search` api

## 1.3.0

* Fix message offset api
Expand Down
18 changes: 9 additions & 9 deletions lib/src/api/account_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,19 @@ class AccountApi {

Future<MixinResponse<StickerAlbum>> getStickerAlbum(String id) =>
MixinResponse.request(
dio.get('/albums/${Uri.encodeComponent(id)}'),
dio.get('/albums/$id'),
StickerAlbum.fromJson,
);

Future<MixinResponse<List<Sticker>>> getStickersByAlbumId(String id) =>
MixinResponse.requestList(
dio.get('/stickers/albums/${Uri.encodeComponent(id)}'),
dio.get('/stickers/albums/$id'),
Sticker.fromJson,
);

Future<MixinResponse<Sticker>> getStickerById(String id) =>
MixinResponse.request<Sticker>(
dio.get('/stickers/${Uri.encodeComponent(id)}'),
dio.get('/stickers/$id'),
Sticker.fromJson,
);

Expand All @@ -88,7 +88,7 @@ class AccountApi {

Future<MixinResponse<CodeTypeInterface?>> code(String id) =>
MixinResponse.request<CodeTypeInterface?>(
dio.get('/codes/${Uri.encodeComponent(id)}'),
dio.get('/codes/$id'),
(json) {
try {
final jsonObject = json;
Expand Down Expand Up @@ -123,7 +123,7 @@ class AccountApi {

Future<MixinResponse<Account>> create(String id, AccountRequest request) =>
MixinResponse.request<Account>(
dio.post('/verifications/${Uri.encodeComponent(id)}', data: request),
dio.post('/verifications/$id', data: request),
Account.fromJson,
);

Expand Down Expand Up @@ -173,7 +173,7 @@ class AccountApi {
String code,
) =>
MixinResponse.request<VerificationResponse>(
dio.post('/verifications/${Uri.encodeComponent(id)}', data: {
dio.post('/verifications/$id', data: {
'code': code,
'purpose': VerificationPurpose.deactivated.name.toUpperCase(),
}),
Expand All @@ -194,9 +194,9 @@ class AccountApi {
}) =>
MixinResponse.requestList<LogResponse>(
dio.get('/logs', queryParameters: {
if (category != null && category.isNotEmpty) 'category': category,
if (offset != null && offset.isNotEmpty) 'offset': offset,
if (limit != null) 'limit': limit,
'category': category,
'offset': offset,
'limit': limit,
}),
LogResponse.fromJson,
);
Expand Down
6 changes: 3 additions & 3 deletions lib/src/api/address_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class AddressApi {

Future<MixinResponse<List<Address>>> getAddressesByAssetId(String assetId) =>
MixinResponse.requestList(
dio.get('/assets/${Uri.encodeComponent(assetId)}/addresses'),
dio.get('/assets/$assetId/addresses'),
Address.fromJson,
);

Expand All @@ -21,13 +21,13 @@ class AddressApi {

Future<MixinResponse<Address>> getAddressById(String id) =>
MixinResponse.request<Address>(
dio.get('/addresses/${Uri.encodeComponent(id)}'),
dio.get('/addresses/$id'),
Address.fromJson,
);

Future<MixinResponse<void>> deleteAddressById(String id, String pin) =>
MixinResponse.requestVoid(dio.post(
'/addresses/${Uri.encodeComponent(id)}/delete',
'/addresses/$id/delete',
data: {'pin': pin},
));
}
20 changes: 8 additions & 12 deletions lib/src/api/asset_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ class AssetApi {

Future<MixinResponse<Asset>> getAssetById(String id) =>
MixinResponse.request<Asset>(
dio.get('/assets/${Uri.encodeComponent(id)}'),
dio.get('/assets/$id'),
Asset.fromJson,
);

Future<MixinResponse<AssetFee>> getAssetFee(String id) =>
MixinResponse.request<AssetFee>(
dio.get('/assets/${Uri.encodeComponent(id)}/fee'),
dio.get('/assets/$id/fee'),
AssetFee.fromJson,
);

Expand All @@ -30,17 +30,13 @@ class AssetApi {
Token.fromJson,
);

Future<MixinResponse<List<PendingDeposit>>> pendingDeposits(
String? assetId, {
String? destination,
String? tag,
}) =>
Future<MixinResponse<List<PendingDeposit>>> pendingDeposits(String assetId,
{String? destination, String? tag}) =>
MixinResponse.requestList(
dio.get('/external/transactions', queryParameters: <String, dynamic>{
if (assetId != null && assetId.isNotEmpty) 'asset': assetId,
if (destination != null && destination.isNotEmpty)
'destination': destination,
if (tag != null && tag.isNotEmpty) 'tag': tag,
'asset': assetId,
'destination': destination,
'tag': tag,
}),
PendingDeposit.fromJson,
);
Expand All @@ -58,7 +54,7 @@ class AssetApi {

Future<MixinResponse<Chain>> getChain(String chainId) =>
MixinResponse.request<Chain>(
dio.get('/network/chains/${Uri.encodeComponent(chainId)}'),
dio.get('/network/chains/$chainId'),
Chain.fromJson,
);
}
2 changes: 1 addition & 1 deletion lib/src/api/attachment_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class AttachmentApi {

Future<MixinResponse<Attachment>> getAttachment(String id) =>
MixinResponse.request<Attachment>(
dio.get('/attachments/${Uri.encodeComponent(id)}'),
dio.get('/attachments/$id'),
Attachment.fromJson,
);

Expand Down
15 changes: 5 additions & 10 deletions lib/src/api/circle_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class CircleApi {

Future<MixinResponse<CircleResponse>> getCircle(String id) =>
MixinResponse.request<CircleResponse>(
dio.get('/circles/${Uri.encodeComponent(id)}'),
dio.get('/circles/$id'),
CircleResponse.fromJson,
);

Expand All @@ -32,19 +32,18 @@ class CircleApi {
Future<MixinResponse<CircleResponse>> updateCircle(
String id, CircleName circleName) =>
MixinResponse.request<CircleResponse>(
dio.post('/circles/${Uri.encodeComponent(id)}', data: circleName),
dio.post('/circles/$id', data: circleName),
CircleResponse.fromJson,
);

Future<MixinResponse<void>> deleteCircle(String id) =>
MixinResponse.requestVoid(
dio.post('/circles/${Uri.encodeComponent(id)}/delete'));
MixinResponse.requestVoid(dio.post('/circles/$id/delete'));

Future<MixinResponse<List<CircleConversation>>> updateCircleConversations(
String id,
List<CircleConversationRequest> conversationCircleRequests) =>
MixinResponse.requestList(
dio.post('/circles/${Uri.encodeComponent(id)}/conversations',
dio.post('/circles/$id/conversations',
data: conversationCircleRequests),
CircleConversation.fromJson,
);
Expand All @@ -54,11 +53,7 @@ class CircleApi {
{String? offset,
int limit = 500}) =>
MixinResponse.requestList(
dio.get('/circles/${Uri.encodeComponent(id)}/conversations',
queryParameters: {
if (offset != null && offset.isNotEmpty) 'offset': offset,
'limit': limit,
}),
dio.get('/circles/$id/conversations?offset=$offset&limit=$limit'),
CircleConversation.fromJson,
);
}
25 changes: 10 additions & 15 deletions lib/src/api/conversation_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,61 +17,56 @@ class ConversationApi {
Future<MixinResponse<ConversationResponse>> update(
String conversationId, ConversationRequest request) =>
MixinResponse.request<ConversationResponse>(
dio.post('/conversations/${Uri.encodeComponent(conversationId)}',
data: request),
dio.post('/conversations/$conversationId', data: request),
ConversationResponse.fromJson,
);

Future<MixinResponse<void>> exit(String conversationId) =>
MixinResponse.requestVoid(dio
.post('/conversations/${Uri.encodeComponent(conversationId)}/exit'));
MixinResponse.requestVoid(
dio.post('/conversations/$conversationId/exit'));

Future<MixinResponse<ConversationResponse>> getConversation(String id) =>
MixinResponse.request<ConversationResponse>(
dio.get('/conversations/${Uri.encodeComponent(id)}'),
dio.get('/conversations/$id'),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> updateConversation(String id) =>
MixinResponse.request<ConversationResponse>(
dio.get('/conversations/${Uri.encodeComponent(id)}'),
dio.get('/conversations/$id'),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> participants(
String id, String action, List<ParticipantRequest> requests) =>
MixinResponse.request<ConversationResponse>(
dio.post(
'/conversations/${Uri.encodeComponent(id)}/participants/${Uri.encodeComponent(action)}',
data: requests),
dio.post('/conversations/$id/participants/$action', data: requests),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> mute(
String id, ConversationRequest request) =>
MixinResponse.request<ConversationResponse>(
dio.post('/conversations/${Uri.encodeComponent(id)}/mute',
data: request),
dio.post('/conversations/$id/mute', data: request),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> rotate(String id) =>
MixinResponse.request<ConversationResponse>(
dio.post('/conversations/${Uri.encodeComponent(id)}/rotate'),
dio.post('/conversations/$id/rotate'),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> join(String id) =>
MixinResponse.request(
dio.post('/conversations/${Uri.encodeComponent(id)}/join'),
dio.post('/conversations/$id/join'),
ConversationResponse.fromJson,
);

Future<MixinResponse<ConversationResponse>> disappear(
String id, DisappearRequest request) =>
MixinResponse.request<ConversationResponse>(
dio.post('/conversations/${Uri.encodeComponent(id)}/disappear',
data: request),
dio.post('/conversations/$id/disappear', data: request),
ConversationResponse.fromJson,
);
}
3 changes: 1 addition & 2 deletions lib/src/api/message_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ class MessageApi {
MixinResponse.requestVoid(dio.post('/acknowledgements', data: ack));

Future<MixinResponse<List<BlazeMessageData>>> messageStatusOffset(
int offset,
) =>
int offset) =>
MixinResponse.requestList<BlazeMessageData>(
dio.get('/messages/status/$offset'),
BlazeMessageData.fromJson,
Expand Down
2 changes: 1 addition & 1 deletion lib/src/api/provisioning_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class ProvisioningApi {

Future<MixinResponse<Provisioning>> getProvisioning(String deviceId) =>
MixinResponse.request<Provisioning>(
dio.get('/provisionings/${Uri.encodeComponent(deviceId)}'),
dio.get('/provisionings/$deviceId'),
Provisioning.fromJson,
);

Expand Down
33 changes: 14 additions & 19 deletions lib/src/api/snapshot_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,43 @@ class SnapshotApi {
String? tag}) =>
MixinResponse.requestList(
dio.get('/snapshots', queryParameters: <String, dynamic>{
if (assetId != null && assetId.isNotEmpty) 'asset': assetId,
if (offset != null && offset.isNotEmpty) 'offset': offset,
'asset': assetId,
'offset': offset,
'limit': limit,
if (opponent != null && opponent.isNotEmpty) 'opponent': opponent,
if (destination != null && destination.isNotEmpty)
'destination': destination,
if (tag != null && tag.isNotEmpty) 'tag': tag,
'opponent': opponent,
'destination': destination,
'tag': tag,
}),
Snapshot.fromJson,
);

Future<MixinResponse<Snapshot>> getSnapshotById(String id) =>
MixinResponse.request<Snapshot>(
dio.get('/snapshots/${Uri.encodeComponent(id)}'),
dio.get('/snapshots/$id'),
Snapshot.fromJson,
);

Future<MixinResponse<List<Snapshot>>> getSnapshotsByAssetId(
String id, {
String? offset,
int limit = 30,
}) =>
Future<MixinResponse<List<Snapshot>>> getSnapshotsByAssetId(String id,
{String? offset, int limit = 30}) =>
MixinResponse.requestList(
dio.get('/assets/${Uri.encodeComponent(id)}/snapshots',
queryParameters: <String, dynamic>{
if (offset != null && offset.isNotEmpty) 'offset': offset,
'limit': limit,
}),
dio.get('/assets/$id/snapshots', queryParameters: <String, dynamic>{
'offset': offset,
'limit': limit,
}),
Snapshot.fromJson,
);

Future<MixinResponse<Snapshot>> getSnapshotByTraceId(String traceId) =>
MixinResponse.request(
dio.get('/snapshots/trace/${Uri.encodeComponent(traceId)}'),
dio.get('/snapshots/trace/$traceId'),
Snapshot.fromJson,
);

Future<MixinResponse<Ticker>> getTicker(String assetId, {String? offset}) =>
MixinResponse.request(
dio.get('/network/ticker', queryParameters: <String, dynamic>{
'asset': assetId,
if (offset != null && offset.isNotEmpty) 'offset': offset,
'offset': offset,
}),
Ticker.fromJson,
);
Expand Down
6 changes: 3 additions & 3 deletions lib/src/api/user_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class UserApi {

Future<MixinResponse<User>> getUserById(String id) =>
MixinResponse.request<User>(
dio.get('/users/${Uri.encodeComponent(id)}'),
dio.get('/users/$id'),
User.fromJson,
);

Expand Down Expand Up @@ -56,12 +56,12 @@ class UserApi {

Future<MixinResponse<List<FavoriteApp>>> getUserFavoriteApps(String userId) =>
MixinResponse.requestList(
dio.get('/users/${Uri.encodeComponent(userId)}/apps/favorite'),
dio.get('/users/$userId/apps/favorite'),
FavoriteApp.fromJson,
);

Future<void> removeFavoriteApp(String appId) => MixinResponse.requestVoid(
dio.post('/apps/${Uri.encodeComponent(appId)}/unfavorite'),
dio.post('/apps/$appId/unfavorite'),
);

/// Create Network Users. Only application user can create network users.
Expand Down
Loading

0 comments on commit 35af9d8

Please sign in to comment.