Merge branch 'restore-page-flow-2' into restore-page-flow-3

This commit is contained in:
Danny 2023-01-28 15:14:57 -05:00 committed by GitHub
commit c6fcc4f1d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
192 changed files with 11955 additions and 633 deletions

View File

@ -41,12 +41,6 @@ jobs:
working-directory: src
steps:
- uses: actions/checkout@v3
## increases swap space for msgraph-beta-sdk-go
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 12
# single setup and sum cache handling here.
# the results will cascade onto both testing and linting.
@ -214,6 +208,7 @@ jobs:
CORSO_M365_TEST_USER_ID: ${{ secrets.CORSO_M365_TEST_USER_ID }}
CORSO_SECONDARY_M365_TEST_USER_ID: ${{ secrets.CORSO_SECONDARY_M365_TEST_USER_ID }}
CORSO_PASSPHRASE: ${{ secrets.INTEGRATION_TEST_CORSO_PASSPHRASE }}
CORSO_LOG_FILE: stderr
LOG_GRAPH_REQUESTS: true
run: |
set -euo pipefail
@ -225,7 +220,7 @@ jobs:
-p 1 \
./... 2>&1 | tee ./testlog/gotest.log | gotestfmt -hide successful-tests
# Upload the original go test log as an artifact for later review.
# Upload the original go test output as an artifact for later review.
- name: Upload test log
if: failure()
uses: actions/upload-artifact@v3

View File

@ -53,6 +53,7 @@ jobs:
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
CORSO_LOAD_TESTS: true
CORSO_LOG_FILE: stderr
CORSO_M365_LOAD_TEST_USER_ID: ${{ secrets.CORSO_M365_LOAD_TEST_USER_ID }}
CORSO_M365_LOAD_TEST_ORG_USERS: ${{ secrets.CORSO_M365_LOAD_TEST_ORG_USERS }}
CORSO_PASSPHRASE: ${{ secrets.CORSO_PASSPHRASE }}

View File

