feat(profile): send message and subscribe button

This commit is contained in:
mso7nueh
2024-11-22 16:44:52 +03:00
parent c909c75d47
commit b8afeb53b4
6 changed files with 124 additions and 4 deletions

View File

@@ -70,4 +70,14 @@ abstract class ProfileService {
Future<SubPaginationModel> getSubscriptions({
@Path() required String slug,
});
@POST('/api/profile/subscribe/{slug}')
Future<void> subscribe({
@Path() required String slug,
});
@POST('/api/profile/unsubscribe/{slug}')
Future<void> unsubscribe({
@Path() required String slug,
});
}

View File

@@ -442,6 +442,56 @@ class _ProfileService implements ProfileService {
return _value;
}
@override
Future<void> subscribe({required String slug}) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _options = _setStreamType<void>(Options(
method: 'POST',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/api/profile/subscribe/${slug}',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
)));
await _dio.fetch<void>(_options);
}
@override
Future<void> unsubscribe({required String slug}) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _options = _setStreamType<void>(Options(
method: 'POST',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/api/profile/unsubscribe/${slug}',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
)));
await _dio.fetch<void>(_options);
}
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
if (T != dynamic &&
!(requestOptions.responseType == ResponseType.bytes ||