diff --git a/changelog/unreleased/enhancement-spaces-list b/changelog/unreleased/enhancement-spaces-list new file mode 100644 index 00000000000..a5e96b57839 --- /dev/null +++ b/changelog/unreleased/enhancement-spaces-list @@ -0,0 +1,6 @@ +Enhancement: Implement spaces list + +We added a new route that lists all available spaces of type "project". + +https://github.com/owncloud/web/pull/6199 +https://github.com/owncloud/web/issues/6104 diff --git a/package.json b/package.json index ebd1b842a5b..384f19ee463 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "packages/web-app-markdown-editor", "packages/web-app-media-viewer", "packages/web-app-search", + "packages/web-client", "packages/web-pkg", "packages/web-runtime" ], diff --git a/packages/web-app-files/src/App.vue b/packages/web-app-files/src/App.vue index 47a8127afb3..ce198a51f8e 100644 --- a/packages/web-app-files/src/App.vue +++ b/packages/web-app-files/src/App.vue @@ -6,7 +6,7 @@ class="files-list-wrapper oc-width-expand" @dragover="$_ocApp_dragOver" > - + @@ -55,6 +55,9 @@ export default { }, showSidebar() { return !this.sidebarClosed + }, + hideAppBar() { + return this.$route.meta.hideAppBar === true } }, watch: { diff --git a/packages/web-app-files/src/index.js b/packages/web-app-files/src/index.js index 6b61492a2de..48170c6f04a 100644 --- a/packages/web-app-files/src/index.js +++ b/packages/web-app-files/src/index.js @@ -9,6 +9,7 @@ import Personal from './views/Personal.vue' import SharedWithMe from './views/SharedWithMe.vue' import SharedWithOthers from './views/SharedWithOthers.vue' import SharedViaLink from './views/SharedViaLink.vue' +import SpaceProjects from './views/spaces/Projects.vue' import Trashbin from './views/Trashbin.vue' import translations from '../l10n/translations.json' import quickActions from './quickActions' @@ -39,7 +40,7 @@ const navItems = [ iconMaterial: appInfo.icon, fillType: 'fill', route: { - path: `/${appInfo.id}/spaces/` + path: `/${appInfo.id}/spaces/personal/home` } }, { @@ -77,6 +78,16 @@ const navItems = [ path: `/${appInfo.id}/shares/via-link` } }, + { + name: $gettext('Spaces'), + iconMaterial: 'layout-grid', + route: { + path: `/${appInfo.id}/spaces/projects` + }, + enabled(capabilities) { + return capabilities.spaces && capabilities.spaces.enabled === true + } + }, { name: $gettext('Deleted files'), iconMaterial: 'delete-bin-5', @@ -105,6 +116,9 @@ export default { SharedViaLink, SharedWithMe, SharedWithOthers, + Spaces: { + Projects: SpaceProjects + }, Trashbin }), navItems, diff --git a/packages/web-app-files/src/router/router.ts b/packages/web-app-files/src/router/router.ts index 29adb24ee00..10422cb9927 100644 --- a/packages/web-app-files/src/router/router.ts +++ b/packages/web-app-files/src/router/router.ts @@ -1,3 +1,5 @@ +import Vue, { ComponentOptions } from 'vue' + /** * we need to inject the vue files into the route builders, * this is because we also import the provided helpers from other js|ts files @@ -5,16 +7,19 @@ * into js files which then again get imported by other vue files... */ export interface RouteComponents { - App: any - Favorites: any - FilesDrop: any - LocationPicker: any - PrivateLink: any - PublicFiles: any - Personal: any - PublicLink: any - SharedWithMe: any - SharedWithOthers: any - SharedViaLink: any - Trashbin: any + App: ComponentOptions + Favorites: ComponentOptions + FilesDrop: ComponentOptions + LocationPicker: ComponentOptions + PrivateLink: ComponentOptions + PublicFiles: ComponentOptions + Personal: ComponentOptions + PublicLink: ComponentOptions + SharedWithMe: ComponentOptions + SharedWithOthers: ComponentOptions + SharedViaLink: ComponentOptions + Spaces: { + Projects: ComponentOptions + } + Trashbin: ComponentOptions } diff --git a/packages/web-app-files/src/router/spaces.ts b/packages/web-app-files/src/router/spaces.ts index d5072499f06..9f731fb44d5 100644 --- a/packages/web-app-files/src/router/spaces.ts +++ b/packages/web-app-files/src/router/spaces.ts @@ -2,38 +2,48 @@ import { Location, RouteConfig } from 'vue-router' import { RouteComponents } from './router' import { createLocation, isLocationActiveDirector, $gettext } from './utils' -type shareTypes = 'files-spaces-personal-home' +type spaceTypes = 'files-spaces-personal-home' | 'files-spaces-projects' -export const createLocationSpaces = (name: shareTypes, location = {}): Location => +export const createLocationSpaces = (name: spaceTypes, location = {}): Location => createLocation( name, { params: { - storage: 'home', - namespace: 'personal' + ...(name === 'files-spaces-personal-home' && { storage: 'home' }) } }, location ) -export const isLocationSpacesActive = isLocationActiveDirector( - createLocationSpaces('files-spaces-personal-home') + +const locationSpacesProjects = createLocationSpaces('files-spaces-projects') +const locationSpacesPersonalHome = createLocationSpaces('files-spaces-personal-home') + +export const isLocationSpacesActive = isLocationActiveDirector( + locationSpacesProjects, + locationSpacesPersonalHome ) export const buildRoutes = (components: RouteComponents): RouteConfig[] => [ { path: '/spaces', - redirect: (to) => createLocationSpaces('files-spaces-personal-home', to) - }, - { - path: '/spaces/:namespace', components: { app: components.App }, - redirect: (to) => createLocationSpaces('files-spaces-personal-home', to), children: [ { - name: createLocationSpaces('files-spaces-personal-home').name, - path: ':storage/:item*', + path: 'projects', + name: locationSpacesProjects.name, + component: components.Spaces?.Projects, + meta: { + hideFilelistActions: true, + hasBulkActions: true, + hideAppBar: true, + title: $gettext('Spaces') + } + }, + { + path: 'personal/:storage/:item*', + name: locationSpacesPersonalHome.name, component: components.Personal, meta: { hasBulkActions: true, diff --git a/packages/web-app-files/src/views/spaces/Projects.vue b/packages/web-app-files/src/views/spaces/Projects.vue new file mode 100644 index 00000000000..29cdc56be6a --- /dev/null +++ b/packages/web-app-files/src/views/spaces/Projects.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/packages/web-app-files/tests/unit/views/spaces/Projects.spec.js b/packages/web-app-files/tests/unit/views/spaces/Projects.spec.js new file mode 100644 index 00000000000..9baf15c67d3 --- /dev/null +++ b/packages/web-app-files/tests/unit/views/spaces/Projects.spec.js @@ -0,0 +1,63 @@ +import { mount } from '@vue/test-utils' +import { localVue } from '../views.setup' +import { createStore } from 'vuex-extensions' +import mockAxios from 'jest-mock-axios' +import SpaceProjects from '../../../../src/views/spaces/Projects.vue' +import VueRouter from 'vue-router' +import Vuex from 'vuex' + +localVue.use(VueRouter) + +const selectors = { + sharesNoContentMessage: '#files-spaces-empty', + spacesList: '.spaces-list' +} + +beforeEach(mockAxios.reset) + +describe('Spaces component', () => { + it('should show a "no content" message', async () => { + mockAxios.request.mockImplementationOnce(() => { + return Promise.resolve({ + data: { + value: [] + } + }) + }) + + const wrapper = getMountedWrapper() + await wrapper.vm.loadSpacesTask.last + + expect(wrapper.find(selectors.sharesNoContentMessage).exists()).toBeTruthy() + }) + + it('should only list drives of type "project"', async () => { + mockAxios.request.mockImplementationOnce(() => { + return Promise.resolve({ + data: { + value: [{ driveType: 'project' }, { driveType: 'personal' }] + } + }) + }) + + const wrapper = getMountedWrapper() + await wrapper.vm.loadSpacesTask.last + + expect(wrapper.vm.spaces.length).toEqual(1) + expect(wrapper).toMatchSnapshot() + }) +}) + +function getMountedWrapper() { + return mount(SpaceProjects, { + localVue, + router: new VueRouter(), + store: createStore(Vuex.Store, { + getters: { + configuration: () => ({ + server: 'https://example.com/' + }) + } + }) + }) +} diff --git a/packages/web-app-files/tests/unit/views/spaces/__snapshots__/Projects.spec.js.snap b/packages/web-app-files/tests/unit/views/spaces/__snapshots__/Projects.spec.js.snap new file mode 100644 index 00000000000..0b27fbb22b1 --- /dev/null +++ b/packages/web-app-files/tests/unit/views/spaces/__snapshots__/Projects.spec.js.snap @@ -0,0 +1,21 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Spaces component should only list drives of type "project" 1`] = ` +
+

Spaces

Access all project related files in one place. Learn more about spaces. +