@ -16,6 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- msgraph-beta-sdk-go replaces msgraph-sdk-go for new features. This can lead to long build times.
- Handle case where user's drive has not been initialized
- Inline attachments (e.g. copy/paste ) are discovered and backed up correctly ([#2163](https://github.com/alcionai/corso/issues/2163))
- Guest and External users (for cloud accounts) and non-on-premise users (for systems that use on-prem AD syncs) are now excluded from backup and restore operations.
- Remove the M365 license guid check in OneDrive backup which wasn't reliable.
## [v0.1.0] (alpha) - 2023-01-13

View File

@ -20,7 +20,7 @@ services, possibly beyond M365, will expand based on the interest and needs of t
# Getting Started
See the [Corso Documentation](https://corsobackup.io/docs/intro) for more information.
See the [Corso Quickstart](https://corsobackup.io/docs/quickstart/) on our docs page.
# Building Corso

View File

@ -3,7 +3,6 @@ run:
linters:
enable:
- gci
- gofmt
- gofumpt
- errcheck
@ -106,3 +105,14 @@ issues:
linters:
- forbidigo
text: "context.(Background|TODO)"
- path: internal/connector/graph/betasdk
linters:
- wsl
- revive
- gci
- lll
- gofmt
- gofumpt
- misspell
- errcheck

View File

@ -61,7 +61,7 @@ const (
const (
exchangeServiceCommand = "exchange"
exchangeServiceCommandCreateUseSuffix = "--user <userId or email> | '" + utils.Wildcard + "'"
exchangeServiceCommandCreateUseSuffix = "--user <email> | '" + utils.Wildcard + "'"
exchangeServiceCommandDeleteUseSuffix = "--backup <backupId>"
exchangeServiceCommandDetailsUseSuffix = "--backup <backupId>"
)
@ -115,7 +115,7 @@ func addExchangeCommands(cmd *cobra.Command) *cobra.Command {
fs.StringSliceVar(
&user,
utils.UserFN, nil,
"Backup Exchange data by user ID; accepts '"+utils.Wildcard+"' to select all users")
"Backup Exchange data by a user's email; accepts '"+utils.Wildcard+"' to select all users")
fs.StringSliceVar(
&exchangeData,
utils.DataFN, nil,
@ -274,7 +274,7 @@ func createExchangeCmd(cmd *cobra.Command, args []string) error {
users, err := m365.UserPNs(ctx, acct)
if err != nil {
return Only(ctx, errors.Wrap(err, "Failed to retrieve M365 users"))
return Only(ctx, errors.Wrap(err, "Failed to retrieve M365 user(s)"))
}
var (
@ -347,7 +347,7 @@ func exchangeBackupCreateSelectors(userIDs, data []string) *selectors.ExchangeBa
func validateExchangeBackupCreateFlags(userIDs, data []string) error {
if len(userIDs) == 0 {
return errors.New("--user requires one or more ids or the wildcard *")
return errors.New("--user requires one or more email addresses or the wildcard '*'")
}
for _, d := range data {

View File

@ -29,7 +29,7 @@ import (
const (
oneDriveServiceCommand = "onedrive"
oneDriveServiceCommandCreateUseSuffix = "--user <userId or email> | '" + utils.Wildcard + "'"
oneDriveServiceCommandCreateUseSuffix = "--user <email> | '" + utils.Wildcard + "'"
oneDriveServiceCommandDeleteUseSuffix = "--backup <backupId>"
oneDriveServiceCommandDetailsUseSuffix = "--backup <backupId>"
)
@ -85,7 +85,7 @@ func addOneDriveCommands(cmd *cobra.Command) *cobra.Command {
fs.StringSliceVar(&user,
utils.UserFN, nil,
"Backup OneDrive data by user ID; accepts '"+utils.Wildcard+"' to select all users. (required)")
"Backup OneDrive data by user's email address; accepts '"+utils.Wildcard+"' to select all users. (required)")
options.AddOperationFlags(c)
case listCommand:

View File

@ -13,6 +13,7 @@ import (
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/connector"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/pkg/backup"
@ -27,9 +28,12 @@ import (
// setup and globals
// ------------------------------------------------------------------------------------------------
// sharePoint bucket info from flags
var (
libraryItems []string
libraryPaths []string
pageFolders []string
page []string
site []string
weburl []string
@ -38,6 +42,7 @@ var (
const (
dataLibraries = "libraries"
dataPages = "pages"
)
const (
@ -89,11 +94,10 @@ func addSharePointCommands(cmd *cobra.Command) *cobra.Command {
utils.WebURLFN, nil,
"Restore data by site webURL; accepts '"+utils.Wildcard+"' to select all sites.")
// TODO: implement
fs.StringSliceVar(
&sharepointData,
utils.DataFN, nil,
"Select one or more types of data to backup: "+dataLibraries+".")
"Select one or more types of data to backup: "+dataLibraries+" or "+dataPages+".")
options.AddOperationFlags(c)
case listCommand:
@ -128,11 +132,22 @@ func addSharePointCommands(cmd *cobra.Command) *cobra.Command {
fs.StringArrayVar(&site,
utils.SiteFN, nil,
"Backup SharePoint data by site ID; accepts '"+utils.Wildcard+"' to select all sites.")
"Select backup details by site ID; accepts '"+utils.Wildcard+"' to select all sites.")
fs.StringSliceVar(&weburl,
utils.WebURLFN, nil,
"Restore data by site webURL; accepts '"+utils.Wildcard+"' to select all sites.")
"Select backup data by site webURL; accepts '"+utils.Wildcard+"' to select all sites.")
fs.StringSliceVar(
&pageFolders,
utils.PageFN, nil,
"Select backup data by site ID; accepts '"+utils.Wildcard+"' to select all sites.")
fs.StringSliceVar(
&page,
utils.PageItemFN, nil,
"Select backup data by file name; accepts '"+utils.Wildcard+"' to select all pages within the site.",
)
// info flags
@ -179,7 +194,7 @@ func createSharePointCmd(cmd *cobra.Command, args []string) error {
return nil
}
if err := validateSharePointBackupCreateFlags(site, weburl); err != nil {
if err := validateSharePointBackupCreateFlags(site, weburl, sharepointData); err != nil {
return err
}
@ -195,12 +210,12 @@ func createSharePointCmd(cmd *cobra.Command, args []string) error {
defer utils.CloseRepo(ctx, r)
gc, err := connector.NewGraphConnector(ctx, acct, connector.Sites)
gc, err := connector.NewGraphConnector(ctx, graph.LargeItemClient(), acct, connector.Sites)
if err != nil {
return Only(ctx, errors.Wrap(err, "Failed to connect to Microsoft APIs"))
}
sel, err := sharePointBackupCreateSelectors(ctx, site, weburl, gc)
sel, err := sharePointBackupCreateSelectors(ctx, site, weburl, sharepointData, gc)
if err != nil {
return Only(ctx, errors.Wrap(err, "Retrieving up sharepoint sites by ID and WebURL"))
}
@ -250,7 +265,7 @@ func createSharePointCmd(cmd *cobra.Command, args []string) error {
return nil
}
func validateSharePointBackupCreateFlags(sites, weburls []string) error {
func validateSharePointBackupCreateFlags(sites, weburls, data []string) error {
if len(sites) == 0 && len(weburls) == 0 {
return errors.New(
"requires one or more --" +
@ -260,13 +275,21 @@ func validateSharePointBackupCreateFlags(sites, weburls []string) error {
)
}
for _, d := range data {
if d != dataLibraries && d != dataPages {
return errors.New(
d + " is an unrecognized data type; either " + dataLibraries + "or " + dataPages,
)
}
}
return nil
}
// TODO: users might specify a data type, this only supports AllData().
func sharePointBackupCreateSelectors(
ctx context.Context,
sites, weburls []string,
sites, weburls, data []string,
gc *connector.GraphConnector,
) (*selectors.SharePointBackup, error) {
if len(sites) == 0 && len(weburls) == 0 {
@ -297,7 +320,20 @@ func sharePointBackupCreateSelectors(
}
sel := selectors.NewSharePointBackup(union)
sel.Include(sel.AllData())
if len(data) == 0 {
sel.Include(sel.AllData())
return sel, nil
}
for _, d := range data {
switch d {
case dataLibraries:
sel.Include(sel.Libraries(selectors.Any()))
case dataPages:
sel.Include(sel.Pages(selectors.Any()))
}
}
return sel, nil
}

View File

@ -98,12 +98,13 @@ func (suite *SharePointSuite) TestValidateSharePointBackupCreateFlags() {
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
test.expect(t, validateSharePointBackupCreateFlags(test.site, test.weburl))
test.expect(t, validateSharePointBackupCreateFlags(test.site, test.weburl, nil))
})
}
}
func (suite *SharePointSuite) TestSharePointBackupCreateSelectors() {
comboString := []string{"id_1", "id_2"}
gc := &connector.GraphConnector{
Sites: map[string]string{
"url_1": "id_1",
@ -115,6 +116,7 @@ func (suite *SharePointSuite) TestSharePointBackupCreateSelectors() {
name string
site []string
weburl []string
data []string
expect []string
expectScopesLen int
}{
@ -163,7 +165,7 @@ func (suite *SharePointSuite) TestSharePointBackupCreateSelectors() {
name: "duplicate sites and urls",
site: []string{"id_1", "id_2"},
weburl: []string{"url_1", "url_2"},
expect: []string{"id_1", "id_2"},
expect: comboString,
expectScopesLen: 2,
},
{
@ -175,18 +177,25 @@ func (suite *SharePointSuite) TestSharePointBackupCreateSelectors() {
},
{
name: "unnecessary url wildcard",
site: []string{"id_1", "id_2"},
site: comboString,
weburl: []string{"url_1", utils.Wildcard},
expect: selectors.Any(),
expectScopesLen: 2,
},
{
name: "Pages",
site: comboString,
data: []string{dataPages},
expect: comboString,
expectScopesLen: 1,
},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
ctx, flush := tester.NewContext()
defer flush()
sel, err := sharePointBackupCreateSelectors(ctx, test.site, test.weburl, gc)
sel, err := sharePointBackupCreateSelectors(ctx, test.site, test.weburl, test.data, gc)
require.NoError(t, err)
assert.ElementsMatch(t, test.expect, sel.DiscreteResourceOwners())

View File

@ -39,7 +39,7 @@ var corsoCmd = &cobra.Command{
func handleCorsoCmd(cmd *cobra.Command, args []string) error {
v, _ := cmd.Flags().GetBool("version")
if v {
print.Outf(cmd.Context(), "Corso\nversion: "+version.Version)
print.Outf(cmd.Context(), "Corso version: "+version.Version)
return nil
}

View File

@ -63,7 +63,7 @@ func addExchangeCommands(cmd *cobra.Command) *cobra.Command {
fs.StringSliceVar(&user,
utils.UserFN, nil,
"Restore data by user ID; accepts '"+utils.Wildcard+"' to select all users.")
"Restore data by user's email address; accepts '"+utils.Wildcard+"' to select all users.")
// email flags
fs.StringSliceVar(&email,

View File

@ -49,7 +49,7 @@ func addOneDriveCommands(cmd *cobra.Command) *cobra.Command {
fs.StringSliceVar(&user,
utils.UserFN, nil,
"Restore data by user ID; accepts '"+utils.Wildcard+"' to select all users.")
"Restore data by user's email address; accepts '"+utils.Wildcard+"' to select all users.")
// onedrive hierarchy (path/name) flags

View File

@ -12,6 +12,7 @@ import (
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/connector"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/pkg/account"
@ -111,7 +112,7 @@ func getGCAndVerifyUser(ctx context.Context, userID string) (*connector.GraphCon
}
// build a graph connector
gc, err := connector.NewGraphConnector(ctx, acct, connector.Users)
gc, err := connector.NewGraphConnector(ctx, graph.LargeItemClient(), acct, connector.Users)
if err != nil {
return nil, account.Account{}, errors.Wrap(err, "connecting to graph api")
}

View File

@ -96,7 +96,7 @@ func runDisplayM365JSON(
var (
bs []byte
err error
cat = graph.StringToPathCategory(category)
cat = path.ToCategoryType(category)
sw = kw.NewJsonSerializationWriter()
)
@ -178,7 +178,7 @@ func getGC(ctx context.Context) (*connector.GraphConnector, account.M365Config,
return nil, m365Cfg, Only(ctx, errors.Wrap(err, "finding m365 account details"))
}
gc, err := connector.NewGraphConnector(ctx, acct, connector.Users)
gc, err := connector.NewGraphConnector(ctx, graph.LargeItemClient(), acct, connector.Users)
if err != nil {
return nil, m365Cfg, Only(ctx, errors.Wrap(err, "connecting to graph API"))
}

View File

@ -255,7 +255,7 @@ func getGC(ctx context.Context) (*connector.GraphConnector, error) {
}
// build a graph connector
gc, err := connector.NewGraphConnector(ctx, acct, connector.Users)
gc, err := connector.NewGraphConnector(ctx, graph.LargeItemClient(), acct, connector.Users)
if err != nil {
return nil, Only(ctx, errors.Wrap(err, "connecting to graph api"))
}

View File

@ -2,27 +2,26 @@ module github.com/alcionai/corso/src
go 1.19
replace github.com/kopia/kopia => github.com/alcionai/kopia v0.10.8-0.20230112200734-ac706ef83a1c
require (
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0
github.com/aws/aws-sdk-go v1.44.183
github.com/alcionai/clues v0.0.0-20230120231953-1cf61dbafc40
github.com/aws/aws-sdk-go v1.44.187
github.com/aws/aws-xray-sdk-go v1.8.0
github.com/google/uuid v1.3.0
github.com/hashicorp/go-multierror v1.1.1
github.com/kopia/kopia v0.12.2-0.20221229232524-ba938cf58cc8
github.com/kopia/kopia v0.12.2-0.20230123092305-e5387cec0acb
github.com/microsoft/kiota-abstractions-go v0.16.0
github.com/microsoft/kiota-authentication-azure-go v0.6.0
github.com/microsoft/kiota-http-go v0.13.0
github.com/microsoft/kiota-serialization-json-go v0.7.2
github.com/microsoftgraph/msgraph-beta-sdk-go v0.53.0
github.com/microsoftgraph/msgraph-sdk-go v0.53.0
github.com/microsoftgraph/msgraph-sdk-go-core v0.33.0
github.com/pkg/errors v0.9.1
github.com/rudderlabs/analytics-go v3.3.3+incompatible
github.com/spatialcurrent/go-lazy v0.0.0-20211115014721-47315cc003d1
github.com/spf13/cobra v1.6.1
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.14.0
github.com/spf13/viper v1.15.0
github.com/stretchr/testify v1.8.1
github.com/tidwall/pretty v1.2.1
github.com/tomlazar/table v0.1.2
@ -40,19 +39,17 @@ require (
github.com/dnaeon/go-vcr v1.2.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/microsoft/kiota-serialization-form-go v0.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.5 // indirect
github.com/spf13/afero v1.9.2 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/subosito/gotenv v1.4.1 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasthttp v1.34.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
require (
@ -114,14 +111,14 @@ require (
go.opentelemetry.io/otel/trace v1.11.2 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
golang.org/x/crypto v0.3.0 // indirect
golang.org/x/crypto v0.5.0 // indirect
golang.org/x/mod v0.7.0 // indirect
golang.org/x/net v0.5.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.4.0 // indirect
golang.org/x/text v0.6.0 // indirect
google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6 // indirect
google.golang.org/grpc v1.51.0 // indirect
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect
google.golang.org/grpc v1.52.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect

View File

@ -52,8 +52,8 @@ github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1o
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
github.com/alcionai/kopia v0.10.8-0.20230112200734-ac706ef83a1c h1:uUcdEZ4sz7kRYVWB3K49MBHdICRyXCVAzd4ZiY3lvo0=
github.com/alcionai/kopia v0.10.8-0.20230112200734-ac706ef83a1c/go.mod h1:yzJV11S6N6XMboXt7oCO6Jy2jJHPeSMtA+KOJ9Y1548=
github.com/alcionai/clues v0.0.0-20230120231953-1cf61dbafc40 h1:bvAwz0dcJeIyRjudVyzmmawOvc4SqlSerKd0B4dh0yw=
github.com/alcionai/clues v0.0.0-20230120231953-1cf61dbafc40/go.mod h1:UlAs8jkWIpsOMakiC8NxPgQQVQRdvyf1hYMszlYYLb4=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@ -62,8 +62,8 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk5
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/aws/aws-sdk-go v1.44.183 h1:mUk45JZTIMMg9m8GmrbvACCsIOKtKezXRxp06uI5Ahk=
github.com/aws/aws-sdk-go v1.44.183/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go v1.44.187 h1:D5CsRomPnlwDHJCanL2mtaLIcbhjiWxNh5j8zvaWdJA=
github.com/aws/aws-sdk-go v1.44.187/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-xray-sdk-go v1.8.0 h1:0xncHZ588wB/geLjbM/esoW3FOEThWy2TJyb4VXfLFY=
github.com/aws/aws-xray-sdk-go v1.8.0/go.mod h1:7LKe47H+j3evfvS1+q0wzpoaGXGrF3mUsfM+thqVO+A=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
@ -241,6 +241,8 @@ github.com/klauspost/reedsolomon v1.11.3/go.mod h1:FXLZzlJIdfqEnQLdUKWNRuMZg747h
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kopia/htmluibuild v0.0.0-20220928042710-9fdd02afb1e7 h1:WP5VfIQL7AaYkO4zTNSCsVOawTzudbc4tvLojvg0RKc=
github.com/kopia/kopia v0.12.2-0.20230123092305-e5387cec0acb h1:0jLaKLiloYvRNbuHHpnQkJ7STAgzQ4z6n+KPa6Kyg7I=
github.com/kopia/kopia v0.12.2-0.20230123092305-e5387cec0acb/go.mod h1:dtCyMCsWulG82o9bDopvnny9DpOQe0PnSDczJLuhnWA=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@ -251,8 +253,8 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
@ -279,8 +281,8 @@ github.com/microsoft/kiota-serialization-json-go v0.7.2 h1:DSb4fNDi5O+DqJwrHo+vR
github.com/microsoft/kiota-serialization-json-go v0.7.2/go.mod h1:Ojum5prlijopyCOZ2XctRcVlE2pU8h+43r3tMdiWoDU=
github.com/microsoft/kiota-serialization-text-go v0.6.0 h1:3N2vftYZlwKdog69AN7ha+FZT0QxPG7xp/hLv0/W2OQ=
github.com/microsoft/kiota-serialization-text-go v0.6.0/go.mod h1:OUA4dNH+f6afiJUs+rQAatJos7QVF5PJkyrqoD89lx4=
github.com/microsoftgraph/msgraph-beta-sdk-go v0.53.0 h1:FITWxC0U8u9J82iUnTUgKhFw048OFq6hNiShpIgJx2k=
github.com/microsoftgraph/msgraph-beta-sdk-go v0.53.0/go.mod h1:hyea6/iVBicq7jjlU8nzmkFys2ajScSI2q1GX9gjnIQ=
github.com/microsoftgraph/msgraph-sdk-go v0.53.0 h1:HpQd1Nvr8yQNeqhDuiVSbqn1fkHsFbRFDmnuhhXJXOQ=
github.com/microsoftgraph/msgraph-sdk-go v0.53.0/go.mod h1:BZLyon4n4T4EuLIAlX+kJ5JgneFTXVQDah1AJuq3FRY=
github.com/microsoftgraph/msgraph-sdk-go-core v0.33.0 h1:cDL3ov/IZ2ZarUJdGGPsdR+46ALdd3CRAiDBIylLCoA=
github.com/microsoftgraph/msgraph-sdk-go-core v0.33.0/go.mod h1:d0mU3PQAWnN/C4CwPJEZz2QhesrnR5UDnqRu2ODWPkI=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
@ -303,10 +305,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A=
github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg=
github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
@ -362,8 +362,8 @@ github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spatialcurrent/go-lazy v0.0.0-20211115014721-47315cc003d1 h1:lQ3JvmcVO1/AMFbabvUSJ4YtJRpEAX9Qza73p5j03sw=
github.com/spatialcurrent/go-lazy v0.0.0-20211115014721-47315cc003d1/go.mod h1:4aKqcbhASNqjbrG0h9BmkzcWvPJGxbef4B+j0XfFrZo=
github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw=
github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
@ -372,8 +372,8 @@ github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmq
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU=
github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As=
github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@ -387,8 +387,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/tg123/go-htpasswd v1.2.0 h1:UKp34m9H467/xklxUxU15wKRru7fwXoTojtxg25ITF0=
github.com/tidwall/gjson v1.14.3 h1:9jvXn7olKEHU1S9vwoMGliaT8jq1vJ7IH/n9zD9Dnlw=
github.com/tidwall/gjson v1.14.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
@ -450,8 +450,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -747,8 +747,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6 h1:AGXp12e/9rItf6/4QymU7WsAUwCf+ICW75cuR91nJIc=
google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0=
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY=
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@ -765,8 +765,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk=
google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

View File

@ -8,8 +8,8 @@ import (
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/discovery"
"github.com/alcionai/corso/src/internal/connector/discovery/api"
"github.com/alcionai/corso/src/internal/connector/exchange"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/onedrive"
"github.com/alcionai/corso/src/internal/connector/sharepoint"
"github.com/alcionai/corso/src/internal/connector/support"
@ -44,7 +44,7 @@ func (gc *GraphConnector) DataCollections(
return nil, err
}
serviceEnabled, err := checkServiceEnabled(ctx, gc.Service, path.ServiceType(sels.Service), sels.DiscreteOwner)
serviceEnabled, err := checkServiceEnabled(ctx, gc.Owners.Users(), path.ServiceType(sels.Service), sels.DiscreteOwner)
if err != nil {
return nil, err
}
@ -87,6 +87,7 @@ func (gc *GraphConnector) DataCollections(
case selectors.ServiceSharePoint:
colls, err := sharepoint.DataCollections(
ctx,
gc.itemClient,
sels,
gc.credentials.AzureTenantID,
gc.Service,
@ -138,7 +139,7 @@ func verifyBackupInputs(sels selectors.Selector, userPNs, siteIDs []string) erro
func checkServiceEnabled(
ctx context.Context,
gs graph.Servicer,
au api.Users,
service path.ServiceType,
resource string,
) (bool, error) {
@ -147,7 +148,7 @@ func checkServiceEnabled(
return true, nil
}
_, info, err := discovery.User(ctx, gs, resource)
_, info, err := discovery.User(ctx, au, resource)
if err != nil {
return false, err
}
@ -198,6 +199,7 @@ func (gc *GraphConnector) OneDriveDataCollections(
logger.Ctx(ctx).With("user", user).Debug("Creating OneDrive collections")
odcs, err := onedrive.NewCollections(
gc.itemClient,
gc.credentials.AzureTenantID,
user,
onedrive.OneDriveSource,

View File

@ -10,6 +10,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/exchange"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/sharepoint"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
@ -43,7 +44,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) SetupSuite() {
tester.MustGetEnvVars(suite.T(), tester.M365AcctCredEnvs...)
suite.connector = loadConnector(ctx, suite.T(), AllResources)
suite.connector = loadConnector(ctx, suite.T(), graph.LargeItemClient(), AllResources)
suite.user = tester.M365UserID(suite.T())
suite.site = tester.M365SiteID(suite.T())
@ -62,7 +63,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestExchangeDataCollection
selUsers := []string{suite.user}
connector := loadConnector(ctx, suite.T(), Users)
connector := loadConnector(ctx, suite.T(), graph.LargeItemClient(), Users)
tests := []struct {
name string
getSelector func(t *testing.T) selectors.Selector
@ -138,7 +139,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestDataCollections_invali
owners := []string{"snuffleupagus"}
connector := loadConnector(ctx, suite.T(), Users)
connector := loadConnector(ctx, suite.T(), graph.LargeItemClient(), Users)
tests := []struct {
name string
getSelector func(t *testing.T) selectors.Selector
@ -214,7 +215,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestSharePointDataCollecti
selSites := []string{suite.site}
connector := loadConnector(ctx, suite.T(), Sites)
connector := loadConnector(ctx, suite.T(), graph.LargeItemClient(), Sites)
tests := []struct {
name string
expected int
@ -243,6 +244,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestSharePointDataCollecti
suite.T().Run(test.name, func(t *testing.T) {
collections, err := sharepoint.DataCollections(
ctx,
graph.LargeItemClient(),
test.getSelector(),
connector.credentials.AzureTenantID,
connector.Service,
@ -298,7 +300,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) SetupSuite() {
tester.MustGetEnvSets(suite.T(), tester.M365AcctCredEnvs)
suite.connector = loadConnector(ctx, suite.T(), Sites)
suite.connector = loadConnector(ctx, suite.T(), graph.LargeItemClient(), Sites)
suite.user = tester.M365UserID(suite.T())
tester.LogTimeOfTest(suite.T())
@ -311,7 +313,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
var (
t = suite.T()
siteID = tester.M365SiteID(t)
gc = loadConnector(ctx, t, Sites)
gc = loadConnector(ctx, t, graph.LargeItemClient(), Sites)
siteIDs = []string{siteID}
)
@ -335,7 +337,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
var (
t = suite.T()
siteID = tester.M365SiteID(t)
gc = loadConnector(ctx, t, Sites)
gc = loadConnector(ctx, t, graph.LargeItemClient(), Sites)
siteIDs = []string{siteID}
)

View File

@ -0,0 +1,57 @@
package api
import (
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/pkg/account"
)
// ---------------------------------------------------------------------------
// interfaces
// ---------------------------------------------------------------------------
// Client is used to fulfill the interface for discovery
// queries that are traditionally backed by GraphAPI. A
// struct is used in this case, instead of deferring to
// pure function wrappers, so that the boundary separates the
// granular implementation of the graphAPI and kiota away
// from the exchange package's broader intents.
type Client struct {
Credentials account.M365Config
// The stable service is re-usable for any non-paged request.
// This allows us to maintain performance across async requests.
stable graph.Servicer
}
// NewClient produces a new exchange api client. Must be used in
// place of creating an ad-hoc client struct.
func NewClient(creds account.M365Config) (Client, error) {
s, err := newService(creds)
if err != nil {
return Client{}, err
}
return Client{creds, s}, nil
}
// service generates a new service. Used for paged and other long-running
// requests instead of the client's stable service, so that in-flight state
// within the adapter doesn't get clobbered
func (c Client) service() (*graph.Service, error) {
return newService(c.Credentials)
}
func newService(creds account.M365Config) (*graph.Service, error) {
adapter, err := graph.CreateAdapter(
creds.AzureTenantID,
creds.AzureClientID,
creds.AzureClientSecret,
)
if err != nil {
return nil, errors.Wrap(err, "generating graph api service client")
}
return graph.NewService(adapter), nil
}

View File

@ -0,0 +1,166 @@
package api
import (
"context"
msgraphgocore "github.com/microsoftgraph/msgraph-sdk-go-core"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/users"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/pkg/path"
)
// ---------------------------------------------------------------------------
// controller
// ---------------------------------------------------------------------------
func (c Client) Users() Users {
return Users{c}
}
// Users is an interface-compliant provider of the client.
type Users struct {
Client
}
// ---------------------------------------------------------------------------
// structs
// ---------------------------------------------------------------------------
type UserInfo struct {
DiscoveredServices map[path.ServiceType]struct{}
}
func newUserInfo() *UserInfo {
return &UserInfo{
DiscoveredServices: map[path.ServiceType]struct{}{
path.ExchangeService: {},
path.OneDriveService: {},
},
}
}
// ---------------------------------------------------------------------------
// methods
// ---------------------------------------------------------------------------
const (
userSelectID = "id"
userSelectPrincipalName = "userPrincipalName"
userSelectDisplayName = "displayName"
)
// Filter out both guest users, and (for on-prem installations) non-synced users.
// The latter filter makes an assumption that no on-prem users are guests; this might
// require more fine-tuned controls in the future.
// https://stackoverflow.com/questions/64044266/error-message-unsupported-or-invalid-query-filter-clause-specified-for-property
//
//nolint:lll
var userFilterNoGuests = "onPremisesSyncEnabled eq true OR userType eq 'Member'"
func userOptions(fs *string) *users.UsersRequestBuilderGetRequestConfiguration {
return &users.UsersRequestBuilderGetRequestConfiguration{
QueryParameters: &users.UsersRequestBuilderGetQueryParameters{
Select: []string{userSelectID, userSelectPrincipalName, userSelectDisplayName},
Filter: fs,
},
}
}
// GetAll retrieves all users.
func (c Users) GetAll(ctx context.Context) ([]models.Userable, error) {
service, err := c.service()
if err != nil {
return nil, err
}
resp, err := service.Client().Users().Get(ctx, userOptions(&userFilterNoGuests))
if err != nil {
return nil, support.ConnectorStackErrorTraceWrap(err, "getting all users")
}
iter, err := msgraphgocore.NewPageIterator(
resp,
service.Adapter(),
models.CreateUserCollectionResponseFromDiscriminatorValue)
if err != nil {
return nil, support.ConnectorStackErrorTraceWrap(err, "constructing user iterator")
}
var (
iterErrs error
us = make([]models.Userable, 0)
)
iterator := func(item any) bool {
u, err := validateUser(item)
if err != nil {
iterErrs = support.WrapAndAppend("validating user", err, iterErrs)
} else {
us = append(us, u)
}
return true
}
if err := iter.Iterate(ctx, iterator); err != nil {
return nil, support.ConnectorStackErrorTraceWrap(err, "iterating all users")
}
return us, iterErrs
}
func (c Users) GetByID(ctx context.Context, userID string) (models.Userable, error) {
user, err := c.stable.Client().UsersById(userID).Get(ctx, nil)
if err != nil {
return nil, support.ConnectorStackErrorTraceWrap(err, "getting user by id")
}
return user, nil
}
func (c Users) GetInfo(ctx context.Context, userID string) (*UserInfo, error) {
// Assume all services are enabled
// then filter down to only services the user has enabled
userInfo := newUserInfo()
// TODO: OneDrive
_, err := c.stable.Client().UsersById(userID).MailFolders().Get(ctx, nil)
if err != nil {
if !graph.IsErrExchangeMailFolderNotFound(err) {
return nil, support.ConnectorStackErrorTraceWrap(err, "getting user's exchange mailfolders")
}
delete(userInfo.DiscoveredServices, path.ExchangeService)
}
return userInfo, nil
}
// ---------------------------------------------------------------------------
// helpers
// ---------------------------------------------------------------------------
// validateUser ensures the item is a Userable, and contains the necessary
// identifiers that we handle with all users.
// returns the item as a Userable model.
func validateUser(item any) (models.Userable, error) {
m, ok := item.(models.Userable)
if !ok {
return nil, errors.Errorf("expected Userable, got %T", item)
}
if m.GetId() == nil {
return nil, errors.Errorf("missing ID")
}
if m.GetUserPrincipalName() == nil {
return nil, errors.New("missing principalName")
}
return m, nil
}

View File

@ -1,22 +1,22 @@
package discovery
package api
import (
"reflect"
"testing"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/suite"
)
type DiscoverySuite struct {
type UsersUnitSuite struct {
suite.Suite
}
func TestDiscoverySuite(t *testing.T) {
suite.Run(t, new(DiscoverySuite))
func TestUsersUnitSuite(t *testing.T) {
suite.Run(t, new(UsersUnitSuite))
}
func (suite *DiscoverySuite) TestParseUser() {
func (suite *UsersUnitSuite) TestValidateUser() {
t := suite.T()
name := "testuser"
@ -60,7 +60,7 @@ func (suite *DiscoverySuite) TestParseUser() {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := parseUser(tt.args)
got, err := validateUser(tt.args)
if (err != nil) != tt.wantErr {
t.Errorf("parseUser() error = %v, wantErr %v", err, tt.wantErr)
return

View File

@ -3,125 +3,52 @@ package discovery
import (
"context"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
msuser "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
msgraphgocore "github.com/microsoftgraph/msgraph-sdk-go-core"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/internal/connector/discovery/api"
)
const (
userSelectID = "id"
userSelectPrincipalName = "userPrincipalName"
userSelectDisplayName = "displayName"
)
// ---------------------------------------------------------------------------
// interfaces
// ---------------------------------------------------------------------------
func Users(ctx context.Context, gs graph.Servicer, tenantID string) ([]models.Userable, error) {
users := make([]models.Userable, 0)
options := &msuser.UsersRequestBuilderGetRequestConfiguration{
QueryParameters: &msuser.UsersRequestBuilderGetQueryParameters{
Select: []string{userSelectID, userSelectPrincipalName, userSelectDisplayName},
},
}
response, err := gs.Client().Users().Get(ctx, options)
if err != nil {
return nil, errors.Wrapf(
err,
"retrieving resources for tenant %s: %s",
tenantID,
support.ConnectorStackErrorTrace(err),
)
}
iter, err := msgraphgocore.NewPageIterator(response, gs.Adapter(),
models.CreateUserCollectionResponseFromDiscriminatorValue)
if err != nil {
return nil, errors.Wrap(err, support.ConnectorStackErrorTrace(err))
}
var iterErrs error
callbackFunc := func(item interface{}) bool {
u, err := parseUser(item)
if err != nil {
iterErrs = support.WrapAndAppend("discovering users: ", err, iterErrs)
return true
}
users = append(users, u)
return true
}
if err := iter.Iterate(ctx, callbackFunc); err != nil {
return nil, errors.Wrap(err, support.ConnectorStackErrorTrace(err))
}
return users, iterErrs
type getAller interface {
GetAll(context.Context) ([]models.Userable, error)
}
type UserInfo struct {
DiscoveredServices map[path.ServiceType]struct{}
type getter interface {
GetByID(context.Context, string) (models.Userable, error)
}
func User(ctx context.Context, gs graph.Servicer, userID string) (models.Userable, *UserInfo, error) {
user, err := gs.Client().UsersById(userID).Get(ctx, nil)
type getInfoer interface {
GetInfo(context.Context, string) (*api.UserInfo, error)
}
type getWithInfoer interface {
getter
getInfoer
}
// ---------------------------------------------------------------------------
// api
// ---------------------------------------------------------------------------
// Users fetches all users in the tenant.
func Users(ctx context.Context, ga getAller) ([]models.Userable, error) {
return ga.GetAll(ctx)
}
func User(ctx context.Context, gwi getWithInfoer, userID string) (models.Userable, *api.UserInfo, error) {
u, err := gwi.GetByID(ctx, userID)
if err != nil {
return nil, nil, errors.Wrapf(
err,
"retrieving resource for tenant: %s",
support.ConnectorStackErrorTrace(err),
)
return nil, nil, errors.Wrap(err, "getting user")
}
// Assume all services are enabled
userInfo := &UserInfo{
DiscoveredServices: map[path.ServiceType]struct{}{
path.ExchangeService: {},
path.OneDriveService: {},
},
}
// Discover which services the user has enabled
// Exchange: Query `MailFolders`
_, err = gs.Client().UsersById(userID).MailFolders().Get(ctx, nil)
ui, err := gwi.GetInfo(ctx, userID)
if err != nil {
if !graph.IsErrExchangeMailFolderNotFound(err) {
return nil, nil, errors.Wrapf(
err,
"retrieving mail folders for tenant: %s",
support.ConnectorStackErrorTrace(err),
)
}
delete(userInfo.DiscoveredServices, path.ExchangeService)
return nil, nil, errors.Wrap(err, "getting user info")
}
// TODO: OneDrive
return user, userInfo, nil
}
// parseUser extracts information from `models.Userable` we care about
func parseUser(item interface{}) (models.Userable, error) {
m, ok := item.(models.Userable)
if !ok {
return nil, errors.New("iteration retrieved non-User item")
}
if m.GetId() == nil {
return nil, errors.Errorf("no ID for User")
}
if m.GetUserPrincipalName() == nil {
return nil, errors.Errorf("no principal name for User: %s", *m.GetId())
}
return m, nil
return u, ui, nil
}

View File

@ -8,8 +8,8 @@ import (
"github.com/hashicorp/go-multierror"
"github.com/microsoft/kiota-abstractions-go/serialization"
kioser "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-beta-sdk-go/users"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/users"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"

View File

@ -4,7 +4,7 @@ import (
"testing"
"time"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"

View File

@ -8,8 +8,8 @@ import (
"github.com/hashicorp/go-multierror"
"github.com/microsoft/kiota-abstractions-go/serialization"
kioser "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-beta-sdk-go/users"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/users"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/common"

View File

@ -4,7 +4,7 @@ import (
"testing"
"time"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"

View File

@ -8,8 +8,8 @@ import (
"github.com/hashicorp/go-multierror"
"github.com/microsoft/kiota-abstractions-go/serialization"
kioser "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-beta-sdk-go/users"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/users"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"

View File

@ -4,7 +4,7 @@ import (
"testing"
"time"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/pkg/backup/details"

View File

@ -3,7 +3,7 @@ package api
import (
"fmt"
"github.com/microsoftgraph/msgraph-beta-sdk-go/users"
"github.com/microsoftgraph/msgraph-sdk-go/users"
)
// -----------------------------------------------------------------------

View File

@ -5,7 +5,7 @@ import (
"context"
"io"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/uploadsession"

View File

@ -3,8 +3,8 @@ package exchange
import (
"context"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
msusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
"github.com/microsoftgraph/msgraph-sdk-go/models"
msusers "github.com/microsoftgraph/msgraph-sdk-go/users"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/connector/graph"

View File

@ -257,6 +257,24 @@ func (col *Collection) streamItems(ctx context.Context) {
break
}
// If the data is no longer available just return here and chalk it up
// as a success. There's no reason to retry and no way we can backup up
// enough information to restore the item anyway.
if e := graph.IsErrDeletedInFlight(err); e != nil {
atomic.AddInt64(&success, 1)
logger.Ctx(ctx).Infow(
"Graph reported item not found",
"error",
e,
"service",
path.ExchangeService.String(),
"category",
col.category.String,
)
return
}
if i < numberOfRetries {
time.Sleep(time.Duration(3*(i+1)) * time.Second)
}
@ -270,6 +288,16 @@ func (col *Collection) streamItems(ctx context.Context) {
// attempted items.
if e := graph.IsErrDeletedInFlight(err); e != nil {
atomic.AddInt64(&success, 1)
logger.Ctx(ctx).Infow(
"Graph reported item not found",
"error",
e,
"service",
path.ExchangeService.String(),
"category",
col.category.String,
)
return
}

View File

@ -7,7 +7,7 @@ import (
"reflect"
"runtime/trace"
"github.com/microsoftgraph/msgraph-beta-sdk-go/models"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/pkg/errors"
"github.com/alcionai/corso/src/internal/common"

View File

@ -0,0 +1,86 @@
package betasdk
import (
i1a3c1a5501c5e41b7fd169f2d4c768dce9b096ac28fb5431bf02afcc57295411 "github.com/alcionai/corso/src/internal/connector/graph/betasdk/sites"
absser "github.com/microsoft/kiota-abstractions-go"
kioser "github.com/microsoft/kiota-abstractions-go/serialization"
kform "github.com/microsoft/kiota-serialization-form-go"
kw "github.com/microsoft/kiota-serialization-json-go"
ktext "github.com/microsoft/kiota-serialization-text-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
)
// BetaClient the main entry point of the SDK, exposes the configuration and the fluent API.
// Minimal Beta Connector:
// Details on how the Code was generated is present in `kioter-lock.json`.
// NOTE: kiota gen file is altered to indicate what files are included in the created
//
// Changes to Sites Directory:
// Access files send requests with an adapter's with ASync() support.
// This feature is not enabled in v1.0. Manually changed in remaining files.
// Additionally, only calls that begin as client.SitesBy(siteID).Pages() have an endpoint.
//
// The use case specific to Pages(). All other requests should be routed to the /internal/connector/graph.Servicer
// Specifics on `betaClient.SitesById(siteID).Pages` are located: sites/site_item_request_builder.go
//
// Required model files are identified as `modelFiles` in kiota-lock.json. Directory -> betasdk/models
// Required access files are identified as `sitesFiles` in kiota-lock.json. Directory -> betasdk/sites
//
// BetaClient minimal msgraph-beta-sdk-go for connecting to msgraph-beta-sdk-go
// for retrieving `SharePoint.Pages`. Code is generated from kiota.dev.
// requestAdapter is registered with the following the serializers:
// -- "Microsoft.Kiota.Serialization.Json.JsonParseNodeFactory",
// -- "Microsoft.Kiota.Serialization.Text.TextParseNodeFactory",
// -- "Microsoft.Kiota.Serialization.Form.FormParseNodeFactory"
type BetaClient struct {
// Path parameters for the request
pathParameters map[string]string
// The request adapter to use to execute the requests.
requestAdapter *msgraphsdk.GraphRequestAdapter
// Url template to use to build the URL for the current request builder
urlTemplate string
}
// NewBetaClient instantiates a new BetaClient and sets the default values.
// func NewBetaClient(requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter)(*BetaClient) {
func NewBetaClient(requestAdapter *msgraphsdk.GraphRequestAdapter) *BetaClient {
m := &BetaClient{}
m.pathParameters = make(map[string]string)
m.urlTemplate = "{+baseurl}"
m.requestAdapter = requestAdapter
absser.RegisterDefaultSerializer(func() kioser.SerializationWriterFactory {
return kw.NewJsonSerializationWriterFactory()
})
absser.RegisterDefaultSerializer(func() kioser.SerializationWriterFactory {
return ktext.NewTextSerializationWriterFactory()
})
absser.RegisterDefaultSerializer(func() kioser.SerializationWriterFactory {
return kform.NewFormSerializationWriterFactory()
})
absser.RegisterDefaultDeserializer(func() kioser.ParseNodeFactory {
return kw.NewJsonParseNodeFactory()
})
absser.RegisterDefaultDeserializer(func() kioser.ParseNodeFactory {
return ktext.NewTextParseNodeFactory()
})
absser.RegisterDefaultDeserializer(func() kioser.ParseNodeFactory {
return kform.NewFormParseNodeFactory()
})
if m.requestAdapter.GetBaseUrl() == "" {
m.requestAdapter.SetBaseUrl("https://graph.microsoft.com/beta")
}
return m
}
// SitesById provides operations to manage the collection of site entities.
func (m *BetaClient) SitesById(id string) *i1a3c1a5501c5e41b7fd169f2d4c768dce9b096ac28fb5431bf02afcc57295411.SiteItemRequestBuilder {
urlTplParams := make(map[string]string)
for idx, item := range m.pathParameters {
urlTplParams[idx] = item
}
if id != "" {
urlTplParams["site%2Did"] = id
}
return i1a3c1a5501c5e41b7fd169f2d4c768dce9b096ac28fb5431bf02afcc57295411.NewSiteItemRequestBuilderInternal(urlTplParams, m.requestAdapter)
}

View File

@ -0,0 +1,107 @@
package betasdk
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/graph/betasdk/models"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/account"
)
type BetaClientSuite struct {
suite.Suite
credentials account.M365Config
}
func TestBetaClientSuite(t *testing.T) {
suite.Run(t, new(BetaClientSuite))
}
func (suite *BetaClientSuite) SetupSuite() {
t := suite.T()
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
suite.credentials = m365
}
func (suite *BetaClientSuite) TestCreateBetaClient() {
t := suite.T()
adpt, err := graph.CreateAdapter(
suite.credentials.AzureTenantID,
suite.credentials.AzureClientID,
suite.credentials.AzureClientSecret,
)
require.NoError(t, err)
client := NewBetaClient(adpt)
assert.NotNil(t, client)
}
// TestBasicClientGetFunctionality. Tests that adapter is able
// to parse retrieved Site Page. Additional tests should
// be handled within the /internal/connector/sharepoint when
// additional features are added.
func (suite *BetaClientSuite) TestBasicClientGetFunctionality() {
ctx, flush := tester.NewContext()
defer flush()
t := suite.T()
adpt, err := graph.CreateAdapter(
suite.credentials.AzureTenantID,
suite.credentials.AzureClientID,
suite.credentials.AzureClientSecret,
)
require.NoError(t, err)
client := NewBetaClient(adpt)
require.NotNil(t, client)
siteID := tester.M365SiteID(t)
// TODO(dadams39) document allowable calls in main
collection, err := client.SitesById(siteID).Pages().Get(ctx, nil)
// Ensures that the client is able to receive data from beta
// Not Registered Error: content type application/json does not have a factory registered to be parsed
require.NoError(t, err)
for _, page := range collection.GetValue() {
assert.NotNil(t, page, "betasdk call for page does not return value.")
if page != nil {
t.Logf("Page :%s ", *page.GetName())
assert.NotNil(t, page.GetId())
}
}
}
func (suite *BetaClientSuite) TestServiceRequirements() {
t := suite.T()
adpt, err := graph.CreateAdapter(
suite.credentials.AzureTenantID,
suite.credentials.AzureClientID,
suite.credentials.AzureClientSecret,
)
require.NoError(t, err)
service := NewService(adpt)
require.NotNil(t, service)
testPage := models.NewSitePage()
name := "testFile"
desc := "working with parsing"
testPage.SetName(&name)
testPage.SetDescription(&desc)
byteArray, err := service.Serialize(testPage)
assert.NotEmpty(t, byteArray)
assert.NoError(t, err)
}

View File

@ -0,0 +1,44 @@
package betasdk
import (
absser "github.com/microsoft/kiota-abstractions-go/serialization"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
"github.com/pkg/errors"
)
// Service wraps BetaClient's functionality.
// Abstraction created to comply loosely with graph.Servicer
// methods for ease of switching between v1.0 and beta connnectors
type Service struct {
client *BetaClient
}
func (s Service) Adapter() *msgraphsdk.GraphRequestAdapter {
return s.client.requestAdapter
}
func (s Service) Client() *BetaClient {
return s.client
}
func NewService(adpt *msgraphsdk.GraphRequestAdapter) *Service {
return &Service{
client: NewBetaClient(adpt),
}
}
// Seraialize writes an M365 parsable object into a byte array using the built-in
// application/json writer within the adapter.
func (s Service) Serialize(object absser.Parsable) ([]byte, error) {
writer, err := s.Adapter().GetSerializationWriterFactory().GetSerializationWriter("application/json")
if err != nil || writer == nil {
return nil, errors.Wrap(err, "creating json serialization writer")
}
err = writer.WriteObjectValue("", object)
if err != nil {
return nil, errors.Wrap(err, "writeObjecValue serialization")
}
return writer.GetSerializedContent()
}

View File

@ -0,0 +1,131 @@
{
"lockFileVersion": "1.0.0",
"kiotaVersion": "0.10.0.0",
"clientClassName": "BetaClient",
"clientNamespaceName": "github.com/alcionai/corso/src/internal/connector/graph/betasdk",
"language": "Go",
"betaVersion": "0.53.0",
"usesBackingStore": false,
"includeAdditionalData": true,
"serializers": [
"Microsoft.Kiota.Serialization.Json.JsonSerializationWriterFactory",
"Microsoft.Kiota.Serialization.Text.TextSerializationWriterFactory",
"Microsoft.Kiota.Serialization.Form.FormSerializationWriterFactory"
],
"deserializers": [
"Microsoft.Kiota.Serialization.Json.JsonParseNodeFactory",
"Microsoft.Kiota.Serialization.Text.TextParseNodeFactory",
"Microsoft.Kiota.Serialization.Form.FormParseNodeFactory"
],
"structuredMimeTypes": [
"application/json",
"text/plain",
"application/x-www-form-urlencoded"
],
"includePatterns": [
"**/sites/**"
],
"excludePatterns": [
"**/admin/**",
"**/users/**",
"**/groups/**",
"**/onenote/**"
],
"sitesFiles": [
"count_request_builder.go",
"item_pages_count_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_count_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_horizontal_section_item_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_count_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_horizontal_section_column_item_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_item_webparts_count_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_item_webparts_item_get_position_of_web_part_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_item_webparts_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_item_webparts_web_part_item_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_item_columns_request_builder.go",
"item_pages_item_canvas_layout_horizontal_sections_request_builder.go",
"item_pages_item_canvas_layout_request_builder.go",
"item_pages_item_canvas_layout_vertical_section_request_builder.go",
"item_pages_item_canvas_layout_vertical_section_webparts_count_request_builder.go",
"item_pages_item_canvas_layout_vertical_section_webparts_item_get_position_of_web_part_request_builder.go",
"item_pages_item_canvas_layout_vertical_section_webparts_request_builder.go",
"item_pages_item_canvas_layout_vertical_section_webparts_web_part_item_request_builder.go",
"item_pages_item_get_web_parts_by_position_post_request_body.go",
"item_pages_item_get_web_parts_by_position_post_request_bodyable.go",
"item_pages_item_get_web_parts_by_position_request_builder.go",
"item_pages_item_get_web_parts_by_position_response.go",
"item_pages_item_get_web_parts_by_position_responseable.go",
"item_pages_item_publish_request_builder.go",
"item_pages_item_web_parts_count_request_builder.go",
"item_pages_item_web_parts_item_get_position_of_web_part_request_builder.go",
"item_pages_item_web_parts_request_builder.go",
"item_pages_item_web_parts_web_part_item_request_builder.go",
"item_pages_request_builder.go",
"item_pages_site_page_item_request_builder.go",
"item_sites_count_request_builder.go",
"item_sites_site_item_request_builder.go",
"site_item_request_builder.go"
],
"modelFiles":[
"base_item.go",
"page_layout_type.go",
"standard_web_partable.go",
"canvas_layout.go",
"page_promotion_type.go",
"text_web_part.go",
"canvas_layoutable.go",
"publication_facet.go",
"text_web_part_collection_response.go",
"horizontal_section.go",
"publication_facetable.go",
"text_web_part_collection_responseable.go",
"horizontal_section_collection_response.go",
"reactions_facet.go",
"text_web_partable.go",
"horizontal_section_collection_responseable.go",
"reactions_facetable.go",
"title_area.go",
"horizontal_section_column.go",
"section_emphasis_type.go",
"title_area_layout_type.go",
"horizontal_section_column_collection_response.go",
"server_processed_content.go",
"title_area_text_alignment_type.go",
"horizontal_section_column_collection_responseable.go",
"server_processed_contentable.go",
"title_areaable.go",
"horizontal_section_columnable.go",
"site_access_type.go",
"vertical_section.go",
"horizontal_section_layout_type.go",
"site_page.go",
"vertical_sectionable.go",
"horizontal_sectionable.go",
"site_page_collection_response.go",
"web_part.go",
"meta_data_key_string_pair.go",
"site_page_collection_responseable.go",
"web_part_collection_response.go",
"meta_data_key_string_pair_collection_response.go",
"site_pageable.go",
"web_part_collection_responseable.go",
"meta_data_key_string_pair_collection_responseable.go",
"site_security_level.go",
"web_part_data.go",
"meta_data_key_string_pairable.go",
"site_settings.go",
"web_part_dataable.go",
"meta_data_key_value_pair.go",
"site_settingsable.go",
"web_part_position.go",
"meta_data_key_value_pair_collection_response.go",
"standard_web_part.go",
"web_part_positionable.go",
"meta_data_key_value_pair_collection_responseable.go",
"standard_web_part_collection_response.go",
"web_partable.go",
"meta_data_key_value_pairable.go",
"standard_web_part_collection_responseable.go"
],
"disabledValidationRules": []
}

View File

@ -0,0 +1,379 @@
package models
import (
i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e "time"
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// BaseItem
type BaseItem struct {
msmodel.Entity
// Identity of the user, device, or application which created the item. Read-only.
createdBy msmodel.IdentitySetable
// The createdByUser property
createdByUser msmodel.Userable
// Date and time of item creation. Read-only.
createdDateTime *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time
// The description property
description *string
// ETag for the item. Read-only.
eTag *string
// Identity of the user, device, and application which last modified the item. Read-only.
lastModifiedBy msmodel.IdentitySetable
// The lastModifiedByUser property
lastModifiedByUser msmodel.Userable
// Date and time the item was last modified. Read-only.
lastModifiedDateTime *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time
// The name of the item. Read-write.
name *string
// Parent information, if the item has a parent. Read-write.
parentReference msmodel.ItemReferenceable
// URL that displays the resource in the browser. Read-only.
webUrl *string
}
// NewBaseItem instantiates a new baseItem and sets the default values.
func NewBaseItem() *BaseItem {
m := &BaseItem{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateBaseItemFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateBaseItemFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
if parseNode != nil {
mappingValueNode, err := parseNode.GetChildNode("@odata.type")
if err != nil {
return nil, err
}
if mappingValueNode != nil {
mappingValue, err := mappingValueNode.GetStringValue()
if err != nil {
return nil, err
}
if mappingValue != nil {
switch *mappingValue {
case "#microsoft.graph.drive":
return msmodel.NewDrive(), nil
case "#microsoft.graph.driveItem":
return msmodel.NewDriveItem(), nil
case "#microsoft.graph.list":
return msmodel.NewList(), nil
case "#microsoft.graph.listItem":
return msmodel.NewListItem(), nil
case "#microsoft.graph.sharedDriveItem":
return msmodel.NewSharedDriveItem(), nil
case "#microsoft.graph.site":
return msmodel.NewSite(), nil
case "#microsoft.graph.sitePage":
return NewSitePage(), nil
}
}
}
}
return NewBaseItem(), nil
}
// GetCreatedBy gets the createdBy property value. Identity of the user, device, or application which created the item. Read-only.
func (m *BaseItem) GetCreatedBy() msmodel.IdentitySetable {
return m.createdBy
}
// GetCreatedByUser gets the createdByUser property value. The createdByUser property
func (m *BaseItem) GetCreatedByUser() msmodel.Userable {
return m.createdByUser
}
// GetCreatedDateTime gets the createdDateTime property value. Date and time of item creation. Read-only.
func (m *BaseItem) GetCreatedDateTime() *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time {
return m.createdDateTime
}
// GetDescription gets the description property value. The description property
func (m *BaseItem) GetDescription() *string {
return m.description
}
// GetETag gets the eTag property value. ETag for the item. Read-only.
func (m *BaseItem) GetETag() *string {
return m.eTag
}
// GetFieldDeserializers the deserialization information for the current model
func (m *BaseItem) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
res["createdBy"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateIdentitySetFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetCreatedBy(val.(msmodel.IdentitySetable))
}
return nil
}
res["createdByUser"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateUserFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetCreatedByUser(val.(msmodel.Userable))
}
return nil
}
res["createdDateTime"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetTimeValue()
if err != nil {
return err
}
if val != nil {
m.SetCreatedDateTime(val)
}
return nil
}
res["description"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetDescription(val)
}
return nil
}
res["eTag"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetETag(val)
}
return nil
}
res["lastModifiedBy"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateIdentitySetFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetLastModifiedBy(val.(msmodel.IdentitySetable))
}
return nil
}
res["lastModifiedByUser"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateUserFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetLastModifiedByUser(val.(msmodel.Userable))
}
return nil
}
res["lastModifiedDateTime"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetTimeValue()
if err != nil {
return err
}
if val != nil {
m.SetLastModifiedDateTime(val)
}
return nil
}
res["name"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetName(val)
}
return nil
}
res["parentReference"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateItemReferenceFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetParentReference(val.(msmodel.ItemReferenceable))
}
return nil
}
res["webUrl"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetWebUrl(val)
}
return nil
}
return res
}
// GetLastModifiedBy gets the lastModifiedBy property value. Identity of the user, device, and application which last modified the item. Read-only.
func (m *BaseItem) GetLastModifiedBy() msmodel.IdentitySetable {
return m.lastModifiedBy
}
// GetLastModifiedByUser gets the lastModifiedByUser property value. The lastModifiedByUser property
func (m *BaseItem) GetLastModifiedByUser() msmodel.Userable {
return m.lastModifiedByUser
}
// GetLastModifiedDateTime gets the lastModifiedDateTime property value. Date and time the item was last modified. Read-only.
func (m *BaseItem) GetLastModifiedDateTime() *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time {
return m.lastModifiedDateTime
}
// GetName gets the name property value. The name of the item. Read-write.
func (m *BaseItem) GetName() *string {
return m.name
}
// GetParentReference gets the parentReference property value. Parent information, if the item has a parent. Read-write.
func (m *BaseItem) GetParentReference() msmodel.ItemReferenceable {
return m.parentReference
}
// GetWebUrl gets the webUrl property value. URL that displays the resource in the browser. Read-only.
func (m *BaseItem) GetWebUrl() *string {
return m.webUrl
}
// Serialize serializes information the current object
func (m *BaseItem) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
{
err = writer.WriteObjectValue("createdBy", m.GetCreatedBy())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("createdByUser", m.GetCreatedByUser())
if err != nil {
return err
}
}
{
err = writer.WriteTimeValue("createdDateTime", m.GetCreatedDateTime())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("description", m.GetDescription())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("eTag", m.GetETag())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("lastModifiedBy", m.GetLastModifiedBy())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("lastModifiedByUser", m.GetLastModifiedByUser())
if err != nil {
return err
}
}
{
err = writer.WriteTimeValue("lastModifiedDateTime", m.GetLastModifiedDateTime())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("name", m.GetName())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("parentReference", m.GetParentReference())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("webUrl", m.GetWebUrl())
if err != nil {
return err
}
}
return nil
}
// SetCreatedBy sets the createdBy property value. Identity of the user, device, or application which created the item. Read-only.
func (m *BaseItem) SetCreatedBy(value msmodel.IdentitySetable) {
m.createdBy = value
}
// SetCreatedByUser sets the createdByUser property value. The createdByUser property
func (m *BaseItem) SetCreatedByUser(value msmodel.Userable) {
m.createdByUser = value
}
// SetCreatedDateTime sets the createdDateTime property value. Date and time of item creation. Read-only.
func (m *BaseItem) SetCreatedDateTime(value *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time) {
m.createdDateTime = value
}
// SetDescription sets the description property value. The description property
func (m *BaseItem) SetDescription(value *string) {
m.description = value
}
// SetETag sets the eTag property value. ETag for the item. Read-only.
func (m *BaseItem) SetETag(value *string) {
m.eTag = value
}
// SetLastModifiedBy sets the lastModifiedBy property value. Identity of the user, device, and application which last modified the item. Read-only.
func (m *BaseItem) SetLastModifiedBy(value msmodel.IdentitySetable) {
m.lastModifiedBy = value
}
// SetLastModifiedByUser sets the lastModifiedByUser property value. The lastModifiedByUser property
func (m *BaseItem) SetLastModifiedByUser(value msmodel.Userable) {
m.lastModifiedByUser = value
}
// SetLastModifiedDateTime sets the lastModifiedDateTime property value. Date and time the item was last modified. Read-only.
func (m *BaseItem) SetLastModifiedDateTime(value *i336074805fc853987abe6f7fe3ad97a6a6f3077a16391fec744f671a015fbd7e.Time) {
m.lastModifiedDateTime = value
}
// SetName sets the name property value. The name of the item. Read-write.
func (m *BaseItem) SetName(value *string) {
m.name = value
}
// SetParentReference sets the parentReference property value. Parent information, if the item has a parent. Read-write.
func (m *BaseItem) SetParentReference(value msmodel.ItemReferenceable) {
m.parentReference = value
}
// SetWebUrl sets the webUrl property value. URL that displays the resource in the browser. Read-only.
func (m *BaseItem) SetWebUrl(value *string) {
m.webUrl = value
}

View File

@ -0,0 +1,103 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// CanvasLayout
type CanvasLayout struct {
msmodel.Entity
// Collection of horizontal sections on the SharePoint page.
horizontalSections []HorizontalSectionable
// Vertical section on the SharePoint page.
verticalSection VerticalSectionable
}
// NewCanvasLayout instantiates a new canvasLayout and sets the default values.
func NewCanvasLayout() *CanvasLayout {
m := &CanvasLayout{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateCanvasLayoutFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateCanvasLayoutFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewCanvasLayout(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *CanvasLayout) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
res["horizontalSections"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateHorizontalSectionFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]HorizontalSectionable, len(val))
for i, v := range val {
res[i] = v.(HorizontalSectionable)
}
m.SetHorizontalSections(res)
}
return nil
}
res["verticalSection"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateVerticalSectionFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetVerticalSection(val.(VerticalSectionable))
}
return nil
}
return res
}
// GetHorizontalSections gets the horizontalSections property value. Collection of horizontal sections on the SharePoint page.
func (m *CanvasLayout) GetHorizontalSections() []HorizontalSectionable {
return m.horizontalSections
}
// GetVerticalSection gets the verticalSection property value. Vertical section on the SharePoint page.
func (m *CanvasLayout) GetVerticalSection() VerticalSectionable {
return m.verticalSection
}
// Serialize serializes information the current object
func (m *CanvasLayout) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
if m.GetHorizontalSections() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetHorizontalSections()))
for i, v := range m.GetHorizontalSections() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("horizontalSections", cast)
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("verticalSection", m.GetVerticalSection())
if err != nil {
return err
}
}
return nil
}
// SetHorizontalSections sets the horizontalSections property value. Collection of horizontal sections on the SharePoint page.
func (m *CanvasLayout) SetHorizontalSections(value []HorizontalSectionable) {
m.horizontalSections = value
}
// SetVerticalSection sets the verticalSection property value. Vertical section on the SharePoint page.
func (m *CanvasLayout) SetVerticalSection(value VerticalSectionable) {
m.verticalSection = value
}

View File

@ -0,0 +1,16 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// CanvasLayoutable
type CanvasLayoutable interface {
msmodel.Entityable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetHorizontalSections() []HorizontalSectionable
GetVerticalSection() VerticalSectionable
SetHorizontalSections(value []HorizontalSectionable)
SetVerticalSection(value VerticalSectionable)
}

View File

@ -0,0 +1,133 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSection provides operations to call the remove method.
type HorizontalSection struct {
msmodel.Entity
// The set of vertical columns in this section.
columns []HorizontalSectionColumnable
// Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
emphasis *SectionEmphasisType
// Layout type of the section. The possible values are: none, oneColumn, twoColumns, threeColumns, oneThirdLeftColumn, oneThirdRightColumn, fullWidth, unknownFutureValue.
layout *HorizontalSectionLayoutType
}
// NewHorizontalSection instantiates a new horizontalSection and sets the default values.
func NewHorizontalSection() *HorizontalSection {
m := &HorizontalSection{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateHorizontalSectionFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateHorizontalSectionFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewHorizontalSection(), nil
}
// GetColumns gets the columns property value. The set of vertical columns in this section.
func (m *HorizontalSection) GetColumns() []HorizontalSectionColumnable {
return m.columns
}
// GetEmphasis gets the emphasis property value. Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
func (m *HorizontalSection) GetEmphasis() *SectionEmphasisType {
return m.emphasis
}
// GetFieldDeserializers the deserialization information for the current model
func (m *HorizontalSection) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
res["columns"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateHorizontalSectionColumnFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]HorizontalSectionColumnable, len(val))
for i, v := range val {
res[i] = v.(HorizontalSectionColumnable)
}
m.SetColumns(res)
}
return nil
}
res["emphasis"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParseSectionEmphasisType)
if err != nil {
return err
}
if val != nil {
m.SetEmphasis(val.(*SectionEmphasisType))
}
return nil
}
res["layout"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParseHorizontalSectionLayoutType)
if err != nil {
return err
}
if val != nil {
m.SetLayout(val.(*HorizontalSectionLayoutType))
}
return nil
}
return res
}
// GetLayout gets the layout property value. Layout type of the section. The possible values are: none, oneColumn, twoColumns, threeColumns, oneThirdLeftColumn, oneThirdRightColumn, fullWidth, unknownFutureValue.
func (m *HorizontalSection) GetLayout() *HorizontalSectionLayoutType {
return m.layout
}
// Serialize serializes information the current object
func (m *HorizontalSection) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
if m.GetColumns() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetColumns()))
for i, v := range m.GetColumns() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("columns", cast)
if err != nil {
return err
}
}
if m.GetEmphasis() != nil {
cast := (*m.GetEmphasis()).String()
err = writer.WriteStringValue("emphasis", &cast)
if err != nil {
return err
}
}
if m.GetLayout() != nil {
cast := (*m.GetLayout()).String()
err = writer.WriteStringValue("layout", &cast)
if err != nil {
return err
}
}
return nil
}
// SetColumns sets the columns property value. The set of vertical columns in this section.
func (m *HorizontalSection) SetColumns(value []HorizontalSectionColumnable) {
m.columns = value
}
// SetEmphasis sets the emphasis property value. Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
func (m *HorizontalSection) SetEmphasis(value *SectionEmphasisType) {
m.emphasis = value
}
// SetLayout sets the layout property value. Layout type of the section. The possible values are: none, oneColumn, twoColumns, threeColumns, oneThirdLeftColumn, oneThirdRightColumn, fullWidth, unknownFutureValue.
func (m *HorizontalSection) SetLayout(value *HorizontalSectionLayoutType) {
m.layout = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionCollectionResponse
type HorizontalSectionCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []HorizontalSectionable
}
// NewHorizontalSectionCollectionResponse instantiates a new HorizontalSectionCollectionResponse and sets the default values.
func NewHorizontalSectionCollectionResponse() *HorizontalSectionCollectionResponse {
m := &HorizontalSectionCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateHorizontalSectionCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateHorizontalSectionCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewHorizontalSectionCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *HorizontalSectionCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateHorizontalSectionFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]HorizontalSectionable, len(val))
for i, v := range val {
res[i] = v.(HorizontalSectionable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *HorizontalSectionCollectionResponse) GetValue() []HorizontalSectionable {
return m.value
}
// Serialize serializes information the current object
func (m *HorizontalSectionCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *HorizontalSectionCollectionResponse) SetValue(value []HorizontalSectionable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionCollectionResponseable
type HorizontalSectionCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []HorizontalSectionable
SetValue(value []HorizontalSectionable)
}

View File

@ -0,0 +1,103 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionColumn provides operations to call the remove method.
type HorizontalSectionColumn struct {
msmodel.Entity
// The collection of WebParts in this column.
webparts []WebPartable
// Width of the column. A horizontal section is divided into 12 grids. A column should have a value of 1-12 to represent its range spans. For example, there can be two columns both have a width of 6 in a section.
width *int32
}
// NewHorizontalSectionColumn instantiates a new horizontalSectionColumn and sets the default values.
func NewHorizontalSectionColumn() *HorizontalSectionColumn {
m := &HorizontalSectionColumn{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateHorizontalSectionColumnFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateHorizontalSectionColumnFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewHorizontalSectionColumn(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *HorizontalSectionColumn) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
res["webparts"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]WebPartable, len(val))
for i, v := range val {
res[i] = v.(WebPartable)
}
m.SetWebparts(res)
}
return nil
}
res["width"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetInt32Value()
if err != nil {
return err
}
if val != nil {
m.SetWidth(val)
}
return nil
}
return res
}
// GetWebparts gets the webparts property value. The collection of WebParts in this column.
func (m *HorizontalSectionColumn) GetWebparts() []WebPartable {
return m.webparts
}
// GetWidth gets the width property value. Width of the column. A horizontal section is divided into 12 grids. A column should have a value of 1-12 to represent its range spans. For example, there can be two columns both have a width of 6 in a section.
func (m *HorizontalSectionColumn) GetWidth() *int32 {
return m.width
}
// Serialize serializes information the current object
func (m *HorizontalSectionColumn) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
if m.GetWebparts() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetWebparts()))
for i, v := range m.GetWebparts() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("webparts", cast)
if err != nil {
return err
}
}
{
err = writer.WriteInt32Value("width", m.GetWidth())
if err != nil {
return err
}
}
return nil
}
// SetWebparts sets the webparts property value. The collection of WebParts in this column.
func (m *HorizontalSectionColumn) SetWebparts(value []WebPartable) {
m.webparts = value
}
// SetWidth sets the width property value. Width of the column. A horizontal section is divided into 12 grids. A column should have a value of 1-12 to represent its range spans. For example, there can be two columns both have a width of 6 in a section.
func (m *HorizontalSectionColumn) SetWidth(value *int32) {
m.width = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionColumnCollectionResponse
type HorizontalSectionColumnCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []HorizontalSectionColumnable
}
// NewHorizontalSectionColumnCollectionResponse instantiates a new HorizontalSectionColumnCollectionResponse and sets the default values.
func NewHorizontalSectionColumnCollectionResponse() *HorizontalSectionColumnCollectionResponse {
m := &HorizontalSectionColumnCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateHorizontalSectionColumnCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateHorizontalSectionColumnCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewHorizontalSectionColumnCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *HorizontalSectionColumnCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateHorizontalSectionColumnFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]HorizontalSectionColumnable, len(val))
for i, v := range val {
res[i] = v.(HorizontalSectionColumnable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *HorizontalSectionColumnCollectionResponse) GetValue() []HorizontalSectionColumnable {
return m.value
}
// Serialize serializes information the current object
func (m *HorizontalSectionColumnCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *HorizontalSectionColumnCollectionResponse) SetValue(value []HorizontalSectionColumnable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionColumnCollectionResponseable
type HorizontalSectionColumnCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []HorizontalSectionColumnable
SetValue(value []HorizontalSectionColumnable)
}

View File

@ -0,0 +1,16 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionColumnable
type HorizontalSectionColumnable interface {
msmodel.Entityable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetWebparts() []WebPartable
GetWidth() *int32
SetWebparts(value []WebPartable)
SetWidth(value *int32)
}

View File

@ -0,0 +1,52 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type HorizontalSectionLayoutType int
const (
NONE_HORIZONTALSECTIONLAYOUTTYPE HorizontalSectionLayoutType = iota
ONECOLUMN_HORIZONTALSECTIONLAYOUTTYPE
TWOCOLUMNS_HORIZONTALSECTIONLAYOUTTYPE
THREECOLUMNS_HORIZONTALSECTIONLAYOUTTYPE
ONETHIRDLEFTCOLUMN_HORIZONTALSECTIONLAYOUTTYPE
ONETHIRDRIGHTCOLUMN_HORIZONTALSECTIONLAYOUTTYPE
FULLWIDTH_HORIZONTALSECTIONLAYOUTTYPE
UNKNOWNFUTUREVALUE_HORIZONTALSECTIONLAYOUTTYPE
)
func (i HorizontalSectionLayoutType) String() string {
return []string{"none", "oneColumn", "twoColumns", "threeColumns", "oneThirdLeftColumn", "oneThirdRightColumn", "fullWidth", "unknownFutureValue"}[i]
}
func ParseHorizontalSectionLayoutType(v string) (interface{}, error) {
result := NONE_HORIZONTALSECTIONLAYOUTTYPE
switch v {
case "none":
result = NONE_HORIZONTALSECTIONLAYOUTTYPE
case "oneColumn":
result = ONECOLUMN_HORIZONTALSECTIONLAYOUTTYPE
case "twoColumns":
result = TWOCOLUMNS_HORIZONTALSECTIONLAYOUTTYPE
case "threeColumns":
result = THREECOLUMNS_HORIZONTALSECTIONLAYOUTTYPE
case "oneThirdLeftColumn":
result = ONETHIRDLEFTCOLUMN_HORIZONTALSECTIONLAYOUTTYPE
case "oneThirdRightColumn":
result = ONETHIRDRIGHTCOLUMN_HORIZONTALSECTIONLAYOUTTYPE
case "fullWidth":
result = FULLWIDTH_HORIZONTALSECTIONLAYOUTTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_HORIZONTALSECTIONLAYOUTTYPE
default:
return 0, errors.New("Unknown HorizontalSectionLayoutType value: " + v)
}
return &result, nil
}
func SerializeHorizontalSectionLayoutType(values []HorizontalSectionLayoutType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,18 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// HorizontalSectionable
type HorizontalSectionable interface {
msmodel.Entityable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetColumns() []HorizontalSectionColumnable
GetEmphasis() *SectionEmphasisType
GetLayout() *HorizontalSectionLayoutType
SetColumns(value []HorizontalSectionColumnable)
SetEmphasis(value *SectionEmphasisType)
SetLayout(value *HorizontalSectionLayoutType)
}

View File

@ -0,0 +1,123 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// MetaDataKeyStringPair
type MetaDataKeyStringPair struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Key of the meta data.
key *string
// The OdataType property
odataType *string
// Value of the meta data.
value *string
}
// NewMetaDataKeyStringPair instantiates a new metaDataKeyStringPair and sets the default values.
func NewMetaDataKeyStringPair()(*MetaDataKeyStringPair) {
m := &MetaDataKeyStringPair{
}
m.SetAdditionalData(make(map[string]interface{}));
return m
}
// CreateMetaDataKeyStringPairFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateMetaDataKeyStringPairFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewMetaDataKeyStringPair(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *MetaDataKeyStringPair) GetAdditionalData()(map[string]interface{}) {
return m.additionalData
}
// GetFieldDeserializers the deserialization information for the current model
func (m *MetaDataKeyStringPair) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
res["key"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetKey(val)
}
return nil
}
res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["value"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetValue(val)
}
return nil
}
return res
}
// GetKey gets the key property value. Key of the meta data.
func (m *MetaDataKeyStringPair) GetKey()(*string) {
return m.key
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *MetaDataKeyStringPair) GetOdataType()(*string) {
return m.odataType
}
// GetValue gets the value property value. Value of the meta data.
func (m *MetaDataKeyStringPair) GetValue()(*string) {
return m.value
}
// Serialize serializes information the current object
func (m *MetaDataKeyStringPair) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
{
err := writer.WriteStringValue("key", m.GetKey())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("value", m.GetValue())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *MetaDataKeyStringPair) SetAdditionalData(value map[string]interface{})() {
m.additionalData = value
}
// SetKey sets the key property value. Key of the meta data.
func (m *MetaDataKeyStringPair) SetKey(value *string)() {
m.key = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *MetaDataKeyStringPair) SetOdataType(value *string)() {
m.odataType = value
}
// SetValue sets the value property value. Value of the meta data.
func (m *MetaDataKeyStringPair) SetValue(value *string)() {
m.value = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyStringPairCollectionResponse
type MetaDataKeyStringPairCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []MetaDataKeyStringPairable
}
// NewMetaDataKeyStringPairCollectionResponse instantiates a new MetaDataKeyStringPairCollectionResponse and sets the default values.
func NewMetaDataKeyStringPairCollectionResponse() *MetaDataKeyStringPairCollectionResponse {
m := &MetaDataKeyStringPairCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateMetaDataKeyStringPairCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateMetaDataKeyStringPairCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewMetaDataKeyStringPairCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *MetaDataKeyStringPairCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *MetaDataKeyStringPairCollectionResponse) GetValue() []MetaDataKeyStringPairable {
return m.value
}
// Serialize serializes information the current object
func (m *MetaDataKeyStringPairCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *MetaDataKeyStringPairCollectionResponse) SetValue(value []MetaDataKeyStringPairable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyStringPairCollectionResponseable
type MetaDataKeyStringPairCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []MetaDataKeyStringPairable
SetValue(value []MetaDataKeyStringPairable)
}

View File

@ -0,0 +1,17 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// MetaDataKeyStringPairable
type MetaDataKeyStringPairable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetKey()(*string)
GetOdataType()(*string)
GetValue()(*string)
SetKey(value *string)()
SetOdataType(value *string)()
SetValue(value *string)()
}

View File

@ -0,0 +1,135 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyValuePair
type MetaDataKeyValuePair struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Key of the metadata.
key *string
// The OdataType property
odataType *string
// Value of the metadata. Should be an object.
value msmodel.Jsonable
}
// NewMetaDataKeyValuePair instantiates a new metaDataKeyValuePair and sets the default values.
func NewMetaDataKeyValuePair() *MetaDataKeyValuePair {
m := &MetaDataKeyValuePair{}
m.SetAdditionalData(make(map[string]interface{}))
return m
}
// CreateMetaDataKeyValuePairFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateMetaDataKeyValuePairFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewMetaDataKeyValuePair(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *MetaDataKeyValuePair) GetAdditionalData() map[string]interface{} {
return m.additionalData
}
// GetFieldDeserializers the deserialization information for the current model
func (m *MetaDataKeyValuePair) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error)
res["key"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetKey(val)
}
return nil
}
res["@odata.type"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateJsonFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetValue(val.(msmodel.Jsonable))
}
return nil
}
return res
}
// GetKey gets the key property value. Key of the metadata.
func (m *MetaDataKeyValuePair) GetKey() *string {
return m.key
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *MetaDataKeyValuePair) GetOdataType() *string {
return m.odataType
}
// GetValue gets the value property value. Value of the metadata. Should be an object.
func (m *MetaDataKeyValuePair) GetValue() msmodel.Jsonable {
return m.value
}
// Serialize serializes information the current object
func (m *MetaDataKeyValuePair) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
{
err := writer.WriteStringValue("key", m.GetKey())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteObjectValue("value", m.GetValue())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *MetaDataKeyValuePair) SetAdditionalData(value map[string]interface{}) {
m.additionalData = value
}
// SetKey sets the key property value. Key of the metadata.
func (m *MetaDataKeyValuePair) SetKey(value *string) {
m.key = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *MetaDataKeyValuePair) SetOdataType(value *string) {
m.odataType = value
}
// SetValue sets the value property value. Value of the metadata. Should be an object.
func (m *MetaDataKeyValuePair) SetValue(value msmodel.Jsonable) {
m.value = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyValuePairCollectionResponse
type MetaDataKeyValuePairCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []MetaDataKeyValuePairable
}
// NewMetaDataKeyValuePairCollectionResponse instantiates a new MetaDataKeyValuePairCollectionResponse and sets the default values.
func NewMetaDataKeyValuePairCollectionResponse() *MetaDataKeyValuePairCollectionResponse {
m := &MetaDataKeyValuePairCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateMetaDataKeyValuePairCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateMetaDataKeyValuePairCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewMetaDataKeyValuePairCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *MetaDataKeyValuePairCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyValuePairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyValuePairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyValuePairable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *MetaDataKeyValuePairCollectionResponse) GetValue() []MetaDataKeyValuePairable {
return m.value
}
// Serialize serializes information the current object
func (m *MetaDataKeyValuePairCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *MetaDataKeyValuePairCollectionResponse) SetValue(value []MetaDataKeyValuePairable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyValuePairCollectionResponseable
type MetaDataKeyValuePairCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []MetaDataKeyValuePairable
SetValue(value []MetaDataKeyValuePairable)
}

View File

@ -0,0 +1,18 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// MetaDataKeyValuePairable
type MetaDataKeyValuePairable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetKey() *string
GetOdataType() *string
GetValue() msmodel.Jsonable
SetKey(value *string)
SetOdataType(value *string)
SetValue(value msmodel.Jsonable)
}

View File

@ -0,0 +1,40 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type PageLayoutType int
const (
MICROSOFTRESERVED_PAGELAYOUTTYPE PageLayoutType = iota
ARTICLE_PAGELAYOUTTYPE
HOME_PAGELAYOUTTYPE
UNKNOWNFUTUREVALUE_PAGELAYOUTTYPE
)
func (i PageLayoutType) String() string {
return []string{"microsoftReserved", "article", "home", "unknownFutureValue"}[i]
}
func ParsePageLayoutType(v string) (interface{}, error) {
result := MICROSOFTRESERVED_PAGELAYOUTTYPE
switch v {
case "microsoftReserved":
result = MICROSOFTRESERVED_PAGELAYOUTTYPE
case "article":
result = ARTICLE_PAGELAYOUTTYPE
case "home":
result = HOME_PAGELAYOUTTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_PAGELAYOUTTYPE
default:
return 0, errors.New("Unknown PageLayoutType value: " + v)
}
return &result, nil
}
func SerializePageLayoutType(values []PageLayoutType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,40 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type PagePromotionType int
const (
MICROSOFTRESERVED_PAGEPROMOTIONTYPE PagePromotionType = iota
PAGE_PAGEPROMOTIONTYPE
NEWSPOST_PAGEPROMOTIONTYPE
UNKNOWNFUTUREVALUE_PAGEPROMOTIONTYPE
)
func (i PagePromotionType) String() string {
return []string{"microsoftReserved", "page", "newsPost", "unknownFutureValue"}[i]
}
func ParsePagePromotionType(v string) (interface{}, error) {
result := MICROSOFTRESERVED_PAGEPROMOTIONTYPE
switch v {
case "microsoftReserved":
result = MICROSOFTRESERVED_PAGEPROMOTIONTYPE
case "page":
result = PAGE_PAGEPROMOTIONTYPE
case "newsPost":
result = NEWSPOST_PAGEPROMOTIONTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_PAGEPROMOTIONTYPE
default:
return 0, errors.New("Unknown PagePromotionType value: " + v)
}
return &result, nil
}
func SerializePagePromotionType(values []PagePromotionType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,123 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// PublicationFacet
type PublicationFacet struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// The state of publication for this document. Either published or checkout. Read-only.
level *string
// The OdataType property
odataType *string
// The unique identifier for the version that is visible to the current caller. Read-only.
versionId *string
}
// NewPublicationFacet instantiates a new publicationFacet and sets the default values.
func NewPublicationFacet()(*PublicationFacet) {
m := &PublicationFacet{
}
m.SetAdditionalData(make(map[string]interface{}));
return m
}
// CreatePublicationFacetFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreatePublicationFacetFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewPublicationFacet(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *PublicationFacet) GetAdditionalData()(map[string]interface{}) {
return m.additionalData
}
// GetFieldDeserializers the deserialization information for the current model
func (m *PublicationFacet) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
res["level"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetLevel(val)
}
return nil
}
res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["versionId"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetVersionId(val)
}
return nil
}
return res
}
// GetLevel gets the level property value. The state of publication for this document. Either published or checkout. Read-only.
func (m *PublicationFacet) GetLevel()(*string) {
return m.level
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *PublicationFacet) GetOdataType()(*string) {
return m.odataType
}
// GetVersionId gets the versionId property value. The unique identifier for the version that is visible to the current caller. Read-only.
func (m *PublicationFacet) GetVersionId()(*string) {
return m.versionId
}
// Serialize serializes information the current object
func (m *PublicationFacet) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
{
err := writer.WriteStringValue("level", m.GetLevel())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("versionId", m.GetVersionId())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *PublicationFacet) SetAdditionalData(value map[string]interface{})() {
m.additionalData = value
}
// SetLevel sets the level property value. The state of publication for this document. Either published or checkout. Read-only.
func (m *PublicationFacet) SetLevel(value *string)() {
m.level = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *PublicationFacet) SetOdataType(value *string)() {
m.odataType = value
}
// SetVersionId sets the versionId property value. The unique identifier for the version that is visible to the current caller. Read-only.
func (m *PublicationFacet) SetVersionId(value *string)() {
m.versionId = value
}

View File

@ -0,0 +1,17 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// PublicationFacetable
type PublicationFacetable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetLevel()(*string)
GetOdataType()(*string)
GetVersionId()(*string)
SetLevel(value *string)()
SetOdataType(value *string)()
SetVersionId(value *string)()
}

View File

@ -0,0 +1,149 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// ReactionsFacet
type ReactionsFacet struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Count of comments.
commentCount *int32
// Count of likes.
likeCount *int32
// The OdataType property
odataType *string
// Count of shares.
shareCount *int32
}
// NewReactionsFacet instantiates a new reactionsFacet and sets the default values.
func NewReactionsFacet()(*ReactionsFacet) {
m := &ReactionsFacet{
}
m.SetAdditionalData(make(map[string]interface{}));
return m
}
// CreateReactionsFacetFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateReactionsFacetFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewReactionsFacet(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *ReactionsFacet) GetAdditionalData()(map[string]interface{}) {
return m.additionalData
}
// GetCommentCount gets the commentCount property value. Count of comments.
func (m *ReactionsFacet) GetCommentCount()(*int32) {
return m.commentCount
}
// GetFieldDeserializers the deserialization information for the current model
func (m *ReactionsFacet) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
res["commentCount"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetInt32Value()
if err != nil {
return err
}
if val != nil {
m.SetCommentCount(val)
}
return nil
}
res["likeCount"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetInt32Value()
if err != nil {
return err
}
if val != nil {
m.SetLikeCount(val)
}
return nil
}
res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["shareCount"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetInt32Value()
if err != nil {
return err
}
if val != nil {
m.SetShareCount(val)
}
return nil
}
return res
}
// GetLikeCount gets the likeCount property value. Count of likes.
func (m *ReactionsFacet) GetLikeCount()(*int32) {
return m.likeCount
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *ReactionsFacet) GetOdataType()(*string) {
return m.odataType
}
// GetShareCount gets the shareCount property value. Count of shares.
func (m *ReactionsFacet) GetShareCount()(*int32) {
return m.shareCount
}
// Serialize serializes information the current object
func (m *ReactionsFacet) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
{
err := writer.WriteInt32Value("commentCount", m.GetCommentCount())
if err != nil {
return err
}
}
{
err := writer.WriteInt32Value("likeCount", m.GetLikeCount())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteInt32Value("shareCount", m.GetShareCount())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *ReactionsFacet) SetAdditionalData(value map[string]interface{})() {
m.additionalData = value
}
// SetCommentCount sets the commentCount property value. Count of comments.
func (m *ReactionsFacet) SetCommentCount(value *int32)() {
m.commentCount = value
}
// SetLikeCount sets the likeCount property value. Count of likes.
func (m *ReactionsFacet) SetLikeCount(value *int32)() {
m.likeCount = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *ReactionsFacet) SetOdataType(value *string)() {
m.odataType = value
}
// SetShareCount sets the shareCount property value. Count of shares.
func (m *ReactionsFacet) SetShareCount(value *int32)() {
m.shareCount = value
}

View File

@ -0,0 +1,19 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// ReactionsFacetable
type ReactionsFacetable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetCommentCount()(*int32)
GetLikeCount()(*int32)
GetOdataType()(*string)
GetShareCount()(*int32)
SetCommentCount(value *int32)()
SetLikeCount(value *int32)()
SetOdataType(value *string)()
SetShareCount(value *int32)()
}

View File

@ -0,0 +1,43 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type SectionEmphasisType int
const (
NONE_SECTIONEMPHASISTYPE SectionEmphasisType = iota
NEUTRAL_SECTIONEMPHASISTYPE
SOFT_SECTIONEMPHASISTYPE
STRONG_SECTIONEMPHASISTYPE
UNKNOWNFUTUREVALUE_SECTIONEMPHASISTYPE
)
func (i SectionEmphasisType) String() string {
return []string{"none", "neutral", "soft", "strong", "unknownFutureValue"}[i]
}
func ParseSectionEmphasisType(v string) (interface{}, error) {
result := NONE_SECTIONEMPHASISTYPE
switch v {
case "none":
result = NONE_SECTIONEMPHASISTYPE
case "neutral":
result = NEUTRAL_SECTIONEMPHASISTYPE
case "soft":
result = SOFT_SECTIONEMPHASISTYPE
case "strong":
result = STRONG_SECTIONEMPHASISTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_SECTIONEMPHASISTYPE
default:
return 0, errors.New("Unknown SectionEmphasisType value: " + v)
}
return &result, nil
}
func SerializeSectionEmphasisType(values []SectionEmphasisType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,294 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// ServerProcessedContent
type ServerProcessedContent struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// A key-value map where keys are string identifiers and values are component ids. SharePoint servers might decide to use this hint to preload the script for corresponding components for performance boost.
componentDependencies []MetaDataKeyStringPairable
// A key-value map where keys are string identifier and values are object of custom key-value pair.
customMetadata []MetaDataKeyValuePairable
// A key-value map where keys are string identifiers and values are rich text with HTML format. SharePoint servers treat the values as HTML content and run services like safety checks, search index and link fixup on them.
htmlStrings []MetaDataKeyStringPairable
// A key-value map where keys are string identifiers and values are image sources. SharePoint servers treat the values as image sources and run services like search index and link fixup on them.
imageSources []MetaDataKeyStringPairable
// A key-value map where keys are string identifiers and values are links. SharePoint servers treat the values as links and run services like link fixup on them.
links []MetaDataKeyStringPairable
// The OdataType property
odataType *string
// A key-value map where keys are string identifiers and values are strings that should be search indexed.
searchablePlainTexts []MetaDataKeyStringPairable
}
// NewServerProcessedContent instantiates a new serverProcessedContent and sets the default values.
func NewServerProcessedContent() *ServerProcessedContent {
m := &ServerProcessedContent{}
m.SetAdditionalData(make(map[string]interface{}))
return m
}
// CreateServerProcessedContentFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateServerProcessedContentFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewServerProcessedContent(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *ServerProcessedContent) GetAdditionalData() map[string]interface{} {
return m.additionalData
}
// GetComponentDependencies gets the componentDependencies property value. A key-value map where keys are string identifiers and values are component ids. SharePoint servers might decide to use this hint to preload the script for corresponding components for performance boost.
func (m *ServerProcessedContent) GetComponentDependencies() []MetaDataKeyStringPairable {
return m.componentDependencies
}
// GetCustomMetadata gets the customMetadata property value. A key-value map where keys are string identifier and values are object of custom key-value pair.
func (m *ServerProcessedContent) GetCustomMetadata() []MetaDataKeyValuePairable {
return m.customMetadata
}
// GetFieldDeserializers the deserialization information for the current model
func (m *ServerProcessedContent) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error)
res["componentDependencies"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetComponentDependencies(res)
}
return nil
}
res["customMetadata"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyValuePairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyValuePairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyValuePairable)
}
m.SetCustomMetadata(res)
}
return nil
}
res["htmlStrings"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetHtmlStrings(res)
}
return nil
}
res["imageSources"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetImageSources(res)
}
return nil
}
res["links"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetLinks(res)
}
return nil
}
res["@odata.type"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["searchablePlainTexts"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateMetaDataKeyStringPairFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]MetaDataKeyStringPairable, len(val))
for i, v := range val {
res[i] = v.(MetaDataKeyStringPairable)
}
m.SetSearchablePlainTexts(res)
}
return nil
}
return res
}
// GetHtmlStrings gets the htmlStrings property value. A key-value map where keys are string identifiers and values are rich text with HTML format. SharePoint servers treat the values as HTML content and run services like safety checks, search index and link fixup on them.
func (m *ServerProcessedContent) GetHtmlStrings() []MetaDataKeyStringPairable {
return m.htmlStrings
}
// GetImageSources gets the imageSources property value. A key-value map where keys are string identifiers and values are image sources. SharePoint servers treat the values as image sources and run services like search index and link fixup on them.
func (m *ServerProcessedContent) GetImageSources() []MetaDataKeyStringPairable {
return m.imageSources
}
// GetLinks gets the links property value. A key-value map where keys are string identifiers and values are links. SharePoint servers treat the values as links and run services like link fixup on them.
func (m *ServerProcessedContent) GetLinks() []MetaDataKeyStringPairable {
return m.links
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *ServerProcessedContent) GetOdataType() *string {
return m.odataType
}
// GetSearchablePlainTexts gets the searchablePlainTexts property value. A key-value map where keys are string identifiers and values are strings that should be search indexed.
func (m *ServerProcessedContent) GetSearchablePlainTexts() []MetaDataKeyStringPairable {
return m.searchablePlainTexts
}
// Serialize serializes information the current object
func (m *ServerProcessedContent) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
if m.GetComponentDependencies() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetComponentDependencies()))
for i, v := range m.GetComponentDependencies() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("componentDependencies", cast)
if err != nil {
return err
}
}
if m.GetCustomMetadata() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetCustomMetadata()))
for i, v := range m.GetCustomMetadata() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("customMetadata", cast)
if err != nil {
return err
}
}
if m.GetHtmlStrings() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetHtmlStrings()))
for i, v := range m.GetHtmlStrings() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("htmlStrings", cast)
if err != nil {
return err
}
}
if m.GetImageSources() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetImageSources()))
for i, v := range m.GetImageSources() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("imageSources", cast)
if err != nil {
return err
}
}
if m.GetLinks() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetLinks()))
for i, v := range m.GetLinks() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("links", cast)
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
if m.GetSearchablePlainTexts() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetSearchablePlainTexts()))
for i, v := range m.GetSearchablePlainTexts() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err := writer.WriteCollectionOfObjectValues("searchablePlainTexts", cast)
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *ServerProcessedContent) SetAdditionalData(value map[string]interface{}) {
m.additionalData = value
}
// SetComponentDependencies sets the componentDependencies property value. A key-value map where keys are string identifiers and values are component ids. SharePoint servers might decide to use this hint to preload the script for corresponding components for performance boost.
func (m *ServerProcessedContent) SetComponentDependencies(value []MetaDataKeyStringPairable) {
m.componentDependencies = value
}
// SetCustomMetadata sets the customMetadata property value. A key-value map where keys are string identifier and values are object of custom key-value pair.
func (m *ServerProcessedContent) SetCustomMetadata(value []MetaDataKeyValuePairable) {
m.customMetadata = value
}
// SetHtmlStrings sets the htmlStrings property value. A key-value map where keys are string identifiers and values are rich text with HTML format. SharePoint servers treat the values as HTML content and run services like safety checks, search index and link fixup on them.
func (m *ServerProcessedContent) SetHtmlStrings(value []MetaDataKeyStringPairable) {
m.htmlStrings = value
}
// SetImageSources sets the imageSources property value. A key-value map where keys are string identifiers and values are image sources. SharePoint servers treat the values as image sources and run services like search index and link fixup on them.
func (m *ServerProcessedContent) SetImageSources(value []MetaDataKeyStringPairable) {
m.imageSources = value
}
// SetLinks sets the links property value. A key-value map where keys are string identifiers and values are links. SharePoint servers treat the values as links and run services like link fixup on them.
func (m *ServerProcessedContent) SetLinks(value []MetaDataKeyStringPairable) {
m.links = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *ServerProcessedContent) SetOdataType(value *string) {
m.odataType = value
}
// SetSearchablePlainTexts sets the searchablePlainTexts property value. A key-value map where keys are string identifiers and values are strings that should be search indexed.
func (m *ServerProcessedContent) SetSearchablePlainTexts(value []MetaDataKeyStringPairable) {
m.searchablePlainTexts = value
}

