getFlaggedPostsForUser method
Get a list of flagged posts Get a page of flagged posts of a user provided user id string. Selects from a channel, team, or all flagged posts by a user. Will only return posts from channels in which the user is member. ##### Permissions Must be user or have `manage_system` permission.
Parameters:
userId
- ID of the userteamId
- Team IDchannelId
- Channel IDpage
- The page to selectperPage
- The number of posts per pagecancelToken
- ACancelToken
that can be used to cancel the operationheaders
- Can be used to add additional headers to the requestextras
- Can be used to add flags to the requestvalidateStatus
- AValidateStatus
callback that can be used to determine request success based on the HTTP status of the responseonSendProgress
- AProgressCallback
that can be used to get the send progressonReceiveProgress
- AProgressCallback
that can be used to get the receive progress
Returns a Future containing a Response
with a BuiltList<PostList>
as data
Throws DioError
if API call or serialization fails
Implementation
Future<Response<BuiltList<PostList>>> getFlaggedPostsForUser({
required String userId,
String? teamId,
String? channelId,
int? page = 0,
int? perPage = 60,
CancelToken? cancelToken,
Map<String, dynamic>? headers,
Map<String, dynamic>? extra,
ValidateStatus? validateStatus,
ProgressCallback? onSendProgress,
ProgressCallback? onReceiveProgress,
}) async {
final _path = r'/users/{user_id}/posts/flagged'.replaceAll('{' r'user_id' '}', userId.toString());
final _options = Options(
method: r'GET',
headers: <String, dynamic>{
...?headers,
},
extra: <String, dynamic>{
'secure': <Map<String, String>>[
{
'type': 'http',
'scheme': 'bearer',
'name': 'bearerAuth',
},
],
...?extra,
},
validateStatus: validateStatus,
);
final _queryParameters = <String, dynamic>{
if (teamId != null) r'team_id': encodeQueryParameter(_serializers, teamId, const FullType(String)),
if (channelId != null) r'channel_id': encodeQueryParameter(_serializers, channelId, const FullType(String)),
if (page != null) r'page': encodeQueryParameter(_serializers, page, const FullType(int)),
if (perPage != null) r'per_page': encodeQueryParameter(_serializers, perPage, const FullType(int)),
};
final _response = await _dio.request<Object>(
_path,
options: _options,
queryParameters: _queryParameters,
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
BuiltList<PostList> _responseData;
try {
const _responseType = FullType(BuiltList, [FullType(PostList)]);
_responseData = _serializers.deserialize(
_response.data!,
specifiedType: _responseType,
) as BuiltList<PostList>;
} catch (error, stackTrace) {
throw DioError(
requestOptions: _response.requestOptions,
response: _response,
type: DioErrorType.other,
error: error,
)..stackTrace = stackTrace;
}
return Response<BuiltList<PostList>>(
data: _responseData,
headers: _response.headers,
isRedirect: _response.isRedirect,
requestOptions: _response.requestOptions,
redirects: _response.redirects,
statusCode: _response.statusCode,
statusMessage: _response.statusMessage,
extra: _response.extra,
);
}