Your spaces

+
+
+
+ +
+
+
+`; diff --git a/packages/web-client/package.json b/packages/web-client/package.json new file mode 100644 index 00000000000..871e20a5e8f --- /dev/null +++ b/packages/web-client/package.json @@ -0,0 +1,11 @@ +{ + "name": "web-client", + "private": true, + "version": "0.0.0", + "description": "ownCloud web client", + "license": "AGPL-3.0", + "main": "src/index.ts", + "scripts": { + "generate-openapi": "rm -rf src/generated && docker run --rm -v \"${PWD}/src:/local\" openapitools/openapi-generator-cli generate -i https://raw.githubusercontent.com/owncloud/libre-graph-api/main/api/openapi-spec/v0.0.yaml -g typescript-axios -o /local/generated" + } +} diff --git a/packages/web-client/src/generated/.gitignore b/packages/web-client/src/generated/.gitignore new file mode 100644 index 00000000000..149b5765472 --- /dev/null +++ b/packages/web-client/src/generated/.gitignore @@ -0,0 +1,4 @@ +wwwroot/*.js +node_modules +typings +dist diff --git a/packages/web-client/src/generated/.npmignore b/packages/web-client/src/generated/.npmignore new file mode 100644 index 00000000000..999d88df693 --- /dev/null +++ b/packages/web-client/src/generated/.npmignore @@ -0,0 +1 @@ +# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm \ No newline at end of file diff --git a/packages/web-client/src/generated/.openapi-generator-ignore b/packages/web-client/src/generated/.openapi-generator-ignore new file mode 100644 index 00000000000..7484ee590a3 --- /dev/null +++ b/packages/web-client/src/generated/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/packages/web-client/src/generated/.openapi-generator/FILES b/packages/web-client/src/generated/.openapi-generator/FILES new file mode 100644 index 00000000000..16b445eee6d --- /dev/null +++ b/packages/web-client/src/generated/.openapi-generator/FILES @@ -0,0 +1,9 @@ +.gitignore +.npmignore +.openapi-generator-ignore +api.ts +base.ts +common.ts +configuration.ts +git_push.sh +index.ts diff --git a/packages/web-client/src/generated/.openapi-generator/VERSION b/packages/web-client/src/generated/.openapi-generator/VERSION new file mode 100644 index 00000000000..0984c4c1ad2 --- /dev/null +++ b/packages/web-client/src/generated/.openapi-generator/VERSION @@ -0,0 +1 @@ +5.4.0-SNAPSHOT \ No newline at end of file diff --git a/packages/web-client/src/generated/api.ts b/packages/web-client/src/generated/api.ts new file mode 100644 index 00000000000..3db6e972124 --- /dev/null +++ b/packages/web-client/src/generated/api.ts @@ -0,0 +1,3005 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Libre Graph API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Configuration } from './configuration'; +import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base'; + +/** + * + * @export + * @interface CollectionOfDriveItems + */ +export interface CollectionOfDriveItems { + /** + * + * @type {Array} + * @memberof CollectionOfDriveItems + */ + 'value'?: Array; + /** + * + * @type {string} + * @memberof CollectionOfDriveItems + */ + '@odata.nextLink'?: string; +} +/** + * + * @export + * @interface CollectionOfDrives + */ +export interface CollectionOfDrives { + /** + * + * @type {Array} + * @memberof CollectionOfDrives + */ + 'value'?: Array; + /** + * + * @type {string} + * @memberof CollectionOfDrives + */ + '@odata.nextLink'?: string; +} +/** + * + * @export + * @interface CollectionOfGroup + */ +export interface CollectionOfGroup { + /** + * + * @type {Array} + * @memberof CollectionOfGroup + */ + 'value'?: Array; + /** + * + * @type {string} + * @memberof CollectionOfGroup + */ + '@odata.nextLink'?: string; +} +/** + * + * @export + * @interface CollectionOfUser + */ +export interface CollectionOfUser { + /** + * + * @type {Array} + * @memberof CollectionOfUser + */ + 'value'?: Array; + /** + * + * @type {string} + * @memberof CollectionOfUser + */ + '@odata.nextLink'?: string; +} +/** + * Information about the deleted state of the item. Read-only. + * @export + * @interface Deleted + */ +export interface Deleted { + /** + * Represents the state of the deleted item. + * @type {string} + * @memberof Deleted + */ + 'state'?: string; +} +/** + * Represents a Directory object. Read-only. + * @export + * @interface DirectoryObject + */ +export interface DirectoryObject { + /** + * The unique identifier for the object. 12345678-9abc-def0-1234-56789abcde. The value of the ID property is often, but not exclusively, in the form of a GUID. The value should be treated as an opaque identifier and not based in being a GUID. Null values are not allowed. Read-only. + * @type {string} + * @memberof DirectoryObject + */ + 'id'?: string; + /** + * + * @type {string} + * @memberof DirectoryObject + */ + 'deletedDateTime'?: string; +} +/** + * Storage Space. Read-only. + * @export + * @interface Drive + */ +export interface Drive { + /** + * Read-only. + * @type {string} + * @memberof Drive + */ + 'id'?: string; + /** + * + * @type {IdentitySet} + * @memberof Drive + */ + 'createdBy'?: IdentitySet; + /** + * Date and time of item creation. Read-only. + * @type {string} + * @memberof Drive + */ + 'createdDateTime'?: string; + /** + * Provides a user-visible description of the item. Optional. + * @type {string} + * @memberof Drive + */ + 'description'?: string; + /** + * ETag for the item. Read-only. + * @type {string} + * @memberof Drive + */ + 'eTag'?: string; + /** + * + * @type {IdentitySet} + * @memberof Drive + */ + 'lastModifiedBy'?: IdentitySet; + /** + * Date and time the item was last modified. Read-only. + * @type {string} + * @memberof Drive + */ + 'lastModifiedDateTime'?: string; + /** + * The name of the item. Read-write. + * @type {string} + * @memberof Drive + */ + 'name'?: string; + /** + * + * @type {ItemReference} + * @memberof Drive + */ + 'parentReference'?: ItemReference; + /** + * URL that displays the resource in the browser. Read-only. + * @type {string} + * @memberof Drive + */ + 'webUrl'?: string; + /** + * + * @type {User} + * @memberof Drive + */ + 'createdByUser'?: User; + /** + * + * @type {User} + * @memberof Drive + */ + 'lastModifiedByUser'?: User; + /** + * Describes the type of drive represented by this resource. Values are \"personal\" for users home spaces, \"project\" or \"share\". Read-only. + * @type {string} + * @memberof Drive + */ + 'driveType'?: string; + /** + * + * @type {IdentitySet} + * @memberof Drive + */ + 'owner'?: IdentitySet; + /** + * + * @type {Quota} + * @memberof Drive + */ + 'quota'?: Quota; + /** + * All items contained in the drive. Read-only. Nullable. + * @type {Array} + * @memberof Drive + */ + 'items'?: Array; + /** + * + * @type {DriveItem} + * @memberof Drive + */ + 'root'?: DriveItem; +} +/** + * Reprensents a resource inside a drive. Read-only. + * @export + * @interface DriveItem + */ +export interface DriveItem { + /** + * Read-only. + * @type {string} + * @memberof DriveItem + */ + 'id'?: string; + /** + * + * @type {IdentitySet} + * @memberof DriveItem + */ + 'createdBy'?: IdentitySet; + /** + * Date and time of item creation. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'createdDateTime'?: string; + /** + * Provides a user-visible description of the item. Optional. + * @type {string} + * @memberof DriveItem + */ + 'description'?: string; + /** + * ETag for the item. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'eTag'?: string; + /** + * + * @type {IdentitySet} + * @memberof DriveItem + */ + 'lastModifiedBy'?: IdentitySet; + /** + * Date and time the item was last modified. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'lastModifiedDateTime'?: string; + /** + * The name of the item. Read-write. + * @type {string} + * @memberof DriveItem + */ + 'name'?: string; + /** + * + * @type {ItemReference} + * @memberof DriveItem + */ + 'parentReference'?: ItemReference; + /** + * URL that displays the resource in the browser. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'webUrl'?: string; + /** + * + * @type {User} + * @memberof DriveItem + */ + 'createdByUser'?: User; + /** + * + * @type {User} + * @memberof DriveItem + */ + 'lastModifiedByUser'?: User; + /** + * The content stream, if the item represents a file. + * @type {string} + * @memberof DriveItem + */ + 'content'?: string; + /** + * An eTag for the content of the item. This eTag is not changed if only the metadata is changed. Note This property is not returned if the item is a folder. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'cTag'?: string; + /** + * + * @type {Deleted} + * @memberof DriveItem + */ + 'deleted'?: Deleted; + /** + * + * @type {OpenGraphFile} + * @memberof DriveItem + */ + 'file'?: OpenGraphFile; + /** + * + * @type {FileSystemInfo} + * @memberof DriveItem + */ + 'fileSystemInfo'?: FileSystemInfo; + /** + * + * @type {Folder} + * @memberof DriveItem + */ + 'folder'?: Folder; + /** + * + * @type {Image} + * @memberof DriveItem + */ + 'image'?: Image; + /** + * If this property is non-null, it indicates that the driveItem is the top-most driveItem in the drive. + * @type {object} + * @memberof DriveItem + */ + 'root'?: object; + /** + * Size of the item in bytes. Read-only. + * @type {number} + * @memberof DriveItem + */ + 'size'?: number; + /** + * WebDAV compatible URL for the item. Read-only. + * @type {string} + * @memberof DriveItem + */ + 'webDavUrl'?: string; + /** + * Collection containing Item objects for the immediate children of Item. Only items representing folders have children. Read-only. Nullable. + * @type {Array} + * @memberof DriveItem + */ + 'children'?: Array; +} +/** + * File system information on client. Read-write. + * @export + * @interface FileSystemInfo + */ +export interface FileSystemInfo { + /** + * The UTC date and time the file was created on a client. + * @type {string} + * @memberof FileSystemInfo + */ + 'createdDateTime'?: string; + /** + * The UTC date and time the file was last accessed. Available for the recent file list only. + * @type {string} + * @memberof FileSystemInfo + */ + 'lastAccessedDateTime'?: string; + /** + * The UTC date and time the file was last modified on a client. + * @type {string} + * @memberof FileSystemInfo + */ + 'lastModifiedDateTime'?: string; +} +/** + * Folder metadata, if the item is a folder. Read-only. + * @export + * @interface Folder + */ +export interface Folder { + /** + * Number of children contained immediately within this container. + * @type {number} + * @memberof Folder + */ + 'childCount'?: number; + /** + * + * @type {FolderView} + * @memberof Folder + */ + 'view'?: FolderView; +} +/** + * A collection of properties defining the recommended view for the folder. + * @export + * @interface FolderView + */ +export interface FolderView { + /** + * The method by which the folder should be sorted. + * @type {string} + * @memberof FolderView + */ + 'sortBy'?: string; + /** + * If true, indicates that items should be sorted in descending order. Otherwise, items should be sorted ascending. + * @type {string} + * @memberof FolderView + */ + 'sortOrder'?: string; + /** + * The type of view that should be used to represent the folder. + * @type {string} + * @memberof FolderView + */ + 'viewType'?: string; +} +/** + * + * @export + * @interface Group + */ +export interface Group { + /** + * Read-only. + * @type {string} + * @memberof Group + */ + 'id'?: string; + /** + * + * @type {string} + * @memberof Group + */ + 'deletedDateTime'?: string; + /** + * Timestamp of when the group was created. The value cannot be modified and is automatically populated when the group is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Returned by default. Supports $filter (eq, ne, not, ge, le, in). Read-only. + * @type {string} + * @memberof Group + */ + 'createdDateTime'?: string; + /** + * An optional description for the group. Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith) and $search. + * @type {string} + * @memberof Group + */ + 'description'?: string; + /** + * The display name for the group. This property is required when a group is created and cannot be cleared during updates. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values), $search, and $orderBy. + * @type {string} + * @memberof Group + */ + 'displayName'?: string; + /** + * Timestamp of when the group is set to expire. The value cannot be modified and is automatically populated when the group is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Returned by default. Supports $filter (eq, ne, not, ge, le, in). Read-only. + * @type {string} + * @memberof Group + */ + 'expirationDateTime'?: string; + /** + * The SMTP address for the group, for example, \'serviceadmins@owncloud.com\'. Returned by default. Read-only. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). + * @type {string} + * @memberof Group + */ + 'mail'?: string; + /** + * Contains the on-premises domain FQDN, also called dnsDomainName synchronized from the on-premises directory. + * @type {string} + * @memberof Group + */ + 'onPremisesDomainName'?: string; + /** + * Indicates the last time at which the group was synced with the on-premises directory.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Returned by default. Read-only. Supports $filter (eq, ne, not, ge, le, in). + * @type {string} + * @memberof Group + */ + 'onPremisesLastSyncDateTime'?: string; + /** + * Contains the on-premises SAM account name synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect.Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith). Read-only. + * @type {string} + * @memberof Group + */ + 'onPremisesSamAccountName'?: string; + /** + * true if this group is synced from an on-premises directory; false if this group was originally synced from an on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory (default). Returned by default. Read-only. Supports $filter (eq, ne, not, in, and eq on null values). + * @type {boolean} + * @memberof Group + */ + 'onPremisesSyncEnabled'?: boolean; + /** + * The preferred language for a group. Should follow ISO 639-1 Code; for example en-US. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values). + * @type {string} + * @memberof Group + */ + 'preferredLanguage'?: string; + /** + * Specifies whether the group is a security group. Required. Returned by default. Supports $filter (eq, ne, not, in). + * @type {boolean} + * @memberof Group + */ + 'securityEnabled'?: boolean; + /** + * Security identifier of the group, used in Windows scenarios. Returned by default. + * @type {string} + * @memberof Group + */ + 'securityIdentifier'?: string; + /** + * Specifies the group join policy and group content visibility for groups. Possible values are: Private, Public, or Hiddenmembership. It can\'t be updated later. Other values of visibility can be updated after group creation. Groups assignable to roles are always Private. See group visibility options to learn more. Returned by default. Nullable. + * @type {string} + * @memberof Group + */ + 'visibility'?: string; + /** + * + * @type {DirectoryObject} + * @memberof Group + */ + 'createdOnBehalfOf'?: DirectoryObject; + /** + * Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports $expand. + * @type {Array} + * @memberof Group + */ + 'memberOf'?: Array; + /** + * Users and groups that are members of this group. HTTP Methods: GET (supported for all groups), Nullable. Supports $expand. + * @type {Array} + * @memberof Group + */ + 'members'?: Array; + /** + * The owners of the group. The owners are a set of non-admin users who are allowed to modify this object. Limited to 100 owners. Nullable. Supports $expand. + * @type {Array} + * @memberof Group + */ + 'owners'?: Array; + /** + * + * @type {Drive} + * @memberof Group + */ + 'drive'?: Drive; + /** + * The group\'s drives. Read-only. + * @type {Array} + * @memberof Group + */ + 'drives'?: Array; + /** + * + * @type {boolean} + * @memberof Group + */ + 'isArchived'?: boolean; +} +/** + * Hashes of the file\'s binary content, if available. Read-only. + * @export + * @interface Hashes + */ +export interface Hashes { + /** + * The CRC32 value of the file (if available). Read-only. + * @type {string} + * @memberof Hashes + */ + 'crc32Hash'?: string; + /** + * A proprietary hash of the file that can be used to determine if the contents of the file have changed (if available). Read-only. + * @type {string} + * @memberof Hashes + */ + 'quickXorHash'?: string; + /** + * SHA1 hash for the contents of the file (if available). Read-only. + * @type {string} + * @memberof Hashes + */ + 'sha1Hash'?: string; + /** + * SHA256 hash for the contents of the file (if available). Read-only. + * @type {string} + * @memberof Hashes + */ + 'sha256Hash'?: string; +} +/** + * + * @export + * @interface Identity + */ +export interface Identity { + /** + * The identity\'s display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won\'t show up as having changed when using delta. + * @type {string} + * @memberof Identity + */ + 'displayName'?: string; + /** + * Unique identifier for the identity. + * @type {string} + * @memberof Identity + */ + 'id'?: string; +} +/** + * Optional. User account. + * @export + * @interface IdentitySet + */ +export interface IdentitySet { + /** + * + * @type {Identity} + * @memberof IdentitySet + */ + 'application'?: Identity; + /** + * + * @type {Identity} + * @memberof IdentitySet + */ + 'device'?: Identity; + /** + * + * @type {Identity} + * @memberof IdentitySet + */ + 'user'?: Identity; +} +/** + * Image metadata, if the item is an image. Read-only. + * @export + * @interface Image + */ +export interface Image { + /** + * Optional. Height of the image, in pixels. Read-only. + * @type {number} + * @memberof Image + */ + 'height'?: number; + /** + * Optional. Width of the image, in pixels. Read-only. + * @type {number} + * @memberof Image + */ + 'width'?: number; +} +/** + * + * @export + * @interface ItemReference + */ +export interface ItemReference { + /** + * Unique identifier of the drive instance that contains the item. Read-only. + * @type {string} + * @memberof ItemReference + */ + 'driveId'?: string; + /** + * Identifies the type of drive. See [drive][] resource for values. Read-only. + * @type {string} + * @memberof ItemReference + */ + 'driveType'?: string; + /** + * Unique identifier of the item in the drive. Read-only. + * @type {string} + * @memberof ItemReference + */ + 'id'?: string; + /** + * The name of the item being referenced. Read-only. + * @type {string} + * @memberof ItemReference + */ + 'name'?: string; + /** + * Path that can be used to navigate to the item. Read-only. + * @type {string} + * @memberof ItemReference + */ + 'path'?: string; + /** + * A unique identifier for a shared resource that can be accessed via the [Shares][] API. + * @type {string} + * @memberof ItemReference + */ + 'shareId'?: string; +} +/** + * + * @export + * @interface OdataError + */ +export interface OdataError { + /** + * + * @type {OdataErrorMain} + * @memberof OdataError + */ + 'error': OdataErrorMain; +} +/** + * + * @export + * @interface OdataErrorDetail + */ +export interface OdataErrorDetail { + /** + * + * @type {string} + * @memberof OdataErrorDetail + */ + 'code': string; + /** + * + * @type {string} + * @memberof OdataErrorDetail + */ + 'message': string; + /** + * + * @type {string} + * @memberof OdataErrorDetail + */ + 'target'?: string; +} +/** + * + * @export + * @interface OdataErrorMain + */ +export interface OdataErrorMain { + /** + * + * @type {string} + * @memberof OdataErrorMain + */ + 'code': string; + /** + * + * @type {string} + * @memberof OdataErrorMain + */ + 'message': string; + /** + * + * @type {string} + * @memberof OdataErrorMain + */ + 'target'?: string; + /** + * + * @type {Array} + * @memberof OdataErrorMain + */ + 'details'?: Array; + /** + * The structure of this object is service-specific + * @type {object} + * @memberof OdataErrorMain + */ + 'innererror'?: object; +} +/** + * File metadata, if the item is a file. Read-only. + * @export + * @interface OpenGraphFile + */ +export interface OpenGraphFile { + /** + * + * @type {Hashes} + * @memberof OpenGraphFile + */ + 'hashes'?: Hashes; + /** + * The MIME type for the file. This is determined by logic on the server and might not be the value provided when the file was uploaded. Read-only. + * @type {string} + * @memberof OpenGraphFile + */ + 'mimeType'?: string; + /** + * + * @type {boolean} + * @memberof OpenGraphFile + */ + 'processingMetadata'?: boolean; +} +/** + * Password Profile associated with a user + * @export + * @interface PasswordProfile + */ +export interface PasswordProfile { + /** + * If true the user is required to change their password upon the next login + * @type {boolean} + * @memberof PasswordProfile + */ + 'forceChangePasswordNextSignIn'?: boolean; + /** + * The user\'s password + * @type {string} + * @memberof PasswordProfile + */ + 'password'?: string; +} +/** + * Optional. Information about the drive\'s storage space quota. Read-only. + * @export + * @interface Quota + */ +export interface Quota { + /** + * Total space consumed by files in the recycle bin, in bytes. Read-only. + * @type {number} + * @memberof Quota + */ + 'deleted'?: number; + /** + * Total space remaining before reaching the quota limit, in bytes. Read-only. + * @type {number} + * @memberof Quota + */ + 'remaining'?: number; + /** + * Enumeration value that indicates the state of the storage space. Read-only. + * @type {string} + * @memberof Quota + */ + 'state'?: string; + /** + * Total allowed storage space, in bytes. Read-only. + * @type {number} + * @memberof Quota + */ + 'total'?: number; + /** + * Total space used, in bytes. Read-only. + * @type {number} + * @memberof Quota + */ + 'used'?: number; +} +/** + * Represents an Active Directory user object. + * @export + * @interface User + */ +export interface User { + /** + * Read-only. + * @type {string} + * @memberof User + */ + 'id'?: string; + /** + * + * @type {string} + * @memberof User + */ + 'deletedDateTime'?: string; + /** + * true if the account is enabled; otherwise, false. This property is required when a user is created. Returned only on $select. Supports $filter. + * @type {boolean} + * @memberof User + */ + 'accountEnabled'?: boolean; + /** + * The telephone numbers for the user. Only one number can be set for this property. Returned by default. Read-only for users synced from on-premises directory. + * @type {Array} + * @memberof User + */ + 'businessPhones'?: Array; + /** + * The city in which the user is located. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'city'?: string; + /** + * The company name which the user is associated. This property can be useful for describing the company that an external user comes from. The maximum length of the company name is 64 characters.Returned only on $select. + * @type {string} + * @memberof User + */ + 'companyName'?: string; + /** + * The country/region in which the user is located; for example, \'US\' or \'UK\'. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'country'?: string; + /** + * The date and time the user was created. The value cannot be modified and is automatically populated when the entity is created. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. Property is nullable. A null value indicates that an accurate creation time couldn\'t be determined for the user. Returned only on $select. Read-only. Supports $filter. + * @type {string} + * @memberof User + */ + 'createdDateTime'?: string; + /** + * The name for the department in which the user works. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'department'?: string; + /** + * The name displayed in the address book for the user. This value is usually the combination of the user\'s first name, middle initial, and last name. This property is required when a user is created and it cannot be cleared during updates. Returned by default. Supports $filter and $orderby. + * @type {string} + * @memberof User + */ + 'displayName'?: string; + /** + * The fax number of the user. Returned only on $select. + * @type {string} + * @memberof User + */ + 'faxNumber'?: string; + /** + * The given name (first name) of the user. Returned by default. Supports $filter. + * @type {string} + * @memberof User + */ + 'givenName'?: string; + /** + * The time when this user last changed their password. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z Returned only on $select. Read-only. + * @type {string} + * @memberof User + */ + 'lastPasswordChangeDateTime'?: string; + /** + * Used by enterprise applications to determine the legal age group of the user. This property is read-only and calculated based on ageGroup and consentProvidedForMinor properties. Allowed values: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult and adult. Refer to the legal age group property definitions for further information. Returned only on $select. + * @type {string} + * @memberof User + */ + 'legalAgeGroupClassification'?: string; + /** + * The SMTP address for the user, for example, \'jeff@contoso.onowncloud.com\'. Returned by default. Supports $filter and endsWith. + * @type {string} + * @memberof User + */ + 'mail'?: string; + /** + * The mail alias for the user. This property must be specified when a user is created. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'mailNickname'?: string; + /** + * The primary cellular telephone number for the user. Returned by default. Read-only for users synced from on-premises directory. + * @type {string} + * @memberof User + */ + 'mobilePhone'?: string; + /** + * Contains the on-premises Active Directory distinguished name or DN. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only. Returned only on $select. + * @type {string} + * @memberof User + */ + 'onPremisesDistinguishedName'?: string; + /** + * Contains the on-premises domainFQDN, also called dnsDomainName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only. Returned only on $select. + * @type {string} + * @memberof User + */ + 'onPremisesDomainName'?: string; + /** + * This property is used to associate an on-premises Active Directory user account to their Azure AD user object. This property must be specified when creating a new user account in the Graph if you are using a federated domain for the user\'s userPrincipalName (UPN) property. NOTE: The $ and _ characters cannot be used when specifying this property. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in).. + * @type {string} + * @memberof User + */ + 'onPremisesImmutableId'?: string; + /** + * true if this object is synced from an on-premises directory; false if this object was originally synced from an on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory (default). Read-only. Returned only on $select. Supports $filter (eq, ne, not, in, and eq on null values). + * @type {boolean} + * @memberof User + */ + 'onPremisesSyncEnabled'?: boolean; + /** + * Indicates the last time at which the object was synced with the on-premises directory; for example: 2013-02-16T03:04:54Z. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in). + * @type {string} + * @memberof User + */ + 'onPremisesLastSyncDateTime'?: string; + /** + * Contains the on-premises SAM account name synchronized from the on-premises directory. Read-only. + * @type {string} + * @memberof User + */ + 'onPremisesSamAccountName'?: string; + /** + * Contains the on-premises userPrincipalName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. Read-only. Returned only on $select. Supports $filter (eq, ne, not, ge, le, in, startsWith). + * @type {string} + * @memberof User + */ + 'onPremisesUserPrincipalName'?: string; + /** + * The office location in the user\'s place of business. Returned by default. + * @type {string} + * @memberof User + */ + 'officeLocation'?: string; + /** + * + * @type {PasswordProfile} + * @memberof User + */ + 'passwordProfile'?: PasswordProfile; + /** + * The postal code for the user\'s postal address. The postal code is specific to the user\'s country/region. In the United States of America, this attribute contains the ZIP code. Returned only on $select. + * @type {string} + * @memberof User + */ + 'postalCode'?: string; + /** + * The preferred language for the user. Should follow ISO 639-1 Code; for example \'en-US\'. Returned by default. + * @type {string} + * @memberof User + */ + 'preferredLanguage'?: string; + /** + * The state or province in the user\'s address. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'state'?: string; + /** + * The street address of the user\'s place of business. Returned only on $select. + * @type {string} + * @memberof User + */ + 'streetAddress'?: string; + /** + * The user\'s surname (family name or last name). Returned by default. Supports $filter. + * @type {string} + * @memberof User + */ + 'surname'?: string; + /** + * A two letter country code (ISO standard 3166). Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. Examples include: \'US\', \'JP\', and \'GB\'. Not nullable. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'usageLocation'?: string; + /** + * The user principal name (UPN) of the user. The UPN is an Internet-style login name for the user based on the Internet standard RFC 822. By convention, this should map to the user\'s email name. The general format is alias@domain, where domain must be present in the tenant\'s collection of verified domains. This property is required when a user is created. The verified domains for the tenant can be accessed from the verifiedDomains property of organization. Returned by default. Supports $filter, $orderby, and endsWith. + * @type {string} + * @memberof User + */ + 'userPrincipalName'?: string; + /** + * A string value that can be used to classify user types in your directory, such as \'Member\' and \'Guest\'. Returned only on $select. Supports $filter. + * @type {string} + * @memberof User + */ + 'userType'?: string; + /** + * A freeform text entry field for the user to describe themselves. Returned only on $select. + * @type {string} + * @memberof User + */ + 'aboutMe'?: string; + /** + * The birthday of the user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z Returned only on $select. + * @type {string} + * @memberof User + */ + 'birthday'?: string; + /** + * The preferred name for the user. Returned only on $select. + * @type {string} + * @memberof User + */ + 'preferredName'?: string; + /** + * + * @type {Drive} + * @memberof User + */ + 'drive'?: Drive; + /** + * A collection of drives available for this user. Read-only. + * @type {Array} + * @memberof User + */ + 'drives'?: Array; +} + +/** + * DrivesApi - axios parameter creator + * @export + */ +export const DrivesApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new space of a specific type + * @param {Drive} drive New space property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createDrive: async (drive: Drive, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'drive' is not null or undefined + assertParamExists('createDrive', 'drive', drive) + const localVarPath = `/drives`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(drive, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a specific space + * @param {string} driveId key: id of drive + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteDrive: async (driveId: string, ifMatch?: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'driveId' is not null or undefined + assertParamExists('deleteDrive', 'driveId', driveId) + const localVarPath = `/drives/{drive-id}` + .replace(`{${"drive-id"}}`, encodeURIComponent(String(driveId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (ifMatch !== undefined && ifMatch !== null) { + localVarHeaderParameter['If-Match'] = String(ifMatch); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get drive by id + * @param {string} driveId key: id of drive + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getDrive: async (driveId: string, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'driveId' is not null or undefined + assertParamExists('getDrive', 'driveId', driveId) + const localVarPath = `/drives/{drive-id}` + .replace(`{${"drive-id"}}`, encodeURIComponent(String(driveId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + if ($expand) { + localVarQueryParameter['$expand'] = Array.from($expand).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the space + * @param {string} driveId key: id of drive + * @param {Drive} drive New space values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateDrive: async (driveId: string, drive: Drive, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'driveId' is not null or undefined + assertParamExists('updateDrive', 'driveId', driveId) + // verify required parameter 'drive' is not null or undefined + assertParamExists('updateDrive', 'drive', drive) + const localVarPath = `/drives/{drive-id}` + .replace(`{${"drive-id"}}`, encodeURIComponent(String(driveId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(drive, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * DrivesApi - functional programming interface + * @export + */ +export const DrivesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = DrivesApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new space of a specific type + * @param {Drive} drive New space property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createDrive(drive: Drive, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createDrive(drive, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a specific space + * @param {string} driveId key: id of drive + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteDrive(driveId: string, ifMatch?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDrive(driveId, ifMatch, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get drive by id + * @param {string} driveId key: id of drive + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getDrive(driveId: string, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getDrive(driveId, $select, $expand, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the space + * @param {string} driveId key: id of drive + * @param {Drive} drive New space values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateDrive(driveId: string, drive: Drive, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateDrive(driveId, drive, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * DrivesApi - factory interface + * @export + */ +export const DrivesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = DrivesApiFp(configuration) + return { + /** + * + * @summary Create a new space of a specific type + * @param {Drive} drive New space property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createDrive(drive: Drive, options?: any): AxiosPromise { + return localVarFp.createDrive(drive, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a specific space + * @param {string} driveId key: id of drive + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteDrive(driveId: string, ifMatch?: string, options?: any): AxiosPromise { + return localVarFp.deleteDrive(driveId, ifMatch, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get drive by id + * @param {string} driveId key: id of drive + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getDrive(driveId: string, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: any): AxiosPromise { + return localVarFp.getDrive(driveId, $select, $expand, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the space + * @param {string} driveId key: id of drive + * @param {Drive} drive New space values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateDrive(driveId: string, drive: Drive, options?: any): AxiosPromise { + return localVarFp.updateDrive(driveId, drive, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * DrivesApi - object-oriented interface + * @export + * @class DrivesApi + * @extends {BaseAPI} + */ +export class DrivesApi extends BaseAPI { + /** + * + * @summary Create a new space of a specific type + * @param {Drive} drive New space property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DrivesApi + */ + public createDrive(drive: Drive, options?: AxiosRequestConfig) { + return DrivesApiFp(this.configuration).createDrive(drive, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a specific space + * @param {string} driveId key: id of drive + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DrivesApi + */ + public deleteDrive(driveId: string, ifMatch?: string, options?: AxiosRequestConfig) { + return DrivesApiFp(this.configuration).deleteDrive(driveId, ifMatch, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get drive by id + * @param {string} driveId key: id of drive + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DrivesApi + */ + public getDrive(driveId: string, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: AxiosRequestConfig) { + return DrivesApiFp(this.configuration).getDrive(driveId, $select, $expand, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the space + * @param {string} driveId key: id of drive + * @param {Drive} drive New space values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DrivesApi + */ + public updateDrive(driveId: string, drive: Drive, options?: AxiosRequestConfig) { + return DrivesApiFp(this.configuration).updateDrive(driveId, drive, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * DrivesRootApi - axios parameter creator + * @export + */ +export const DrivesRootApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get root from arbitrary space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getRoot: async (options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/drives/{drive-id}/root`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * DrivesRootApi - functional programming interface + * @export + */ +export const DrivesRootApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = DrivesRootApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get root from arbitrary space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getRoot(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getRoot(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * DrivesRootApi - factory interface + * @export + */ +export const DrivesRootApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = DrivesRootApiFp(configuration) + return { + /** + * + * @summary Get root from arbitrary space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getRoot(options?: any): AxiosPromise { + return localVarFp.getRoot(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * DrivesRootApi - object-oriented interface + * @export + * @class DrivesRootApi + * @extends {BaseAPI} + */ +export class DrivesRootApi extends BaseAPI { + /** + * + * @summary Get root from arbitrary space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DrivesRootApi + */ + public getRoot(options?: AxiosRequestConfig) { + return DrivesRootApiFp(this.configuration).getRoot(options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * GroupApi - axios parameter creator + * @export + */ +export const GroupApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Delete entity from groups + * @param {string} groupId key: id of group + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteGroup: async (groupId: string, ifMatch?: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'groupId' is not null or undefined + assertParamExists('deleteGroup', 'groupId', groupId) + const localVarPath = `/groups/{group-id}` + .replace(`{${"group-id"}}`, encodeURIComponent(String(groupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (ifMatch !== undefined && ifMatch !== null) { + localVarHeaderParameter['If-Match'] = String(ifMatch); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get entity from groups by key + * @param {string} groupId key: id of group + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroup: async (groupId: string, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'groupId' is not null or undefined + assertParamExists('getGroup', 'groupId', groupId) + const localVarPath = `/groups/{group-id}` + .replace(`{${"group-id"}}`, encodeURIComponent(String(groupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update entity in groups + * @param {string} groupId key: id of group + * @param {Group} group New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateGroup: async (groupId: string, group: Group, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'groupId' is not null or undefined + assertParamExists('updateGroup', 'groupId', groupId) + // verify required parameter 'group' is not null or undefined + assertParamExists('updateGroup', 'group', group) + const localVarPath = `/groups/{group-id}` + .replace(`{${"group-id"}}`, encodeURIComponent(String(groupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(group, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * GroupApi - functional programming interface + * @export + */ +export const GroupApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = GroupApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Delete entity from groups + * @param {string} groupId key: id of group + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteGroup(groupId: string, ifMatch?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteGroup(groupId, ifMatch, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get entity from groups by key + * @param {string} groupId key: id of group + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getGroup(groupId: string, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getGroup(groupId, $select, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update entity in groups + * @param {string} groupId key: id of group + * @param {Group} group New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateGroup(groupId: string, group: Group, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateGroup(groupId, group, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * GroupApi - factory interface + * @export + */ +export const GroupApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = GroupApiFp(configuration) + return { + /** + * + * @summary Delete entity from groups + * @param {string} groupId key: id of group + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteGroup(groupId: string, ifMatch?: string, options?: any): AxiosPromise { + return localVarFp.deleteGroup(groupId, ifMatch, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get entity from groups by key + * @param {string} groupId key: id of group + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroup(groupId: string, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: any): AxiosPromise { + return localVarFp.getGroup(groupId, $select, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update entity in groups + * @param {string} groupId key: id of group + * @param {Group} group New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateGroup(groupId: string, group: Group, options?: any): AxiosPromise { + return localVarFp.updateGroup(groupId, group, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * GroupApi - object-oriented interface + * @export + * @class GroupApi + * @extends {BaseAPI} + */ +export class GroupApi extends BaseAPI { + /** + * + * @summary Delete entity from groups + * @param {string} groupId key: id of group + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public deleteGroup(groupId: string, ifMatch?: string, options?: AxiosRequestConfig) { + return GroupApiFp(this.configuration).deleteGroup(groupId, ifMatch, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get entity from groups by key + * @param {string} groupId key: id of group + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public getGroup(groupId: string, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: AxiosRequestConfig) { + return GroupApiFp(this.configuration).getGroup(groupId, $select, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update entity in groups + * @param {string} groupId key: id of group + * @param {Group} group New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public updateGroup(groupId: string, group: Group, options?: AxiosRequestConfig) { + return GroupApiFp(this.configuration).updateGroup(groupId, group, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * GroupsApi - axios parameter creator + * @export + */ +export const GroupsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Add new entity to groups + * @param {Group} group New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createGroup: async (group: Group, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'group' is not null or undefined + assertParamExists('createGroup', 'group', group) + const localVarPath = `/groups`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(group, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get entities from groups + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listGroups: async ($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/groups`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($top !== undefined) { + localVarQueryParameter['$top'] = $top; + } + + if ($skip !== undefined) { + localVarQueryParameter['$skip'] = $skip; + } + + if ($search !== undefined) { + localVarQueryParameter['$search'] = $search; + } + + if ($filter !== undefined) { + localVarQueryParameter['$filter'] = $filter; + } + + if ($count !== undefined) { + localVarQueryParameter['$count'] = $count; + } + + if ($orderby) { + localVarQueryParameter['$orderby'] = Array.from($orderby).join(COLLECTION_FORMATS.csv); + } + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * GroupsApi - functional programming interface + * @export + */ +export const GroupsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = GroupsApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Add new entity to groups + * @param {Group} group New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createGroup(group: Group, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createGroup(group, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get entities from groups + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listGroups($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listGroups($top, $skip, $search, $filter, $count, $orderby, $select, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * GroupsApi - factory interface + * @export + */ +export const GroupsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = GroupsApiFp(configuration) + return { + /** + * + * @summary Add new entity to groups + * @param {Group} group New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createGroup(group: Group, options?: any): AxiosPromise { + return localVarFp.createGroup(group, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get entities from groups + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listGroups($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: any): AxiosPromise { + return localVarFp.listGroups($top, $skip, $search, $filter, $count, $orderby, $select, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * GroupsApi - object-oriented interface + * @export + * @class GroupsApi + * @extends {BaseAPI} + */ +export class GroupsApi extends BaseAPI { + /** + * + * @summary Add new entity to groups + * @param {Group} group New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupsApi + */ + public createGroup(group: Group, options?: AxiosRequestConfig) { + return GroupsApiFp(this.configuration).createGroup(group, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get entities from groups + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupsApi + */ + public listGroups($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'createdDateTime' | 'createdDateTime desc' | 'description' | 'description desc' | 'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'securityEnabled' | 'securityEnabled desc' | 'securityIdentifier' | 'securityIdentifier desc' | 'visibility' | 'visibility desc' | 'isArchived' | 'isArchived desc'>, $select?: Set<'id' | 'deletedDateTime' | 'createdDateTime' | 'description' | 'displayName' | 'expirationDateTime' | 'mail' | 'onPremisesDomainName' | 'onPremisesLastSyncDateTime' | 'onPremisesNetBiosName' | 'onPremisesProvisioningErrors' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'preferredLanguage' | 'renewedDateTime' | 'securityEnabled' | 'securityIdentifier' | 'visibility' | 'isArchived' | 'createdOnBehalfOf' | 'memberOf' | 'members' | 'owners' | 'drive' | 'drives'>, options?: AxiosRequestConfig) { + return GroupsApiFp(this.configuration).listGroups($top, $skip, $search, $filter, $count, $orderby, $select, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * MeDriveApi - axios parameter creator + * @export + */ +export const MeDriveApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get personal space for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getHome: async (options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/me/drive`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MeDriveApi - functional programming interface + * @export + */ +export const MeDriveApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MeDriveApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get personal space for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getHome(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getHome(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MeDriveApi - factory interface + * @export + */ +export const MeDriveApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MeDriveApiFp(configuration) + return { + /** + * + * @summary Get personal space for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getHome(options?: any): AxiosPromise { + return localVarFp.getHome(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MeDriveApi - object-oriented interface + * @export + * @class MeDriveApi + * @extends {BaseAPI} + */ +export class MeDriveApi extends BaseAPI { + /** + * + * @summary Get personal space for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeDriveApi + */ + public getHome(options?: AxiosRequestConfig) { + return MeDriveApiFp(this.configuration).getHome(options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * MeDriveRootApi - axios parameter creator + * @export + */ +export const MeDriveRootApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get root from personal space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + homeGetRoot: async (options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/me/drive/root`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MeDriveRootApi - functional programming interface + * @export + */ +export const MeDriveRootApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MeDriveRootApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get root from personal space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async homeGetRoot(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.homeGetRoot(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MeDriveRootApi - factory interface + * @export + */ +export const MeDriveRootApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MeDriveRootApiFp(configuration) + return { + /** + * + * @summary Get root from personal space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + homeGetRoot(options?: any): AxiosPromise { + return localVarFp.homeGetRoot(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MeDriveRootApi - object-oriented interface + * @export + * @class MeDriveRootApi + * @extends {BaseAPI} + */ +export class MeDriveRootApi extends BaseAPI { + /** + * + * @summary Get root from personal space + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeDriveRootApi + */ + public homeGetRoot(options?: AxiosRequestConfig) { + return MeDriveRootApiFp(this.configuration).homeGetRoot(options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * MeDriveRootChildrenApi - axios parameter creator + * @export + */ +export const MeDriveRootChildrenApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get children from drive + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + homeGetChildren: async (options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/me/drive/root/children`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MeDriveRootChildrenApi - functional programming interface + * @export + */ +export const MeDriveRootChildrenApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MeDriveRootChildrenApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get children from drive + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async homeGetChildren(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.homeGetChildren(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MeDriveRootChildrenApi - factory interface + * @export + */ +export const MeDriveRootChildrenApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MeDriveRootChildrenApiFp(configuration) + return { + /** + * + * @summary Get children from drive + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + homeGetChildren(options?: any): AxiosPromise { + return localVarFp.homeGetChildren(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MeDriveRootChildrenApi - object-oriented interface + * @export + * @class MeDriveRootChildrenApi + * @extends {BaseAPI} + */ +export class MeDriveRootChildrenApi extends BaseAPI { + /** + * + * @summary Get children from drive + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeDriveRootChildrenApi + */ + public homeGetChildren(options?: AxiosRequestConfig) { + return MeDriveRootChildrenApiFp(this.configuration).homeGetChildren(options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * MeDrivesApi - axios parameter creator + * @export + */ +export const MeDrivesApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get drives from me + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listMyDrives: async ($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/me/drives`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($top !== undefined) { + localVarQueryParameter['$top'] = $top; + } + + if ($skip !== undefined) { + localVarQueryParameter['$skip'] = $skip; + } + + if ($search !== undefined) { + localVarQueryParameter['$search'] = $search; + } + + if ($filter !== undefined) { + localVarQueryParameter['$filter'] = $filter; + } + + if ($count !== undefined) { + localVarQueryParameter['$count'] = $count; + } + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + if ($expand) { + localVarQueryParameter['$expand'] = Array.from($expand).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MeDrivesApi - functional programming interface + * @export + */ +export const MeDrivesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MeDrivesApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get drives from me + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listMyDrives($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listMyDrives($top, $skip, $search, $filter, $count, $select, $expand, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MeDrivesApi - factory interface + * @export + */ +export const MeDrivesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MeDrivesApiFp(configuration) + return { + /** + * + * @summary Get drives from me + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listMyDrives($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: any): AxiosPromise { + return localVarFp.listMyDrives($top, $skip, $search, $filter, $count, $select, $expand, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MeDrivesApi - object-oriented interface + * @export + * @class MeDrivesApi + * @extends {BaseAPI} + */ +export class MeDrivesApi extends BaseAPI { + /** + * + * @summary Get drives from me + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>} [$select] Select properties to be returned + * @param {Set<'*' | 'root'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeDrivesApi + */ + public listMyDrives($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $select?: Set<'id' | 'createdBy' | 'createdDateTime' | 'description' | 'eTag' | 'lastModifiedBy' | 'lastModifiedDateTime' | 'name' | 'parentReference' | 'webUrl' | 'driveType' | 'owner' | 'quota' | 'createdByUser' | 'lastModifiedByUser' | 'root'>, $expand?: Set<'*' | 'root'>, options?: AxiosRequestConfig) { + return MeDrivesApiFp(this.configuration).listMyDrives($top, $skip, $search, $filter, $count, $select, $expand, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * UserApi - axios parameter creator + * @export + */ +export const UserApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Delete entity from users + * @param {string} userId key: id of user + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteUser: async (userId: string, ifMatch?: string, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'userId' is not null or undefined + assertParamExists('deleteUser', 'userId', userId) + const localVarPath = `/users/{user-id}` + .replace(`{${"user-id"}}`, encodeURIComponent(String(userId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (ifMatch !== undefined && ifMatch !== null) { + localVarHeaderParameter['If-Match'] = String(ifMatch); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get entity from users by key + * @param {string} userId key: id of user + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUser: async (userId: string, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'userId' is not null or undefined + assertParamExists('getUser', 'userId', userId) + const localVarPath = `/users/{user-id}` + .replace(`{${"user-id"}}`, encodeURIComponent(String(userId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + if ($expand) { + localVarQueryParameter['$expand'] = Array.from($expand).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update entity in users + * @param {string} userId key: id of user + * @param {User} user New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateUser: async (userId: string, user: User, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'userId' is not null or undefined + assertParamExists('updateUser', 'userId', userId) + // verify required parameter 'user' is not null or undefined + assertParamExists('updateUser', 'user', user) + const localVarPath = `/users/{user-id}` + .replace(`{${"user-id"}}`, encodeURIComponent(String(userId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(user, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserApi - functional programming interface + * @export + */ +export const UserApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Delete entity from users + * @param {string} userId key: id of user + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteUser(userId: string, ifMatch?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteUser(userId, ifMatch, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get entity from users by key + * @param {string} userId key: id of user + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUser(userId: string, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUser(userId, $select, $expand, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update entity in users + * @param {string} userId key: id of user + * @param {User} user New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateUser(userId: string, user: User, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateUser(userId, user, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UserApi - factory interface + * @export + */ +export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserApiFp(configuration) + return { + /** + * + * @summary Delete entity from users + * @param {string} userId key: id of user + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteUser(userId: string, ifMatch?: string, options?: any): AxiosPromise { + return localVarFp.deleteUser(userId, ifMatch, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get entity from users by key + * @param {string} userId key: id of user + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUser(userId: string, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: any): AxiosPromise { + return localVarFp.getUser(userId, $select, $expand, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update entity in users + * @param {string} userId key: id of user + * @param {User} user New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateUser(userId: string, user: User, options?: any): AxiosPromise { + return localVarFp.updateUser(userId, user, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserApi - object-oriented interface + * @export + * @class UserApi + * @extends {BaseAPI} + */ +export class UserApi extends BaseAPI { + /** + * + * @summary Delete entity from users + * @param {string} userId key: id of user + * @param {string} [ifMatch] ETag + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public deleteUser(userId: string, ifMatch?: string, options?: AxiosRequestConfig) { + return UserApiFp(this.configuration).deleteUser(userId, ifMatch, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get entity from users by key + * @param {string} userId key: id of user + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public getUser(userId: string, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: AxiosRequestConfig) { + return UserApiFp(this.configuration).getUser(userId, $select, $expand, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update entity in users + * @param {string} userId key: id of user + * @param {User} user New property values + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public updateUser(userId: string, user: User, options?: AxiosRequestConfig) { + return UserApiFp(this.configuration).updateUser(userId, user, options).then((request) => request(this.axios, this.basePath)); + } +} + + +/** + * UsersApi - axios parameter creator + * @export + */ +export const UsersApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Add new entity to users + * @param {User} user New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createUser: async (user: User, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('createUser', 'user', user) + const localVarPath = `/users`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(user, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get entities from users + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listUsers: async ($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options: AxiosRequestConfig = {}): Promise => { + const localVarPath = `/users`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if ($top !== undefined) { + localVarQueryParameter['$top'] = $top; + } + + if ($skip !== undefined) { + localVarQueryParameter['$skip'] = $skip; + } + + if ($search !== undefined) { + localVarQueryParameter['$search'] = $search; + } + + if ($filter !== undefined) { + localVarQueryParameter['$filter'] = $filter; + } + + if ($count !== undefined) { + localVarQueryParameter['$count'] = $count; + } + + if ($orderby) { + localVarQueryParameter['$orderby'] = Array.from($orderby).join(COLLECTION_FORMATS.csv); + } + + if ($select) { + localVarQueryParameter['$select'] = Array.from($select).join(COLLECTION_FORMATS.csv); + } + + if ($expand) { + localVarQueryParameter['$expand'] = Array.from($expand).join(COLLECTION_FORMATS.csv); + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UsersApi - functional programming interface + * @export + */ +export const UsersApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Add new entity to users + * @param {User} user New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createUser(user: User, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createUser(user, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get entities from users + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listUsers($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listUsers($top, $skip, $search, $filter, $count, $orderby, $select, $expand, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UsersApi - factory interface + * @export + */ +export const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UsersApiFp(configuration) + return { + /** + * + * @summary Add new entity to users + * @param {User} user New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createUser(user: User, options?: any): AxiosPromise { + return localVarFp.createUser(user, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get entities from users + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listUsers($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: any): AxiosPromise { + return localVarFp.listUsers($top, $skip, $search, $filter, $count, $orderby, $select, $expand, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UsersApi - object-oriented interface + * @export + * @class UsersApi + * @extends {BaseAPI} + */ +export class UsersApi extends BaseAPI { + /** + * + * @summary Add new entity to users + * @param {User} user New entity + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UsersApi + */ + public createUser(user: User, options?: AxiosRequestConfig) { + return UsersApiFp(this.configuration).createUser(user, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get entities from users + * @param {number} [$top] Show only the first n items + * @param {number} [$skip] Skip the first n items + * @param {string} [$search] Search items by search phrases + * @param {string} [$filter] Filter items by property values + * @param {boolean} [$count] Include count of items + * @param {Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>} [$orderby] Order items by property values + * @param {Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>} [$select] Select properties to be returned + * @param {Set<'*' | 'drive' | 'drives'>} [$expand] Expand related entities + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UsersApi + */ + public listUsers($top?: number, $skip?: number, $search?: string, $filter?: string, $count?: boolean, $orderby?: Set<'id' | 'id desc' | 'deletedDateTime' | 'deletedDateTime desc' | 'accountEnabled' | 'accountEnabled desc' | 'businessPhones' | 'businessPhones desc' | 'city' | 'city desc' | 'companyName' | 'companyName desc' | 'country' | 'country desc' | 'createdDateTime' | 'createdDateTime desc' | 'department' | 'department desc' | 'displayName' | 'displayName desc' | 'faxNumber' | 'faxNumber desc' | 'givenName' | 'givenName desc' | 'lastPasswordChangeDateTime' | 'lastPasswordChangeDateTime desc' | 'legalAgeGroupClassification' | 'legalAgeGroupClassification desc' | 'mail' | 'mail desc' | 'mailNickname' | 'mailNickname desc' | 'mobilePhone' | 'mobilePhone desc' | 'officeLocation' | 'officeLocation desc' | 'onPremisesDistinguishedName' | 'onPremisesDistinguishedName desc' | 'onPremisesDomainName' | 'onPremisesDomainName desc' | 'onPremisesImmutableId' | 'onPremisesImmutableId desc' | 'onPremisesLastSyncDateTime' | 'onPremisesLastSyncDateTime desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc' | 'onPremisesSyncEnabled' | 'onPremisesSyncEnabled desc' | 'onPremisesUserPrincipalName' | 'onPremisesUserPrincipalName desc' | 'postalCode' | 'postalCode desc' | 'preferredLanguage' | 'preferredLanguage desc' | 'state' | 'state desc' | 'streetAddress' | 'streetAddress desc' | 'surname' | 'surname desc' | 'usageLocation' | 'usageLocation desc' | 'userPrincipalName' | 'userPrincipalName desc' | 'userType' | 'userType desc' | 'aboutMe' | 'aboutMe desc' | 'birthday' | 'birthday desc' | 'preferredName' | 'preferredName desc'>, $select?: Set<'id' | 'deletedDateTime' | 'accountEnabled' | 'businessPhones' | 'city' | 'companyName' | 'country' | 'createdDateTime' | 'creationType' | 'department' | 'displayName' | 'faxNumber' | 'givenName' | 'lastPasswordChangeDateTime' | 'legalAgeGroupClassification' | 'licenseAssignmentStates' | 'mail' | 'mailNickname' | 'mobilePhone' | 'officeLocation' | 'onPremisesDistinguishedName' | 'onPremisesDomainName' | 'onPremisesImmutableId' | 'onPremisesLastSyncDateTime' | 'onPremisesSamAccountName' | 'onPremisesSyncEnabled' | 'onPremisesUserPrincipalName' | 'postalCode' | 'preferredLanguage' | 'state' | 'streetAddress' | 'surname' | 'usageLocation' | 'userPrincipalName' | 'userType' | 'aboutMe' | 'birthday' | 'preferredName' | 'drive' | 'drives'>, $expand?: Set<'*' | 'drive' | 'drives'>, options?: AxiosRequestConfig) { + return UsersApiFp(this.configuration).listUsers($top, $skip, $search, $filter, $count, $orderby, $select, $expand, options).then((request) => request(this.axios, this.basePath)); + } +} + + diff --git a/packages/web-client/src/generated/base.ts b/packages/web-client/src/generated/base.ts new file mode 100644 index 00000000000..47995e11a5f --- /dev/null +++ b/packages/web-client/src/generated/base.ts @@ -0,0 +1,71 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Libre Graph API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Configuration } from "./configuration"; +// Some imports not used depending on template conditions +// @ts-ignore +import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; + +export const BASE_PATH = "https://ocis.ocis-traefik.latest.owncloud.works".replace(/\/+$/, ""); + +/** + * + * @export + */ +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +/** + * + * @export + * @interface RequestArgs + */ +export interface RequestArgs { + url: string; + options: AxiosRequestConfig; +} + +/** + * + * @export + * @class BaseAPI + */ +export class BaseAPI { + protected configuration: Configuration | undefined; + + constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { + if (configuration) { + this.configuration = configuration; + this.basePath = configuration.basePath || this.basePath; + } + } +}; + +/** + * + * @export + * @class RequiredError + * @extends {Error} + */ +export class RequiredError extends Error { + name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} diff --git a/packages/web-client/src/generated/common.ts b/packages/web-client/src/generated/common.ts new file mode 100644 index 00000000000..438c90ce65c --- /dev/null +++ b/packages/web-client/src/generated/common.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Libre Graph API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Configuration } from "./configuration"; +import { RequiredError, RequestArgs } from "./base"; +import { AxiosInstance, AxiosResponse } from 'axios'; + +/** + * + * @export + */ +export const DUMMY_BASE_URL = 'https://example.com' + +/** + * + * @throws {RequiredError} + * @export + */ +export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { + if (paramValue === null || paramValue === undefined) { + throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); + } +} + +/** + * + * @export + */ +export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { + if (configuration && configuration.apiKey) { + const localVarApiKeyValue = typeof configuration.apiKey === 'function' + ? await configuration.apiKey(keyParamName) + : await configuration.apiKey; + object[keyParamName] = localVarApiKeyValue; + } +} + +/** + * + * @export + */ +export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { + if (configuration && (configuration.username || configuration.password)) { + object["auth"] = { username: configuration.username, password: configuration.password }; + } +} + +/** + * + * @export + */ +export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const accessToken = typeof configuration.accessToken === 'function' + ? await configuration.accessToken() + : await configuration.accessToken; + object["Authorization"] = "Bearer " + accessToken; + } +} + +/** + * + * @export + */ +export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const localVarAccessTokenValue = typeof configuration.accessToken === 'function' + ? await configuration.accessToken(name, scopes) + : await configuration.accessToken; + object["Authorization"] = "Bearer " + localVarAccessTokenValue; + } +} + +/** + * + * @export + */ +export const setSearchParams = function (url: URL, ...objects: any[]) { + const searchParams = new URLSearchParams(url.search); + for (const object of objects) { + for (const key in object) { + if (Array.isArray(object[key])) { + searchParams.delete(key); + for (const item of object[key]) { + searchParams.append(key, item); + } + } else { + searchParams.set(key, object[key]); + } + } + } + url.search = searchParams.toString(); +} + +/** + * + * @export + */ +export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { + const nonString = typeof value !== 'string'; + const needsSerialization = nonString && configuration && configuration.isJsonMime + ? configuration.isJsonMime(requestOptions.headers['Content-Type']) + : nonString; + return needsSerialization + ? JSON.stringify(value !== undefined ? value : {}) + : (value || ""); +} + +/** + * + * @export + */ +export const toPathString = function (url: URL) { + return url.pathname + url.search + url.hash +} + +/** + * + * @export + */ +export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) { + return >(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { + const axiosRequestArgs = {...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url}; + return axios.request(axiosRequestArgs); + }; +} diff --git a/packages/web-client/src/generated/configuration.ts b/packages/web-client/src/generated/configuration.ts new file mode 100644 index 00000000000..bb18ba8370d --- /dev/null +++ b/packages/web-client/src/generated/configuration.ts @@ -0,0 +1,101 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Libre Graph API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ConfigurationParameters { + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); + username?: string; + password?: string; + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + basePath?: string; + baseOptions?: any; + formDataCtor?: new () => any; +} + +export class Configuration { + /** + * parameter for apiKey security + * @param name security name + * @memberof Configuration + */ + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); + /** + * parameter for basic security + * + * @type {string} + * @memberof Configuration + */ + username?: string; + /** + * parameter for basic security + * + * @type {string} + * @memberof Configuration + */ + password?: string; + /** + * parameter for oauth2 security + * @param name security name + * @param scopes oauth2 scope + * @memberof Configuration + */ + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + /** + * override base path + * + * @type {string} + * @memberof Configuration + */ + basePath?: string; + /** + * base options for axios calls + * + * @type {any} + * @memberof Configuration + */ + baseOptions?: any; + /** + * The FormData constructor that will be used to create multipart form data + * requests. You can inject this here so that execution environments that + * do not support the FormData class can still run the generated client. + * + * @type {new () => FormData} + */ + formDataCtor?: new () => any; + + constructor(param: ConfigurationParameters = {}) { + this.apiKey = param.apiKey; + this.username = param.username; + this.password = param.password; + this.accessToken = param.accessToken; + this.basePath = param.basePath; + this.baseOptions = param.baseOptions; + this.formDataCtor = param.formDataCtor; + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public isJsonMime(mime: string): boolean { + const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); + } +} diff --git a/packages/web-client/src/generated/git_push.sh b/packages/web-client/src/generated/git_push.sh new file mode 100644 index 00000000000..f53a75d4fab --- /dev/null +++ b/packages/web-client/src/generated/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/packages/web-client/src/generated/index.ts b/packages/web-client/src/generated/index.ts new file mode 100644 index 00000000000..d7e43660ee4 --- /dev/null +++ b/packages/web-client/src/generated/index.ts @@ -0,0 +1,18 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Libre Graph API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export * from "./api"; +export * from "./configuration"; + diff --git a/packages/web-client/src/index.ts b/packages/web-client/src/index.ts new file mode 100644 index 00000000000..3e3881f2810 --- /dev/null +++ b/packages/web-client/src/index.ts @@ -0,0 +1,43 @@ +import axios, { AxiosInstance } from 'axios' +import { Configuration, MeDrivesApi } from './generated' + +interface Graph { + drives: Pick +} + +const graph = (baseURI: string, axiosClient: AxiosInstance): Graph => { + const basePath = new URL('/graph/v1.0', baseURI).href + const config = new Configuration({ + basePath + }) + + const meDrivesApi = new MeDrivesApi(config, config.basePath, axiosClient) + + return { + drives: { + listMyDrives: () => meDrivesApi.listMyDrives() + } + } +} + +interface Client { + graph: Graph +} + +export const client = (baseURI: string, token: string): Client => { + const axiosClient = axios.create({ + headers: { + authorization: 'Bearer ' + token, + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) + + axiosClient.interceptors.request.use((config) => { + config.headers['Content-Type'] = 'application/x-www-form-urlencoded' + return config + }) + + return { + graph: graph(baseURI, axiosClient) + } +} diff --git a/sonar-project.properties b/sonar-project.properties index a15adafa006..d99e2861cb3 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -32,4 +32,4 @@ sonar.pullrequest.key=${env.SONAR_PULL_REQUEST_KEY} sonar.javascript.lcov.reportPaths=coverage/lcov.info # Exclude files -sonar.exclusions=docs/**,node_modules/**,deployments/**,**/tests/**,__mocks__/**,__fixtures__/**,dist/**,changelog/**,config/**,docker/**,release/**,**/package.json,package.json,rollup.config.js,nightwatch.conf.js,Makefile,Makefile.release,CHANGELOG.md,README.md +sonar.exclusions=docs/**,node_modules/**,deployments/**,**/tests/**,__mocks__/**,__fixtures__/**,dist/**,changelog/**,config/**,docker/**,release/**,**/package.json,package.json,rollup.config.js,nightwatch.conf.js,Makefile,Makefile.release,CHANGELOG.md,README.md,packages/web-client/src/generated/** diff --git a/tests/e2e/support/page/files/allFiles.ts b/tests/e2e/support/page/files/allFiles.ts index 9fae9541e02..55ad6d74bed 100644 --- a/tests/e2e/support/page/files/allFiles.ts +++ b/tests/e2e/support/page/files/allFiles.ts @@ -13,7 +13,7 @@ export class AllFilesPage { async navigate(): Promise { const { page } = this.actor - const allFilesBtn = page.locator('a[href="#/files/spaces/"] .text') + const allFilesBtn = page.locator('a[href="#/files/spaces/personal/home"] .text') await allFilesBtn.click() } diff --git a/yarn.lock b/yarn.lock index 91e4ca7e528..6b3448472b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15435,6 +15435,12 @@ typescript@^4.3.2: languageName: node linkType: hard +"web-client@workspace:packages/web-client": + version: 0.0.0-use.local + resolution: "web-client@workspace:packages/web-client" + languageName: unknown + linkType: soft + "web-pkg@*, web-pkg@workspace:packages/web-pkg": version: 0.0.0-use.local resolution: "web-pkg@workspace:packages/web-pkg"