View File

@ -0,0 +1,25 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// ServerProcessedContentable
type ServerProcessedContentable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetComponentDependencies() []MetaDataKeyStringPairable
GetCustomMetadata() []MetaDataKeyValuePairable
GetHtmlStrings() []MetaDataKeyStringPairable
GetImageSources() []MetaDataKeyStringPairable
GetLinks() []MetaDataKeyStringPairable
GetOdataType() *string
GetSearchablePlainTexts() []MetaDataKeyStringPairable
SetComponentDependencies(value []MetaDataKeyStringPairable)
SetCustomMetadata(value []MetaDataKeyValuePairable)
SetHtmlStrings(value []MetaDataKeyStringPairable)
SetImageSources(value []MetaDataKeyStringPairable)
SetLinks(value []MetaDataKeyStringPairable)
SetOdataType(value *string)
SetSearchablePlainTexts(value []MetaDataKeyStringPairable)
}

View File

@ -0,0 +1,37 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type SiteAccessType int
const (
BLOCK_SITEACCESSTYPE SiteAccessType = iota
FULL_SITEACCESSTYPE
LIMITED_SITEACCESSTYPE
)
func (i SiteAccessType) String() string {
return []string{"block", "full", "limited"}[i]
}
func ParseSiteAccessType(v string) (interface{}, error) {
result := BLOCK_SITEACCESSTYPE
switch v {
case "block":
result = BLOCK_SITEACCESSTYPE
case "full":
result = FULL_SITEACCESSTYPE
case "limited":
result = LIMITED_SITEACCESSTYPE
default:
return 0, errors.New("Unknown SiteAccessType value: " + v)
}
return &result, nil
}
func SerializeSiteAccessType(values []SiteAccessType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,387 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// SitePage provides operations to call the remove method.
type SitePage struct {
BaseItem
// Indicates the layout of the content in a given SharePoint page, including horizontal sections and vertical section
canvasLayout CanvasLayoutable
// Inherited from baseItem.
contentType msmodel.ContentTypeInfoable
// The name of the page layout of the page. The possible values are: microsoftReserved, article, home, unknownFutureValue.
pageLayout *PageLayoutType
// Indicates the promotion kind of the sitePage. The possible values are: microsoftReserved, page, newsPost, unknownFutureValue.
promotionKind *PagePromotionType
// The publishing status and the MM.mm version of the page.
publishingState PublicationFacetable
// Reactions information for the page.
reactions ReactionsFacetable
// Determines whether or not to show comments at the bottom of the page.
showComments *bool
// Determines whether or not to show recommended pages at the bottom of the page.
showRecommendedPages *bool
// Url of the sitePage's thumbnail image
thumbnailWebUrl *string
// Title of the sitePage.
title *string
// Title area on the SharePoint page.
titleArea TitleAreaable
// Collection of webparts on the SharePoint page
webParts []WebPartable
}
// NewSitePage instantiates a new sitePage and sets the default values.
func NewSitePage() *SitePage {
m := &SitePage{
BaseItem: *NewBaseItem(),
}
odataTypeValue := "#microsoft.graph.sitePage"
m.SetOdataType(&odataTypeValue)
return m
}
// CreateSitePageFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateSitePageFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewSitePage(), nil
}
// GetCanvasLayout gets the canvasLayout property value. Indicates the layout of the content in a given SharePoint page, including horizontal sections and vertical section
func (m *SitePage) GetCanvasLayout() CanvasLayoutable {
return m.canvasLayout
}
// GetContentType gets the contentType property value. Inherited from baseItem.
func (m *SitePage) GetContentType() msmodel.ContentTypeInfoable {
return m.contentType
}
// GetFieldDeserializers the deserialization information for the current model
func (m *SitePage) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseItem.GetFieldDeserializers()
res["canvasLayout"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateCanvasLayoutFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetCanvasLayout(val.(CanvasLayoutable))
}
return nil
}
res["contentType"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateContentTypeInfoFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetContentType(val.(msmodel.ContentTypeInfoable))
}
return nil
}
res["pageLayout"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParsePageLayoutType)
if err != nil {
return err
}
if val != nil {
m.SetPageLayout(val.(*PageLayoutType))
}
return nil
}
res["promotionKind"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParsePagePromotionType)
if err != nil {
return err
}
if val != nil {
m.SetPromotionKind(val.(*PagePromotionType))
}
return nil
}
res["publishingState"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreatePublicationFacetFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetPublishingState(val.(PublicationFacetable))
}
return nil
}
res["reactions"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateReactionsFacetFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetReactions(val.(ReactionsFacetable))
}
return nil
}
res["showComments"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetShowComments(val)
}
return nil
}
res["showRecommendedPages"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetShowRecommendedPages(val)
}
return nil
}
res["thumbnailWebUrl"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetThumbnailWebUrl(val)
}
return nil
}
res["title"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetTitle(val)
}
return nil
}
res["titleArea"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateTitleAreaFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetTitleArea(val.(TitleAreaable))
}
return nil
}
res["webParts"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]WebPartable, len(val))
for i, v := range val {
res[i] = v.(WebPartable)
}
m.SetWebParts(res)
}
return nil
}
return res
}
// GetPageLayout gets the pageLayout property value. The name of the page layout of the page. The possible values are: microsoftReserved, article, home, unknownFutureValue.
func (m *SitePage) GetPageLayout() *PageLayoutType {
return m.pageLayout
}
// GetPromotionKind gets the promotionKind property value. Indicates the promotion kind of the sitePage. The possible values are: microsoftReserved, page, newsPost, unknownFutureValue.
func (m *SitePage) GetPromotionKind() *PagePromotionType {
return m.promotionKind
}
// GetPublishingState gets the publishingState property value. The publishing status and the MM.mm version of the page.
func (m *SitePage) GetPublishingState() PublicationFacetable {
return m.publishingState
}
// GetReactions gets the reactions property value. Reactions information for the page.
func (m *SitePage) GetReactions() ReactionsFacetable {
return m.reactions
}
// GetShowComments gets the showComments property value. Determines whether or not to show comments at the bottom of the page.
func (m *SitePage) GetShowComments() *bool {
return m.showComments
}
// GetShowRecommendedPages gets the showRecommendedPages property value. Determines whether or not to show recommended pages at the bottom of the page.
func (m *SitePage) GetShowRecommendedPages() *bool {
return m.showRecommendedPages
}
// GetThumbnailWebUrl gets the thumbnailWebUrl property value. Url of the sitePage's thumbnail image
func (m *SitePage) GetThumbnailWebUrl() *string {
return m.thumbnailWebUrl
}
// GetTitle gets the title property value. Title of the sitePage.
func (m *SitePage) GetTitle() *string {
return m.title
}
// GetTitleArea gets the titleArea property value. Title area on the SharePoint page.
func (m *SitePage) GetTitleArea() TitleAreaable {
return m.titleArea
}
// GetWebParts gets the webParts property value. Collection of webparts on the SharePoint page
func (m *SitePage) GetWebParts() []WebPartable {
return m.webParts
}
// Serialize serializes information the current object
func (m *SitePage) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseItem.Serialize(writer)
if err != nil {
return err
}
{
err = writer.WriteObjectValue("canvasLayout", m.GetCanvasLayout())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("contentType", m.GetContentType())
if err != nil {
return err
}
}
if m.GetPageLayout() != nil {
cast := (*m.GetPageLayout()).String()
err = writer.WriteStringValue("pageLayout", &cast)
if err != nil {
return err
}
}
if m.GetPromotionKind() != nil {
cast := (*m.GetPromotionKind()).String()
err = writer.WriteStringValue("promotionKind", &cast)
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("publishingState", m.GetPublishingState())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("reactions", m.GetReactions())
if err != nil {
return err
}
}
{
err = writer.WriteBoolValue("showComments", m.GetShowComments())
if err != nil {
return err
}
}
{
err = writer.WriteBoolValue("showRecommendedPages", m.GetShowRecommendedPages())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("thumbnailWebUrl", m.GetThumbnailWebUrl())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("title", m.GetTitle())
if err != nil {
return err
}
}
{
err = writer.WriteObjectValue("titleArea", m.GetTitleArea())
if err != nil {
return err
}
}
if m.GetWebParts() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetWebParts()))
for i, v := range m.GetWebParts() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("webParts", cast)
if err != nil {
return err
}
}
return nil
}
// SetCanvasLayout sets the canvasLayout property value. Indicates the layout of the content in a given SharePoint page, including horizontal sections and vertical section
func (m *SitePage) SetCanvasLayout(value CanvasLayoutable) {
m.canvasLayout = value
}
// SetContentType sets the contentType property value. Inherited from baseItem.
func (m *SitePage) SetContentType(value msmodel.ContentTypeInfoable) {
m.contentType = value
}
// SetPageLayout sets the pageLayout property value. The name of the page layout of the page. The possible values are: microsoftReserved, article, home, unknownFutureValue.
func (m *SitePage) SetPageLayout(value *PageLayoutType) {
m.pageLayout = value
}
// SetPromotionKind sets the promotionKind property value. Indicates the promotion kind of the sitePage. The possible values are: microsoftReserved, page, newsPost, unknownFutureValue.
func (m *SitePage) SetPromotionKind(value *PagePromotionType) {
m.promotionKind = value
}
// SetPublishingState sets the publishingState property value. The publishing status and the MM.mm version of the page.
func (m *SitePage) SetPublishingState(value PublicationFacetable) {
m.publishingState = value
}
// SetReactions sets the reactions property value. Reactions information for the page.
func (m *SitePage) SetReactions(value ReactionsFacetable) {
m.reactions = value
}
// SetShowComments sets the showComments property value. Determines whether or not to show comments at the bottom of the page.
func (m *SitePage) SetShowComments(value *bool) {
m.showComments = value
}
// SetShowRecommendedPages sets the showRecommendedPages property value. Determines whether or not to show recommended pages at the bottom of the page.
func (m *SitePage) SetShowRecommendedPages(value *bool) {
m.showRecommendedPages = value
}
// SetThumbnailWebUrl sets the thumbnailWebUrl property value. Url of the sitePage's thumbnail image
func (m *SitePage) SetThumbnailWebUrl(value *string) {
m.thumbnailWebUrl = value
}
// SetTitle sets the title property value. Title of the sitePage.
func (m *SitePage) SetTitle(value *string) {
m.title = value
}
// SetTitleArea sets the titleArea property value. Title area on the SharePoint page.
func (m *SitePage) SetTitleArea(value TitleAreaable) {
m.titleArea = value
}
// SetWebParts sets the webParts property value. Collection of webparts on the SharePoint page
func (m *SitePage) SetWebParts(value []WebPartable) {
m.webParts = value
}

