googleapis
Version:
Google APIs Client Library for Node.js
415 lines (414 loc) • 17.5 kB
TypeScript
/**
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { OAuth2Client, JWT, Compute, UserRefreshClient } from 'google-auth-library';
import { GoogleConfigurable, MethodOptions, GlobalOptions, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { GaxiosPromise } from 'gaxios';
export declare namespace groupssettings_v1 {
interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Data format for the response.
*/
alt?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
*/
quotaUser?: string;
/**
* Deprecated. Please use quotaUser instead.
*/
userIp?: string;
}
/**
* Groups Settings API
*
* Manages permission levels and related settings of a group.
*
* @example
* const {google} = require('googleapis');
* const groupssettings = google.groupssettings('v1');
*
* @namespace groupssettings
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Groupssettings
*/
class Groupssettings {
context: APIRequestContext;
groups: Resource$Groups;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* JSON template for Group resource
*/
interface Schema$Groups {
/**
* Are external members allowed to join the group.
*/
allowExternalMembers?: string;
/**
* Is google allowed to contact admins.
*/
allowGoogleCommunication?: string;
/**
* If posting from web is allowed.
*/
allowWebPosting?: string;
/**
* If the group is archive only
*/
archiveOnly?: string;
/**
* Custom footer text.
*/
customFooterText?: string;
/**
* Default email to which reply to any message should go.
*/
customReplyTo?: string;
/**
* If any of the settings that will be merged have custom roles which is anything other than owners, managers, or group scopes.
*/
customRolesEnabledForSettingsToBeMerged?: string;
/**
* Default message deny notification message
*/
defaultMessageDenyNotificationText?: string;
/**
* Description of the group
*/
description?: string;
/**
* Email id of the group
*/
email?: string;
/**
* If a primary Collab Inbox feature is enabled.
*/
enableCollaborativeInbox?: string;
/**
* If favorite replies should be displayed above other replies.
*/
favoriteRepliesOnTop?: string;
/**
* Whether to include custom footer.
*/
includeCustomFooter?: string;
/**
* If this groups should be included in global address list or not.
*/
includeInGlobalAddressList?: string;
/**
* If the contents of the group are archived.
*/
isArchived?: string;
/**
* The type of the resource.
*/
kind?: string;
/**
* Maximum message size allowed.
*/
maxMessageBytes?: number;
/**
* Can members post using the group email address.
*/
membersCanPostAsTheGroup?: string;
/**
* Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
*/
messageDisplayFont?: string;
/**
* Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
*/
messageModerationLevel?: string;
/**
* Name of the Group
*/
name?: string;
/**
* Primary language for the group.
*/
primaryLanguage?: string;
/**
* Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
*/
replyTo?: string;
/**
* Should the member be notified if his message is denied by owner.
*/
sendMessageDenyNotification?: string;
/**
* Is the group listed in groups directory
*/
showInGroupDirectory?: string;
/**
* Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
*/
spamModerationLevel?: string;
/**
* Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_OWNERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD
*/
whoCanAdd?: string;
/**
* Permission to add references to a topic. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanAddReferences?: string;
/**
* Permission to approve members. Possible values are: ALL_OWNERS_CAN_APPROVE ALL_MANAGERS_CAN_APPROVE ALL_MEMBERS_CAN_APPROVE NONE_CAN_APPROVE
*/
whoCanApproveMembers?: string;
/**
* Permission to approve pending messages in the moderation queue. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanApproveMessages?: string;
/**
* Permission to assign topics in a forum to another user. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanAssignTopics?: string;
/**
* Permission for content assistants. Possible values are: Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanAssistContent?: string;
/**
* Permission to ban users. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanBanUsers?: string;
/**
* Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
*/
whoCanContactOwner?: string;
/**
* Permission to delete replies to topics. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanDeleteAnyPost?: string;
/**
* Permission to delete topics. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanDeleteTopics?: string;
/**
* Permission for who can discover the group. Possible values are: ALL_MEMBERS_CAN_DISCOVER ALL_IN_DOMAIN_CAN_DISCOVER ANYONE_CAN_DISCOVER
*/
whoCanDiscoverGroup?: string;
/**
* Permission to enter free form tags for topics in a forum. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanEnterFreeFormTags?: string;
/**
* Permission to hide posts by reporting them as abuse. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanHideAbuse?: string;
/**
* Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE ALL_OWNERS_CAN_INVITE NONE_CAN_INVITE
*/
whoCanInvite?: string;
/**
* Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
*/
whoCanJoin?: string;
/**
* Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_OWNERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE
*/
whoCanLeaveGroup?: string;
/**
* Permission to lock topics. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanLockTopics?: string;
/**
* Permission to make topics appear at the top of the topic list. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMakeTopicsSticky?: string;
/**
* Permission to mark a topic as a duplicate of another topic. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMarkDuplicate?: string;
/**
* Permission to mark any other user's post as a favorite reply. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMarkFavoriteReplyOnAnyTopic?: string;
/**
* Permission to mark a post for a topic they started as a favorite reply. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMarkFavoriteReplyOnOwnTopic?: string;
/**
* Permission to mark a topic as not needing a response. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMarkNoResponseNeeded?: string;
/**
* Permission for content moderation. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanModerateContent?: string;
/**
* Permission for membership moderation. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanModerateMembers?: string;
/**
* Permission to modify members (change member roles). Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanModifyMembers?: string;
/**
* Permission to change tags and categories. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanModifyTagsAndCategories?: string;
/**
* Permission to move topics into the group or forum. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMoveTopicsIn?: string;
/**
* Permission to move topics out of the group or forum. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanMoveTopicsOut?: string;
/**
* Permission to post announcements, a special topic type. Possible values are: NONE OWNERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanPostAnnouncements?: string;
/**
* Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_OWNERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
*/
whoCanPostMessage?: string;
/**
* Permission to take topics in a forum. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanTakeTopics?: string;
/**
* Permission to unassign any topic in a forum. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanUnassignTopic?: string;
/**
* Permission to unmark any post from a favorite reply. Possible values are: NONE OWNERS_ONLY MANAGERS_ONLY OWNERS_AND_MANAGERS ALL_MEMBERS
*/
whoCanUnmarkFavoriteReplyOnAnyTopic?: string;
/**
* Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW ALL_OWNERS_CAN_VIEW
*/
whoCanViewGroup?: string;
/**
* Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW ALL_OWNERS_CAN_VIEW
*/
whoCanViewMembership?: string;
}
class Resource$Groups {
context: APIRequestContext;
constructor(context: APIRequestContext);
/**
* groupsSettings.groups.get
* @desc Gets one resource by id.
* @alias groupsSettings.groups.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.groupUniqueId The resource ID
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: Params$Resource$Groups$Get, options?: MethodOptions): GaxiosPromise<Schema$Groups>;
get(params: Params$Resource$Groups$Get, options: MethodOptions | BodyResponseCallback<Schema$Groups>, callback: BodyResponseCallback<Schema$Groups>): void;
get(params: Params$Resource$Groups$Get, callback: BodyResponseCallback<Schema$Groups>): void;
get(callback: BodyResponseCallback<Schema$Groups>): void;
/**
* groupsSettings.groups.patch
* @desc Updates an existing resource. This method supports patch semantics.
* @alias groupsSettings.groups.patch
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.groupUniqueId The resource ID
* @param {().Groups} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
patch(params?: Params$Resource$Groups$Patch, options?: MethodOptions): GaxiosPromise<Schema$Groups>;
patch(params: Params$Resource$Groups$Patch, options: MethodOptions | BodyResponseCallback<Schema$Groups>, callback: BodyResponseCallback<Schema$Groups>): void;
patch(params: Params$Resource$Groups$Patch, callback: BodyResponseCallback<Schema$Groups>): void;
patch(callback: BodyResponseCallback<Schema$Groups>): void;
/**
* groupsSettings.groups.update
* @desc Updates an existing resource.
* @alias groupsSettings.groups.update
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.groupUniqueId The resource ID
* @param {().Groups} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
update(params?: Params$Resource$Groups$Update, options?: MethodOptions): GaxiosPromise<Schema$Groups>;
update(params: Params$Resource$Groups$Update, options: MethodOptions | BodyResponseCallback<Schema$Groups>, callback: BodyResponseCallback<Schema$Groups>): void;
update(params: Params$Resource$Groups$Update, callback: BodyResponseCallback<Schema$Groups>): void;
update(callback: BodyResponseCallback<Schema$Groups>): void;
}
interface Params$Resource$Groups$Get extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* The resource ID
*/
groupUniqueId?: string;
}
interface Params$Resource$Groups$Patch extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* The resource ID
*/
groupUniqueId?: string;
/**
* Request body metadata
*/
requestBody?: Schema$Groups;
}
interface Params$Resource$Groups$Update extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* The resource ID
*/
groupUniqueId?: string;
/**
* Request body metadata
*/
requestBody?: Schema$Groups;
}
}