blob: 2b8c0400328263cf3c9fdeaafe63584b2d2d3bd6 [file] [log] [blame]
// This is a generated file (see the discoveryapis_generator project).
// ignore_for_file: camel_case_types
// ignore_for_file: comment_references
// ignore_for_file: directives_ordering
// ignore_for_file: file_names
// ignore_for_file: library_names
// ignore_for_file: lines_longer_than_80_chars
// ignore_for_file: non_constant_identifier_names
// ignore_for_file: prefer_expression_function_bodies
// ignore_for_file: prefer_final_locals
// ignore_for_file: prefer_interpolation_to_compose_strings
// ignore_for_file: unnecessary_brace_in_string_interps
// ignore_for_file: unnecessary_cast
// ignore_for_file: unnecessary_lambdas
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: unnecessary_string_interpolations
library googleapis.groupssettings.v1;
import 'dart:core' as core;
import 'dart:async' as async;
import 'dart:convert' as convert;
import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
import 'package:http/http.dart' as http;
export 'package:_discoveryapis_commons/_discoveryapis_commons.dart'
show ApiRequestError, DetailedApiRequestError;
const userAgent = 'dart-api-client groupssettings/v1';
/// Manages permission levels and related settings of a group.
class GroupssettingsApi {
/// View and manage the settings of a G Suite group
static const appsGroupsSettingsScope =
'https://www.googleapis.com/auth/apps.groups.settings';
final commons.ApiRequester _requester;
GroupsResourceApi get groups => GroupsResourceApi(_requester);
GroupssettingsApi(http.Client client,
{core.String rootUrl = 'https://www.googleapis.com/',
core.String servicePath = 'groups/v1/groups/'})
: _requester =
commons.ApiRequester(client, rootUrl, servicePath, userAgent);
}
class GroupsResourceApi {
final commons.ApiRequester _requester;
GroupsResourceApi(commons.ApiRequester client) : _requester = client;
/// Gets one resource by id.
///
/// Request parameters:
///
/// [groupUniqueId] - The group's email address.
///
/// [$fields] - Selector specifying which fields to include in a partial
/// response.
///
/// Completes with a [Groups].
///
/// Completes with a [commons.ApiRequestError] if the API endpoint returned an
/// error.
///
/// If the used [http.Client] completes with an error when making a REST call,
/// this method will complete with the same error.
async.Future<Groups> get(
core.String groupUniqueId, {
core.String $fields,
}) {
core.String _url;
final _queryParams = <core.String, core.List<core.String>>{};
commons.Media _uploadMedia;
commons.UploadOptions _uploadOptions;
var _downloadOptions = commons.DownloadOptions.Metadata;
core.String _body;
if (groupUniqueId == null) {
throw core.ArgumentError('Parameter groupUniqueId is required.');
}
if ($fields != null) {
_queryParams['fields'] = [$fields];
}
_url = commons.Escaper.ecapeVariable('$groupUniqueId');
final _response = _requester.request(
_url,
'GET',
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions,
);
return _response.then((data) => Groups.fromJson(data));
}
/// Updates an existing resource. This method supports patch semantics.
///
/// [request] - The metadata request object.
///
/// Request parameters:
///
/// [groupUniqueId] - The group's email address.
///
/// [$fields] - Selector specifying which fields to include in a partial
/// response.
///
/// Completes with a [Groups].
///
/// Completes with a [commons.ApiRequestError] if the API endpoint returned an
/// error.
///
/// If the used [http.Client] completes with an error when making a REST call,
/// this method will complete with the same error.
async.Future<Groups> patch(
Groups request,
core.String groupUniqueId, {
core.String $fields,
}) {
core.String _url;
final _queryParams = <core.String, core.List<core.String>>{};
commons.Media _uploadMedia;
commons.UploadOptions _uploadOptions;
var _downloadOptions = commons.DownloadOptions.Metadata;
core.String _body;
if (request != null) {
_body = convert.json.encode(request.toJson());
}
if (groupUniqueId == null) {
throw core.ArgumentError('Parameter groupUniqueId is required.');
}
if ($fields != null) {
_queryParams['fields'] = [$fields];
}
_url = commons.Escaper.ecapeVariable('$groupUniqueId');
final _response = _requester.request(
_url,
'PATCH',
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions,
);
return _response.then((data) => Groups.fromJson(data));
}
/// Updates an existing resource.
///
/// [request] - The metadata request object.
///
/// Request parameters:
///
/// [groupUniqueId] - The group's email address.
///
/// [$fields] - Selector specifying which fields to include in a partial
/// response.
///
/// Completes with a [Groups].
///
/// Completes with a [commons.ApiRequestError] if the API endpoint returned an
/// error.
///
/// If the used [http.Client] completes with an error when making a REST call,
/// this method will complete with the same error.
async.Future<Groups> update(
Groups request,
core.String groupUniqueId, {
core.String $fields,
}) {
core.String _url;
final _queryParams = <core.String, core.List<core.String>>{};
commons.Media _uploadMedia;
commons.UploadOptions _uploadOptions;
var _downloadOptions = commons.DownloadOptions.Metadata;
core.String _body;
if (request != null) {
_body = convert.json.encode(request.toJson());
}
if (groupUniqueId == null) {
throw core.ArgumentError('Parameter groupUniqueId is required.');
}
if ($fields != null) {
_queryParams['fields'] = [$fields];
}
_url = commons.Escaper.ecapeVariable('$groupUniqueId');
final _response = _requester.request(
_url,
'PUT',
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions,
);
return _response.then((data) => Groups.fromJson(data));
}
}
/// JSON template for Group resource
class Groups {
/// Identifies whether members external to your organization can join the
/// group. Possible values are:
/// - true: G Suite users external to your organization can become members of
/// this group.
/// - false: Users not belonging to the organization are not allowed to become
/// members of this group.
core.String allowExternalMembers;
/// Deprecated. Allows Google to contact administrator of the group.
/// - true: Allow Google to contact managers of this group. Occasionally
/// Google may send updates on the latest features, ask for input on new
/// features, or ask for permission to highlight your group.
/// - false: Google can not contact managers of this group.
core.String allowGoogleCommunication;
/// Allows posting from web. Possible values are:
/// - true: Allows any member to post to the group forum.
/// - false: Members only use Gmail to communicate with the group.
core.String allowWebPosting;
/// Allows the group to be archived only. Possible values are:
/// - true: Group is archived and the group is inactive. New messages to this
/// group are rejected. The older archived messages are browseable and
/// searchable.
/// - If true, the whoCanPostMessage property is set to NONE_CAN_POST.
/// - If reverted from true to false, whoCanPostMessages is set to
/// ALL_MANAGERS_CAN_POST.
/// - false: The group is active and can receive messages.
/// - When false, updating whoCanPostMessage to NONE_CAN_POST, results in an
/// error.
core.String archiveOnly;
/// Set the content of custom footer text. The maximum number of characters is
/// 1,000.
core.String customFooterText;
/// An email address used when replying to a message if the replyTo property
/// is set to REPLY_TO_CUSTOM. This address is defined by an account
/// administrator.
/// - When the group's ReplyTo property is set to REPLY_TO_CUSTOM, the
/// customReplyTo property holds a custom email address used when replying to
/// a message.
/// - If the group's ReplyTo property is set to REPLY_TO_CUSTOM, the
/// customReplyTo property must have a text value or an error is returned.
core.String customReplyTo;
/// Specifies whether the group has a custom role that's included in one of
/// the settings being merged. This field is read-only and update/patch
/// requests to it are ignored. Possible values are:
/// - true
/// - false
core.String customRolesEnabledForSettingsToBeMerged;
/// When a message is rejected, this is text for the rejection notification
/// sent to the message's author. By default, this property is empty and has
/// no value in the API's response body. The maximum notification text size is
/// 10,000 characters. Note: Requires sendMessageDenyNotification property to
/// be true.
core.String defaultMessageDenyNotificationText;
/// Description of the group. This property value may be an empty string if no
/// group description has been entered. If entered, the maximum group
/// description is no more than 300 characters.
core.String description;
/// The group's email address. This property can be updated using the
/// Directory API. Note: Only a group owner can change a group's email
/// address. A group manager can't do this.
/// When you change your group's address using the Directory API or the
/// control panel, you are changing the address your subscribers use to send
/// email and the web address people use to access your group. People can't
/// reach your group by visiting the old address.
core.String email;
/// Specifies whether a collaborative inbox will remain turned on for the
/// group. Possible values are:
/// - true
/// - false
core.String enableCollaborativeInbox;
/// Indicates if favorite replies should be displayed above other replies.
/// - true: Favorite replies will be displayed above other replies.
/// - false: Favorite replies will not be displayed above other replies.
core.String favoriteRepliesOnTop;
/// Whether to include custom footer. Possible values are:
/// - true
/// - false
core.String includeCustomFooter;
/// Enables the group to be included in the Global Address List. For more
/// information, see the help center. Possible values are:
/// - true: Group is included in the Global Address List.
/// - false: Group is not included in the Global Address List.
core.String includeInGlobalAddressList;
/// Allows the Group contents to be archived. Possible values are:
/// - true: Archive messages sent to the group.
/// - false: Do not keep an archive of messages sent to this group. If false,
/// previously archived messages remain in the archive.
core.String isArchived;
/// The type of the resource. It is always groupsSettings#groups.
core.String kind;
/// Deprecated. The maximum size of a message is 25Mb.
core.int maxMessageBytes;
/// Enables members to post messages as the group. Possible values are:
/// - true: Group member can post messages using the group's email address
/// instead of their own email address. Message appear to originate from the
/// group itself. Note: When true, any message moderation settings on
/// individual users or new members do not apply to posts made on behalf of
/// the group.
/// - false: Members can not post in behalf of the group's email address.
core.String membersCanPostAsTheGroup;
/// Deprecated. The default message display font always has a value of
/// "DEFAULT_FONT".
core.String messageDisplayFont;
/// Moderation level of incoming messages. Possible values are:
/// - MODERATE_ALL_MESSAGES: All messages are sent to the group owner's email
/// address for approval. If approved, the message is sent to the group.
/// - MODERATE_NON_MEMBERS: All messages from non group members are sent to
/// the group owner's email address for approval. If approved, the message is
/// sent to the group.
/// - MODERATE_NEW_MEMBERS: All messages from new members are sent to the
/// group owner's email address for approval. If approved, the message is sent
/// to the group.
/// - MODERATE_NONE: No moderator approval is required. Messages are delivered
/// directly to the group. Note: When the whoCanPostMessage is set to
/// ANYONE_CAN_POST, we recommend the messageModerationLevel be set to
/// MODERATE_NON_MEMBERS to protect the group from possible spam.
/// When memberCanPostAsTheGroup is true, any message moderation settings on
/// individual users or new members will not apply to posts made on behalf of
/// the group.
core.String messageModerationLevel;
/// Name of the group, which has a maximum size of 75 characters.
core.String name;
/// The primary language for group. For a group's primary language use the
/// language tags from the G Suite languages found at G Suite Email Settings
/// API Email Language Tags.
core.String primaryLanguage;
/// Specifies who receives the default reply. Possible values are:
/// - REPLY_TO_CUSTOM: For replies to messages, use the group's custom email
/// address.
/// When the group's ReplyTo property is set to REPLY_TO_CUSTOM, the
/// customReplyTo property holds the custom email address used when replying
/// to a message. If the group's ReplyTo property is set to REPLY_TO_CUSTOM,
/// the customReplyTo property must have a value. Otherwise an error is
/// returned.
///
/// - REPLY_TO_SENDER: The reply sent to author of message.
/// - REPLY_TO_LIST: This reply message is sent to the group.
/// - REPLY_TO_OWNER: The reply is sent to the owner(s) of the group. This
/// does not include the group's managers.
/// - REPLY_TO_IGNORE: Group users individually decide where the message reply
/// is sent.
/// - REPLY_TO_MANAGERS: This reply message is sent to the group's managers,
/// which includes all managers and the group owner.
core.String replyTo;
/// Allows a member to be notified if the member's message to the group is
/// denied by the group owner. Possible values are:
/// - true: When a message is rejected, send the deny message notification to
/// the message author.
/// The defaultMessageDenyNotificationText property is dependent on the
/// sendMessageDenyNotification property being true.
///
/// - false: When a message is rejected, no notification is sent.
core.String sendMessageDenyNotification;
/// Deprecated. This is merged into the new whoCanDiscoverGroup setting.
/// Allows the group to be visible in the Groups Directory. Possible values
/// are:
/// - true: All groups in the account are listed in the Groups directory.
/// - false: All groups in the account are not listed in the directory.
core.String showInGroupDirectory;
/// Specifies moderation levels for messages detected as spam. Possible values
/// are:
/// - ALLOW: Post the message to the group.
/// - MODERATE: Send the message to the moderation queue. This is the default.
/// - SILENTLY_MODERATE: Send the message to the moderation queue, but do not
/// send notification to moderators.
/// - REJECT: Immediately reject the message.
core.String spamModerationLevel;
/// Deprecated. This is merged into the new whoCanModerateMembers setting.
/// Permissions to add members. Possible values are:
/// - ALL_MEMBERS_CAN_ADD: Managers and members can directly add new members.
/// - ALL_MANAGERS_CAN_ADD: Only managers can directly add new members. this
/// includes the group's owner.
/// - ALL_OWNERS_CAN_ADD: Only owners can directly add new members.
/// - NONE_CAN_ADD: No one can directly add new members.
core.String whoCanAdd;
/// Deprecated. This functionality is no longer supported in the Google Groups
/// UI. The value is always "NONE".
core.String whoCanAddReferences;
/// Specifies who can approve members who ask to join groups. This permission
/// will be deprecated once it is merged into the new whoCanModerateMembers
/// setting. Possible values are:
/// - ALL_MEMBERS_CAN_APPROVE
/// - ALL_MANAGERS_CAN_APPROVE
/// - ALL_OWNERS_CAN_APPROVE
/// - NONE_CAN_APPROVE
core.String whoCanApproveMembers;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can approve pending messages in the moderation queue.
/// Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanApproveMessages;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to assign topics in a forum to another user. Possible values
/// are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanAssignTopics;
/// Specifies who can moderate metadata. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanAssistContent;
/// Specifies who can deny membership to users. This permission will be
/// deprecated once it is merged into the new whoCanModerateMembers setting.
/// Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanBanUsers;
/// Permission to contact owner of the group via web UI. Possible values are:
/// - ALL_IN_DOMAIN_CAN_CONTACT
/// - ALL_MANAGERS_CAN_CONTACT
/// - ALL_MEMBERS_CAN_CONTACT
/// - ANYONE_CAN_CONTACT
core.String whoCanContactOwner;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can delete replies to topics. (Authors can always delete
/// their own posts). Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanDeleteAnyPost;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can delete topics. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanDeleteTopics;
/// Specifies the set of users for whom this group is discoverable. Possible
/// values are:
/// - ANYONE_CAN_DISCOVER
/// - ALL_IN_DOMAIN_CAN_DISCOVER
/// - ALL_MEMBERS_CAN_DISCOVER
core.String whoCanDiscoverGroup;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to enter free form tags for topics in a forum. Possible values
/// are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanEnterFreeFormTags;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can hide posts by reporting them as abuse. Possible values
/// are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanHideAbuse;
/// Deprecated. This is merged into the new whoCanModerateMembers setting.
/// Permissions to invite new members. Possible values are:
/// - ALL_MEMBERS_CAN_INVITE: Managers and members can invite a new member
/// candidate.
/// - ALL_MANAGERS_CAN_INVITE: Only managers can invite a new member. This
/// includes the group's owner.
/// - ALL_OWNERS_CAN_INVITE: Only owners can invite a new member.
/// - NONE_CAN_INVITE: No one can invite a new member candidate.
core.String whoCanInvite;
/// Permission to join group. Possible values are:
/// - ANYONE_CAN_JOIN: Anyone in the account domain can join. This includes
/// accounts with multiple domains.
/// - ALL_IN_DOMAIN_CAN_JOIN: Any Internet user who is outside your domain can
/// access your Google Groups service and view the list of groups in your
/// Groups directory. Warning: Group owners can add external addresses,
/// outside of the domain to their groups. They can also allow people outside
/// your domain to join their groups. If you later disable this option, any
/// external addresses already added to users' groups remain in those groups.
/// - INVITED_CAN_JOIN: Candidates for membership can be invited to join.
/// - CAN_REQUEST_TO_JOIN: Non members can request an invitation to join.
core.String whoCanJoin;
/// Permission to leave the group. Possible values are:
/// - ALL_MANAGERS_CAN_LEAVE
/// - ALL_MEMBERS_CAN_LEAVE
/// - NONE_CAN_LEAVE
core.String whoCanLeaveGroup;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can prevent users from posting replies to topics. Possible
/// values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanLockTopics;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can make topics appear at the top of the topic list.
/// Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMakeTopicsSticky;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to mark a topic as a duplicate of another topic. Possible
/// values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMarkDuplicate;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to mark any other user's post as a favorite reply. Possible
/// values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMarkFavoriteReplyOnAnyTopic;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to mark a post for a topic they started as a favorite reply.
/// Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMarkFavoriteReplyOnOwnTopic;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to mark a topic as not needing a response. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMarkNoResponseNeeded;
/// Specifies who can moderate content. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanModerateContent;
/// Specifies who can manage members. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanModerateMembers;
/// Deprecated. This is merged into the new whoCanModerateMembers setting.
/// Specifies who can change group members' roles. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanModifyMembers;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to change tags and categories. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanModifyTagsAndCategories;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can move topics into the group or forum. Possible values
/// are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMoveTopicsIn;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can move topics out of the group or forum. Possible values
/// are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanMoveTopicsOut;
/// Deprecated. This is merged into the new whoCanModerateContent setting.
/// Specifies who can post announcements, a special topic type. Possible
/// values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - OWNERS_ONLY
/// - NONE
core.String whoCanPostAnnouncements;
/// Permissions to post messages. Possible values are:
/// - NONE_CAN_POST: The group is disabled and archived. No one can post a
/// message to this group.
/// - When archiveOnly is false, updating whoCanPostMessage to NONE_CAN_POST,
/// results in an error.
/// - If archiveOnly is reverted from true to false, whoCanPostMessages is set
/// to ALL_MANAGERS_CAN_POST.
/// - ALL_MANAGERS_CAN_POST: Managers, including group owners, can post
/// messages.
/// - ALL_MEMBERS_CAN_POST: Any group member can post a message.
/// - ALL_OWNERS_CAN_POST: Only group owners can post a message.
/// - ALL_IN_DOMAIN_CAN_POST: Anyone in the account can post a message.
/// - ANYONE_CAN_POST: Any Internet user who outside your account can access
/// your Google Groups service and post a message. Note: When
/// whoCanPostMessage is set to ANYONE_CAN_POST, we recommend the
/// messageModerationLevel be set to MODERATE_NON_MEMBERS to protect the group
/// from possible spam.
core.String whoCanPostMessage;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to take topics in a forum. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanTakeTopics;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to unassign any topic in a forum. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanUnassignTopic;
/// Deprecated. This is merged into the new whoCanAssistContent setting.
/// Permission to unmark any post from a favorite reply. Possible values are:
/// - ALL_MEMBERS
/// - OWNERS_AND_MANAGERS
/// - MANAGERS_ONLY
/// - OWNERS_ONLY
/// - NONE
core.String whoCanUnmarkFavoriteReplyOnAnyTopic;
/// Permissions to view group messages. Possible values are:
/// - ANYONE_CAN_VIEW: Any Internet user can view the group's messages.
/// - ALL_IN_DOMAIN_CAN_VIEW: Anyone in your account can view this group's
/// messages.
/// - ALL_MEMBERS_CAN_VIEW: All group members can view the group's messages.
/// - ALL_MANAGERS_CAN_VIEW: Any group manager can view this group's messages.
core.String whoCanViewGroup;
/// Permissions to view membership. Possible values are:
/// - ALL_IN_DOMAIN_CAN_VIEW: Anyone in the account can view the group members
/// list.
/// If a group already has external members, those members can still send
/// email to this group.
///
/// - ALL_MEMBERS_CAN_VIEW: The group members can view the group members list.
/// - ALL_MANAGERS_CAN_VIEW: The group managers can view group members list.
core.String whoCanViewMembership;
Groups();
Groups.fromJson(core.Map _json) {
if (_json.containsKey('allowExternalMembers')) {
allowExternalMembers = _json['allowExternalMembers'] as core.String;
}
if (_json.containsKey('allowGoogleCommunication')) {
allowGoogleCommunication =
_json['allowGoogleCommunication'] as core.String;
}
if (_json.containsKey('allowWebPosting')) {
allowWebPosting = _json['allowWebPosting'] as core.String;
}
if (_json.containsKey('archiveOnly')) {
archiveOnly = _json['archiveOnly'] as core.String;
}
if (_json.containsKey('customFooterText')) {
customFooterText = _json['customFooterText'] as core.String;
}
if (_json.containsKey('customReplyTo')) {
customReplyTo = _json['customReplyTo'] as core.String;
}
if (_json.containsKey('customRolesEnabledForSettingsToBeMerged')) {
customRolesEnabledForSettingsToBeMerged =
_json['customRolesEnabledForSettingsToBeMerged'] as core.String;
}
if (_json.containsKey('defaultMessageDenyNotificationText')) {
defaultMessageDenyNotificationText =
_json['defaultMessageDenyNotificationText'] as core.String;
}
if (_json.containsKey('description')) {
description = _json['description'] as core.String;
}
if (_json.containsKey('email')) {
email = _json['email'] as core.String;
}
if (_json.containsKey('enableCollaborativeInbox')) {
enableCollaborativeInbox =
_json['enableCollaborativeInbox'] as core.String;
}
if (_json.containsKey('favoriteRepliesOnTop')) {
favoriteRepliesOnTop = _json['favoriteRepliesOnTop'] as core.String;
}
if (_json.containsKey('includeCustomFooter')) {
includeCustomFooter = _json['includeCustomFooter'] as core.String;
}
if (_json.containsKey('includeInGlobalAddressList')) {
includeInGlobalAddressList =
_json['includeInGlobalAddressList'] as core.String;
}
if (_json.containsKey('isArchived')) {
isArchived = _json['isArchived'] as core.String;
}
if (_json.containsKey('kind')) {
kind = _json['kind'] as core.String;
}
if (_json.containsKey('maxMessageBytes')) {
maxMessageBytes = _json['maxMessageBytes'] as core.int;
}
if (_json.containsKey('membersCanPostAsTheGroup')) {
membersCanPostAsTheGroup =
_json['membersCanPostAsTheGroup'] as core.String;
}
if (_json.containsKey('messageDisplayFont')) {
messageDisplayFont = _json['messageDisplayFont'] as core.String;
}
if (_json.containsKey('messageModerationLevel')) {
messageModerationLevel = _json['messageModerationLevel'] as core.String;
}
if (_json.containsKey('name')) {
name = _json['name'] as core.String;
}
if (_json.containsKey('primaryLanguage')) {
primaryLanguage = _json['primaryLanguage'] as core.String;
}
if (_json.containsKey('replyTo')) {
replyTo = _json['replyTo'] as core.String;
}
if (_json.containsKey('sendMessageDenyNotification')) {
sendMessageDenyNotification =
_json['sendMessageDenyNotification'] as core.String;
}
if (_json.containsKey('showInGroupDirectory')) {
showInGroupDirectory = _json['showInGroupDirectory'] as core.String;
}
if (_json.containsKey('spamModerationLevel')) {
spamModerationLevel = _json['spamModerationLevel'] as core.String;
}
if (_json.containsKey('whoCanAdd')) {
whoCanAdd = _json['whoCanAdd'] as core.String;
}
if (_json.containsKey('whoCanAddReferences')) {
whoCanAddReferences = _json['whoCanAddReferences'] as core.String;
}
if (_json.containsKey('whoCanApproveMembers')) {
whoCanApproveMembers = _json['whoCanApproveMembers'] as core.String;
}
if (_json.containsKey('whoCanApproveMessages')) {
whoCanApproveMessages = _json['whoCanApproveMessages'] as core.String;
}
if (_json.containsKey('whoCanAssignTopics')) {
whoCanAssignTopics = _json['whoCanAssignTopics'] as core.String;
}
if (_json.containsKey('whoCanAssistContent')) {
whoCanAssistContent = _json['whoCanAssistContent'] as core.String;
}
if (_json.containsKey('whoCanBanUsers')) {
whoCanBanUsers = _json['whoCanBanUsers'] as core.String;
}
if (_json.containsKey('whoCanContactOwner')) {
whoCanContactOwner = _json['whoCanContactOwner'] as core.String;
}
if (_json.containsKey('whoCanDeleteAnyPost')) {
whoCanDeleteAnyPost = _json['whoCanDeleteAnyPost'] as core.String;
}
if (_json.containsKey('whoCanDeleteTopics')) {
whoCanDeleteTopics = _json['whoCanDeleteTopics'] as core.String;
}
if (_json.containsKey('whoCanDiscoverGroup')) {
whoCanDiscoverGroup = _json['whoCanDiscoverGroup'] as core.String;
}
if (_json.containsKey('whoCanEnterFreeFormTags')) {
whoCanEnterFreeFormTags = _json['whoCanEnterFreeFormTags'] as core.String;
}
if (_json.containsKey('whoCanHideAbuse')) {
whoCanHideAbuse = _json['whoCanHideAbuse'] as core.String;
}
if (_json.containsKey('whoCanInvite')) {
whoCanInvite = _json['whoCanInvite'] as core.String;
}
if (_json.containsKey('whoCanJoin')) {
whoCanJoin = _json['whoCanJoin'] as core.String;
}
if (_json.containsKey('whoCanLeaveGroup')) {
whoCanLeaveGroup = _json['whoCanLeaveGroup'] as core.String;
}
if (_json.containsKey('whoCanLockTopics')) {
whoCanLockTopics = _json['whoCanLockTopics'] as core.String;
}
if (_json.containsKey('whoCanMakeTopicsSticky')) {
whoCanMakeTopicsSticky = _json['whoCanMakeTopicsSticky'] as core.String;
}
if (_json.containsKey('whoCanMarkDuplicate')) {
whoCanMarkDuplicate = _json['whoCanMarkDuplicate'] as core.String;
}
if (_json.containsKey('whoCanMarkFavoriteReplyOnAnyTopic')) {
whoCanMarkFavoriteReplyOnAnyTopic =
_json['whoCanMarkFavoriteReplyOnAnyTopic'] as core.String;
}
if (_json.containsKey('whoCanMarkFavoriteReplyOnOwnTopic')) {
whoCanMarkFavoriteReplyOnOwnTopic =
_json['whoCanMarkFavoriteReplyOnOwnTopic'] as core.String;
}
if (_json.containsKey('whoCanMarkNoResponseNeeded')) {
whoCanMarkNoResponseNeeded =
_json['whoCanMarkNoResponseNeeded'] as core.String;
}
if (_json.containsKey('whoCanModerateContent')) {
whoCanModerateContent = _json['whoCanModerateContent'] as core.String;
}
if (_json.containsKey('whoCanModerateMembers')) {
whoCanModerateMembers = _json['whoCanModerateMembers'] as core.String;
}
if (_json.containsKey('whoCanModifyMembers')) {
whoCanModifyMembers = _json['whoCanModifyMembers'] as core.String;
}
if (_json.containsKey('whoCanModifyTagsAndCategories')) {
whoCanModifyTagsAndCategories =
_json['whoCanModifyTagsAndCategories'] as core.String;
}
if (_json.containsKey('whoCanMoveTopicsIn')) {
whoCanMoveTopicsIn = _json['whoCanMoveTopicsIn'] as core.String;
}
if (_json.containsKey('whoCanMoveTopicsOut')) {
whoCanMoveTopicsOut = _json['whoCanMoveTopicsOut'] as core.String;
}
if (_json.containsKey('whoCanPostAnnouncements')) {
whoCanPostAnnouncements = _json['whoCanPostAnnouncements'] as core.String;
}
if (_json.containsKey('whoCanPostMessage')) {
whoCanPostMessage = _json['whoCanPostMessage'] as core.String;
}
if (_json.containsKey('whoCanTakeTopics')) {
whoCanTakeTopics = _json['whoCanTakeTopics'] as core.String;
}
if (_json.containsKey('whoCanUnassignTopic')) {
whoCanUnassignTopic = _json['whoCanUnassignTopic'] as core.String;
}
if (_json.containsKey('whoCanUnmarkFavoriteReplyOnAnyTopic')) {
whoCanUnmarkFavoriteReplyOnAnyTopic =
_json['whoCanUnmarkFavoriteReplyOnAnyTopic'] as core.String;
}
if (_json.containsKey('whoCanViewGroup')) {
whoCanViewGroup = _json['whoCanViewGroup'] as core.String;
}
if (_json.containsKey('whoCanViewMembership')) {
whoCanViewMembership = _json['whoCanViewMembership'] as core.String;
}
}
core.Map<core.String, core.Object> toJson() {
final _json = <core.String, core.Object>{};
if (allowExternalMembers != null) {
_json['allowExternalMembers'] = allowExternalMembers;
}
if (allowGoogleCommunication != null) {
_json['allowGoogleCommunication'] = allowGoogleCommunication;
}
if (allowWebPosting != null) {
_json['allowWebPosting'] = allowWebPosting;
}
if (archiveOnly != null) {
_json['archiveOnly'] = archiveOnly;
}
if (customFooterText != null) {
_json['customFooterText'] = customFooterText;
}
if (customReplyTo != null) {
_json['customReplyTo'] = customReplyTo;
}
if (customRolesEnabledForSettingsToBeMerged != null) {
_json['customRolesEnabledForSettingsToBeMerged'] =
customRolesEnabledForSettingsToBeMerged;
}
if (defaultMessageDenyNotificationText != null) {
_json['defaultMessageDenyNotificationText'] =
defaultMessageDenyNotificationText;
}
if (description != null) {
_json['description'] = description;
}
if (email != null) {
_json['email'] = email;
}
if (enableCollaborativeInbox != null) {
_json['enableCollaborativeInbox'] = enableCollaborativeInbox;
}
if (favoriteRepliesOnTop != null) {
_json['favoriteRepliesOnTop'] = favoriteRepliesOnTop;
}
if (includeCustomFooter != null) {
_json['includeCustomFooter'] = includeCustomFooter;
}
if (includeInGlobalAddressList != null) {
_json['includeInGlobalAddressList'] = includeInGlobalAddressList;
}
if (isArchived != null) {
_json['isArchived'] = isArchived;
}
if (kind != null) {
_json['kind'] = kind;
}
if (maxMessageBytes != null) {
_json['maxMessageBytes'] = maxMessageBytes;
}
if (membersCanPostAsTheGroup != null) {
_json['membersCanPostAsTheGroup'] = membersCanPostAsTheGroup;
}
if (messageDisplayFont != null) {
_json['messageDisplayFont'] = messageDisplayFont;
}
if (messageModerationLevel != null) {
_json['messageModerationLevel'] = messageModerationLevel;
}
if (name != null) {
_json['name'] = name;
}
if (primaryLanguage != null) {
_json['primaryLanguage'] = primaryLanguage;
}
if (replyTo != null) {
_json['replyTo'] = replyTo;
}
if (sendMessageDenyNotification != null) {
_json['sendMessageDenyNotification'] = sendMessageDenyNotification;
}
if (showInGroupDirectory != null) {
_json['showInGroupDirectory'] = showInGroupDirectory;
}
if (spamModerationLevel != null) {
_json['spamModerationLevel'] = spamModerationLevel;
}
if (whoCanAdd != null) {
_json['whoCanAdd'] = whoCanAdd;
}
if (whoCanAddReferences != null) {
_json['whoCanAddReferences'] = whoCanAddReferences;
}
if (whoCanApproveMembers != null) {
_json['whoCanApproveMembers'] = whoCanApproveMembers;
}
if (whoCanApproveMessages != null) {
_json['whoCanApproveMessages'] = whoCanApproveMessages;
}
if (whoCanAssignTopics != null) {
_json['whoCanAssignTopics'] = whoCanAssignTopics;
}
if (whoCanAssistContent != null) {
_json['whoCanAssistContent'] = whoCanAssistContent;
}
if (whoCanBanUsers != null) {
_json['whoCanBanUsers'] = whoCanBanUsers;
}
if (whoCanContactOwner != null) {
_json['whoCanContactOwner'] = whoCanContactOwner;
}
if (whoCanDeleteAnyPost != null) {
_json['whoCanDeleteAnyPost'] = whoCanDeleteAnyPost;
}
if (whoCanDeleteTopics != null) {
_json['whoCanDeleteTopics'] = whoCanDeleteTopics;
}
if (whoCanDiscoverGroup != null) {
_json['whoCanDiscoverGroup'] = whoCanDiscoverGroup;
}
if (whoCanEnterFreeFormTags != null) {
_json['whoCanEnterFreeFormTags'] = whoCanEnterFreeFormTags;
}
if (whoCanHideAbuse != null) {
_json['whoCanHideAbuse'] = whoCanHideAbuse;
}
if (whoCanInvite != null) {
_json['whoCanInvite'] = whoCanInvite;
}
if (whoCanJoin != null) {
_json['whoCanJoin'] = whoCanJoin;
}
if (whoCanLeaveGroup != null) {
_json['whoCanLeaveGroup'] = whoCanLeaveGroup;
}
if (whoCanLockTopics != null) {
_json['whoCanLockTopics'] = whoCanLockTopics;
}
if (whoCanMakeTopicsSticky != null) {
_json['whoCanMakeTopicsSticky'] = whoCanMakeTopicsSticky;
}
if (whoCanMarkDuplicate != null) {
_json['whoCanMarkDuplicate'] = whoCanMarkDuplicate;
}
if (whoCanMarkFavoriteReplyOnAnyTopic != null) {
_json['whoCanMarkFavoriteReplyOnAnyTopic'] =
whoCanMarkFavoriteReplyOnAnyTopic;
}
if (whoCanMarkFavoriteReplyOnOwnTopic != null) {
_json['whoCanMarkFavoriteReplyOnOwnTopic'] =
whoCanMarkFavoriteReplyOnOwnTopic;
}
if (whoCanMarkNoResponseNeeded != null) {
_json['whoCanMarkNoResponseNeeded'] = whoCanMarkNoResponseNeeded;
}
if (whoCanModerateContent != null) {
_json['whoCanModerateContent'] = whoCanModerateContent;
}
if (whoCanModerateMembers != null) {
_json['whoCanModerateMembers'] = whoCanModerateMembers;
}
if (whoCanModifyMembers != null) {
_json['whoCanModifyMembers'] = whoCanModifyMembers;
}
if (whoCanModifyTagsAndCategories != null) {
_json['whoCanModifyTagsAndCategories'] = whoCanModifyTagsAndCategories;
}
if (whoCanMoveTopicsIn != null) {
_json['whoCanMoveTopicsIn'] = whoCanMoveTopicsIn;
}
if (whoCanMoveTopicsOut != null) {
_json['whoCanMoveTopicsOut'] = whoCanMoveTopicsOut;
}
if (whoCanPostAnnouncements != null) {
_json['whoCanPostAnnouncements'] = whoCanPostAnnouncements;
}
if (whoCanPostMessage != null) {
_json['whoCanPostMessage'] = whoCanPostMessage;
}
if (whoCanTakeTopics != null) {
_json['whoCanTakeTopics'] = whoCanTakeTopics;
}
if (whoCanUnassignTopic != null) {
_json['whoCanUnassignTopic'] = whoCanUnassignTopic;
}
if (whoCanUnmarkFavoriteReplyOnAnyTopic != null) {
_json['whoCanUnmarkFavoriteReplyOnAnyTopic'] =
whoCanUnmarkFavoriteReplyOnAnyTopic;
}
if (whoCanViewGroup != null) {
_json['whoCanViewGroup'] = whoCanViewGroup;
}
if (whoCanViewMembership != null) {
_json['whoCanViewMembership'] = whoCanViewMembership;
}
return _json;
}
}