View File

@ -0,0 +1,76 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// SitePageCollectionResponse provides operations to manage the pages property of the microsoft.graph.site entity.
type SitePageCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []SitePageable
}
// NewSitePageCollectionResponse instantiates a new SitePageCollectionResponse and sets the default values.
func NewSitePageCollectionResponse() *SitePageCollectionResponse {
m := &SitePageCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateSitePageCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateSitePageCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewSitePageCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *SitePageCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateSitePageFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]SitePageable, len(val))
for i, v := range val {
res[i] = v.(SitePageable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *SitePageCollectionResponse) GetValue() []SitePageable {
return m.value
}
// Serialize serializes information the current object
func (m *SitePageCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *SitePageCollectionResponse) SetValue(value []SitePageable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// SitePageCollectionResponseable
type SitePageCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []SitePageable
SetValue(value []SitePageable)
}

View File

@ -0,0 +1,36 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// SitePageable
type SitePageable interface {
msmodel.BaseItemable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetCanvasLayout() CanvasLayoutable
GetContentType() msmodel.ContentTypeInfoable
GetPageLayout() *PageLayoutType
GetPromotionKind() *PagePromotionType
GetPublishingState() PublicationFacetable
GetReactions() ReactionsFacetable
GetShowComments() *bool
GetShowRecommendedPages() *bool
GetThumbnailWebUrl() *string
GetTitle() *string
GetTitleArea() TitleAreaable
GetWebParts() []WebPartable
SetCanvasLayout(value CanvasLayoutable)
SetContentType(value msmodel.ContentTypeInfoable)
SetPageLayout(value *PageLayoutType)
SetPromotionKind(value *PagePromotionType)
SetPublishingState(value PublicationFacetable)
SetReactions(value ReactionsFacetable)
SetShowComments(value *bool)
SetShowRecommendedPages(value *bool)
SetThumbnailWebUrl(value *string)
SetTitle(value *string)
SetTitleArea(value TitleAreaable)
SetWebParts(value []WebPartable)
}

View File

@ -0,0 +1,52 @@
package models
import (
"errors"
)
// Provides operations to call the add method.
type SiteSecurityLevel int
const (
// User Defined, default value, no intent.
USERDEFINED_SITESECURITYLEVEL SiteSecurityLevel = iota
// Low.
LOW_SITESECURITYLEVEL
// Medium-low.
MEDIUMLOW_SITESECURITYLEVEL
// Medium.
MEDIUM_SITESECURITYLEVEL
// Medium-high.
MEDIUMHIGH_SITESECURITYLEVEL
// High.
HIGH_SITESECURITYLEVEL
)
func (i SiteSecurityLevel) String() string {
return []string{"userDefined", "low", "mediumLow", "medium", "mediumHigh", "high"}[i]
}
func ParseSiteSecurityLevel(v string) (interface{}, error) {
result := USERDEFINED_SITESECURITYLEVEL
switch v {
case "userDefined":
result = USERDEFINED_SITESECURITYLEVEL
case "low":
result = LOW_SITESECURITYLEVEL
case "mediumLow":
result = MEDIUMLOW_SITESECURITYLEVEL
case "medium":
result = MEDIUM_SITESECURITYLEVEL
case "mediumHigh":
result = MEDIUMHIGH_SITESECURITYLEVEL
case "high":
result = HIGH_SITESECURITYLEVEL
default:
return 0, errors.New("Unknown SiteSecurityLevel value: " + v)
}
return &result, nil
}
func SerializeSiteSecurityLevel(values []SiteSecurityLevel) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,123 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// SiteSettings
type SiteSettings struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// The language tag for the language used on this site.
languageTag *string
// The OdataType property
odataType *string
// Indicates the time offset for the time zone of the site from Coordinated Universal Time (UTC).
timeZone *string
}
// NewSiteSettings instantiates a new siteSettings and sets the default values.
func NewSiteSettings()(*SiteSettings) {
m := &SiteSettings{
}
m.SetAdditionalData(make(map[string]interface{}));
return m
}
// CreateSiteSettingsFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateSiteSettingsFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewSiteSettings(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *SiteSettings) GetAdditionalData()(map[string]interface{}) {
return m.additionalData
}
// GetFieldDeserializers the deserialization information for the current model
func (m *SiteSettings) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
res["languageTag"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetLanguageTag(val)
}
return nil
}
res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["timeZone"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetTimeZone(val)
}
return nil
}
return res
}
// GetLanguageTag gets the languageTag property value. The language tag for the language used on this site.
func (m *SiteSettings) GetLanguageTag()(*string) {
return m.languageTag
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *SiteSettings) GetOdataType()(*string) {
return m.odataType
}
// GetTimeZone gets the timeZone property value. Indicates the time offset for the time zone of the site from Coordinated Universal Time (UTC).
func (m *SiteSettings) GetTimeZone()(*string) {
return m.timeZone
}
// Serialize serializes information the current object
func (m *SiteSettings) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
{
err := writer.WriteStringValue("languageTag", m.GetLanguageTag())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("timeZone", m.GetTimeZone())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *SiteSettings) SetAdditionalData(value map[string]interface{})() {
m.additionalData = value
}
// SetLanguageTag sets the languageTag property value. The language tag for the language used on this site.
func (m *SiteSettings) SetLanguageTag(value *string)() {
m.languageTag = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *SiteSettings) SetOdataType(value *string)() {
m.odataType = value
}
// SetTimeZone sets the timeZone property value. Indicates the time offset for the time zone of the site from Coordinated Universal Time (UTC).
func (m *SiteSettings) SetTimeZone(value *string)() {
m.timeZone = value
}

