UNPKG

@microsoft/agents-hosting-extensions-teams

Version:

Microsoft 365 Agents SDK for JavaScript. Teams extensions

63 lines 2.53 kB
"use strict"; /** * Copyright(c) Microsoft Corporation.All rights reserved. * Licensed under the MIT License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.teamsChannelDataZodSchema = void 0; exports.parseTeamsChannelData = parseTeamsChannelData; const zod_1 = require("zod"); const channelInfo_1 = require("./channelInfo"); const notificationInfo_1 = require("./notificationInfo"); const onBehalfOf_1 = require("./onBehalfOf"); const teamsChannelDataSettings_1 = require("./teamsChannelDataSettings"); const teamsMeetingInfo_1 = require("./teamsMeetingInfo"); const tenantInfo_1 = require("./tenantInfo"); const teamInfo_1 = require("./teamInfo"); /** * @private * Zod schema for validating membership source types. */ const membershipSourceTypeZodSchema = zod_1.z.enum(['channel', 'team']); /** * Zod schema for validating membership source types. */ const membershipTypeZodSchema = zod_1.z.enum(['direct', 'transitive']); /** * @private * Zod schema for validating a membership source. */ const membershipSourceZodSchema = zod_1.z.object({ sourceType: membershipSourceTypeZodSchema, id: zod_1.z.string().min(1), name: zod_1.z.string().optional(), membershipType: membershipTypeZodSchema, aadGroupId: zod_1.z.string().min(1).optional(), tenantId: zod_1.z.string().min(1).optional(), }); /** * Zod schema for validating TeamsChannelData objects. */ exports.teamsChannelDataZodSchema = zod_1.z.object({ channel: channelInfo_1.channelInfoZodSchema.optional(), eventType: zod_1.z.string().min(1).optional(), team: teamInfo_1.teamInfoZodSchema.optional(), notification: notificationInfo_1.notificationInfoZodSchema.optional(), tenant: tenantInfo_1.tenantInfoZodSchema.optional(), meeting: teamsMeetingInfo_1.teamsMeetingInfoZodSchema.optional(), settings: teamsChannelDataSettings_1.teamsChannelDataSettingsZodSchema.optional(), onBehalfOf: zod_1.z.array(onBehalfOf_1.onBehalfOfZodSchema).optional(), sharedWithTeams: zod_1.z.array(teamInfo_1.teamInfoZodSchema).optional(), unsharedFromTeams: zod_1.z.array(teamInfo_1.teamInfoZodSchema).optional(), membershipSource: membershipSourceZodSchema.optional() }); /** * Parses the given object as TeamsChannelData. * * @param {object} o - The object to parse. * @returns {TeamsChannelData} - The parsed TeamsChannelData. */ function parseTeamsChannelData(o) { return exports.teamsChannelDataZodSchema.passthrough().parse(o); } //# sourceMappingURL=teamsChannelData.js.map