View File

@ -0,0 +1,17 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// SiteSettingsable
type SiteSettingsable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetLanguageTag()(*string)
GetOdataType()(*string)
GetTimeZone()(*string)
SetLanguageTag(value *string)()
SetOdataType(value *string)()
SetTimeZone(value *string)()
}

View File

@ -0,0 +1,88 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// StandardWebPart
type StandardWebPart struct {
WebPart
// Data of the webPart.
data WebPartDataable
// A Guid which indicates the type of the webParts
webPartType *string
}
// NewStandardWebPart instantiates a new StandardWebPart and sets the default values.
func NewStandardWebPart()(*StandardWebPart) {
m := &StandardWebPart{
WebPart: *NewWebPart(),
}
odataTypeValue := "#microsoft.graph.standardWebPart";
m.SetOdataType(&odataTypeValue);
return m
}
// CreateStandardWebPartFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateStandardWebPartFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewStandardWebPart(), nil
}
// GetData gets the data property value. Data of the webPart.
func (m *StandardWebPart) GetData()(WebPartDataable) {
return m.data
}
// GetFieldDeserializers the deserialization information for the current model
func (m *StandardWebPart) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := m.WebPart.GetFieldDeserializers()
res["data"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateWebPartDataFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetData(val.(WebPartDataable))
}
return nil
}
res["webPartType"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetWebPartType(val)
}
return nil
}
return res
}
// GetWebPartType gets the webPartType property value. A Guid which indicates the type of the webParts
func (m *StandardWebPart) GetWebPartType()(*string) {
return m.webPartType
}
// Serialize serializes information the current object
func (m *StandardWebPart) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
err := m.WebPart.Serialize(writer)
if err != nil {
return err
}
{
err = writer.WriteObjectValue("data", m.GetData())
if err != nil {
return err
}
}
{
err = writer.WriteStringValue("webPartType", m.GetWebPartType())
if err != nil {
return err
}
}
return nil
}
// SetData sets the data property value. Data of the webPart.
func (m *StandardWebPart) SetData(value WebPartDataable)() {
m.data = value
}
// SetWebPartType sets the webPartType property value. A Guid which indicates the type of the webParts
func (m *StandardWebPart) SetWebPartType(value *string)() {
m.webPartType = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// StandardWebPartCollectionResponse
type StandardWebPartCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []StandardWebPartable
}
// NewStandardWebPartCollectionResponse instantiates a new StandardWebPartCollectionResponse and sets the default values.
func NewStandardWebPartCollectionResponse() *StandardWebPartCollectionResponse {
m := &StandardWebPartCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateStandardWebPartCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateStandardWebPartCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewStandardWebPartCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *StandardWebPartCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateStandardWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]StandardWebPartable, len(val))
for i, v := range val {
res[i] = v.(StandardWebPartable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *StandardWebPartCollectionResponse) GetValue() []StandardWebPartable {
return m.value
}
// Serialize serializes information the current object
func (m *StandardWebPartCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *StandardWebPartCollectionResponse) SetValue(value []StandardWebPartable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// StandardWebPartCollectionResponseable
type StandardWebPartCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []StandardWebPartable
SetValue(value []StandardWebPartable)
}

View File

@ -0,0 +1,15 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// StandardWebPartable
type StandardWebPartable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
WebPartable
GetData()(WebPartDataable)
GetWebPartType()(*string)
SetData(value WebPartDataable)()
SetWebPartType(value *string)()
}

View File

@ -0,0 +1,62 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// TextWebPart
type TextWebPart struct {
WebPart
// The HTML string in text web part.
innerHtml *string
}
// NewTextWebPart instantiates a new TextWebPart and sets the default values.
func NewTextWebPart()(*TextWebPart) {
m := &TextWebPart{
WebPart: *NewWebPart(),
}
odataTypeValue := "#microsoft.graph.textWebPart";
m.SetOdataType(&odataTypeValue);
return m
}
// CreateTextWebPartFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateTextWebPartFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewTextWebPart(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *TextWebPart) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := m.WebPart.GetFieldDeserializers()
res["innerHtml"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetInnerHtml(val)
}
return nil
}
return res
}
// GetInnerHtml gets the innerHtml property value. The HTML string in text web part.
func (m *TextWebPart) GetInnerHtml()(*string) {
return m.innerHtml
}
// Serialize serializes information the current object
func (m *TextWebPart) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
err := m.WebPart.Serialize(writer)
if err != nil {
return err
}
{
err = writer.WriteStringValue("innerHtml", m.GetInnerHtml())
if err != nil {
return err
}
}
return nil
}
// SetInnerHtml sets the innerHtml property value. The HTML string in text web part.
func (m *TextWebPart) SetInnerHtml(value *string)() {
m.innerHtml = value
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// TextWebPartCollectionResponse
type TextWebPartCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []TextWebPartable
}
// NewTextWebPartCollectionResponse instantiates a new TextWebPartCollectionResponse and sets the default values.
func NewTextWebPartCollectionResponse() *TextWebPartCollectionResponse {
m := &TextWebPartCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateTextWebPartCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateTextWebPartCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewTextWebPartCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *TextWebPartCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateTextWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]TextWebPartable, len(val))
for i, v := range val {
res[i] = v.(TextWebPartable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *TextWebPartCollectionResponse) GetValue() []TextWebPartable {
return m.value
}
// Serialize serializes information the current object
func (m *TextWebPartCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *TextWebPartCollectionResponse) SetValue(value []TextWebPartable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// TextWebPartCollectionResponseable
type TextWebPartCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []TextWebPartable
SetValue(value []TextWebPartable)
}

View File

@ -0,0 +1,13 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// TextWebPartable
type TextWebPartable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
WebPartable
GetInnerHtml()(*string)
SetInnerHtml(value *string)()
}

View File

@ -0,0 +1,360 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// TitleArea
type TitleArea struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Alternative text on the title area.
alternativeText *string
// Indicates whether the title area has a gradient effect enabled.
enableGradientEffect *bool
// URL of the image in the title area.
imageWebUrl *string
// Enumeration value that indicates the layout of the title area. The possible values are: imageAndTitle, plain, colorBlock, overlap, unknownFutureValue.
layout *TitleAreaLayoutType
// The OdataType property
odataType *string
// Contains collections of data that can be processed by server side services like search index and link fixup.
serverProcessedContent ServerProcessedContentable
// Indicates whether the author should be shown in title area.
showAuthor *bool
// Indicates whether the published date should be shown in title area.
showPublishedDate *bool
// Indicates whether the text block above title should be shown in title area.
showTextBlockAboveTitle *bool
// The text above title line.
textAboveTitle *string
// Enumeration value that indicates the text alignment of the title area. The possible values are: left, center, unknownFutureValue.
textAlignment *TitleAreaTextAlignmentType
}
// NewTitleArea instantiates a new titleArea and sets the default values.
func NewTitleArea() *TitleArea {
m := &TitleArea{}
m.SetAdditionalData(make(map[string]interface{}))
return m
}
// CreateTitleAreaFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateTitleAreaFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewTitleArea(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *TitleArea) GetAdditionalData() map[string]interface{} {
return m.additionalData
}
// GetAlternativeText gets the alternativeText property value. Alternative text on the title area.
func (m *TitleArea) GetAlternativeText() *string {
return m.alternativeText
}
// GetEnableGradientEffect gets the enableGradientEffect property value. Indicates whether the title area has a gradient effect enabled.
func (m *TitleArea) GetEnableGradientEffect() *bool {
return m.enableGradientEffect
}
// GetFieldDeserializers the deserialization information for the current model
func (m *TitleArea) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error)
res["alternativeText"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetAlternativeText(val)
}
return nil
}
res["enableGradientEffect"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetEnableGradientEffect(val)
}
return nil
}
res["imageWebUrl"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetImageWebUrl(val)
}
return nil
}
res["layout"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParseTitleAreaLayoutType)
if err != nil {
return err
}
if val != nil {
m.SetLayout(val.(*TitleAreaLayoutType))
}
return nil
}
res["@odata.type"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["serverProcessedContent"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateServerProcessedContentFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetServerProcessedContent(val.(ServerProcessedContentable))
}
return nil
}
res["showAuthor"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetShowAuthor(val)
}
return nil
}
res["showPublishedDate"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetShowPublishedDate(val)
}
return nil
}
res["showTextBlockAboveTitle"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetShowTextBlockAboveTitle(val)
}
return nil
}
res["textAboveTitle"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetTextAboveTitle(val)
}
return nil
}
res["textAlignment"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParseTitleAreaTextAlignmentType)
if err != nil {
return err
}
if val != nil {
m.SetTextAlignment(val.(*TitleAreaTextAlignmentType))
}
return nil
}
return res
}
// GetImageWebUrl gets the imageWebUrl property value. URL of the image in the title area.
func (m *TitleArea) GetImageWebUrl() *string {
return m.imageWebUrl
}
// GetLayout gets the layout property value. Enumeration value that indicates the layout of the title area. The possible values are: imageAndTitle, plain, colorBlock, overlap, unknownFutureValue.
func (m *TitleArea) GetLayout() *TitleAreaLayoutType {
return m.layout
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *TitleArea) GetOdataType() *string {
return m.odataType
}
// GetServerProcessedContent gets the serverProcessedContent property value. Contains collections of data that can be processed by server side services like search index and link fixup.
func (m *TitleArea) GetServerProcessedContent() ServerProcessedContentable {
return m.serverProcessedContent
}
// GetShowAuthor gets the showAuthor property value. Indicates whether the author should be shown in title area.
func (m *TitleArea) GetShowAuthor() *bool {
return m.showAuthor
}
// GetShowPublishedDate gets the showPublishedDate property value. Indicates whether the published date should be shown in title area.
func (m *TitleArea) GetShowPublishedDate() *bool {
return m.showPublishedDate
}
// GetShowTextBlockAboveTitle gets the showTextBlockAboveTitle property value. Indicates whether the text block above title should be shown in title area.
func (m *TitleArea) GetShowTextBlockAboveTitle() *bool {
return m.showTextBlockAboveTitle
}
// GetTextAboveTitle gets the textAboveTitle property value. The text above title line.
func (m *TitleArea) GetTextAboveTitle() *string {
return m.textAboveTitle
}
// GetTextAlignment gets the textAlignment property value. Enumeration value that indicates the text alignment of the title area. The possible values are: left, center, unknownFutureValue.
func (m *TitleArea) GetTextAlignment() *TitleAreaTextAlignmentType {
return m.textAlignment
}
// Serialize serializes information the current object
func (m *TitleArea) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
{
err := writer.WriteStringValue("alternativeText", m.GetAlternativeText())
if err != nil {
return err
}
}
{
err := writer.WriteBoolValue("enableGradientEffect", m.GetEnableGradientEffect())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("imageWebUrl", m.GetImageWebUrl())
if err != nil {
return err
}
}
if m.GetLayout() != nil {
cast := (*m.GetLayout()).String()
err := writer.WriteStringValue("layout", &cast)
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteObjectValue("serverProcessedContent", m.GetServerProcessedContent())
if err != nil {
return err
}
}
{
err := writer.WriteBoolValue("showAuthor", m.GetShowAuthor())
if err != nil {
return err
}
}
{
err := writer.WriteBoolValue("showPublishedDate", m.GetShowPublishedDate())
if err != nil {
return err
}
}
{
err := writer.WriteBoolValue("showTextBlockAboveTitle", m.GetShowTextBlockAboveTitle())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("textAboveTitle", m.GetTextAboveTitle())
if err != nil {
return err
}
}
if m.GetTextAlignment() != nil {
cast := (*m.GetTextAlignment()).String()
err := writer.WriteStringValue("textAlignment", &cast)
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *TitleArea) SetAdditionalData(value map[string]interface{}) {
m.additionalData = value
}
// SetAlternativeText sets the alternativeText property value. Alternative text on the title area.
func (m *TitleArea) SetAlternativeText(value *string) {
m.alternativeText = value
}
// SetEnableGradientEffect sets the enableGradientEffect property value. Indicates whether the title area has a gradient effect enabled.
func (m *TitleArea) SetEnableGradientEffect(value *bool) {
m.enableGradientEffect = value
}
// SetImageWebUrl sets the imageWebUrl property value. URL of the image in the title area.
func (m *TitleArea) SetImageWebUrl(value *string) {
m.imageWebUrl = value
}
// SetLayout sets the layout property value. Enumeration value that indicates the layout of the title area. The possible values are: imageAndTitle, plain, colorBlock, overlap, unknownFutureValue.
func (m *TitleArea) SetLayout(value *TitleAreaLayoutType) {
m.layout = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *TitleArea) SetOdataType(value *string) {
m.odataType = value
}
// SetServerProcessedContent sets the serverProcessedContent property value. Contains collections of data that can be processed by server side services like search index and link fixup.
func (m *TitleArea) SetServerProcessedContent(value ServerProcessedContentable) {
m.serverProcessedContent = value
}
// SetShowAuthor sets the showAuthor property value. Indicates whether the author should be shown in title area.
func (m *TitleArea) SetShowAuthor(value *bool) {
m.showAuthor = value
}
// SetShowPublishedDate sets the showPublishedDate property value. Indicates whether the published date should be shown in title area.
func (m *TitleArea) SetShowPublishedDate(value *bool) {
m.showPublishedDate = value
}
// SetShowTextBlockAboveTitle sets the showTextBlockAboveTitle property value. Indicates whether the text block above title should be shown in title area.
func (m *TitleArea) SetShowTextBlockAboveTitle(value *bool) {
m.showTextBlockAboveTitle = value
}
// SetTextAboveTitle sets the textAboveTitle property value. The text above title line.
func (m *TitleArea) SetTextAboveTitle(value *string) {
m.textAboveTitle = value
}
// SetTextAlignment sets the textAlignment property value. Enumeration value that indicates the text alignment of the title area. The possible values are: left, center, unknownFutureValue.
func (m *TitleArea) SetTextAlignment(value *TitleAreaTextAlignmentType) {
m.textAlignment = value
}

View File

@ -0,0 +1,43 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type TitleAreaLayoutType int
const (
IMAGEANDTITLE_TITLEAREALAYOUTTYPE TitleAreaLayoutType = iota
PLAIN_TITLEAREALAYOUTTYPE
COLORBLOCK_TITLEAREALAYOUTTYPE
OVERLAP_TITLEAREALAYOUTTYPE
UNKNOWNFUTUREVALUE_TITLEAREALAYOUTTYPE
)
func (i TitleAreaLayoutType) String() string {
return []string{"imageAndTitle", "plain", "colorBlock", "overlap", "unknownFutureValue"}[i]
}
func ParseTitleAreaLayoutType(v string) (interface{}, error) {
result := IMAGEANDTITLE_TITLEAREALAYOUTTYPE
switch v {
case "imageAndTitle":
result = IMAGEANDTITLE_TITLEAREALAYOUTTYPE
case "plain":
result = PLAIN_TITLEAREALAYOUTTYPE
case "colorBlock":
result = COLORBLOCK_TITLEAREALAYOUTTYPE
case "overlap":
result = OVERLAP_TITLEAREALAYOUTTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_TITLEAREALAYOUTTYPE
default:
return 0, errors.New("Unknown TitleAreaLayoutType value: " + v)
}
return &result, nil
}
func SerializeTitleAreaLayoutType(values []TitleAreaLayoutType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,37 @@
package models
import (
"errors"
)
// Provides operations to call the remove method.
type TitleAreaTextAlignmentType int
const (
LEFT_TITLEAREATEXTALIGNMENTTYPE TitleAreaTextAlignmentType = iota
CENTER_TITLEAREATEXTALIGNMENTTYPE
UNKNOWNFUTUREVALUE_TITLEAREATEXTALIGNMENTTYPE
)
func (i TitleAreaTextAlignmentType) String() string {
return []string{"left", "center", "unknownFutureValue"}[i]
}
func ParseTitleAreaTextAlignmentType(v string) (interface{}, error) {
result := LEFT_TITLEAREATEXTALIGNMENTTYPE
switch v {
case "left":
result = LEFT_TITLEAREATEXTALIGNMENTTYPE
case "center":
result = CENTER_TITLEAREATEXTALIGNMENTTYPE
case "unknownFutureValue":
result = UNKNOWNFUTUREVALUE_TITLEAREATEXTALIGNMENTTYPE
default:
return 0, errors.New("Unknown TitleAreaTextAlignmentType value: " + v)
}
return &result, nil
}
func SerializeTitleAreaTextAlignmentType(values []TitleAreaTextAlignmentType) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}

View File

@ -0,0 +1,33 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// TitleAreaable
type TitleAreaable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetAlternativeText() *string
GetEnableGradientEffect() *bool
GetImageWebUrl() *string
GetLayout() *TitleAreaLayoutType
GetOdataType() *string
GetServerProcessedContent() ServerProcessedContentable
GetShowAuthor() *bool
GetShowPublishedDate() *bool
GetShowTextBlockAboveTitle() *bool
GetTextAboveTitle() *string
GetTextAlignment() *TitleAreaTextAlignmentType
SetAlternativeText(value *string)
SetEnableGradientEffect(value *bool)
SetImageWebUrl(value *string)
SetLayout(value *TitleAreaLayoutType)
SetOdataType(value *string)
SetServerProcessedContent(value ServerProcessedContentable)
SetShowAuthor(value *bool)
SetShowPublishedDate(value *bool)
SetShowTextBlockAboveTitle(value *bool)
SetTextAboveTitle(value *string)
SetTextAlignment(value *TitleAreaTextAlignmentType)
}

View File

@ -0,0 +1,104 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// VerticalSection
type VerticalSection struct {
msmodel.Entity
// Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
emphasis *SectionEmphasisType
// The set of web parts in this section.
webparts []WebPartable
}
// NewVerticalSection instantiates a new verticalSection and sets the default values.
func NewVerticalSection() *VerticalSection {
m := &VerticalSection{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateVerticalSectionFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateVerticalSectionFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewVerticalSection(), nil
}
// GetEmphasis gets the emphasis property value. Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
func (m *VerticalSection) GetEmphasis() *SectionEmphasisType {
return m.emphasis
}
// GetFieldDeserializers the deserialization information for the current model
func (m *VerticalSection) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
res["emphasis"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetEnumValue(ParseSectionEmphasisType)
if err != nil {
return err
}
if val != nil {
m.SetEmphasis(val.(*SectionEmphasisType))
}
return nil
}
res["webparts"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]WebPartable, len(val))
for i, v := range val {
res[i] = v.(WebPartable)
}
m.SetWebparts(res)
}
return nil
}
return res
}
// GetWebparts gets the webparts property value. The set of web parts in this section.
func (m *VerticalSection) GetWebparts() []WebPartable {
return m.webparts
}
// Serialize serializes information the current object
func (m *VerticalSection) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
if m.GetEmphasis() != nil {
cast := (*m.GetEmphasis()).String()
err = writer.WriteStringValue("emphasis", &cast)
if err != nil {
return err
}
}
if m.GetWebparts() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetWebparts()))
for i, v := range m.GetWebparts() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("webparts", cast)
if err != nil {
return err
}
}
return nil
}
// SetEmphasis sets the emphasis property value. Enumeration value that indicates the emphasis of the section background. The possible values are: none, netural, soft, strong, unknownFutureValue.
func (m *VerticalSection) SetEmphasis(value *SectionEmphasisType) {
m.emphasis = value
}
// SetWebparts sets the webparts property value. The set of web parts in this section.
func (m *VerticalSection) SetWebparts(value []WebPartable) {
m.webparts = value
}

View File

@ -0,0 +1,16 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// VerticalSectionable
type VerticalSectionable interface {
msmodel.Entityable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetEmphasis() *SectionEmphasisType
GetWebparts() []WebPartable
SetEmphasis(value *SectionEmphasisType)
SetWebparts(value []WebPartable)
}

View File

@ -0,0 +1,59 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPart provides operations to call the remove method.
type WebPart struct {
msmodel.Entity
}
// NewWebPart instantiates a new webPart and sets the default values.
func NewWebPart() *WebPart {
m := &WebPart{
Entity: *msmodel.NewEntity(),
}
return m
}
// CreateWebPartFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateWebPartFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
if parseNode != nil {
mappingValueNode, err := parseNode.GetChildNode("@odata.type")
if err != nil {
return nil, err
}
if mappingValueNode != nil {
mappingValue, err := mappingValueNode.GetStringValue()
if err != nil {
return nil, err
}
if mappingValue != nil {
switch *mappingValue {
case "#microsoft.graph.standardWebPart":
return NewStandardWebPart(), nil
case "#microsoft.graph.textWebPart":
return NewTextWebPart(), nil
}
}
}
}
return NewWebPart(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *WebPart) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.Entity.GetFieldDeserializers()
return res
}
// Serialize serializes information the current object
func (m *WebPart) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.Entity.Serialize(writer)
if err != nil {
return err
}
return nil
}

View File

@ -0,0 +1,75 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPartCollectionResponse provides operations to manage the webParts property of the microsoft.graph.sitePage entity.
type WebPartCollectionResponse struct {
msmodel.BaseCollectionPaginationCountResponse
// The value property
value []WebPartable
}
// NewWebPartCollectionResponse instantiates a new WebPartCollectionResponse and sets the default values.
func NewWebPartCollectionResponse() *WebPartCollectionResponse {
m := &WebPartCollectionResponse{
BaseCollectionPaginationCountResponse: *msmodel.NewBaseCollectionPaginationCountResponse(),
}
return m
}
// CreateWebPartCollectionResponseFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateWebPartCollectionResponseFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewWebPartCollectionResponse(), nil
}
// GetFieldDeserializers the deserialization information for the current model
func (m *WebPartCollectionResponse) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := m.BaseCollectionPaginationCountResponse.GetFieldDeserializers()
res["value"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfObjectValues(CreateWebPartFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
res := make([]WebPartable, len(val))
for i, v := range val {
res[i] = v.(WebPartable)
}
m.SetValue(res)
}
return nil
}
return res
}
// GetValue gets the value property value. The value property
func (m *WebPartCollectionResponse) GetValue() []WebPartable {
return m.value
}
// Serialize serializes information the current object
func (m *WebPartCollectionResponse) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
err := m.BaseCollectionPaginationCountResponse.Serialize(writer)
if err != nil {
return err
}
if m.GetValue() != nil {
cast := make([]i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, len(m.GetValue()))
for i, v := range m.GetValue() {
cast[i] = v.(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable)
}
err = writer.WriteCollectionOfObjectValues("value", cast)
if err != nil {
return err
}
}
return nil
}
// SetValue sets the value property value. The value property
func (m *WebPartCollectionResponse) SetValue(value []WebPartable) {
m.value = value
}

View File

@ -0,0 +1,14 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPartCollectionResponseable
type WebPartCollectionResponseable interface {
msmodel.BaseCollectionPaginationCountResponseable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetValue() []WebPartable
SetValue(value []WebPartable)
}

View File

@ -0,0 +1,251 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPartData
type WebPartData struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Audience information of the web part. By using this property, specific content will be prioritized to specific audiences.
audiences []string
// Data version of the web part. The value is defined by the web part developer. Different dataVersions usually refers to a different property structure.
dataVersion *string
// Description of the web part.
description *string
// The OdataType property
odataType *string
// Properties bag of the web part.
properties msmodel.Jsonable
// Contains collections of data that can be processed by server side services like search index and link fixup.
serverProcessedContent ServerProcessedContentable
// Title of the web part.
title *string
}
// NewWebPartData instantiates a new webPartData and sets the default values.
func NewWebPartData() *WebPartData {
m := &WebPartData{}
m.SetAdditionalData(make(map[string]interface{}))
return m
}
// CreateWebPartDataFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateWebPartDataFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) (i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewWebPartData(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *WebPartData) GetAdditionalData() map[string]interface{} {
return m.additionalData
}
// GetAudiences gets the audiences property value. Audience information of the web part. By using this property, specific content will be prioritized to specific audiences.
func (m *WebPartData) GetAudiences() []string {
return m.audiences
}
// GetDataVersion gets the dataVersion property value. Data version of the web part. The value is defined by the web part developer. Different dataVersions usually refers to a different property structure.
func (m *WebPartData) GetDataVersion() *string {
return m.dataVersion
}
// GetDescription gets the description property value. Description of the web part.
func (m *WebPartData) GetDescription() *string {
return m.description
}
// GetFieldDeserializers the deserialization information for the current model
func (m *WebPartData) GetFieldDeserializers() map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error)
res["audiences"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetCollectionOfPrimitiveValues("string")
if err != nil {
return err
}
if val != nil {
res := make([]string, len(val))
for i, v := range val {
res[i] = *(v.(*string))
}
m.SetAudiences(res)
}
return nil
}
res["dataVersion"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetDataVersion(val)
}
return nil
}
res["description"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetDescription(val)
}
return nil
}
res["@odata.type"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["properties"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(msmodel.CreateJsonFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetProperties(val.(msmodel.Jsonable))
}
return nil
}
res["serverProcessedContent"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetObjectValue(CreateServerProcessedContentFromDiscriminatorValue)
if err != nil {
return err
}
if val != nil {
m.SetServerProcessedContent(val.(ServerProcessedContentable))
}
return nil
}
res["title"] = func(n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetTitle(val)
}
return nil
}
return res
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *WebPartData) GetOdataType() *string {
return m.odataType
}
// GetProperties gets the properties property value. Properties bag of the web part.
func (m *WebPartData) GetProperties() msmodel.Jsonable {
return m.properties
}
// GetServerProcessedContent gets the serverProcessedContent property value. Contains collections of data that can be processed by server side services like search index and link fixup.
func (m *WebPartData) GetServerProcessedContent() ServerProcessedContentable {
return m.serverProcessedContent
}
// GetTitle gets the title property value. Title of the web part.
func (m *WebPartData) GetTitle() *string {
return m.title
}
// Serialize serializes information the current object
func (m *WebPartData) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter) error {
if m.GetAudiences() != nil {
err := writer.WriteCollectionOfStringValues("audiences", m.GetAudiences())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("dataVersion", m.GetDataVersion())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("description", m.GetDescription())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteObjectValue("properties", m.GetProperties())
if err != nil {
return err
}
}
{
err := writer.WriteObjectValue("serverProcessedContent", m.GetServerProcessedContent())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("title", m.GetTitle())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *WebPartData) SetAdditionalData(value map[string]interface{}) {
m.additionalData = value
}
// SetAudiences sets the audiences property value. Audience information of the web part. By using this property, specific content will be prioritized to specific audiences.
func (m *WebPartData) SetAudiences(value []string) {
m.audiences = value
}
// SetDataVersion sets the dataVersion property value. Data version of the web part. The value is defined by the web part developer. Different dataVersions usually refers to a different property structure.
func (m *WebPartData) SetDataVersion(value *string) {
m.dataVersion = value
}
// SetDescription sets the description property value. Description of the web part.
func (m *WebPartData) SetDescription(value *string) {
m.description = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *WebPartData) SetOdataType(value *string) {
m.odataType = value
}
// SetProperties sets the properties property value. Properties bag of the web part.
func (m *WebPartData) SetProperties(value msmodel.Jsonable) {
m.properties = value
}
// SetServerProcessedContent sets the serverProcessedContent property value. Contains collections of data that can be processed by server side services like search index and link fixup.
func (m *WebPartData) SetServerProcessedContent(value ServerProcessedContentable) {
m.serverProcessedContent = value
}
// SetTitle sets the title property value. Title of the web part.
func (m *WebPartData) SetTitle(value *string) {
m.title = value
}

View File

@ -0,0 +1,26 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPartDataable
type WebPartDataable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetAudiences() []string
GetDataVersion() *string
GetDescription() *string
GetOdataType() *string
GetProperties() msmodel.Jsonable
GetServerProcessedContent() ServerProcessedContentable
GetTitle() *string
SetAudiences(value []string)
SetDataVersion(value *string)
SetDescription(value *string)
SetOdataType(value *string)
SetProperties(value msmodel.Jsonable)
SetServerProcessedContent(value ServerProcessedContentable)
SetTitle(value *string)
}

View File

@ -0,0 +1,175 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// WebPartPosition
type WebPartPosition struct {
// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
additionalData map[string]interface{}
// Indicates the identifier of the column where the web part is located.
columnId *float64
// Indicates the horizontal section where the web part is located.
horizontalSectionId *float64
// Indicates whether the web part is located in the vertical section.
isInVerticalSection *bool
// The OdataType property
odataType *string
// Index of the current web part. Represents the order of the web part in this column or section.
webPartIndex *float64
}
// NewWebPartPosition instantiates a new webPartPosition and sets the default values.
func NewWebPartPosition()(*WebPartPosition) {
m := &WebPartPosition{
}
m.SetAdditionalData(make(map[string]interface{}));
return m
}
// CreateWebPartPositionFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
func CreateWebPartPositionFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
return NewWebPartPosition(), nil
}
// GetAdditionalData gets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *WebPartPosition) GetAdditionalData()(map[string]interface{}) {
return m.additionalData
}
// GetColumnId gets the columnId property value. Indicates the identifier of the column where the web part is located.
func (m *WebPartPosition) GetColumnId()(*float64) {
return m.columnId
}
// GetFieldDeserializers the deserialization information for the current model
func (m *WebPartPosition) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
res["columnId"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetFloat64Value()
if err != nil {
return err
}
if val != nil {
m.SetColumnId(val)
}
return nil
}
res["horizontalSectionId"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetFloat64Value()
if err != nil {
return err
}
if val != nil {
m.SetHorizontalSectionId(val)
}
return nil
}
res["isInVerticalSection"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetBoolValue()
if err != nil {
return err
}
if val != nil {
m.SetIsInVerticalSection(val)
}
return nil
}
res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetStringValue()
if err != nil {
return err
}
if val != nil {
m.SetOdataType(val)
}
return nil
}
res["webPartIndex"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
val, err := n.GetFloat64Value()
if err != nil {
return err
}
if val != nil {
m.SetWebPartIndex(val)
}
return nil
}
return res
}
// GetHorizontalSectionId gets the horizontalSectionId property value. Indicates the horizontal section where the web part is located.
func (m *WebPartPosition) GetHorizontalSectionId()(*float64) {
return m.horizontalSectionId
}
// GetIsInVerticalSection gets the isInVerticalSection property value. Indicates whether the web part is located in the vertical section.
func (m *WebPartPosition) GetIsInVerticalSection()(*bool) {
return m.isInVerticalSection
}
// GetOdataType gets the @odata.type property value. The OdataType property
func (m *WebPartPosition) GetOdataType()(*string) {
return m.odataType
}
// GetWebPartIndex gets the webPartIndex property value. Index of the current web part. Represents the order of the web part in this column or section.
func (m *WebPartPosition) GetWebPartIndex()(*float64) {
return m.webPartIndex
}
// Serialize serializes information the current object
func (m *WebPartPosition) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
{
err := writer.WriteFloat64Value("columnId", m.GetColumnId())
if err != nil {
return err
}
}
{
err := writer.WriteFloat64Value("horizontalSectionId", m.GetHorizontalSectionId())
if err != nil {
return err
}
}
{
err := writer.WriteBoolValue("isInVerticalSection", m.GetIsInVerticalSection())
if err != nil {
return err
}
}
{
err := writer.WriteStringValue("@odata.type", m.GetOdataType())
if err != nil {
return err
}
}
{
err := writer.WriteFloat64Value("webPartIndex", m.GetWebPartIndex())
if err != nil {
return err
}
}
{
err := writer.WriteAdditionalData(m.GetAdditionalData())
if err != nil {
return err
}
}
return nil
}
// SetAdditionalData sets the additionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *WebPartPosition) SetAdditionalData(value map[string]interface{})() {
m.additionalData = value
}
// SetColumnId sets the columnId property value. Indicates the identifier of the column where the web part is located.
func (m *WebPartPosition) SetColumnId(value *float64)() {
m.columnId = value
}
// SetHorizontalSectionId sets the horizontalSectionId property value. Indicates the horizontal section where the web part is located.
func (m *WebPartPosition) SetHorizontalSectionId(value *float64)() {
m.horizontalSectionId = value
}
// SetIsInVerticalSection sets the isInVerticalSection property value. Indicates whether the web part is located in the vertical section.
func (m *WebPartPosition) SetIsInVerticalSection(value *bool)() {
m.isInVerticalSection = value
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *WebPartPosition) SetOdataType(value *string)() {
m.odataType = value
}
// SetWebPartIndex sets the webPartIndex property value. Index of the current web part. Represents the order of the web part in this column or section.
func (m *WebPartPosition) SetWebPartIndex(value *float64)() {
m.webPartIndex = value
}

View File

@ -0,0 +1,21 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
)
// WebPartPositionable
type WebPartPositionable interface {
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
GetColumnId()(*float64)
GetHorizontalSectionId()(*float64)
GetIsInVerticalSection()(*bool)
GetOdataType()(*string)
GetWebPartIndex()(*float64)
SetColumnId(value *float64)()
SetHorizontalSectionId(value *float64)()
SetIsInVerticalSection(value *bool)()
SetOdataType(value *string)()
SetWebPartIndex(value *float64)()
}

View File

@ -0,0 +1,12 @@
package models
import (
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
msmodel "github.com/microsoftgraph/msgraph-sdk-go/models"
)
// WebPartable
type WebPartable interface {
msmodel.Entityable
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
}

View File

@ -0,0 +1,116 @@
package sites
import (
"context"
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f "github.com/microsoft/kiota-abstractions-go"
i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0 "github.com/microsoftgraph/msgraph-sdk-go/models/odataerrors"
)
// CountRequestBuilder provides operations to count the resources in the collection.
type CountRequestBuilder struct {
// Path parameters for the request
pathParameters map[string]string
// The request adapter to use to execute the requests.
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter
// Url template to use to build the URL for the current request builder
urlTemplate string
}
// CountRequestBuilderGetQueryParameters get the number of the resource
type CountRequestBuilderGetQueryParameters struct {
// Filter items by property values
Filter *string `uriparametername:"%24filter"`
// Search items by search phrases
Search *string `uriparametername:"%24search"`
}
// CountRequestBuilderGetRequestConfiguration configuration for the request such as headers,
// query parameters, and middleware options.
type CountRequestBuilderGetRequestConfiguration struct {
// Request headers
Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders
// Request options
Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption
// Request query parameters
QueryParameters *CountRequestBuilderGetQueryParameters
}
// NewCountRequestBuilderInternal instantiates a new CountRequestBuilder and sets the default values.
func NewCountRequestBuilderInternal(
pathParameters map[string]string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *CountRequestBuilder {
m := &CountRequestBuilder{}
m.urlTemplate = "{+baseurl}/sites/$count{?%24search,%24filter}"
urlTplParams := make(map[string]string)
for idx, item := range pathParameters {
urlTplParams[idx] = item
}
m.pathParameters = urlTplParams
m.requestAdapter = requestAdapter
return m
}
// NewCountRequestBuilder instantiates a new CountRequestBuilder and sets the default values.
func NewCountRequestBuilder(
rawURL string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *CountRequestBuilder {
urlParams := make(map[string]string)
urlParams["request-raw-url"] = rawURL
return NewCountRequestBuilderInternal(urlParams, requestAdapter)
}
// CreateGetRequestInformation get the number of the resource
func (m *CountRequestBuilder) CreateGetRequestInformation(
ctx context.Context,
requestConfiguration *CountRequestBuilderGetRequestConfiguration,
) (*i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestInformation, error) {
requestInfo := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewRequestInformation()
requestInfo.UrlTemplate = m.urlTemplate
requestInfo.PathParameters = m.pathParameters
requestInfo.Method = i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.GET
requestInfo.Headers.Add("Accept", "text/plain")
if requestConfiguration != nil {
if requestConfiguration.QueryParameters != nil {
requestInfo.AddQueryParameters(*(requestConfiguration.QueryParameters))
}
requestInfo.Headers.AddAll(requestConfiguration.Headers)
requestInfo.AddRequestOptions(requestConfiguration.Options)
}
return requestInfo, nil
}
// Get get the number of the resource
//
//nolint:lll
func (m *CountRequestBuilder) Get(ctx context.Context, requestConfiguration *CountRequestBuilderGetRequestConfiguration) (*int32, error) {
requestInfo, err := m.CreateGetRequestInformation(ctx, requestConfiguration)
if err != nil {
return nil, err
}
errorMapping := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.ErrorMappings{
"4XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
"5XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
}
res, err := m.requestAdapter.SendPrimitive(ctx, requestInfo, "int32", errorMapping)
if err != nil {
return nil, err
}
if res == nil {
return nil, nil
}
return res.(*int32), nil
}

View File

@ -0,0 +1,115 @@
package sites
import (
"context"
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f "github.com/microsoft/kiota-abstractions-go"
i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0 "github.com/microsoftgraph/msgraph-sdk-go/models/odataerrors"
)
// ItemPagesCountRequestBuilder provides operations to count the resources in the collection.
type ItemPagesCountRequestBuilder struct {
// Path parameters for the request
pathParameters map[string]string
// The request adapter to use to execute the requests.
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter
// Url template to use to build the URL for the current request builder
urlTemplate string
}
// ItemPagesCountRequestBuilderGetQueryParameters get the number of the resource
type ItemPagesCountRequestBuilderGetQueryParameters struct {
// Filter items by property values
Filter *string `uriparametername:"%24filter"`
// Search items by search phrases
Search *string `uriparametername:"%24search"`
}
// ItemPagesCountRequestBuilderGetRequestConfiguration configuration for the request
// such as headers, query parameters, and middleware options.
type ItemPagesCountRequestBuilderGetRequestConfiguration struct {
// Request headers
Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders
// Request options
Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption
// Request query parameters
QueryParameters *ItemPagesCountRequestBuilderGetQueryParameters
}
// NewItemPagesCountRequestBuilderInternal instantiates a new CountRequestBuilder and sets the default values.
func NewItemPagesCountRequestBuilderInternal(
pathParameters map[string]string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *ItemPagesCountRequestBuilder {
m := &ItemPagesCountRequestBuilder{}
m.urlTemplate = "{+baseurl}/sites/{site%2Did}/pages/$count{?%24search,%24filter}"
urlTplParams := make(map[string]string)
for idx, item := range pathParameters {
urlTplParams[idx] = item
}
m.pathParameters = urlTplParams
m.requestAdapter = requestAdapter
return m
}
// NewItemPagesCountRequestBuilder instantiates a new CountRequestBuilder and sets the default values.
func NewItemPagesCountRequestBuilder(
rawURL string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *ItemPagesCountRequestBuilder {
urlParams := make(map[string]string)
urlParams["request-raw-url"] = rawURL
return NewItemPagesCountRequestBuilderInternal(urlParams, requestAdapter)
}
// CreateGetRequestInformation get the number of the resource
//
//nolint:lll
func (m *ItemPagesCountRequestBuilder) CreateGetRequestInformation(ctx context.Context, requestConfiguration *ItemPagesCountRequestBuilderGetRequestConfiguration) (*i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestInformation, error) {
requestInfo := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewRequestInformation()
requestInfo.UrlTemplate = m.urlTemplate
requestInfo.PathParameters = m.pathParameters
requestInfo.Method = i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.GET
requestInfo.Headers.Add("Accept", "text/plain")
if requestConfiguration != nil {
if requestConfiguration.QueryParameters != nil {
requestInfo.AddQueryParameters(*(requestConfiguration.QueryParameters))
}
requestInfo.Headers.AddAll(requestConfiguration.Headers)
requestInfo.AddRequestOptions(requestConfiguration.Options)
}
return requestInfo, nil
}
// Get get the number of the resource
//
//nolint:lll
func (m *ItemPagesCountRequestBuilder) Get(ctx context.Context, requestConfiguration *ItemPagesCountRequestBuilderGetRequestConfiguration) (*int32, error) {
requestInfo, err := m.CreateGetRequestInformation(ctx, requestConfiguration)
if err != nil {
return nil, err
}
errorMapping := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.ErrorMappings{
"4XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
"5XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
}
res, err := m.requestAdapter.SendPrimitive(ctx, requestInfo, "int32", errorMapping)
if err != nil {
return nil, err
}
if res == nil {
return nil, nil
}
return res.(*int32), nil
}

View File

@ -0,0 +1,122 @@
package sites
import (
"context"
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f "github.com/microsoft/kiota-abstractions-go"
i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0 "github.com/microsoftgraph/msgraph-sdk-go/models/odataerrors"
)
// ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder provides
// operations to count the resources in the collection.
type ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder struct {
// Path parameters for the request
pathParameters map[string]string
// The request adapter to use to execute the requests.
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter
// Url template to use to build the URL for the current request builder
urlTemplate string
}
// ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetQueryParameters get the number of the resource
type ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetQueryParameters struct {
// Filter items by property values
Filter *string `uriparametername:"%24filter"`
// Search items by search phrases
Search *string `uriparametername:"%24search"`
}
// ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetRequestConfiguration configuration for
// the request such as headers, query parameters, and middleware options.
type ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetRequestConfiguration struct {
// Request headers
Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders
// Request options
Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption
// Request query parameters
QueryParameters *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetQueryParameters
}
// NewItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderInternal instantiates a
// new CountRequestBuilder and sets the default values.
func NewItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderInternal(
pathParameters map[string]string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder {
m := &ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder{}
//nolint:lll
m.urlTemplate = "{+baseurl}/sites/{site%2Did}/pages/{sitePage%2Did}/canvasLayout/horizontalSections/$count{?%24search,%24filter}"
urlTplParams := make(map[string]string)
for idx, item := range pathParameters {
urlTplParams[idx] = item
}
m.pathParameters = urlTplParams
m.requestAdapter = requestAdapter
return m
}
// NewItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder instantiates a
// new CountRequestBuilder and sets the default values.
func NewItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder(
rawURL string,
requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter,
) *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder {
urlParams := make(map[string]string)
urlParams["request-raw-url"] = rawURL
return NewItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderInternal(urlParams, requestAdapter)
}
// CreateGetRequestInformation get the number of the resource
func (m *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder) CreateGetRequestInformation(
ctx context.Context,
requestConfiguration *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetRequestConfiguration,
) (*i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestInformation, error,
) {
requestInfo := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewRequestInformation()
requestInfo.UrlTemplate = m.urlTemplate
requestInfo.PathParameters = m.pathParameters
requestInfo.Method = i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.GET
requestInfo.Headers.Add("Accept", "text/plain")
if requestConfiguration != nil {
if requestConfiguration.QueryParameters != nil {
requestInfo.AddQueryParameters(*(requestConfiguration.QueryParameters))
}
requestInfo.Headers.AddAll(requestConfiguration.Headers)
requestInfo.AddRequestOptions(requestConfiguration.Options)
}
return requestInfo, nil
}
// Get get the number of the resource
func (m *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilder) Get(
ctx context.Context,
requestConfiguration *ItemPagesItemCanvasLayoutHorizontalSectionsCountRequestBuilderGetRequestConfiguration,
) (*int32, error) {
requestInfo, err := m.CreateGetRequestInformation(ctx, requestConfiguration)
if err != nil {
return nil, err
}
errorMapping := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.ErrorMappings{
"4XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
"5XX": i7ad325c11fbf3db4d761c429267362d8b24daa1eda0081f914ebc3cdc85181a0.CreateODataErrorFromDiscriminatorValue,
}
res, err := m.requestAdapter.SendPrimitive(ctx, requestInfo, "int32", errorMapping)
if err != nil {
return nil, err
}
if res == nil {
return nil, nil
}
return res.(*int32), nil
}

Some files were not shown because too many files have changed in this diff Show More