diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..42c0d07 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: Node.js CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm i -g pnpm + - run: pnpm install --frozen-lockfile + - run: pnpm build diff --git a/.gitignore b/.gitignore index 00cbbdf..149b576 100644 --- a/.gitignore +++ b/.gitignore @@ -1,59 +1,4 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - +wwwroot/*.js +node_modules +typings +dist diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..999d88d --- /dev/null +++ b/.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/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.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/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..b616f87 --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,13 @@ +.gitignore +.npmignore +.openapi-generator-ignore +README.md +api.ts +base.ts +common.ts +configuration.ts +git_push.sh +index.ts +package.json +tsconfig.esm.json +tsconfig.json diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..8b23b8d --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.3.0 \ No newline at end of file diff --git a/.swagger-codegen-ignore b/.swagger-codegen-ignore deleted file mode 100644 index b10a807..0000000 --- a/.swagger-codegen-ignore +++ /dev/null @@ -1,5 +0,0 @@ -# Swagger Codegen Ignore -.gitignore -.travis.yml -git_push.sh -package.json diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d5faa4c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "6" - - "7" - - "8" - - "9" - - "10" - - "11" - - "12" diff --git a/README.md b/README.md index 06d198b..e1558d7 100644 --- a/README.md +++ b/README.md @@ -1,269 +1,46 @@ -# JavaScript (Browser & Node.js) Client for the Flat REST API +## flat-api@0.7.0 -[![Build Status](https://img.shields.io/travis/FlatIO/api-client-js.svg?style=flat)](https://travis-ci.org/FlatIO/api-client-js) -[![NPM Version](https://img.shields.io/npm/v/flat-api.svg?style=flat)](https://www.npmjs.org/package/flat-api) +This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments: -The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: -- Creating and importing new music scores using MusicXML or MIDI files -- Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) -- Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. +Environment +* Node.js +* Webpack +* Browserify -You can find the API reference including code samples and our OpenAPI Specification at the following url: [https://flat.io/developers/api/reference](https://flat.io/developers/api/reference). +Language level +* ES5 - you must have a Promises/A+ library installed +* ES6 -To request some API credentials, please visit [https://flat.io/developers](https://flat.io/developers). +Module system +* CommonJS +* ES6 module system -This JavaScript package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project. +It can be used in both TypeScript and JavaScript. In TypeScript, the definition will be automatically resolved via `package.json`. ([Reference](https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html)) -## Installation +### Building -### For [Node.js](https://nodejs.org/) - -#### npm - -```shell -$ npm install flat-api --save +To build and compile the typescript sources to javascript use: ``` - -#### git - -```shell -$ npm install git://github.com/FlatIO/api-client-js --save +npm install +npm run build ``` -### For browser +### Publishing -### bower +First build the package then run `npm publish` -```shell -$ bower install flat-api -``` +### Consuming -### git / github +navigate to the folder of your consuming project and run one of the following commands. -The library also works in the browser environment via npm and [browserify](http://browserify.org/). -A build is available in the `build` directory, you can also rebuild the library: +_published:_ -```shell -$ npm install -d && npm run build -$ ls -1 build -flat-api.js -flat-api.js.map -flat-api.min.js ``` - -Then include *bundle.js* in the HTML pages. - -## Getting Started - -Please follow the [installation](#installation) instruction and execute the following JS code: - -```javascript -var FlatApi = require('flat-api'); - -// Configure OAuth2 access token for authorization -FlatApi.ApiClient.instance.authentications.OAuth2.accessToken = 'YOUR_ACCES_TOKEN'; - -var flatAccountApi = new FlatApi.AccountApi(); -flatAccountApi.getAuthenticatedUser(function(error, data, response) { - if (error) { - console.error(error); - } - else { - console.log('Successfully retrieved user profile: ', data); - } -}); +npm install flat-api@0.7.0 --save ``` -## Documentation for API Endpoints - -All URIs are relative to *https://api.flat.io/v2* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*FlatApi.AccountApi* | [**getAuthenticatedUser**](docs/AccountApi.md#getAuthenticatedUser) | **GET** /me | Get current user profile -*FlatApi.ClassApi* | [**activateClass**](docs/ClassApi.md#activateClass) | **POST** /classes/{class}/activate | Activate the class -*FlatApi.ClassApi* | [**addClassUser**](docs/ClassApi.md#addClassUser) | **PUT** /classes/{class}/users/{user} | Add a user to the class -*FlatApi.ClassApi* | [**archiveClass**](docs/ClassApi.md#archiveClass) | **POST** /classes/{class}/archive | Archive the class -*FlatApi.ClassApi* | [**copyAssignment**](docs/ClassApi.md#copyAssignment) | **POST** /classes/{class}/assignments/{assignment}/copy | Copy an assignment -*FlatApi.ClassApi* | [**createAssignment**](docs/ClassApi.md#createAssignment) | **POST** /classes/{class}/assignments | Assignment creation -*FlatApi.ClassApi* | [**createClass**](docs/ClassApi.md#createClass) | **POST** /classes | Create a new class -*FlatApi.ClassApi* | [**createSubmission**](docs/ClassApi.md#createSubmission) | **PUT** /classes/{class}/assignments/{assignment}/submissions | Create or edit a submission -*FlatApi.ClassApi* | [**deleteClassUser**](docs/ClassApi.md#deleteClassUser) | **DELETE** /classes/{class}/users/{user} | Remove a user from the class -*FlatApi.ClassApi* | [**editSubmission**](docs/ClassApi.md#editSubmission) | **PUT** /classes/{class}/assignments/{assignment}/submissions/{submission} | Edit a submission -*FlatApi.ClassApi* | [**enrollClass**](docs/ClassApi.md#enrollClass) | **POST** /classes/enroll/{enrollmentCode} | Join a class -*FlatApi.ClassApi* | [**getClass**](docs/ClassApi.md#getClass) | **GET** /classes/{class} | Get the details of a single class -*FlatApi.ClassApi* | [**getScoreSubmissions**](docs/ClassApi.md#getScoreSubmissions) | **GET** /scores/{score}/submissions | List submissions related to the score -*FlatApi.ClassApi* | [**getSubmission**](docs/ClassApi.md#getSubmission) | **GET** /classes/{class}/assignments/{assignment}/submissions/{submission} | Get a student submission -*FlatApi.ClassApi* | [**getSubmissions**](docs/ClassApi.md#getSubmissions) | **GET** /classes/{class}/assignments/{assignment}/submissions | List the students' submissions -*FlatApi.ClassApi* | [**listAssignments**](docs/ClassApi.md#listAssignments) | **GET** /classes/{class}/assignments | Assignments listing -*FlatApi.ClassApi* | [**listClassStudentSubmissions**](docs/ClassApi.md#listClassStudentSubmissions) | **GET** /classes/{class}/students/{user}/submissions | List the submissions for a student -*FlatApi.ClassApi* | [**listClasses**](docs/ClassApi.md#listClasses) | **GET** /classes | List the classes available for the current user -*FlatApi.ClassApi* | [**unarchiveClass**](docs/ClassApi.md#unarchiveClass) | **DELETE** /classes/{class}/archive | Unarchive the class -*FlatApi.ClassApi* | [**updateClass**](docs/ClassApi.md#updateClass) | **PUT** /classes/{class} | Update the class -*FlatApi.CollectionApi* | [**addScoreToCollection**](docs/CollectionApi.md#addScoreToCollection) | **PUT** /collections/{collection}/scores/{score} | Add a score to the collection -*FlatApi.CollectionApi* | [**createCollection**](docs/CollectionApi.md#createCollection) | **POST** /collections | Create a new collection -*FlatApi.CollectionApi* | [**deleteCollection**](docs/CollectionApi.md#deleteCollection) | **DELETE** /collections/{collection} | Delete the collection -*FlatApi.CollectionApi* | [**deleteScoreFromCollection**](docs/CollectionApi.md#deleteScoreFromCollection) | **DELETE** /collections/{collection}/scores/{score} | Delete a score from the collection -*FlatApi.CollectionApi* | [**editCollection**](docs/CollectionApi.md#editCollection) | **PUT** /collections/{collection} | Update a collection's metadata -*FlatApi.CollectionApi* | [**getCollection**](docs/CollectionApi.md#getCollection) | **GET** /collections/{collection} | Get collection details -*FlatApi.CollectionApi* | [**listCollectionScores**](docs/CollectionApi.md#listCollectionScores) | **GET** /collections/{collection}/scores | List the scores contained in a collection -*FlatApi.CollectionApi* | [**listCollections**](docs/CollectionApi.md#listCollections) | **GET** /collections | List the collections -*FlatApi.CollectionApi* | [**untrashCollection**](docs/CollectionApi.md#untrashCollection) | **POST** /collections/{collection}/untrash | Untrash a collection -*FlatApi.GroupApi* | [**getGroupDetails**](docs/GroupApi.md#getGroupDetails) | **GET** /groups/{group} | Get group information -*FlatApi.GroupApi* | [**getGroupScores**](docs/GroupApi.md#getGroupScores) | **GET** /groups/{group}/scores | List group's scores -*FlatApi.GroupApi* | [**listGroupUsers**](docs/GroupApi.md#listGroupUsers) | **GET** /groups/{group}/users | List group's users -*FlatApi.OrganizationApi* | [**createLtiCredentials**](docs/OrganizationApi.md#createLtiCredentials) | **POST** /organizations/lti/credentials | Create a new couple of LTI 1.x credentials -*FlatApi.OrganizationApi* | [**createOrganizationInvitation**](docs/OrganizationApi.md#createOrganizationInvitation) | **POST** /organizations/invitations | Create a new invitation to join the organization -*FlatApi.OrganizationApi* | [**createOrganizationUser**](docs/OrganizationApi.md#createOrganizationUser) | **POST** /organizations/users | Create a new user account -*FlatApi.OrganizationApi* | [**listLtiCredentials**](docs/OrganizationApi.md#listLtiCredentials) | **GET** /organizations/lti/credentials | List LTI 1.x credentials -*FlatApi.OrganizationApi* | [**listOrganizationInvitations**](docs/OrganizationApi.md#listOrganizationInvitations) | **GET** /organizations/invitations | List the organization invitations -*FlatApi.OrganizationApi* | [**listOrganizationUsers**](docs/OrganizationApi.md#listOrganizationUsers) | **GET** /organizations/users | List the organization users -*FlatApi.OrganizationApi* | [**removeOrganizationInvitation**](docs/OrganizationApi.md#removeOrganizationInvitation) | **DELETE** /organizations/invitations/{invitation} | Remove an organization invitation -*FlatApi.OrganizationApi* | [**removeOrganizationUser**](docs/OrganizationApi.md#removeOrganizationUser) | **DELETE** /organizations/users/{user} | Remove an account from Flat -*FlatApi.OrganizationApi* | [**revokeLtiCredentials**](docs/OrganizationApi.md#revokeLtiCredentials) | **DELETE** /organizations/lti/credentials/{credentials} | Revoke LTI 1.x credentials -*FlatApi.OrganizationApi* | [**updateOrganizationUser**](docs/OrganizationApi.md#updateOrganizationUser) | **PUT** /organizations/users/{user} | Update account information -*FlatApi.ScoreApi* | [**addScoreCollaborator**](docs/ScoreApi.md#addScoreCollaborator) | **POST** /scores/{score}/collaborators | Add a new collaborator -*FlatApi.ScoreApi* | [**addScoreTrack**](docs/ScoreApi.md#addScoreTrack) | **POST** /scores/{score}/tracks | Add a new video or audio track to the score -*FlatApi.ScoreApi* | [**createScore**](docs/ScoreApi.md#createScore) | **POST** /scores | Create a new score -*FlatApi.ScoreApi* | [**createScoreRevision**](docs/ScoreApi.md#createScoreRevision) | **POST** /scores/{score}/revisions | Create a new revision -*FlatApi.ScoreApi* | [**deleteScore**](docs/ScoreApi.md#deleteScore) | **DELETE** /scores/{score} | Delete a score -*FlatApi.ScoreApi* | [**deleteScoreComment**](docs/ScoreApi.md#deleteScoreComment) | **DELETE** /scores/{score}/comments/{comment} | Delete a comment -*FlatApi.ScoreApi* | [**deleteScoreTrack**](docs/ScoreApi.md#deleteScoreTrack) | **DELETE** /scores/{score}/tracks/{track} | Remove an audio or video track linked to the score -*FlatApi.ScoreApi* | [**editScore**](docs/ScoreApi.md#editScore) | **PUT** /scores/{score} | Edit a score's metadata -*FlatApi.ScoreApi* | [**forkScore**](docs/ScoreApi.md#forkScore) | **POST** /scores/{score}/fork | Fork a score -*FlatApi.ScoreApi* | [**gerUserLikes**](docs/ScoreApi.md#gerUserLikes) | **GET** /users/{user}/likes | List liked scores -*FlatApi.ScoreApi* | [**getGroupScores**](docs/ScoreApi.md#getGroupScores) | **GET** /groups/{group}/scores | List group's scores -*FlatApi.ScoreApi* | [**getScore**](docs/ScoreApi.md#getScore) | **GET** /scores/{score} | Get a score's metadata -*FlatApi.ScoreApi* | [**getScoreCollaborator**](docs/ScoreApi.md#getScoreCollaborator) | **GET** /scores/{score}/collaborators/{collaborator} | Get a collaborator -*FlatApi.ScoreApi* | [**getScoreCollaborators**](docs/ScoreApi.md#getScoreCollaborators) | **GET** /scores/{score}/collaborators | List the collaborators -*FlatApi.ScoreApi* | [**getScoreComments**](docs/ScoreApi.md#getScoreComments) | **GET** /scores/{score}/comments | List comments -*FlatApi.ScoreApi* | [**getScoreRevision**](docs/ScoreApi.md#getScoreRevision) | **GET** /scores/{score}/revisions/{revision} | Get a score revision -*FlatApi.ScoreApi* | [**getScoreRevisionData**](docs/ScoreApi.md#getScoreRevisionData) | **GET** /scores/{score}/revisions/{revision}/{format} | Get a score revision data -*FlatApi.ScoreApi* | [**getScoreRevisions**](docs/ScoreApi.md#getScoreRevisions) | **GET** /scores/{score}/revisions | List the revisions -*FlatApi.ScoreApi* | [**getScoreSubmissions**](docs/ScoreApi.md#getScoreSubmissions) | **GET** /scores/{score}/submissions | List submissions related to the score -*FlatApi.ScoreApi* | [**getScoreTrack**](docs/ScoreApi.md#getScoreTrack) | **GET** /scores/{score}/tracks/{track} | Retrieve the details of an audio or video track linked to a score -*FlatApi.ScoreApi* | [**getUserScores**](docs/ScoreApi.md#getUserScores) | **GET** /users/{user}/scores | List user's scores -*FlatApi.ScoreApi* | [**listScoreTracks**](docs/ScoreApi.md#listScoreTracks) | **GET** /scores/{score}/tracks | List the audio or video tracks linked to a score -*FlatApi.ScoreApi* | [**markScoreCommentResolved**](docs/ScoreApi.md#markScoreCommentResolved) | **PUT** /scores/{score}/comments/{comment}/resolved | Mark the comment as resolved -*FlatApi.ScoreApi* | [**markScoreCommentUnresolved**](docs/ScoreApi.md#markScoreCommentUnresolved) | **DELETE** /scores/{score}/comments/{comment}/resolved | Mark the comment as unresolved -*FlatApi.ScoreApi* | [**postScoreComment**](docs/ScoreApi.md#postScoreComment) | **POST** /scores/{score}/comments | Post a new comment -*FlatApi.ScoreApi* | [**removeScoreCollaborator**](docs/ScoreApi.md#removeScoreCollaborator) | **DELETE** /scores/{score}/collaborators/{collaborator} | Delete a collaborator -*FlatApi.ScoreApi* | [**untrashScore**](docs/ScoreApi.md#untrashScore) | **POST** /scores/{score}/untrash | Untrash a score -*FlatApi.ScoreApi* | [**updateScoreComment**](docs/ScoreApi.md#updateScoreComment) | **PUT** /scores/{score}/comments/{comment} | Update an existing comment -*FlatApi.ScoreApi* | [**updateScoreTrack**](docs/ScoreApi.md#updateScoreTrack) | **PUT** /scores/{score}/tracks/{track} | Update an audio or video track linked to a score -*FlatApi.UserApi* | [**gerUserLikes**](docs/UserApi.md#gerUserLikes) | **GET** /users/{user}/likes | List liked scores -*FlatApi.UserApi* | [**getUser**](docs/UserApi.md#getUser) | **GET** /users/{user} | Get a public user profile -*FlatApi.UserApi* | [**getUserScores**](docs/UserApi.md#getUserScores) | **GET** /users/{user}/scores | List user's scores - - -## Documentation for Models - - - [FlatApi.Assignment](docs/Assignment.md) - - [FlatApi.AssignmentCopy](docs/AssignmentCopy.md) - - [FlatApi.AssignmentCreation](docs/AssignmentCreation.md) - - [FlatApi.AssignmentSubmission](docs/AssignmentSubmission.md) - - [FlatApi.AssignmentSubmissionUpdate](docs/AssignmentSubmissionUpdate.md) - - [FlatApi.ClassAttachmentCreation](docs/ClassAttachmentCreation.md) - - [FlatApi.ClassCreation](docs/ClassCreation.md) - - [FlatApi.ClassDetails](docs/ClassDetails.md) - - [FlatApi.ClassDetailsCanvas](docs/ClassDetailsCanvas.md) - - [FlatApi.ClassDetailsClever](docs/ClassDetailsClever.md) - - [FlatApi.ClassDetailsGoogleClassroom](docs/ClassDetailsGoogleClassroom.md) - - [FlatApi.ClassDetailsGoogleDrive](docs/ClassDetailsGoogleDrive.md) - - [FlatApi.ClassDetailsLti](docs/ClassDetailsLti.md) - - [FlatApi.ClassRoles](docs/ClassRoles.md) - - [FlatApi.ClassState](docs/ClassState.md) - - [FlatApi.ClassUpdate](docs/ClassUpdate.md) - - [FlatApi.Collection](docs/Collection.md) - - [FlatApi.CollectionCapabilities](docs/CollectionCapabilities.md) - - [FlatApi.CollectionCreation](docs/CollectionCreation.md) - - [FlatApi.CollectionModification](docs/CollectionModification.md) - - [FlatApi.CollectionPrivacy](docs/CollectionPrivacy.md) - - [FlatApi.CollectionTitle](docs/CollectionTitle.md) - - [FlatApi.CollectionType](docs/CollectionType.md) - - [FlatApi.FlatErrorResponse](docs/FlatErrorResponse.md) - - [FlatApi.FlatLocales](docs/FlatLocales.md) - - [FlatApi.GoogleClassroomCoursework](docs/GoogleClassroomCoursework.md) - - [FlatApi.GoogleClassroomSubmission](docs/GoogleClassroomSubmission.md) - - [FlatApi.Group](docs/Group.md) - - [FlatApi.GroupDetails](docs/GroupDetails.md) - - [FlatApi.GroupType](docs/GroupType.md) - - [FlatApi.LicenseMode](docs/LicenseMode.md) - - [FlatApi.LicenseSources](docs/LicenseSources.md) - - [FlatApi.LmsName](docs/LmsName.md) - - [FlatApi.LtiCredentials](docs/LtiCredentials.md) - - [FlatApi.LtiCredentialsCreation](docs/LtiCredentialsCreation.md) - - [FlatApi.MediaAttachment](docs/MediaAttachment.md) - - [FlatApi.MediaScoreSharingMode](docs/MediaScoreSharingMode.md) - - [FlatApi.OrganizationInvitation](docs/OrganizationInvitation.md) - - [FlatApi.OrganizationInvitationCreation](docs/OrganizationInvitationCreation.md) - - [FlatApi.OrganizationRoles](docs/OrganizationRoles.md) - - [FlatApi.ResourceCollaboratorCreation](docs/ResourceCollaboratorCreation.md) - - [FlatApi.ResourceRights](docs/ResourceRights.md) - - [FlatApi.ResourceSharingKey](docs/ResourceSharingKey.md) - - [FlatApi.ScoreComment](docs/ScoreComment.md) - - [FlatApi.ScoreCommentContext](docs/ScoreCommentContext.md) - - [FlatApi.ScoreCommentCreation](docs/ScoreCommentCreation.md) - - [FlatApi.ScoreCommentUpdate](docs/ScoreCommentUpdate.md) - - [FlatApi.ScoreCommentsCounts](docs/ScoreCommentsCounts.md) - - [FlatApi.ScoreCreation](docs/ScoreCreation.md) - - [FlatApi.ScoreCreationType](docs/ScoreCreationType.md) - - [FlatApi.ScoreData](docs/ScoreData.md) - - [FlatApi.ScoreDataEncoding](docs/ScoreDataEncoding.md) - - [FlatApi.ScoreFork](docs/ScoreFork.md) - - [FlatApi.ScoreLicense](docs/ScoreLicense.md) - - [FlatApi.ScoreLikesCounts](docs/ScoreLikesCounts.md) - - [FlatApi.ScoreModification](docs/ScoreModification.md) - - [FlatApi.ScorePrivacy](docs/ScorePrivacy.md) - - [FlatApi.ScoreRevision](docs/ScoreRevision.md) - - [FlatApi.ScoreRevisionCreation](docs/ScoreRevisionCreation.md) - - [FlatApi.ScoreRevisionStatistics](docs/ScoreRevisionStatistics.md) - - [FlatApi.ScoreSource](docs/ScoreSource.md) - - [FlatApi.ScoreSummary](docs/ScoreSummary.md) - - [FlatApi.ScoreTrack](docs/ScoreTrack.md) - - [FlatApi.ScoreTrackCreation](docs/ScoreTrackCreation.md) - - [FlatApi.ScoreTrackPoint](docs/ScoreTrackPoint.md) - - [FlatApi.ScoreTrackState](docs/ScoreTrackState.md) - - [FlatApi.ScoreTrackType](docs/ScoreTrackType.md) - - [FlatApi.ScoreTrackUpdate](docs/ScoreTrackUpdate.md) - - [FlatApi.ScoreViewsCounts](docs/ScoreViewsCounts.md) - - [FlatApi.UserAdminUpdate](docs/UserAdminUpdate.md) - - [FlatApi.UserBasics](docs/UserBasics.md) - - [FlatApi.UserCreation](docs/UserCreation.md) - - [FlatApi.UserDetailsAdminLicense](docs/UserDetailsAdminLicense.md) - - [FlatApi.UserInstruments](docs/UserInstruments.md) - - [FlatApi.ResourceCollaborator](docs/ResourceCollaborator.md) - - [FlatApi.ScoreDetails](docs/ScoreDetails.md) - - [FlatApi.UserPublicSummary](docs/UserPublicSummary.md) - - [FlatApi.UserDetailsAdmin](docs/UserDetailsAdmin.md) - - [FlatApi.UserPublic](docs/UserPublic.md) - - [FlatApi.UserDetails](docs/UserDetails.md) - - -## Documentation for Authorization - - -### OAuth2 - -- **Type**: OAuth -- **Flow**: accessCode -- **Authorization URL**: https://flat.io/auth/oauth -- **Scopes**: - - account.public_profile: Provides access to the basic person's public profile. Education profiles may be anonymized with this scope, you can request the scope `education_profile` to access to the a basic education account profile. - - account.education_profile: Provides access to the basic person's education profile and public organization information. - - scores.readonly: Allows read-only access to all a user's scores. You won't need this scope to read public scores. - - scores.social: Allow to post comments and like scores - - scores: Full, permissive scope to access all of a user's scores. - - collections.readonly: Allow read-only access to a user's collections. - - collections.add_scores: Allow to add scores to a user's collections. - - collections: Full, permissive scope to access all of a user's collections. - - edu.classes: Full, permissive scope to manage the classes. - - edu.classes.readonly: Read-only access to the classes. - - edu.assignments: Read-write access to the assignments and submissions. - - edu.assignments.readonly: Read-only access to the assignments and submissions. - - edu.admin: Full, permissive scope to manage all the admin of an organization. - - edu.admin.lti: Access and manage the LTI Credentials for an organization. - - edu.admin.lti.readonly: Read-only access to the LTI Credentials of an organization. - - edu.admin.users: Access and manage the users and invitations of the organization. - - edu.admin.users.readonly: Read-only access to the users and invitations of the organization. +_unPublished (not recommended):_ +``` +npm install PATH_TO_GENERATED_PACKAGE --save +``` diff --git a/api.ts b/api.ts new file mode 100644 index 0000000..2d19be5 --- /dev/null +++ b/api.ts @@ -0,0 +1,14903 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Flat API + * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user\'s scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat\'s API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) + * + * The version of the OpenAPI document: 2.20.0 + * Contact: developers@flat.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import type { Configuration } from './configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios 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'; +import type { RequestArgs } from './base'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; + +/** + * An API access token + * @export + * @interface ApiAccessToken + */ +export interface ApiAccessToken { + /** + * Unique identifier of this private token + * @type {string} + * @memberof ApiAccessToken + */ + 'id'?: string; + /** + * Name of the personal access token + * @type {string} + * @memberof ApiAccessToken + */ + 'name'?: string; + /** + * The token. This token will only be returned once, then only the first 4 characters will be returned. + * @type {string} + * @memberof ApiAccessToken + */ + 'token'?: string; + /** + * The date then this token was issued + * @type {string} + * @memberof ApiAccessToken + */ + 'issuedDate'?: string; + /** + * The date then this token will expire + * @type {string} + * @memberof ApiAccessToken + */ + 'expirationDate'?: string; + /** + * The list of scopes associated to the token + * @type {Array} + * @memberof ApiAccessToken + */ + 'scopes'?: Array; +} +/** + * Available scopes + * @export + * @enum {string} + */ + +export const AppScopes = { + AccountPublicProfile: 'account.public_profile', + AccountEmail: 'account.email', + AccountEducationProfile: 'account.education_profile', + ScoresReadonly: 'scores.readonly', + ScoresSocial: 'scores.social', + Scores: 'scores', + CollectionsReadonly: 'collections.readonly', + CollectionsAddScores: 'collections.add_scores', + Collections: 'collections', + EduResources: 'edu.resources', + EduResourcesReadonly: 'edu.resources.readonly', + EduClasses: 'edu.classes', + EduClassesReadonly: 'edu.classes.readonly', + EduAssignments: 'edu.assignments', + EduAssignmentsReadonly: 'edu.assignments.readonly', + EduAdmin: 'edu.admin', + EduAdminLti: 'edu.admin.lti', + EduAdminLtiReadonly: 'edu.admin.lti.readonly', + EduAdminUsers: 'edu.admin.users', + EduAdminUsersReadonly: 'edu.admin.users.readonly', + TasksReadonly: 'tasks.readonly' +} as const; + +export type AppScopes = typeof AppScopes[keyof typeof AppScopes]; + + +/** + * Assignment details + * @export + * @interface Assignment + */ +export interface Assignment { + /** + * Unique identifier of the assignment + * @type {string} + * @memberof Assignment + */ + 'id': string; + /** + * + * @type {AssignmentType} + * @memberof Assignment + */ + 'type': AssignmentType; + /** + * + * @type {AssignmentCopyResponseCapabilities} + * @memberof Assignment + */ + 'capabilities': AssignmentCopyResponseCapabilities; + /** + * Title of the assignment + * @type {string} + * @memberof Assignment + */ + 'title': string; + /** + * Description and content of the assignment + * @type {string} + * @memberof Assignment + */ + 'description'?: string; + /** + * The URL of the cover to display + * @type {string} + * @memberof Assignment + */ + 'cover'?: string; + /** + * The id of the cover to display + * @type {string} + * @memberof Assignment + */ + 'coverFile'?: string; + /** + * + * @type {Array} + * @memberof Assignment + */ + 'attachments': Array; + /** + * For all assignments created after 02/2023, all the underlying resources must be dedicated and stored in the assignment. This boolean indicates that this assignment only supports dedicated attachments. + * @type {boolean} + * @memberof Assignment + */ + 'useDedicatedAttachments'?: boolean; + /** + * If set, the grading will be enabled for the assignement + * @type {number} + * @memberof Assignment + */ + 'maxPoints'?: number; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof Assignment + */ + 'releaseGrades'?: AssignmentReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof Assignment + */ + 'shuffleExercises'?: boolean; + /** + * The id of the associated toolset + * @type {string} + * @memberof Assignment + */ + 'toolset'?: string; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof Assignment + */ + 'nbPlaybackAuthorized'?: number; +} + +export const AssignmentReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type AssignmentReleaseGradesEnum = typeof AssignmentReleaseGradesEnum[keyof typeof AssignmentReleaseGradesEnum]; + +/** + * + * @export + * @interface AssignmentCopy + */ +export interface AssignmentCopy { + /** + * The destination classroom where the assignment will be copied + * @type {string} + * @memberof AssignmentCopy + */ + 'classroom': string; + /** + * An optional destination assignment where the original assignement will be copied. Must be a draft. + * @type {string} + * @memberof AssignmentCopy + */ + 'assignment'?: string; + /** + * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. Alternatively the existing `scheduledDate` from the copied assignment will be used. + * @type {string} + * @memberof AssignmentCopy + */ + 'scheduledDate'?: string; + /** + * Identifier of the parent resource where the new one will created, e.g. a folder id or `root` + * @type {string} + * @memberof AssignmentCopy + */ + 'libraryParent': string; + /** + * Option to check if the assignment is already in Resource Library + * @type {boolean} + * @memberof AssignmentCopy + */ + 'verifyIfNotAlreadyInResourceLibrary'?: boolean; +} +/** + * + * @export + * @interface AssignmentCopyResponse + */ +export interface AssignmentCopyResponse { + /** + * Unique identifier of the assignment + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'id': string; + /** + * + * @type {AssignmentType} + * @memberof AssignmentCopyResponse + */ + 'type': AssignmentType; + /** + * + * @type {AssignmentCopyResponseCapabilities} + * @memberof AssignmentCopyResponse + */ + 'capabilities': AssignmentCopyResponseCapabilities; + /** + * Title of the assignment + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'title': string; + /** + * Description and content of the assignment + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'description'?: string; + /** + * The URL of the cover to display + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'cover'?: string; + /** + * The id of the cover to display + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'coverFile'?: string; + /** + * + * @type {Array} + * @memberof AssignmentCopyResponse + */ + 'attachments': Array; + /** + * For all assignments created after 02/2023, all the underlying resources must be dedicated and stored in the assignment. This boolean indicates that this assignment only supports dedicated attachments. + * @type {boolean} + * @memberof AssignmentCopyResponse + */ + 'useDedicatedAttachments'?: boolean; + /** + * If set, the grading will be enabled for the assignement + * @type {number} + * @memberof AssignmentCopyResponse + */ + 'maxPoints'?: number; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'releaseGrades'?: AssignmentCopyResponseReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof AssignmentCopyResponse + */ + 'shuffleExercises'?: boolean; + /** + * The id of the associated toolset + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'toolset'?: string; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof AssignmentCopyResponse + */ + 'nbPlaybackAuthorized'?: number; + /** + * If this assignment is stored as a resource in the Flat for Education Resource Library, the unique identifier of the resource. + * @type {string} + * @memberof AssignmentCopyResponse + */ + 'resource'?: string; +} + +export const AssignmentCopyResponseReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type AssignmentCopyResponseReleaseGradesEnum = typeof AssignmentCopyResponseReleaseGradesEnum[keyof typeof AssignmentCopyResponseReleaseGradesEnum]; + +/** + * Capabilities the current user has on this assignment. Each capability corresponds to a fine-grained action that a user may take. + * @export + * @interface AssignmentCopyResponseCapabilities + */ +export interface AssignmentCopyResponseCapabilities { + /** + * Whether the current user can edit the assignment + * @type {boolean} + * @memberof AssignmentCopyResponseCapabilities + */ + 'canEdit': boolean; + /** + * Whether this assignment can be published in a class + * @type {boolean} + * @memberof AssignmentCopyResponseCapabilities + */ + 'canPublishInClass': boolean; + /** + * + * @type {AssignmentCopyResponseCapabilitiesCanPublishInClassError} + * @memberof AssignmentCopyResponseCapabilities + */ + 'canPublishInClassError'?: AssignmentCopyResponseCapabilitiesCanPublishInClassError; + /** + * Whether the current user can archive the assignment + * @type {boolean} + * @memberof AssignmentCopyResponseCapabilities + */ + 'canArchive': boolean; + /** + * Whether the current user can unarchive the assignment + * @type {boolean} + * @memberof AssignmentCopyResponseCapabilities + */ + 'canUnarchive': boolean; +} +/** + * If `canPublishInClass` and `canEdit` are false, the issue why this assignment cannot be published in a class + * @export + * @interface AssignmentCopyResponseCapabilitiesCanPublishInClassError + */ +export interface AssignmentCopyResponseCapabilitiesCanPublishInClassError { + /** + * A corresponding code for this error + * @type {string} + * @memberof AssignmentCopyResponseCapabilitiesCanPublishInClassError + */ + 'code': string; + /** + * A printable and localized message for this error + * @type {string} + * @memberof AssignmentCopyResponseCapabilitiesCanPublishInClassError + */ + 'message': string; +} +/** + * Assignment Submission + * @export + * @interface AssignmentSubmission + */ +export interface AssignmentSubmission { + /** + * Unique identifier of the submission + * @type {string} + * @memberof AssignmentSubmission + */ + 'id': string; + /** + * + * @type {AssignmentSubmissionState} + * @memberof AssignmentSubmission + */ + 'state': AssignmentSubmissionState; + /** + * Unique identifier of the classroom where the assignment was posted + * @type {string} + * @memberof AssignmentSubmission + */ + 'classroom': string; + /** + * Unique identifier of the assignment + * @type {string} + * @memberof AssignmentSubmission + */ + 'assignment': string; + /** + * The User identifier of the student who created the submission + * @type {string} + * @memberof AssignmentSubmission + */ + 'creator': string; + /** + * The date when the submission was created + * @type {string} + * @memberof AssignmentSubmission + */ + 'creationDate': string; + /** + * + * @type {Array} + * @memberof AssignmentSubmission + */ + 'attachments': Array; + /** + * The date when the student submitted their work + * @type {string} + * @memberof AssignmentSubmission + */ + 'submissionDate'?: string; + /** + * The date when the teacher returned the work + * @type {string} + * @memberof AssignmentSubmission + */ + 'returnDate'?: string; + /** + * The User unique identifier of the teacher who returned the submission + * @type {string} + * @memberof AssignmentSubmission + */ + 'returnCreator'?: string; + /** + * Optional grade. If unset, no grade was set. + * @type {number} + * @memberof AssignmentSubmission + */ + 'grade'?: number | null; + /** + * Optional grade. If unset, no grade was set. This value is only visible by the teacher, and we will be set to `grade` once the teacher returns the submission + * @type {number} + * @memberof AssignmentSubmission + */ + 'draftGrade'?: number | null; + /** + * Optional max points for the grade. If set, a corresponding `draftGrade` or `grade` will be set. + * @type {number} + * @memberof AssignmentSubmission + */ + 'maxPoints'?: number; + /** + * The ids of exercises when they need to be in a specific order + * @type {Array} + * @memberof AssignmentSubmission + */ + 'exercisesIds'?: Array; + /** + * + * @type {Array} + * @memberof AssignmentSubmission + */ + 'playback': Array; + /** + * + * @type {AssignmentSubmissionComments} + * @memberof AssignmentSubmission + */ + 'comments': AssignmentSubmissionComments; + /** + * + * @type {GoogleClassroomSubmission} + * @memberof AssignmentSubmission + */ + 'googleClassroom'?: GoogleClassroomSubmission; + /** + * + * @type {MicrosoftGraphSubmission} + * @memberof AssignmentSubmission + */ + 'microsoftGraph'?: MicrosoftGraphSubmission; + /** + * + * @type {AssignmentSubmissionLti} + * @memberof AssignmentSubmission + */ + 'lti'?: AssignmentSubmissionLti; +} + + +/** + * Feedback comment added to an assignment submission + * @export + * @interface AssignmentSubmissionComment + */ +export interface AssignmentSubmissionComment { + /** + * The comment unique identifier + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'id'?: string; + /** + * The author unique identifier + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'user'?: string; + /** + * The submission unique identifier + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'submission'?: string; + /** + * The date when the comment was posted + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'date'?: string; + /** + * The date of the last comment modification + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'modificationDate'?: string; + /** + * The comment text + * @type {string} + * @memberof AssignmentSubmissionComment + */ + 'comment'?: string; + /** + * True if the comment is unread by the current user + * @type {boolean} + * @memberof AssignmentSubmissionComment + */ + 'unread'?: boolean; +} +/** + * Creation of a assignment submission comment + * @export + * @interface AssignmentSubmissionCommentCreation + */ +export interface AssignmentSubmissionCommentCreation { + /** + * The comment text + * @type {string} + * @memberof AssignmentSubmissionCommentCreation + */ + 'comment': string; +} +/** + * + * @export + * @interface AssignmentSubmissionComments + */ +export interface AssignmentSubmissionComments { + /** + * The total number of comments added to the submission + * @type {number} + * @memberof AssignmentSubmissionComments + */ + 'total'?: number; + /** + * The number of unread comments for the current user + * @type {number} + * @memberof AssignmentSubmissionComments + */ + 'unread'?: number; +} +/** + * History item of the submission + * @export + * @interface AssignmentSubmissionHistory + */ +export interface AssignmentSubmissionHistory { + /** + * The date when the submission was changed + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'date': string; + /** + * The classroom unique identifier where the submission was changed + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'classroom'?: string; + /** + * The assignment unique identifier where the submission was changed + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'assignment'?: string; + /** + * The submission unique identifier + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'submission'?: string; + /** + * The user(s) unique identifier(s) who made the change + * @type {Array} + * @memberof AssignmentSubmissionHistory + */ + 'users': Array; + /** + * The source of the change if the change was made by a third-party software + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'source'?: AssignmentSubmissionHistorySourceEnum; + /** + * + * @type {AssignmentSubmissionHistoryState} + * @memberof AssignmentSubmissionHistory + */ + 'state'?: AssignmentSubmissionHistoryState; + /** + * The numerator of the grade at this time in the submission grade history + * @type {number} + * @memberof AssignmentSubmissionHistory + */ + 'draftGrade'?: number; + /** + * The numerator of the grade at this time in the submission grade history + * @type {number} + * @memberof AssignmentSubmissionHistory + */ + 'grade'?: number; + /** + * The denominator of the grade at this time in the submission grade history + * @type {number} + * @memberof AssignmentSubmissionHistory + */ + 'maxPoints'?: number; + /** + * The comment that is made to this submission + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'comment'?: string; + /** + * The due date of this assignment + * @type {string} + * @memberof AssignmentSubmissionHistory + */ + 'dueDate'?: string; + /** + * + * @type {AssignmentSubmissionHistoryAttachment} + * @memberof AssignmentSubmissionHistory + */ + 'attachment'?: AssignmentSubmissionHistoryAttachment; +} + +export const AssignmentSubmissionHistorySourceEnum = { + Lti: 'lti', + GoogleClassroom: 'googleClassroom', + MicrosoftGraph: 'microsoftGraph' +} as const; + +export type AssignmentSubmissionHistorySourceEnum = typeof AssignmentSubmissionHistorySourceEnum[keyof typeof AssignmentSubmissionHistorySourceEnum]; + +/** + * + * @export + * @interface AssignmentSubmissionHistoryAttachment + */ +export interface AssignmentSubmissionHistoryAttachment { + /** + * The score identifier that changed + * @type {string} + * @memberof AssignmentSubmissionHistoryAttachment + */ + 'score'?: string; + /** + * The revision identifier that changed + * @type {string} + * @memberof AssignmentSubmissionHistoryAttachment + */ + 'revision'?: string; + /** + * The title of the score that changed + * @type {string} + * @memberof AssignmentSubmissionHistoryAttachment + */ + 'title'?: string; +} +/** + * State of the submission history + * @export + * @enum {string} + */ + +export const AssignmentSubmissionHistoryState = { + Created: 'created', + TurnedIn: 'turnedIn', + Returned: 'returned', + Graded: 'graded', + Reset: 'reset' +} as const; + +export type AssignmentSubmissionHistoryState = typeof AssignmentSubmissionHistoryState[keyof typeof AssignmentSubmissionHistoryState]; + + +/** + * + * @export + * @interface AssignmentSubmissionLti + */ +export interface AssignmentSubmissionLti { + /** + * The sourcedid of the LTI submission when using LTI Outcomes + * @type {string} + * @memberof AssignmentSubmissionLti + */ + 'sourcedid': string; +} +/** + * Playback used by student in this submission (used to limit the playback for the assignment) + * @export + * @interface AssignmentSubmissionPlaybackInner + */ +export interface AssignmentSubmissionPlaybackInner { + /** + * The score unique identifier + * @type {string} + * @memberof AssignmentSubmissionPlaybackInner + */ + 'score': string; + /** + * The number of playback used by the student + * @type {number} + * @memberof AssignmentSubmissionPlaybackInner + */ + 'nbPlayAttempt': number; +} +/** + * State of the submission + * @export + * @enum {string} + */ + +export const AssignmentSubmissionState = { + Created: 'created', + TurnedIn: 'turnedIn', + Returned: 'returned', + Graded: 'graded' +} as const; + +export type AssignmentSubmissionState = typeof AssignmentSubmissionState[keyof typeof AssignmentSubmissionState]; + + +/** + * Assignment Submission creation + * @export + * @interface AssignmentSubmissionUpdate + */ +export interface AssignmentSubmissionUpdate { + /** + * + * @type {Array} + * @memberof AssignmentSubmissionUpdate + */ + 'attachments'?: Array; + /** + * If `true`, the submission will be marked as done + * @type {boolean} + * @memberof AssignmentSubmissionUpdate + */ + 'submit'?: boolean; + /** + * Optional grade. If unset, no grade was set. This value is only visible by the teacher, and we will be set to `grade` once the teacher returns the submission + * @type {number} + * @memberof AssignmentSubmissionUpdate + */ + 'draftGrade'?: number | null; + /** + * Optional grade. If unset, no grade was set. + * @type {number} + * @memberof AssignmentSubmissionUpdate + */ + 'grade'?: number | null; + /** + * The ids of exercises when they need to be in a specific order + * @type {Array} + * @memberof AssignmentSubmissionUpdate + */ + 'exercisesIds'?: Array | null; + /** + * If `true`, the submission will be marked as done + * @type {boolean} + * @memberof AssignmentSubmissionUpdate + */ + 'return'?: boolean; +} +/** + * Type of the assignment + * @export + * @enum {string} + */ + +export const AssignmentType = { + None: 'none', + NewScore: 'newScore', + ScoreTemplate: 'scoreTemplate', + SharedWriting: 'sharedWriting', + Worksheet: 'worksheet', + Performance: 'performance' +} as const; + +export type AssignmentType = typeof AssignmentType[keyof typeof AssignmentType]; + + +/** + * Assignment Resource Editing + * @export + * @interface AssignmentUpdate + */ +export interface AssignmentUpdate { + /** + * + * @type {AssignmentType} + * @memberof AssignmentUpdate + */ + 'type'?: AssignmentType; + /** + * Title of the assignment + * @type {string} + * @memberof AssignmentUpdate + */ + 'title'?: string; + /** + * Description and content of the assignment + * @type {string} + * @memberof AssignmentUpdate + */ + 'description'?: string; + /** + * + * @type {Array} + * @memberof AssignmentUpdate + */ + 'attachments'?: Array; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof AssignmentUpdate + */ + 'nbPlaybackAuthorized'?: number | null; + /** + * The id of the toolset to apply to this assignment. The toolset will be copied to the assignment as a dedicated object to prevent unexpected changes when making modifications to the template toolset. This property can be set to null to delete the linked toolset and switch back to all the tools available for this assignment. + * @type {string} + * @memberof AssignmentUpdate + */ + 'toolset'?: string | null; + /** + * The id of the cover to display + * @type {string} + * @memberof AssignmentUpdate + */ + 'coverFile'?: string | null; + /** + * The URL of the cover to display + * @type {string} + * @memberof AssignmentUpdate + */ + 'cover'?: string | null; + /** + * If set, the grading will be enabled for the assignement with this value as the maximum of points + * @type {number} + * @memberof AssignmentUpdate + */ + 'maxPoints'?: number | null; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof AssignmentUpdate + */ + 'releaseGrades'?: AssignmentUpdateReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof AssignmentUpdate + */ + 'shuffleExercises'?: boolean; +} + +export const AssignmentUpdateReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type AssignmentUpdateReleaseGradesEnum = typeof AssignmentUpdateReleaseGradesEnum[keyof typeof AssignmentUpdateReleaseGradesEnum]; + +/** + * + * @export + * @interface ClassAssignment + */ +export interface ClassAssignment { + /** + * Unique identifier of the assignment + * @type {string} + * @memberof ClassAssignment + */ + 'id': string; + /** + * + * @type {AssignmentType} + * @memberof ClassAssignment + */ + 'type': AssignmentType; + /** + * + * @type {AssignmentCopyResponseCapabilities} + * @memberof ClassAssignment + */ + 'capabilities': AssignmentCopyResponseCapabilities; + /** + * Title of the assignment + * @type {string} + * @memberof ClassAssignment + */ + 'title': string; + /** + * Description and content of the assignment + * @type {string} + * @memberof ClassAssignment + */ + 'description'?: string; + /** + * The URL of the cover to display + * @type {string} + * @memberof ClassAssignment + */ + 'cover'?: string; + /** + * The id of the cover to display + * @type {string} + * @memberof ClassAssignment + */ + 'coverFile'?: string; + /** + * + * @type {Array} + * @memberof ClassAssignment + */ + 'attachments': Array; + /** + * For all assignments created after 02/2023, all the underlying resources must be dedicated and stored in the assignment. This boolean indicates that this assignment only supports dedicated attachments. + * @type {boolean} + * @memberof ClassAssignment + */ + 'useDedicatedAttachments'?: boolean; + /** + * If set, the grading will be enabled for the assignement + * @type {number} + * @memberof ClassAssignment + */ + 'maxPoints'?: number; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof ClassAssignment + */ + 'releaseGrades'?: ClassAssignmentReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof ClassAssignment + */ + 'shuffleExercises'?: boolean; + /** + * The id of the associated toolset + * @type {string} + * @memberof ClassAssignment + */ + 'toolset'?: string; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof ClassAssignment + */ + 'nbPlaybackAuthorized'?: number; + /** + * The User unique identifier of the creator of this assignment + * @type {string} + * @memberof ClassAssignment + */ + 'creator'?: string; + /** + * State of the assignment + * @type {string} + * @memberof ClassAssignment + */ + 'state'?: ClassAssignmentStateEnum; + /** + * The unique identifier of the class where this assignment was posted + * @type {string} + * @memberof ClassAssignment + */ + 'classroom'?: string; + /** + * The creation date of this assignment + * @type {string} + * @memberof ClassAssignment + */ + 'creationDate'?: string; + /** + * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. + * @type {string} + * @memberof ClassAssignment + */ + 'scheduledDate'?: string; + /** + * The due date of this assignment, late submissions will be marked as paste due. + * @type {string} + * @memberof ClassAssignment + */ + 'dueDate'?: string; + /** + * Possible modes of assigning assignments + * @type {string} + * @memberof ClassAssignment + */ + 'assigneeMode'?: ClassAssignmentAssigneeModeEnum; + /** + * Identifiers for the students that have access to the assignment + * @type {Array} + * @memberof ClassAssignment + */ + 'assignedStudents'?: Array; + /** + * + * @type {Array} + * @memberof ClassAssignment + */ + 'submissions'?: Array; + /** + * + * @type {GoogleClassroomCoursework} + * @memberof ClassAssignment + */ + 'googleClassroom'?: GoogleClassroomCoursework; + /** + * + * @type {MicrosoftGraphAssignment} + * @memberof ClassAssignment + */ + 'microsoftGraph'?: MicrosoftGraphAssignment; + /** + * + * @type {ClassAssignmentMfc} + * @memberof ClassAssignment + */ + 'mfc'?: ClassAssignmentMfc; + /** + * + * @type {ClassAssignmentCanvas} + * @memberof ClassAssignment + */ + 'canvas'?: ClassAssignmentCanvas; + /** + * + * @type {ClassAssignmentLti} + * @memberof ClassAssignment + */ + 'lti'?: ClassAssignmentLti; + /** + * Detected issue for this assignment + * @type {string} + * @memberof ClassAssignment + */ + 'issue'?: string; +} + +export const ClassAssignmentReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type ClassAssignmentReleaseGradesEnum = typeof ClassAssignmentReleaseGradesEnum[keyof typeof ClassAssignmentReleaseGradesEnum]; +export const ClassAssignmentStateEnum = { + Draft: 'draft', + Active: 'active', + Archived: 'archived' +} as const; + +export type ClassAssignmentStateEnum = typeof ClassAssignmentStateEnum[keyof typeof ClassAssignmentStateEnum]; +export const ClassAssignmentAssigneeModeEnum = { + Everyone: 'everyone', + Selected: 'selected' +} as const; + +export type ClassAssignmentAssigneeModeEnum = typeof ClassAssignmentAssigneeModeEnum[keyof typeof ClassAssignmentAssigneeModeEnum]; + +/** + * A Canvas LMS assignment + * @export + * @interface ClassAssignmentCanvas + */ +export interface ClassAssignmentCanvas { + /** + * Unique identifier of the course on Canvas assignment + * @type {string} + * @memberof ClassAssignmentCanvas + */ + 'id'?: string; + /** + * Link to Canvas assignment + * @type {string} + * @memberof ClassAssignmentCanvas + */ + 'alternateLink'?: string; +} +/** + * An LTI assignment + * @export + * @interface ClassAssignmentLti + */ +export interface ClassAssignmentLti { + /** + * Resource ID in the LMS + * @type {string} + * @memberof ClassAssignmentLti + */ + 'id'?: string; +} +/** + * A MusicFirst Classroom assignment + * @export + * @interface ClassAssignmentMfc + */ +export interface ClassAssignmentMfc { + /** + * Unique identifier of the course on MusicFirst Task + * @type {string} + * @memberof ClassAssignmentMfc + */ + 'id'?: string; + /** + * Link to MusicFirst Classroom task + * @type {string} + * @memberof ClassAssignmentMfc + */ + 'alternateLink'?: string; +} +/** + * + * @export + * @interface ClassAssignmentUpdate + */ +export interface ClassAssignmentUpdate { + /** + * + * @type {AssignmentType} + * @memberof ClassAssignmentUpdate + */ + 'type'?: AssignmentType; + /** + * Title of the assignment + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'title'?: string; + /** + * Description and content of the assignment + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'description'?: string; + /** + * + * @type {Array} + * @memberof ClassAssignmentUpdate + */ + 'attachments'?: Array; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof ClassAssignmentUpdate + */ + 'nbPlaybackAuthorized'?: number | null; + /** + * The id of the toolset to apply to this assignment. The toolset will be copied to the assignment as a dedicated object to prevent unexpected changes when making modifications to the template toolset. This property can be set to null to delete the linked toolset and switch back to all the tools available for this assignment. + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'toolset'?: string | null; + /** + * The id of the cover to display + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'coverFile'?: string | null; + /** + * The URL of the cover to display + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'cover'?: string | null; + /** + * If set, the grading will be enabled for the assignement with this value as the maximum of points + * @type {number} + * @memberof ClassAssignmentUpdate + */ + 'maxPoints'?: number | null; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'releaseGrades'?: ClassAssignmentUpdateReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof ClassAssignmentUpdate + */ + 'shuffleExercises'?: boolean; + /** + * State of the assignment + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'state'?: ClassAssignmentUpdateStateEnum; + /** + * The due date of this assignment, late submissions will be marked as paste due. If not set, the assignment won\'t have a due date. + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'dueDate'?: string | null; + /** + * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'scheduledDate'?: string | null; + /** + * + * @type {ClassAssignmentUpdateGoogleClassroom} + * @memberof ClassAssignmentUpdate + */ + 'googleClassroom'?: ClassAssignmentUpdateGoogleClassroom; + /** + * + * @type {ClassAssignmentUpdateMicrosoftGraph} + * @memberof ClassAssignmentUpdate + */ + 'microsoftGraph'?: ClassAssignmentUpdateMicrosoftGraph; + /** + * Possible modes of assigning assignments + * @type {string} + * @memberof ClassAssignmentUpdate + */ + 'assigneeMode'?: ClassAssignmentUpdateAssigneeModeEnum; + /** + * Identifiers for the students that have access to the assignment + * @type {Array} + * @memberof ClassAssignmentUpdate + */ + 'assignedStudents'?: Array; +} + +export const ClassAssignmentUpdateReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type ClassAssignmentUpdateReleaseGradesEnum = typeof ClassAssignmentUpdateReleaseGradesEnum[keyof typeof ClassAssignmentUpdateReleaseGradesEnum]; +export const ClassAssignmentUpdateStateEnum = { + Draft: 'draft', + Active: 'active' +} as const; + +export type ClassAssignmentUpdateStateEnum = typeof ClassAssignmentUpdateStateEnum[keyof typeof ClassAssignmentUpdateStateEnum]; +export const ClassAssignmentUpdateAssigneeModeEnum = { + Everyone: 'everyone', + Selected: 'selected' +} as const; + +export type ClassAssignmentUpdateAssigneeModeEnum = typeof ClassAssignmentUpdateAssigneeModeEnum[keyof typeof ClassAssignmentUpdateAssigneeModeEnum]; + +/** + * Google Classroom options for this assignment + * @export + * @interface ClassAssignmentUpdateGoogleClassroom + */ +export interface ClassAssignmentUpdateGoogleClassroom { + /** + * Identifier of the topic where the assignment is created + * @type {string} + * @memberof ClassAssignmentUpdateGoogleClassroom + */ + 'topicId'?: string | null; +} +/** + * Microsoft Graph options for this assignment + * @export + * @interface ClassAssignmentUpdateMicrosoftGraph + */ +export interface ClassAssignmentUpdateMicrosoftGraph { + /** + * List of categories this assignment belongs to + * @type {Array} + * @memberof ClassAssignmentUpdateMicrosoftGraph + */ + 'categories'?: Array | null; +} +/** + * Attachment creation for an assignment or stream post. This attachment must contain a `score` or an `url`, all the details of this one will be resolved and returned as `ClassAttachment` once the assignment or stream post is created. + * @export + * @interface ClassAttachmentCreation + */ +export interface ClassAttachmentCreation { + /** + * The type of the attachment posted: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property. + * @type {string} + * @memberof ClassAttachmentCreation + */ + 'type'?: ClassAttachmentCreationTypeEnum; + /** + * A unique Flat score identifier. The user creating the assignment must at least have read access to the document. If the user has admin rights, new group permissions will be automatically added for the teachers and students of the class. + * @type {string} + * @memberof ClassAttachmentCreation + */ + 'score'?: string; + /** + * An unique worksheet identifier + * @type {string} + * @memberof ClassAttachmentCreation + */ + 'worksheet'?: string; + /** + * + * @type {MediaScoreSharingMode} + * @memberof ClassAttachmentCreation + */ + 'sharingMode'?: MediaScoreSharingMode; + /** + * To be used with a score attached in `sharingMode` `copy` (score used as template). If true, students won\'t be able to change the original notes of the template. + * @type {boolean} + * @memberof ClassAttachmentCreation + */ + 'lockScoreTemplate'?: boolean; + /** + * The URL of the attachment. + * @type {string} + * @memberof ClassAttachmentCreation + */ + 'url'?: string; + /** + * The ID of the Google Drive File + * @type {string} + * @memberof ClassAttachmentCreation + */ + 'googleDriveFileId'?: string; +} + +export const ClassAttachmentCreationTypeEnum = { + Rich: 'rich', + Photo: 'photo', + Video: 'video', + Link: 'link', + Flat: 'flat', + GoogleDrive: 'googleDrive', + Worksheet: 'worksheet', + Performance: 'performance' +} as const; + +export type ClassAttachmentCreationTypeEnum = typeof ClassAttachmentCreationTypeEnum[keyof typeof ClassAttachmentCreationTypeEnum]; + +/** + * Creation of a classroom + * @export + * @interface ClassCreation + */ +export interface ClassCreation { + /** + * The name of the new class + * @type {string} + * @memberof ClassCreation + */ + 'name': string; + /** + * The section of the new class + * @type {string} + * @memberof ClassCreation + */ + 'section'?: string; + /** + * + * @type {ClassGradeLevel} + * @memberof ClassCreation + */ + 'level'?: ClassGradeLevel; + /** + * Specific skills that will be focused in classroom + * @type {Array} + * @memberof ClassCreation + */ + 'skillsFocused'?: Array; + /** + * Number of students in the classroom + * @type {number} + * @memberof ClassCreation + */ + 'size'?: number | null; +} + +export const ClassCreationSkillsFocusedEnum = { + Notation: 'notation', + SightReading: 'sight-reading', + PerformanceInstrumental: 'performance-instrumental', + EarTraining: 'ear-training', + MusicTheory: 'music-theory', + Composition: 'composition', + JazzEnsemble: 'jazz-ensemble', + MusicTechnology: 'music-technology', + Other: 'other' +} as const; + +export type ClassCreationSkillsFocusedEnum = typeof ClassCreationSkillsFocusedEnum[keyof typeof ClassCreationSkillsFocusedEnum]; + +/** + * A classroom + * @export + * @interface ClassDetails + */ +export interface ClassDetails { + /** + * The unique identifier of the class + * @type {string} + * @memberof ClassDetails + */ + 'id': string; + /** + * + * @type {ClassState} + * @memberof ClassDetails + */ + 'state'?: ClassState; + /** + * The name of the class + * @type {string} + * @memberof ClassDetails + */ + 'name'?: string; + /** + * The section of the class + * @type {string} + * @memberof ClassDetails + */ + 'section'?: string; + /** + * An optionnal description for this class + * @type {string} + * @memberof ClassDetails + */ + 'description'?: string; + /** + * The unique identifier of the Organization owning this class + * @type {string} + * @memberof ClassDetails + */ + 'organization'?: string; + /** + * The unique identifier of the User owning this class + * @type {string} + * @memberof ClassDetails + */ + 'owner'?: string; + /** + * The date when the class was create + * @type {string} + * @memberof ClassDetails + */ + 'creationDate'?: string; + /** + * [Teachers only] The enrollment code that can be used by the students to join the class + * @type {string} + * @memberof ClassDetails + */ + 'enrollmentCode'?: string; + /** + * The theme identifier using in Flat User Interface + * @type {string} + * @memberof ClassDetails + */ + 'theme'?: string; + /** + * The number of assignments created in the class + * @type {number} + * @memberof ClassDetails + */ + 'assignmentsCount'?: number; + /** + * + * @type {GroupDetails} + * @memberof ClassDetails + */ + 'studentsGroup'?: GroupDetails; + /** + * + * @type {GroupDetails} + * @memberof ClassDetails + */ + 'teachersGroup'?: GroupDetails; + /** + * + * @type {ClassDetailsIssues} + * @memberof ClassDetails + */ + 'issues'?: ClassDetailsIssues; + /** + * + * @type {ClassDetailsGoogleClassroom} + * @memberof ClassDetails + */ + 'googleClassroom'?: ClassDetailsGoogleClassroom; + /** + * + * @type {ClassDetailsGoogleDrive} + * @memberof ClassDetails + */ + 'googleDrive'?: ClassDetailsGoogleDrive; + /** + * + * @type {ClassDetailsMicrosoftGraph} + * @memberof ClassDetails + */ + 'microsoftGraph'?: ClassDetailsMicrosoftGraph; + /** + * + * @type {ClassDetailsLti} + * @memberof ClassDetails + */ + 'lti'?: ClassDetailsLti; + /** + * + * @type {ClassDetailsCanvas} + * @memberof ClassDetails + */ + 'canvas'?: ClassDetailsCanvas; + /** + * + * @type {ClassDetailsMfc} + * @memberof ClassDetails + */ + 'mfc'?: ClassDetailsMfc; + /** + * + * @type {ClassDetailsClever} + * @memberof ClassDetails + */ + 'clever'?: ClassDetailsClever; + /** + * + * @type {ClassGradeLevel} + * @memberof ClassDetails + */ + 'level'?: ClassGradeLevel; + /** + * Specific skills that will be focused in classroom + * @type {Array} + * @memberof ClassDetails + */ + 'skillsFocused'?: Array; + /** + * Number of students in the classroom + * @type {number} + * @memberof ClassDetails + */ + 'size'?: number | null; +} + +export const ClassDetailsSkillsFocusedEnum = { + Notation: 'notation', + SightReading: 'sight-reading', + PerformanceInstrumental: 'performance-instrumental', + EarTraining: 'ear-training', + MusicTheory: 'music-theory', + Composition: 'composition', + JazzEnsemble: 'jazz-ensemble', + MusicTechnology: 'music-technology', + Other: 'other' +} as const; + +export type ClassDetailsSkillsFocusedEnum = typeof ClassDetailsSkillsFocusedEnum[keyof typeof ClassDetailsSkillsFocusedEnum]; + +/** + * Meta information provided by Canvs LMS + * @export + * @interface ClassDetailsCanvas + */ +export interface ClassDetailsCanvas { + /** + * Unique identifier of the course on Canvas + * @type {string} + * @memberof ClassDetailsCanvas + */ + 'id'?: string; + /** + * Canvas instance domain (e.g. \"canvas.instructure.com\") + * @type {string} + * @memberof ClassDetailsCanvas + */ + 'domain'?: string; +} +/** + * Clever.com section-related information + * @export + * @interface ClassDetailsClever + */ +export interface ClassDetailsClever { + /** + * Clever section unique identifier + * @type {string} + * @memberof ClassDetailsClever + */ + 'id'?: string; + /** + * The creation date of the section on clever + * @type {string} + * @memberof ClassDetailsClever + */ + 'creationDate'?: string; + /** + * The last modification date of the section on clever + * @type {string} + * @memberof ClassDetailsClever + */ + 'modificationDate'?: string; + /** + * Normalized subject of the course + * @type {string} + * @memberof ClassDetailsClever + */ + 'subject'?: ClassDetailsCleverSubjectEnum; + /** + * Name of the term when this course happens + * @type {string} + * @memberof ClassDetailsClever + */ + 'termName'?: string; + /** + * Beginning date of the term + * @type {string} + * @memberof ClassDetailsClever + */ + 'termStartDate'?: string; + /** + * End date of the term + * @type {string} + * @memberof ClassDetailsClever + */ + 'termEndDate'?: string; +} + +export const ClassDetailsCleverSubjectEnum = { + EnglishLanguageArts: 'english/language arts', + Math: 'math', + Science: 'science', + SocialStudies: 'social studies', + Language: 'language', + HomeroomAdvisory: 'homeroom/advisory', + InterventionsOnlineLearning: 'interventions/online learning', + TechnologyAndEngineering: 'technology and engineering', + PeAndHealth: 'PE and health', + ArtsAndMusic: 'arts and music', + Other: 'other' +} as const; + +export type ClassDetailsCleverSubjectEnum = typeof ClassDetailsCleverSubjectEnum[keyof typeof ClassDetailsCleverSubjectEnum]; + +/** + * Google Classroom course-related information + * @export + * @interface ClassDetailsGoogleClassroom + */ +export interface ClassDetailsGoogleClassroom { + /** + * The course identifier on Google Classroom + * @type {string} + * @memberof ClassDetailsGoogleClassroom + */ + 'id'?: string; + /** + * Absolute link to this course in the Classroom web UI + * @type {string} + * @memberof ClassDetailsGoogleClassroom + */ + 'alternateLink'?: string; +} +/** + * Google Drive course-related information provided by Google Classroom + * @export + * @interface ClassDetailsGoogleDrive + */ +export interface ClassDetailsGoogleDrive { + /** + * [Teachers only] The Drive directory identifier of the teachers\' folder + * @type {string} + * @memberof ClassDetailsGoogleDrive + */ + 'teacherFolderId'?: string; + /** + * [Teachers only] The Drive URL of the teachers\' folder + * @type {string} + * @memberof ClassDetailsGoogleDrive + */ + 'teacherFolderAlternateLink'?: string; +} +/** + * Detected issues for this class + * @export + * @interface ClassDetailsIssues + */ +export interface ClassDetailsIssues { + /** + * Synchronization issues for the class + * @type {Array} + * @memberof ClassDetailsIssues + */ + 'sync'?: Array; +} +/** + * A sync issue + * @export + * @interface ClassDetailsIssuesSyncInner + */ +export interface ClassDetailsIssuesSyncInner { + /** + * The account user identifier + * @type {string} + * @memberof ClassDetailsIssuesSyncInner + */ + 'id'?: string; + /** + * The email address of the user concerned by this sync issue + * @type {string} + * @memberof ClassDetailsIssuesSyncInner + */ + 'email'?: string; + /** + * The reason why the account cannot be synced + * @type {string} + * @memberof ClassDetailsIssuesSyncInner + */ + 'reason'?: ClassDetailsIssuesSyncInnerReasonEnum; +} + +export const ClassDetailsIssuesSyncInnerReasonEnum = { + OtherOrgnanization: 'otherOrgnanization', + PersonalSubscription: 'personalSubscription' +} as const; + +export type ClassDetailsIssuesSyncInnerReasonEnum = typeof ClassDetailsIssuesSyncInnerReasonEnum[keyof typeof ClassDetailsIssuesSyncInnerReasonEnum]; + +/** + * Meta information provided by the LTI consumer + * @export + * @interface ClassDetailsLti + */ +export interface ClassDetailsLti { + /** + * Unique context identifier provided + * @type {string} + * @memberof ClassDetailsLti + */ + 'contextId'?: string; + /** + * Context title + * @type {string} + * @memberof ClassDetailsLti + */ + 'contextTitle'?: string; + /** + * Context label + * @type {string} + * @memberof ClassDetailsLti + */ + 'contextLabel'?: string; +} +/** + * Meta information provided by Canvs LMS + * @export + * @interface ClassDetailsMfc + */ +export interface ClassDetailsMfc { + /** + * Unique identifier of the course on MusicFirst Classroom + * @type {string} + * @memberof ClassDetailsMfc + */ + 'id'?: string; + /** + * Link to MusicFirst Classroom class + * @type {string} + * @memberof ClassDetailsMfc + */ + 'alternateLink'?: string; +} +/** + * + * @export + * @interface ClassDetailsMicrosoftGraph + */ +export interface ClassDetailsMicrosoftGraph { + /** + * The course identifier on Microsoft Graph + * @type {string} + * @memberof ClassDetailsMicrosoftGraph + */ + 'id'?: string; +} +/** + * Class grade level + * @export + * @enum {string} + */ + +export const ClassGradeLevel = { + Elementary: 'elementary', + Middle: 'middle', + High: 'high', + University: 'university', + Other: 'other' +} as const; + +export type ClassGradeLevel = typeof ClassGradeLevel[keyof typeof ClassGradeLevel]; + + +/** + * User\'s Class Role (for Edu users only) + * @export + * @enum {string} + */ + +export const ClassRoles = { + Teacher: 'teacher', + Student: 'student' +} as const; + +export type ClassRoles = typeof ClassRoles[keyof typeof ClassRoles]; + + +/** + * The state of a classroom + * @export + * @enum {string} + */ + +export const ClassState = { + Active: 'active', + Inactive: 'inactive', + Archived: 'archived' +} as const; + +export type ClassState = typeof ClassState[keyof typeof ClassState]; + + +/** + * Update of a classroom + * @export + * @interface ClassUpdate + */ +export interface ClassUpdate { + /** + * The name of the class + * @type {string} + * @memberof ClassUpdate + */ + 'name'?: string; + /** + * The section of the class + * @type {string} + * @memberof ClassUpdate + */ + 'section'?: string; + /** + * + * @type {ClassGradeLevel} + * @memberof ClassUpdate + */ + 'level'?: ClassGradeLevel; + /** + * Specific skills that will be focused in classroom + * @type {Array} + * @memberof ClassUpdate + */ + 'skillsFocused'?: Array; + /** + * Number of students in the classroom + * @type {number} + * @memberof ClassUpdate + */ + 'size'?: number | null; +} + +export const ClassUpdateSkillsFocusedEnum = { + Notation: 'notation', + SightReading: 'sight-reading', + PerformanceInstrumental: 'performance-instrumental', + EarTraining: 'ear-training', + MusicTheory: 'music-theory', + Composition: 'composition', + JazzEnsemble: 'jazz-ensemble', + MusicTechnology: 'music-technology', + Other: 'other' +} as const; + +export type ClassUpdateSkillsFocusedEnum = typeof ClassUpdateSkillsFocusedEnum[keyof typeof ClassUpdateSkillsFocusedEnum]; + +/** + * Collection of scores + * @export + * @interface Collection + */ +export interface Collection { + /** + * Unique identifier of the collection + * @type {string} + * @memberof Collection + */ + 'id'?: string; + /** + * The title of the collection + * @type {string} + * @memberof Collection + */ + 'title'?: string; + /** + * The url where the collection can be viewed in a web browser + * @type {string} + * @memberof Collection + */ + 'htmlUrl'?: string; + /** + * + * @type {CollectionType} + * @memberof Collection + */ + 'type'?: CollectionType; + /** + * + * @type {CollectionPrivacy} + * @memberof Collection + */ + 'privacy'?: CollectionPrivacy; + /** + * The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`) + * @type {string} + * @memberof Collection + */ + 'sharingKey'?: string; + /** + * + * @type {CollectionApp} + * @memberof Collection + */ + 'app'?: CollectionApp; + /** + * The date when the collection was created + * @type {string} + * @memberof Collection + */ + 'creationDate'?: string; + /** + * + * @type {UserPublicSummary} + * @memberof Collection + */ + 'user'?: UserPublicSummary; + /** + * If the score has been created in an organization, the identifier of this organization. + * @type {string} + * @memberof Collection + */ + 'organization'?: string; + /** + * + * @type {ResourceRights} + * @memberof Collection + */ + 'rights'?: ResourceRights; + /** + * The list of the collaborators of the collection + * @type {Array} + * @memberof Collection + */ + 'collaborators'?: Array; + /** + * + * @type {CollectionCapabilities} + * @memberof Collection + */ + 'capabilities': CollectionCapabilities; + /** + * The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them. + * @type {Array} + * @memberof Collection + */ + 'collections'?: Array; +} + + +/** + * For App collections, the details of the app that created the collection + * @export + * @interface CollectionApp + */ +export interface CollectionApp { + /** + * The app unique identifier + * @type {string} + * @memberof CollectionApp + */ + 'id'?: string; + /** + * The name of the app + * @type {string} + * @memberof CollectionApp + */ + 'name'?: string; + /** + * The app logo url + * @type {string} + * @memberof CollectionApp + */ + 'logo'?: string; +} +/** + * Capabilities the current user has on this collection. Each capability corresponds to a fine-grained action that a user may take. + * @export + * @interface CollectionCapabilities + */ +export interface CollectionCapabilities { + /** + * Whether the current user can modify the metadata for the collection + * @type {boolean} + * @memberof CollectionCapabilities + */ + 'canEdit': boolean; + /** + * Whether the current user can modify the sharing settings for the collection + * @type {boolean} + * @memberof CollectionCapabilities + */ + 'canShare': boolean; + /** + * Whether the current user can delete the collection + * @type {boolean} + * @memberof CollectionCapabilities + */ + 'canDelete': boolean; + /** + * Whether the current user can add scores to the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `DELETE /v2/scores/{score}` to trash a score. + * @type {boolean} + * @memberof CollectionCapabilities + */ + 'canAddScores': boolean; + /** + * Whether the current user can delete scores from the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `POST /v2/scores/{score}/untrash` to restore a score. + * @type {boolean} + * @memberof CollectionCapabilities + */ + 'canDeleteScores': boolean; +} +/** + * + * @export + * @interface CollectionCreation + */ +export interface CollectionCreation { + /** + * The title of the collection + * @type {string} + * @memberof CollectionCreation + */ + 'title': string; + /** + * + * @type {CollectionPrivacy} + * @memberof CollectionCreation + */ + 'privacy': CollectionPrivacy; +} + + +/** + * Edit the collection metadata + * @export + * @interface CollectionModification + */ +export interface CollectionModification { + /** + * The title of the collection + * @type {string} + * @memberof CollectionModification + */ + 'title'?: string; + /** + * + * @type {CollectionPrivacy} + * @memberof CollectionModification + */ + 'privacy'?: CollectionPrivacy; +} + + +/** + * The collection main privacy mode. - `private`: The collection is private and can be only accessed, modified and administred by specified collaborators users. + * @export + * @enum {string} + */ + +export const CollectionPrivacy = { + Private: 'private' +} as const; + +export type CollectionPrivacy = typeof CollectionPrivacy[keyof typeof CollectionPrivacy]; + + +/** + * Type of the collection. The type will influence the capabilitied available on the collections and how this collection is/can be populated. + * @export + * @enum {string} + */ + +export const CollectionType = { + Root: 'root', + Regular: 'regular', + SharedWithMe: 'sharedWithMe', + SharedWithGroup: 'sharedWithGroup', + App: 'app', + Trash: 'trash' +} as const; + +export type CollectionType = typeof CollectionType[keyof typeof CollectionType]; + + +/** + * A Flat for Education Library + * @export + * @interface EduLibrary + */ +export interface EduLibrary { + /** + * Unique identifier of the library. This one can be used to list the underlying resources using `GET /v2/eduResources?parent={library-id}` + * @type {string} + * @memberof EduLibrary + */ + 'id'?: string; + /** + * Name of the lirbary + * @type {string} + * @memberof EduLibrary + */ + 'name'?: string; + /** + * Type of the library + * @type {string} + * @memberof EduLibrary + */ + 'type'?: EduLibraryTypeEnum; + /** + * Visibility of the library + * @type {string} + * @memberof EduLibrary + */ + 'visibility'?: EduLibraryVisibilityEnum; +} + +export const EduLibraryTypeEnum = { + MyResources: 'myResources', + OrganizationResources: 'organizationResources', + FlatEduSamples: 'flatEduSamples' +} as const; + +export type EduLibraryTypeEnum = typeof EduLibraryTypeEnum[keyof typeof EduLibraryTypeEnum]; +export const EduLibraryVisibilityEnum = { + Private: 'private', + Organization: 'organization', + Public: 'public' +} as const; + +export type EduLibraryVisibilityEnum = typeof EduLibraryVisibilityEnum[keyof typeof EduLibraryVisibilityEnum]; + +/** + * A Flat for Education resource contained in a resources library + * @export + * @interface EduResource + */ +export interface EduResource { + /** + * Resource unique identifier + * @type {string} + * @memberof EduResource + */ + 'id': string; + /** + * The User identifier of the resource creator + * @type {string} + * @memberof EduResource + */ + 'creator'?: string; + /** + * + * @type {EduResourceType} + * @memberof EduResource + */ + 'type': EduResourceType; + /** + * + * @type {EduResourcePrivacy} + * @memberof EduResource + */ + 'privacy'?: EduResourcePrivacy; + /** + * Specific attributes for the resource (e.g. sample resources with custom design) + * @type {Array} + * @memberof EduResource + */ + 'tags'?: Array; + /** + * Identifier of the parent resource, e.g. a folder or root + * @type {string} + * @memberof EduResource + */ + 'parent'?: string; + /** + * Title of the resource + * @type {string} + * @memberof EduResource + */ + 'title': string; + /** + * The date when the resource was created + * @type {string} + * @memberof EduResource + */ + 'creationDate'?: string; + /** + * The date when the resource was updated + * @type {string} + * @memberof EduResource + */ + 'updateDate'?: string; + /** + * + * @type {EduResourceResource} + * @memberof EduResource + */ + 'resource'?: EduResourceResource; + /** + * + * @type {EduResourceCapabilities} + * @memberof EduResource + */ + 'capabilities': EduResourceCapabilities; +} + + +/** + * Capabilities available for this resource + * @export + * @interface EduResourceCapabilities + */ +export interface EduResourceCapabilities { + /** + * Whether the current user can modify this resource + * @type {boolean} + * @memberof EduResourceCapabilities + */ + 'canEdit'?: boolean; + /** + * Whether the current user can add resources within this resource (e.g. `assignment` inside a `folder`) + * @type {boolean} + * @memberof EduResourceCapabilities + */ + 'canAddResources'?: boolean; + /** + * Whether the current user can add folders within this resource (e.g. `folder` inside `root`) + * @type {boolean} + * @memberof EduResourceCapabilities + */ + 'canAddFolders'?: boolean; +} +/** + * Copy an education resource + * @export + * @interface EduResourceCopy + */ +export interface EduResourceCopy { + /** + * Unique identifier of the destination of the folder where to copy this resource. This can also be `root` to copy the resource at the root of the user resource library. + * @type {string} + * @memberof EduResourceCopy + */ + 'destination': string; +} +/** + * Creation of an education resource + * @export + * @interface EduResourceCreation + */ +export interface EduResourceCreation { + /** + * + * @type {EduResourceType} + * @memberof EduResourceCreation + */ + 'type': EduResourceType; + /** + * Title of the resource + * @type {string} + * @memberof EduResourceCreation + */ + 'title': string; + /** + * Identifier of the parent resource where the new one will created, e.g. a folder id or `root` + * @type {string} + * @memberof EduResourceCreation + */ + 'parent'?: string; +} + + +/** + * LTI Link details for the class + * @export + * @interface EduResourceLtiLink + */ +export interface EduResourceLtiLink { + /** + * An URL that can be used to launch LTI with this resource in a classroom. + * @type {string} + * @memberof EduResourceLtiLink + */ + 'ltiUrl': string; +} +/** + * Move an education resource + * @export + * @interface EduResourceMove + */ +export interface EduResourceMove { + /** + * Unique identifier of the destination of the folder where to move this resource. This can also be `root` to move the resource at the root of the user resource library. + * @type {string} + * @memberof EduResourceMove + */ + 'destination': string; +} +/** + * The Education resource privacy mode. + * @export + * @enum {string} + */ + +export const EduResourcePrivacy = { + Private: 'private', + OrganizationPublic: 'organizationPublic', + Public: 'public' +} as const; + +export type EduResourcePrivacy = typeof EduResourcePrivacy[keyof typeof EduResourcePrivacy]; + + +/** + * + * @export + * @interface EduResourceResource + */ +export interface EduResourceResource { + /** + * Unique identifier of the assignment + * @type {string} + * @memberof EduResourceResource + */ + 'id': string; + /** + * + * @type {AssignmentType} + * @memberof EduResourceResource + */ + 'type': AssignmentType; + /** + * + * @type {AssignmentCopyResponseCapabilities} + * @memberof EduResourceResource + */ + 'capabilities': AssignmentCopyResponseCapabilities; + /** + * Title of the folder + * @type {string} + * @memberof EduResourceResource + */ + 'title': string; + /** + * Description and content of the assignment + * @type {string} + * @memberof EduResourceResource + */ + 'description'?: string; + /** + * The URL of the cover to display + * @type {string} + * @memberof EduResourceResource + */ + 'cover'?: string; + /** + * The id of the cover to display + * @type {string} + * @memberof EduResourceResource + */ + 'coverFile'?: string; + /** + * + * @type {Array} + * @memberof EduResourceResource + */ + 'attachments': Array; + /** + * For all assignments created after 02/2023, all the underlying resources must be dedicated and stored in the assignment. This boolean indicates that this assignment only supports dedicated attachments. + * @type {boolean} + * @memberof EduResourceResource + */ + 'useDedicatedAttachments'?: boolean; + /** + * If set, the grading will be enabled for the assignement + * @type {number} + * @memberof EduResourceResource + */ + 'maxPoints'?: number; + /** + * For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions + * @type {string} + * @memberof EduResourceResource + */ + 'releaseGrades'?: EduResourceResourceReleaseGradesEnum; + /** + * Mixing worksheets exercises for each student + * @type {boolean} + * @memberof EduResourceResource + */ + 'shuffleExercises'?: boolean; + /** + * The id of the associated toolset + * @type {string} + * @memberof EduResourceResource + */ + 'toolset'?: string; + /** + * The number of playback authorized on the scores of the assignment. + * @type {number} + * @memberof EduResourceResource + */ + 'nbPlaybackAuthorized'?: number; +} + +export const EduResourceResourceReleaseGradesEnum = { + Auto: 'auto', + Manual: 'manual' +} as const; + +export type EduResourceResourceReleaseGradesEnum = typeof EduResourceResourceReleaseGradesEnum[keyof typeof EduResourceResourceReleaseGradesEnum]; + +/** + * Type of an education resource + * @export + * @enum {string} + */ + +export const EduResourceType = { + Assignment: 'assignment', + Folder: 'folder' +} as const; + +export type EduResourceType = typeof EduResourceType[keyof typeof EduResourceType]; + + +/** + * Update of an education resource + * @export + * @interface EduResourceUpdate + */ +export interface EduResourceUpdate { + /** + * Title of the resource + * @type {string} + * @memberof EduResourceUpdate + */ + 'title'?: string; + /** + * + * @type {EduResourcePrivacy} + * @memberof EduResourceUpdate + */ + 'privacy'?: EduResourcePrivacy; +} + + +/** + * Use an education resource in class + * @export + * @interface EduResourceUseInClass + */ +export interface EduResourceUseInClass { + /** + * The destination classroom where the resource will be copied. + * @type {string} + * @memberof EduResourceUseInClass + */ + 'classroom': string; + /** + * An optional destination assignment where the original assignement will be copied. Must be a draft. + * @type {string} + * @memberof EduResourceUseInClass + */ + 'assignment'?: string; +} +/** + * An API Error response + * @export + * @interface FlatErrorResponse + */ +export interface FlatErrorResponse { + /** + * A corresponding code for this error + * @type {string} + * @memberof FlatErrorResponse + */ + 'code': string; + /** + * A printable message for this error + * @type {string} + * @memberof FlatErrorResponse + */ + 'message': string; + /** + * An unique error identifier generated for the request + * @type {string} + * @memberof FlatErrorResponse + */ + 'id'?: string; + /** + * The related parameter that caused the error + * @type {string} + * @memberof FlatErrorResponse + */ + 'param'?: string; +} +/** + * The user language + * @export + * @enum {string} + */ + +export const FlatLocales = { + En: 'en', + EnGb: 'en-GB', + Es: 'es', + Fr: 'fr', + De: 'de', + It: 'it', + Ja: 'ja', + JaHira: 'ja-HIRA', + Ko: 'ko', + Nl: 'nl', + Pl: 'pl', + Pt: 'pt', + PtBr: 'pt-BR', + Ro: 'ro', + Ru: 'ru', + Sv: 'sv', + Tr: 'tr', + ZhHans: 'zh-Hans' +} as const; + +export type FlatLocales = typeof FlatLocales[keyof typeof FlatLocales]; + + +/** + * A coursework on Google Classroom + * @export + * @interface GoogleClassroomCoursework + */ +export interface GoogleClassroomCoursework { + /** + * Identifier of the coursework assigned by Classroom + * @type {string} + * @memberof GoogleClassroomCoursework + */ + 'id'?: string; + /** + * State of the coursework + * @type {string} + * @memberof GoogleClassroomCoursework + */ + 'state'?: string; + /** + * Absolute link to this coursework in the Classroom web UI + * @type {string} + * @memberof GoogleClassroomCoursework + */ + 'alternateLink'?: string; + /** + * Identifier of the topic where the assignment is created + * @type {string} + * @memberof GoogleClassroomCoursework + */ + 'topicId'?: string | null; +} +/** + * A coursework submission on Google Classroom + * @export + * @interface GoogleClassroomSubmission + */ +export interface GoogleClassroomSubmission { + /** + * Identifier of the coursework submission assigned by Classroom + * @type {string} + * @memberof GoogleClassroomSubmission + */ + 'id': string; + /** + * State of the submission on Google Classroom + * @type {string} + * @memberof GoogleClassroomSubmission + */ + 'state': string; + /** + * Absolute link to this coursework in the Classroom web UI + * @type {string} + * @memberof GoogleClassroomSubmission + */ + 'alternateLink': string; +} +/** + * A group of users + * @export + * @interface Group + */ +export interface Group { + /** + * The unique identifier of the group + * @type {string} + * @memberof Group + */ + 'id'?: string; + /** + * The display name of the group + * @type {string} + * @memberof Group + */ + 'name'?: string; + /** + * The type of the group: * `generic`: A group created by a Flat user * `classTeachers`: A group created automaticaly by Flat that contains the teachers of a class * `classStudents`: A group created automaticaly by Flat that contains the studnets of a class + * @type {string} + * @memberof Group + */ + 'type'?: GroupTypeEnum; + /** + * The number of users in this group + * @type {number} + * @memberof Group + */ + 'usersCount'?: number; + /** + * `True` if the group is set in read-only + * @type {boolean} + * @memberof Group + */ + 'readOnly'?: boolean; + /** + * If the group is related to an organization, this field will contain the unique identifier of the organization + * @type {string} + * @memberof Group + */ + 'organization'?: string; + /** + * The creation date of the group + * @type {string} + * @memberof Group + */ + 'creationDate'?: string; +} + +export const GroupTypeEnum = { + Generic: 'generic', + ClassTeachers: 'classTeachers', + ClassStudents: 'classStudents' +} as const; + +export type GroupTypeEnum = typeof GroupTypeEnum[keyof typeof GroupTypeEnum]; + +/** + * The details of a group + * @export + * @interface GroupDetails + */ +export interface GroupDetails { + /** + * The unique identifier of the group + * @type {string} + * @memberof GroupDetails + */ + 'id'?: string; + /** + * The displayable name of the group + * @type {string} + * @memberof GroupDetails + */ + 'name'?: string; + /** + * + * @type {GroupType} + * @memberof GroupDetails + */ + 'type'?: GroupType; + /** + * The unique identifier of the Organization owning the group + * @type {string} + * @memberof GroupDetails + */ + 'organization'?: string; + /** + * The date when the group was create + * @type {string} + * @memberof GroupDetails + */ + 'creationDate'?: string; + /** + * The number of students in this group + * @type {number} + * @memberof GroupDetails + */ + 'usersCount'?: number; + /** + * `true` if the properties and members of this group are in in read-only + * @type {boolean} + * @memberof GroupDetails + */ + 'readOnly'?: boolean; +} + + +/** + * The type of the group + * @export + * @enum {string} + */ + +export const GroupType = { + Generic: 'generic', + ClassTeachers: 'classTeachers', + ClassStudents: 'classStudents' +} as const; + +export type GroupType = typeof GroupType[keyof typeof GroupType]; + + +/** + * Mode of the license + * @export + * @enum {string} + */ + +export const LicenseMode = { + Credit: 'credit', + Site: 'site' +} as const; + +export type LicenseMode = typeof LicenseMode[keyof typeof LicenseMode]; + + +/** + * Source of the license + * @export + * @enum {string} + */ + +export const LicenseSources = { + Order: 'order', + Trial: 'trial', + Voucher: 'voucher', + Distributor: 'distributor', + Subscription: 'subscription', + AppStore: 'appStore', + PlayStore: 'playStore', + Musicfirst: 'musicfirst' +} as const; + +export type LicenseSources = typeof LicenseSources[keyof typeof LicenseSources]; + + +/** + * LMS name + * @export + * @enum {string} + */ + +export const LmsName = { + Canvas: 'canvas', + Moodle: 'moodle', + Schoology: 'schoology', + Blackboard: 'blackboard', + Desire2learn: 'desire2learn', + Sakai: 'sakai', + Schoolbox: 'schoolbox', + Other: 'other' +} as const; + +export type LmsName = typeof LmsName[keyof typeof LmsName]; + + +/** + * A couple of LTI 1.x OAuth credentials + * @export + * @interface LtiCredentials + */ +export interface LtiCredentials { + /** + * The unique identifier of this couple of credentials + * @type {string} + * @memberof LtiCredentials + */ + 'id'?: string; + /** + * Name of the couple of credentials + * @type {string} + * @memberof LtiCredentials + */ + 'name'?: string; + /** + * + * @type {LmsName} + * @memberof LtiCredentials + */ + 'lms'?: LmsName; + /** + * The unique identifier of the Organization associated to these credentials + * @type {string} + * @memberof LtiCredentials + */ + 'organization'?: string; + /** + * Unique identifier of the user who created these credentials + * @type {string} + * @memberof LtiCredentials + */ + 'creator'?: string; + /** + * The creation date of thse credentials + * @type {string} + * @memberof LtiCredentials + */ + 'creationDate'?: string; + /** + * The last time these credentials were used + * @type {string} + * @memberof LtiCredentials + */ + 'lastUsage'?: string; + /** + * OAuth 1 Consumer Key + * @type {string} + * @memberof LtiCredentials + */ + 'consumerKey'?: string; + /** + * OAuth 1 Consumer Secret + * @type {string} + * @memberof LtiCredentials + */ + 'consumerSecret'?: string; +} + + +/** + * Creation of a couple of LTI 1.x OAuth credentials + * @export + * @interface LtiCredentialsCreation + */ +export interface LtiCredentialsCreation { + /** + * Name of the couple of credentials + * @type {string} + * @memberof LtiCredentialsCreation + */ + 'name': string; + /** + * + * @type {LmsName} + * @memberof LtiCredentialsCreation + */ + 'lms': LmsName; +} + + +/** + * Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object + * @export + * @interface MediaAttachment + */ +export interface MediaAttachment { + /** + * The type of the assignment resolved: * `rich`, `photo`, `video` are automatically resolved as `link` * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property. + * @type {string} + * @memberof MediaAttachment + */ + 'type': MediaAttachmentTypeEnum; + /** + * An unique Flat score identifier + * @type {string} + * @memberof MediaAttachment + */ + 'score'?: string; + /** + * An unique revision identifier of a score + * @type {string} + * @memberof MediaAttachment + */ + 'revision'?: string; + /** + * An unique worksheet identifier + * @type {string} + * @memberof MediaAttachment + */ + 'worksheet'?: string; + /** + * True if the resource is dedicated for the assignment (for scores and worksheets), meaning on the user-side this one is stored in the assignment + * @type {boolean} + * @memberof MediaAttachment + */ + 'dedicated'?: boolean; + /** + * A unique track identifier + * @type {string} + * @memberof MediaAttachment + */ + 'track'?: string; + /** + * + * @type {MediaScoreSharingMode} + * @memberof MediaAttachment + */ + 'sharingMode'?: MediaScoreSharingMode; + /** + * To be used with a score attached in `sharingMode` `copy` (score used as template). If true, students won\'t be able to change the original notes of the template. + * @type {boolean} + * @memberof MediaAttachment + */ + 'lockScoreTemplate'?: boolean; + /** + * The resolved title of the attachment + * @type {string} + * @memberof MediaAttachment + */ + 'title'?: string; + /** + * The resolved description of the attachment + * @type {string} + * @memberof MediaAttachment + */ + 'description'?: string; + /** + * If the attachment type is `rich` or `video`, the HTML code of the media to display + * @type {string} + * @memberof MediaAttachment + */ + 'html'?: string; + /** + * If the `html` is available, the width of the widget + * @type {string} + * @memberof MediaAttachment + */ + 'htmlWidth'?: string; + /** + * If the `html` is available, the height of the widget + * @type {string} + * @memberof MediaAttachment + */ + 'htmlHeight'?: string; + /** + * The url of the attachment + * @type {string} + * @memberof MediaAttachment + */ + 'url'?: string; + /** + * If the attachment type is `rich`, `video`, `photo` or `link`, a displayable thumbnail for this attachment + * @type {string} + * @memberof MediaAttachment + */ + 'thumbnailUrl'?: string; + /** + * If the `thumbnailUrl` is available, the width of the thumbnail + * @type {number} + * @memberof MediaAttachment + */ + 'thumbnailWidth'?: number; + /** + * If the `thumbnailUrl` is available, the width of the thumbnail + * @type {number} + * @memberof MediaAttachment + */ + 'thumbnailHeight'?: number; + /** + * The resolved author name of the attachment + * @type {string} + * @memberof MediaAttachment + */ + 'authorName'?: string; + /** + * The resolved author url of the attachment + * @type {string} + * @memberof MediaAttachment + */ + 'authorUrl'?: string; + /** + * The URL of the icon + * @type {string} + * @memberof MediaAttachment + */ + 'iconUrl'?: string; + /** + * The mine type of the file + * @type {string} + * @memberof MediaAttachment + */ + 'mimeType'?: string; + /** + * The ID of the Google Drive File + * @type {string} + * @memberof MediaAttachment + */ + 'googleDriveFileId'?: string; +} + +export const MediaAttachmentTypeEnum = { + Rich: 'rich', + Photo: 'photo', + Video: 'video', + Link: 'link', + Flat: 'flat', + GoogleDrive: 'googleDrive', + Worksheet: 'worksheet', + Performance: 'performance' +} as const; + +export type MediaAttachmentTypeEnum = typeof MediaAttachmentTypeEnum[keyof typeof MediaAttachmentTypeEnum]; + +/** + * The sharing mode of the score for classes post and assignments + * @export + * @enum {string} + */ + +export const MediaScoreSharingMode = { + Read: 'read', + Write: 'write', + Copy: 'copy', + Performance: 'performance' +} as const; + +export type MediaScoreSharingMode = typeof MediaScoreSharingMode[keyof typeof MediaScoreSharingMode]; + + +/** + * A Microsoft Teams asignment + * @export + * @interface MicrosoftGraphAssignment + */ +export interface MicrosoftGraphAssignment { + /** + * Identifier of the assignement assigned by Microsoft Teams + * @type {string} + * @memberof MicrosoftGraphAssignment + */ + 'id'?: string; + /** + * State of the assignment + * @type {string} + * @memberof MicrosoftGraphAssignment + */ + 'state'?: string; + /** + * Absolute link to this assignement in the Microsoft Teams web UI + * @type {string} + * @memberof MicrosoftGraphAssignment + */ + 'alternateLink'?: string; + /** + * List of categories where this assignment is published under + * @type {Array} + * @memberof MicrosoftGraphAssignment + */ + 'categories'?: Array; +} +/** + * A Microsoft Teams submission + * @export + * @interface MicrosoftGraphSubmission + */ +export interface MicrosoftGraphSubmission { + /** + * Identifier of the submission assigned by Microsoft Teams + * @type {string} + * @memberof MicrosoftGraphSubmission + */ + 'id': string; + /** + * State of the submission + * @type {string} + * @memberof MicrosoftGraphSubmission + */ + 'state': string; +} +/** + * Details of an invitation to join an organization + * @export + * @interface OrganizationInvitation + */ +export interface OrganizationInvitation { + /** + * The invitation unique identifier + * @type {string} + * @memberof OrganizationInvitation + */ + 'id'?: string; + /** + * The creation date of the invitation + * @type {string} + * @memberof OrganizationInvitation + */ + 'creationDate'?: string; + /** + * The unique identifier of the Organization owning this class + * @type {string} + * @memberof OrganizationInvitation + */ + 'organization': string; + /** + * + * @type {OrganizationRoles} + * @memberof OrganizationInvitation + */ + 'organizationRole': OrganizationRoles; + /** + * Enrollment code to use when joining this organization + * @type {string} + * @memberof OrganizationInvitation + */ + 'customCode': string | null; + /** + * The email address this invitation was sent to + * @type {string} + * @memberof OrganizationInvitation + */ + 'email'?: string; + /** + * The unique identifier of the User who created this invitation + * @type {string} + * @memberof OrganizationInvitation + */ + 'invitedBy'?: string; + /** + * If true, the invitation can be used multiple times. If false, the invitation can only be used once. + * @type {boolean} + * @memberof OrganizationInvitation + */ + 'allowMultipleUse': boolean; + /** + * List of users who used this invitation + * @type {Array} + * @memberof OrganizationInvitation + */ + 'usedBy'?: Array; +} + + +/** + * The parameters to create an organization invitation + * @export + * @interface OrganizationInvitationCreation + */ +export interface OrganizationInvitationCreation { + /** + * The email address you want to send the invitation to + * @type {string} + * @memberof OrganizationInvitationCreation + */ + 'email'?: string; + /** + * User\'s Organization Role + * @type {string} + * @memberof OrganizationInvitationCreation + */ + 'organizationRole'?: OrganizationInvitationCreationOrganizationRoleEnum; +} + +export const OrganizationInvitationCreationOrganizationRoleEnum = { + Admin: 'admin', + Teacher: 'teacher' +} as const; + +export type OrganizationInvitationCreationOrganizationRoleEnum = typeof OrganizationInvitationCreationOrganizationRoleEnum[keyof typeof OrganizationInvitationCreationOrganizationRoleEnum]; + +/** + * User\'s Organization Role (for Edu users only) + * @export + * @enum {string} + */ + +export const OrganizationRoles = { + Admin: 'admin', + Billing: 'billing', + Teacher: 'teacher', + User: 'user' +} as const; + +export type OrganizationRoles = typeof OrganizationRoles[keyof typeof OrganizationRoles]; + + +/** + * Creation of a delegated API access token for an organization user + * @export + * @interface OrganizationUserAccessTokenCreation + */ +export interface OrganizationUserAccessTokenCreation { + /** + * List of requested scopes for this credential + * @type {Array} + * @memberof OrganizationUserAccessTokenCreation + */ + 'scopes': Array; +} +/** + * + * @export + * @interface ResourceCollaborator + */ +export interface ResourceCollaborator { + /** + * `True` if the current user can read the current document + * @type {boolean} + * @memberof ResourceCollaborator + */ + 'aclRead': boolean; + /** + * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. + * @type {boolean} + * @memberof ResourceCollaborator + */ + 'aclWrite': boolean; + /** + * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. + * @type {boolean} + * @memberof ResourceCollaborator + */ + 'aclAdmin': boolean; + /** + * `True` if the current user is a collaborator of the current document (direct or via group). + * @type {boolean} + * @memberof ResourceCollaborator + */ + 'isCollaborator': boolean; + /** + * The type of the collaborator for the resource + * @type {string} + * @memberof ResourceCollaborator + */ + 'collaboratorType'?: ResourceCollaboratorCollaboratorTypeEnum; + /** + * The unique identifier of the permission + * @type {string} + * @memberof ResourceCollaborator + */ + 'id'?: string; + /** + * The date when the permission was added + * @type {string} + * @memberof ResourceCollaborator + */ + 'date'?: string; + /** + * If this object is a permission of a score, this property will contain the unique identifier of the score + * @type {string} + * @memberof ResourceCollaborator + */ + 'score'?: string; + /** + * If this object is a permission of a collection, this property will contain the unique identifier of the collection + * @type {string} + * @memberof ResourceCollaborator + */ + 'collection'?: string; + /** + * + * @type {UserPublic} + * @memberof ResourceCollaborator + */ + 'user'?: UserPublic; + /** + * + * @type {Group} + * @memberof ResourceCollaborator + */ + 'group'?: Group; + /** + * If the collaborator is not a user of Flat yet, this field will contain their email. + * @type {string} + * @memberof ResourceCollaborator + */ + 'userEmail'?: string; + /** + * If this property is `true`, this is still a pending invitation + * @type {boolean} + * @memberof ResourceCollaborator + */ + 'invited'?: boolean; +} + +export const ResourceCollaboratorCollaboratorTypeEnum = { + Owner: 'owner', + User: 'user', + Group: 'group' +} as const; + +export type ResourceCollaboratorCollaboratorTypeEnum = typeof ResourceCollaboratorCollaboratorTypeEnum[keyof typeof ResourceCollaboratorCollaboratorTypeEnum]; + +/** + * Add a collaborator to a resource. + * @export + * @interface ResourceCollaboratorCreation + */ +export interface ResourceCollaboratorCreation { + /** + * The unique identifier of a Flat user + * @type {string} + * @memberof ResourceCollaboratorCreation + */ + 'user'?: string; + /** + * The unique identifier of a Flat group + * @type {string} + * @memberof ResourceCollaboratorCreation + */ + 'group'?: string; + /** + * Fill this field to invite an individual user by email. + * @type {string} + * @memberof ResourceCollaboratorCreation + */ + 'userEmail'?: string; + /** + * Token received in an invitation to join the score. + * @type {string} + * @memberof ResourceCollaboratorCreation + */ + 'userToken'?: string; + /** + * `True` if the related user can read the score. (probably true if the user has a permission on the document). + * @type {boolean} + * @memberof ResourceCollaboratorCreation + */ + 'aclRead'?: boolean; + /** + * `True` if the related user can modify the score. + * @type {boolean} + * @memberof ResourceCollaboratorCreation + */ + 'aclWrite'?: boolean; + /** + * `True` if the related user can can manage the current document, i.e. changing the document permissions and deleting the document + * @type {boolean} + * @memberof ResourceCollaboratorCreation + */ + 'aclAdmin'?: boolean; +} +/** + * The rights of the current user on a score or collection + * @export + * @interface ResourceRights + */ +export interface ResourceRights { + /** + * `True` if the current user can read the current document + * @type {boolean} + * @memberof ResourceRights + */ + 'aclRead': boolean; + /** + * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. + * @type {boolean} + * @memberof ResourceRights + */ + 'aclWrite': boolean; + /** + * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. + * @type {boolean} + * @memberof ResourceRights + */ + 'aclAdmin': boolean; + /** + * `True` if the current user is a collaborator of the current document (direct or via group). + * @type {boolean} + * @memberof ResourceRights + */ + 'isCollaborator': boolean; + /** + * The type of the collaborator for the resource + * @type {string} + * @memberof ResourceRights + */ + 'collaboratorType'?: ResourceRightsCollaboratorTypeEnum; +} + +export const ResourceRightsCollaboratorTypeEnum = { + Owner: 'owner', + User: 'user', + Group: 'group' +} as const; + +export type ResourceRightsCollaboratorTypeEnum = typeof ResourceRightsCollaboratorTypeEnum[keyof typeof ResourceRightsCollaboratorTypeEnum]; + +/** + * Comment added on a sheet music + * @export + * @interface ScoreComment + */ +export interface ScoreComment { + /** + * The comment unique identifier + * @type {string} + * @memberof ScoreComment + */ + 'id'?: string; + /** + * The type of the comment + * @type {string} + * @memberof ScoreComment + */ + 'type'?: ScoreCommentTypeEnum; + /** + * The author unique identifier + * @type {string} + * @memberof ScoreComment + */ + 'user'?: string; + /** + * The unique identifier of the score where the comment was posted + * @type {string} + * @memberof ScoreComment + */ + 'score'?: string; + /** + * The unique identifier of revision the comment was posted + * @type {string} + * @memberof ScoreComment + */ + 'revision'?: string; + /** + * When the comment is a reply to another comment, the unique identifier of the parent comment + * @type {string} + * @memberof ScoreComment + */ + 'replyTo'?: string; + /** + * The date when the comment was posted + * @type {string} + * @memberof ScoreComment + */ + 'date'?: string; + /** + * The date of the last comment modification + * @type {string} + * @memberof ScoreComment + */ + 'modificationDate'?: string; + /** + * The comment text that can includes mentions using the following format: `@[id:username]`. + * @type {string} + * @memberof ScoreComment + */ + 'comment'?: string; + /** + * A raw version of the comment, that can be displayed without parsing the mentions. + * @type {string} + * @memberof ScoreComment + */ + 'rawComment'?: string; + /** + * + * @type {ScoreCommentContext} + * @memberof ScoreComment + */ + 'context'?: ScoreCommentContext; + /** + * The list of user identifier mentioned on the score + * @type {Array} + * @memberof ScoreComment + */ + 'mentions'?: Array; + /** + * For inline comments, the comment can be marked as resolved and will be hidden in the future responses + * @type {boolean} + * @memberof ScoreComment + */ + 'resolved'?: boolean; + /** + * If the user is marked as resolved, this will contain the unique identifier of the User who marked this comment as resolved + * @type {string} + * @memberof ScoreComment + */ + 'resolvedBy'?: string; + /** + * + * @type {ScoreCommentModeration} + * @memberof ScoreComment + */ + 'moderation'?: ScoreCommentModeration; + /** + * `true if the message has been detected as spam and hidden from other users + * @type {boolean} + * @memberof ScoreComment + */ + 'spam'?: boolean; +} + +export const ScoreCommentTypeEnum = { + Document: 'document', + Inline: 'inline' +} as const; + +export type ScoreCommentTypeEnum = typeof ScoreCommentTypeEnum[keyof typeof ScoreCommentTypeEnum]; + +/** + * The context of the comment (for inline/contextualized comments). A context will include all the information related to the location of the comment (i.e. score parts, range of measure, time position). + * @export + * @interface ScoreCommentContext + */ +export interface ScoreCommentContext { + /** + * The unique identifier (UUID) of the score part + * @type {string} + * @memberof ScoreCommentContext + */ + 'partUuid': string; + /** + * (Deprecated, use `staffUuid`) The identififer of the staff + * @type {number} + * @memberof ScoreCommentContext + */ + 'staffIdx'?: number; + /** + * The unique identififer (UUID) of the staff + * @type {string} + * @memberof ScoreCommentContext + */ + 'staffUuid'?: string; + /** + * The list of measure UUIds + * @type {Array} + * @memberof ScoreCommentContext + */ + 'measureUuids': Array; + /** + * + * @type {number} + * @memberof ScoreCommentContext + */ + 'startTimePos': number; + /** + * + * @type {number} + * @memberof ScoreCommentContext + */ + 'stopTimePos': number; + /** + * + * @type {number} + * @memberof ScoreCommentContext + */ + 'startDpq': number; + /** + * + * @type {number} + * @memberof ScoreCommentContext + */ + 'stopDpq': number; +} +/** + * Creation of a comment + * @export + * @interface ScoreCommentCreation + */ +export interface ScoreCommentCreation { + /** + * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. + * @type {string} + * @memberof ScoreCommentCreation + */ + 'revision'?: string; + /** + * The comment text that can includes mentions using the following format: `@[id:username]`. + * @type {string} + * @memberof ScoreCommentCreation + */ + 'comment': string; + /** + * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. + * @type {string} + * @memberof ScoreCommentCreation + */ + 'rawComment'?: string; + /** + * The list of user identifiers mentioned in this comment + * @type {Array} + * @memberof ScoreCommentCreation + */ + 'mentions'?: Array; + /** + * When the comment is a reply to another comment, the unique identifier of the parent comment + * @type {string} + * @memberof ScoreCommentCreation + */ + 'replyTo'?: string; + /** + * + * @type {ScoreCommentContext} + * @memberof ScoreCommentCreation + */ + 'context'?: ScoreCommentContext; +} +/** + * Information about the comment being moderated + * @export + * @interface ScoreCommentModeration + */ +export interface ScoreCommentModeration { + /** + * If true, this comment will be hidden from other users + * @type {boolean} + * @memberof ScoreCommentModeration + */ + 'hidden'?: boolean; + /** + * If the comment is hidden, the reason why this one has been moderated + * @type {string} + * @memberof ScoreCommentModeration + */ + 'reason'?: ScoreCommentModerationReasonEnum; +} + +export const ScoreCommentModerationReasonEnum = { + Spam: 'spam', + Inappropriate: 'inappropriate' +} as const; + +export type ScoreCommentModerationReasonEnum = typeof ScoreCommentModerationReasonEnum[keyof typeof ScoreCommentModerationReasonEnum]; + +/** + * Update of a comment + * @export + * @interface ScoreCommentUpdate + */ +export interface ScoreCommentUpdate { + /** + * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. + * @type {string} + * @memberof ScoreCommentUpdate + */ + 'revision'?: string; + /** + * The comment text that can includes mentions using the following format: `@[id:username]`. + * @type {string} + * @memberof ScoreCommentUpdate + */ + 'comment'?: string; + /** + * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. + * @type {string} + * @memberof ScoreCommentUpdate + */ + 'rawComment'?: string; + /** + * + * @type {ScoreCommentContext} + * @memberof ScoreCommentUpdate + */ + 'context'?: ScoreCommentContext; +} +/** + * A computed version of the total, unique, weekly and monthly number of comments added on the documents (this doesn\'t include inline comments). + * @export + * @interface ScoreCommentsCounts + */ +export interface ScoreCommentsCounts { + /** + * The total number of comments added to the score + * @type {number} + * @memberof ScoreCommentsCounts + */ + 'total'?: number; + /** + * The unique (1/user) number of comments added to the score + * @type {number} + * @memberof ScoreCommentsCounts + */ + 'unique'?: number; + /** + * The weekly unique number of comments added to the score + * @type {number} + * @memberof ScoreCommentsCounts + */ + 'weekly'?: number; + /** + * The monthly unique number of comments added to the score + * @type {number} + * @memberof ScoreCommentsCounts + */ + 'monthly'?: number; +} +/** + * + * @export + * @interface ScoreCreation + */ +export interface ScoreCreation { + /** + * The title of the new score. If the title is too long, the API may trim this one. If this title is not specified, the API will try to (in this order): - Use the title contained in the file (e.g. [`movement-title`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-movement-title.htm) or [`credit-words`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-credit-words.htm) for [MusicXML](http://www.musicxml.com/) files). - Use the name of the file for files from a specified `source` (e.g. Google Drive) or the one in the `filename` property - Set a default title (e.g. \"New Music Score\") + * @type {string} + * @memberof ScoreCreation + */ + 'title'?: string; + /** + * + * @type {ScorePrivacy} + * @memberof ScoreCreation + */ + 'privacy'?: ScorePrivacy; + /** + * Unique identifier of a collection where the score will be created. If no collection identifier is provided, the score will be stored in the `root` directory. + * @type {string} + * @memberof ScoreCreation + */ + 'collection'?: string; + /** + * If the user uses Google Drive and this properties is specified, the file will be created in this directory. The currently user creating the file must be granted to write in this directory. + * @type {string} + * @memberof ScoreCreation + */ + 'googleDriveFolder'?: string; + /** + * + * @type {ScoreCreationBuilderData} + * @memberof ScoreCreation + */ + 'builderData'?: ScoreCreationBuilderData; + /** + * If this is an imported file, its filename + * @type {string} + * @memberof ScoreCreation + */ + 'filename'?: string; + /** + * The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request. + * @type {string} + * @memberof ScoreCreation + */ + 'data'?: string; + /** + * The optional encoding of the score data. This property must match the encoding used for the `data` property. + * @type {string} + * @memberof ScoreCreation + */ + 'dataEncoding'?: ScoreCreationDataEncodingEnum; + /** + * + * @type {ScoreSource} + * @memberof ScoreCreation + */ + 'source'?: ScoreSource; +} + +export const ScoreCreationDataEncodingEnum = { + Base64: 'base64' +} as const; + +export type ScoreCreationDataEncodingEnum = typeof ScoreCreationDataEncodingEnum[keyof typeof ScoreCreationDataEncodingEnum]; + +/** + * + * @export + * @interface ScoreCreationBuilderData + */ +export interface ScoreCreationBuilderData { + /** + * + * @type {ScoreCreationBuilderDataScoreData} + * @memberof ScoreCreationBuilderData + */ + 'scoreData': ScoreCreationBuilderDataScoreData; + /** + * + * @type {ScoreCreationBuilderDataLayoutData} + * @memberof ScoreCreationBuilderData + */ + 'layoutData'?: ScoreCreationBuilderDataLayoutData; +} +/** + * Control the appearance of the score. If missing, default values are used. + * @export + * @interface ScoreCreationBuilderDataLayoutData + */ +export interface ScoreCreationBuilderDataLayoutData { + /** + * A float value >= 1 that controls the spacing between notes. + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'notesSpacingCoeff'?: number; + /** + * The unit to use for layout customizations + * @type {string} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'lengthUnit'?: ScoreCreationBuilderDataLayoutDataLengthUnitEnum; + /** + * The height of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageHeight'?: number; + /** + * The width of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageWidth'?: number; + /** + * The top margin of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageMarginTop'?: number; + /** + * The bottom margin of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageMarginBottom'?: number; + /** + * The left margin of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageMarginLeft'?: number; + /** + * The right margin of the page in chosen unit (`lengthUnit`). + * @type {number} + * @memberof ScoreCreationBuilderDataLayoutData + */ + 'pageMarginRight'?: number; +} + +export const ScoreCreationBuilderDataLayoutDataLengthUnitEnum = { + Cm: 'cm', + Inch: 'inch' +} as const; + +export type ScoreCreationBuilderDataLayoutDataLengthUnitEnum = typeof ScoreCreationBuilderDataLayoutDataLengthUnitEnum[keyof typeof ScoreCreationBuilderDataLayoutDataLengthUnitEnum]; + +/** + * + * @export + * @interface ScoreCreationBuilderDataScoreData + */ +export interface ScoreCreationBuilderDataScoreData { + /** + * true if the TAB staff is displayed with fretted instruments + * @type {boolean} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'useTabStaff'?: boolean; + /** + * true if the chord grid must be displayed with fretted instruments + * @type {boolean} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'useChordGrid'?: boolean; + /** + * The key signature of the score (expressed between -7 and 7). Major C is used when the value is not provided. + * @type {number} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'fifths'?: number; + /** + * The number of beats in the measure + * @type {number} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'nbBeats'?: number; + /** + * The duration of a beat in the measure + * @type {number} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'beatType'?: number; + /** + * The list of instruments to add to the score. See https://prod.flat-cdn.com/fixtures/instruments_en.json for the possible values for `group` and `instrument`. + * @type {Array} + * @memberof ScoreCreationBuilderDataScoreData + */ + 'instruments': Array; +} +/** + * + * @export + * @interface ScoreCreationBuilderDataScoreDataInstrumentsInner + */ +export interface ScoreCreationBuilderDataScoreDataInstrumentsInner { + /** + * The of the instrument group (e.g. `keyboards`, `brass`) + * @type {string} + * @memberof ScoreCreationBuilderDataScoreDataInstrumentsInner + */ + 'group': string; + /** + * The identifier of the instrument (e.g. `piano`, `trumpet`) + * @type {string} + * @memberof ScoreCreationBuilderDataScoreDataInstrumentsInner + */ + 'instrument': string; + /** + * The full name of the instrument + * @type {string} + * @memberof ScoreCreationBuilderDataScoreDataInstrumentsInner + */ + 'longName'?: string; + /** + * The abbreviation of the name of the instrument + * @type {string} + * @memberof ScoreCreationBuilderDataScoreDataInstrumentsInner + */ + 'shortName'?: string; + /** + * True if the part can use quarter tone (prevent the part to have a TAB/chord grid) + * @type {boolean} + * @memberof ScoreCreationBuilderDataScoreDataInstrumentsInner + */ + 'hasQuarterTone'?: boolean; +} +/** + * The type of creation (an orginal, an arrangement) + * @export + * @enum {string} + */ + +export const ScoreCreationType = { + Original: 'original', + Arrangement: 'arrangement', + Other: 'other', + Null: 'null' +} as const; + +export type ScoreCreationType = typeof ScoreCreationType[keyof typeof ScoreCreationType]; + + +/** + * + * @export + * @interface ScoreDetails + */ +export interface ScoreDetails { + /** + * The unique identifier of the score + * @type {string} + * @memberof ScoreDetails + */ + 'id': string; + /** + * The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) + * @type {string} + * @memberof ScoreDetails + */ + 'sharingKey'?: string; + /** + * The title of the score + * @type {string} + * @memberof ScoreDetails + */ + 'title': string; + /** + * + * @type {ScorePrivacy} + * @memberof ScoreDetails + */ + 'privacy': ScorePrivacy; + /** + * + * @type {UserPublic} + * @memberof ScoreDetails + */ + 'user': UserPublic; + /** + * The url where the score can be viewed in a web browser + * @type {string} + * @memberof ScoreDetails + */ + 'htmlUrl': string; + /** + * Subtitle of the score + * @type {string} + * @memberof ScoreDetails + */ + 'subtitle'?: string; + /** + * Lyricist of the score + * @type {string} + * @memberof ScoreDetails + */ + 'lyricist'?: string; + /** + * Arranger of the score + * @type {string} + * @memberof ScoreDetails + */ + 'arranger'?: string; + /** + * Composer of the score + * @type {string} + * @memberof ScoreDetails + */ + 'composer'?: string; + /** + * Description of the creation + * @type {string} + * @memberof ScoreDetails + */ + 'description'?: string; + /** + * Tags describing the score + * @type {Array} + * @memberof ScoreDetails + */ + 'tags'?: Array; + /** + * + * @type {ScoreCreationType} + * @memberof ScoreDetails + */ + 'creationType'?: ScoreCreationType | null; + /** + * + * @type {ScoreLicense} + * @memberof ScoreDetails + */ + 'license'?: ScoreLicense | null; + /** + * Additional license text written on the exported/printed score + * @type {string} + * @memberof ScoreDetails + */ + 'licenseText'?: string; + /** + * In seconds, an approximative duration of the score + * @type {number} + * @memberof ScoreDetails + */ + 'durationTime'?: number; + /** + * The number of measures in the score + * @type {number} + * @memberof ScoreDetails + */ + 'numberMeasures'?: number; + /** + * The main tempo of the score (in QPM) + * @type {number} + * @memberof ScoreDetails + */ + 'mainTempoQpm'?: number; + /** + * The main key signature of the score (expressed between -7 and 7). + * @type {number} + * @memberof ScoreDetails + */ + 'mainKeySignature'?: number; + /** + * + * @type {ResourceRights} + * @memberof ScoreDetails + */ + 'rights'?: ResourceRights; + /** + * The list of the collaborators of the score + * @type {Array} + * @memberof ScoreDetails + */ + 'collaborators'?: Array; + /** + * The date when the score was created + * @type {string} + * @memberof ScoreDetails + */ + 'creationDate'?: string; + /** + * The date of the last revision of the score + * @type {string} + * @memberof ScoreDetails + */ + 'modificationDate'?: string; + /** + * The date when the score was published on Flat + * @type {string} + * @memberof ScoreDetails + */ + 'publicationDate'?: string; + /** + * The date when the score was highlighted (featured) on our community + * @type {string} + * @memberof ScoreDetails + */ + 'highlightedDate'?: string; + /** + * If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`. + * @type {string} + * @memberof ScoreDetails + */ + 'organization'?: string; + /** + * If the score has been forked, the unique identifier of the parent score. + * @type {string} + * @memberof ScoreDetails + */ + 'parentScore'?: string; + /** + * An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat\'s UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. + * @type {Array} + * @memberof ScoreDetails + */ + 'instruments'?: Array; + /** + * An array of the audio samples identifiers used the different score parts. The format of the strings is `{instrument-group}.{sample-id}`. + * @type {Array} + * @memberof ScoreDetails + */ + 'samples'?: Array; + /** + * If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}` + * @type {string} + * @memberof ScoreDetails + */ + 'googleDriveFileId'?: string; + /** + * + * @type {ScoreLikesCounts} + * @memberof ScoreDetails + */ + 'likes'?: ScoreLikesCounts; + /** + * + * @type {ScoreCommentsCounts} + * @memberof ScoreDetails + */ + 'comments'?: ScoreCommentsCounts; + /** + * + * @type {ScoreViewsCounts} + * @memberof ScoreDetails + */ + 'views'?: ScoreViewsCounts; + /** + * + * @type {ScorePlaysCounts} + * @memberof ScoreDetails + */ + 'plays'?: ScorePlaysCounts; + /** + * The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them. + * @type {Array} + * @memberof ScoreDetails + */ + 'collections'?: Array; +} + + +/** + * Options to fork the score + * @export + * @interface ScoreFork + */ +export interface ScoreFork { + /** + * Unique identifier of a collection where the score will be copied. If no collection identifier is provided, the score will be stored in the `root` directory. If null is provided, the score won\'t be added to any collections + * @type {string} + * @memberof ScoreFork + */ + 'collection'?: string | null; + /** + * If set to `true`, the API won\'t create the score on Google Drive + * @type {boolean} + * @memberof ScoreFork + */ + 'googleDriveDisabled'?: boolean; + /** + * Option to keep the original title of the score (i.e. don\'t prepend it with \"Copy of \", or add the student name in assignment usage). + * @type {boolean} + * @memberof ScoreFork + */ + 'keepOriginalTitle'?: boolean; +} +/** + * License of the creation. Read more about the Creative Commons licenses on https://creativecommons.org/licenses/ + * @export + * @enum {string} + */ + +export const ScoreLicense = { + Copyright: 'copyright', + Cc0: 'cc0', + CcBy: 'cc-by', + CcBySa: 'cc-by-sa', + CcByNd: 'cc-by-nd', + CcByNc: 'cc-by-nc', + CcByNcSa: 'cc-by-nc-sa', + CcByNcNd: 'cc-by-nc-nd', + Null: 'null' +} as const; + +export type ScoreLicense = typeof ScoreLicense[keyof typeof ScoreLicense]; + + +/** + * A computed version of the weekly, monthly and total of number of likes for a score + * @export + * @interface ScoreLikesCounts + */ +export interface ScoreLikesCounts { + /** + * The total number of likes of the score + * @type {number} + * @memberof ScoreLikesCounts + */ + 'total': number; + /** + * The number of new likes during the last week + * @type {number} + * @memberof ScoreLikesCounts + */ + 'weekly': number; + /** + * The number of new likes during the last month + * @type {number} + * @memberof ScoreLikesCounts + */ + 'monthly': number; +} +/** + * Edit the score metadata + * @export + * @interface ScoreModification + */ +export interface ScoreModification { + /** + * The title of the score + * @type {string} + * @memberof ScoreModification + */ + 'title'?: string; + /** + * The subtitle of the score + * @type {string} + * @memberof ScoreModification + */ + 'subtitle'?: string | null; + /** + * The composer of the score + * @type {string} + * @memberof ScoreModification + */ + 'composer'?: string | null; + /** + * The lyricist of the score + * @type {string} + * @memberof ScoreModification + */ + 'lyricist'?: string | null; + /** + * The arranger of the score + * @type {string} + * @memberof ScoreModification + */ + 'arranger'?: string | null; + /** + * + * @type {ScorePrivacy} + * @memberof ScoreModification + */ + 'privacy'?: ScorePrivacy; + /** + * When using the `privacy` mode `privateLink`, this property can be used to set a custom sharing key, otherwise a new key will be generated. + * @type {string} + * @memberof ScoreModification + */ + 'sharingKey'?: string; + /** + * Description of the creation + * @type {string} + * @memberof ScoreModification + */ + 'description'?: string | null; + /** + * Tags describing the score + * @type {Array} + * @memberof ScoreModification + */ + 'tags'?: Array; + /** + * + * @type {ScoreCreationType} + * @memberof ScoreModification + */ + 'creationType'?: ScoreCreationType | null; + /** + * + * @type {ScoreLicense} + * @memberof ScoreModification + */ + 'license'?: ScoreLicense | null; + /** + * The rights info written on the score + * @type {string} + * @memberof ScoreModification + */ + 'licenseText'?: string | null; +} + + +/** + * A computed version of the total, weekly, and monthly number of plays of the score + * @export + * @interface ScorePlaysCounts + */ +export interface ScorePlaysCounts { + /** + * The total number of plays of the score + * @type {number} + * @memberof ScorePlaysCounts + */ + 'total'?: number; + /** + * The weekly number of plays of the score + * @type {number} + * @memberof ScorePlaysCounts + */ + 'weekly'?: number; + /** + * The monthly number of plays of the score + * @type {number} + * @memberof ScorePlaysCounts + */ + 'monthly'?: number; +} +/** + * The score main privacy mode. - `public`: The score is public on the Internet. This one can be accessible at the url `https://flat.io/score/{score}` and can be modified and administred by specified collaborators users. - `private`: The score is private and can be only accessed, modified and administred by specified collaborators users. - `privateLink`: The score is private but can be accessed using a private link `htmlUrl` or the private key in the property `sharingKey`. - `organizationPublic`: _Available only with [Flat for Education](https://flat.io/edu)._ The score is public in the organization: users of the same organization can access to this one. The score can be modified and administred by specified collaborators users. The score can also be individually shared to a set of users or groups using the different collaborators API methods. When a file is synchronized from an external source (e.g. Google Drive) and the sharing options are changed on the source, Flat will chose the best privacy mode for the file. When using a [Flat for Education](https://flat.io/edu) account, some of the modes may not be available if disabled by an administrator of the organization (e.g. by default the `public` mode is not available). + * @export + * @enum {string} + */ + +export const ScorePrivacy = { + Public: 'public', + Private: 'private', + OrganizationPublic: 'organizationPublic', + PrivateLink: 'privateLink' +} as const; + +export type ScorePrivacy = typeof ScorePrivacy[keyof typeof ScorePrivacy]; + + +/** + * A score revision metadata + * @export + * @interface ScoreRevision + */ +export interface ScoreRevision { + /** + * The unique identifier of the revision. + * @type {string} + * @memberof ScoreRevision + */ + 'id'?: string; + /** + * The user identifier who created the revision + * @type {string} + * @memberof ScoreRevision + */ + 'user'?: string; + /** + * + * @type {Array} + * @memberof ScoreRevision + */ + 'collaborators'?: Array; + /** + * The date when this revision was created + * @type {string} + * @memberof ScoreRevision + */ + 'creationDate'?: string; + /** + * The last event (action id) of the revision + * @type {string} + * @memberof ScoreRevision + */ + 'event'?: string; + /** + * A description associated to the revision + * @type {string} + * @memberof ScoreRevision + */ + 'description'?: string; + /** + * True if this revision was automatically generated by Flat and not on purpose by the user. + * @type {boolean} + * @memberof ScoreRevision + */ + 'autosave'?: boolean; + /** + * + * @type {ScoreRevisionStatistics} + * @memberof ScoreRevision + */ + 'statistics'?: ScoreRevisionStatistics; +} +/** + * A new created revision + * @export + * @interface ScoreRevisionCreation + */ +export interface ScoreRevisionCreation { + /** + * The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request. + * @type {string} + * @memberof ScoreRevisionCreation + */ + 'data': string; + /** + * The optional encoding of the score data. This property must match the encoding used for the `data` property. + * @type {string} + * @memberof ScoreRevisionCreation + */ + 'dataEncoding'?: ScoreRevisionCreationDataEncodingEnum; + /** + * Must be set to `true` if the revision was created automatically. + * @type {boolean} + * @memberof ScoreRevisionCreation + */ + 'autosave'?: boolean; + /** + * A description associated to the revision + * @type {string} + * @memberof ScoreRevisionCreation + */ + 'description'?: string; +} + +export const ScoreRevisionCreationDataEncodingEnum = { + Base64: 'base64' +} as const; + +export type ScoreRevisionCreationDataEncodingEnum = typeof ScoreRevisionCreationDataEncodingEnum[keyof typeof ScoreRevisionCreationDataEncodingEnum]; + +/** + * The statistics related to the score revision (additions and deletions) + * @export + * @interface ScoreRevisionStatistics + */ +export interface ScoreRevisionStatistics { + /** + * The number of additions operations in the last revision + * @type {number} + * @memberof ScoreRevisionStatistics + */ + 'additions'?: number; + /** + * The number of deletions operations in the last revision + * @type {number} + * @memberof ScoreRevisionStatistics + */ + 'deletions'?: number; + /** + * The date of the first action included in this revision + * @type {string} + * @memberof ScoreRevisionStatistics + */ + 'startDate'?: string; + /** + * The date of the latest action included in this revision + * @type {string} + * @memberof ScoreRevisionStatistics + */ + 'endDate'?: string; +} +/** + * + * @export + * @interface ScoreSource + */ +export interface ScoreSource { + /** + * If the score is a file on Google Drive, this field property must contain its identifier. To use this method, the Drive file must be public or the Flat Drive App must have access to the file. + * @type {string} + * @memberof ScoreSource + */ + 'googleDrive'?: string; +} +/** + * An audio track for a score + * @export + * @interface ScoreTrack + */ +export interface ScoreTrack { + /** + * The unique identifier of the score track + * @type {string} + * @memberof ScoreTrack + */ + 'id': string; + /** + * Title of the track + * @type {string} + * @memberof ScoreTrack + */ + 'title'?: string; + /** + * The unique identifier of the score + * @type {string} + * @memberof ScoreTrack + */ + 'score': string; + /** + * The unique identifier of the track creator + * @type {string} + * @memberof ScoreTrack + */ + 'creator': string; + /** + * The creation date of the track + * @type {string} + * @memberof ScoreTrack + */ + 'creationDate': string; + /** + * The modification date of the track + * @type {string} + * @memberof ScoreTrack + */ + 'modificationDate': string; + /** + * True if the track should be used as default audio source + * @type {boolean} + * @memberof ScoreTrack + */ + 'default': boolean; + /** + * + * @type {ScoreTrackState} + * @memberof ScoreTrack + */ + 'state': ScoreTrackState; + /** + * + * @type {ScoreTrackType} + * @memberof ScoreTrack + */ + 'type': ScoreTrackType; + /** + * + * @type {ScoreTrackPurpose} + * @memberof ScoreTrack + */ + 'purpose': ScoreTrackPurpose; + /** + * The URL of the track + * @type {string} + * @memberof ScoreTrack + */ + 'url'?: string; + /** + * The unique identifier of the track when hosted on an external service. For example, if the url is `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, `mediaId` will be `dQw4w9WgXcQ` + * @type {string} + * @memberof ScoreTrack + */ + 'mediaId'?: string; + /** + * + * @type {Array} + * @memberof ScoreTrack + */ + 'synchronizationPoints'?: Array; +} + + +/** + * Creation of a new track. This one must contain the URL of the track or the corresponding file + * @export + * @interface ScoreTrackCreation + */ +export interface ScoreTrackCreation { + /** + * Title of the track + * @type {string} + * @memberof ScoreTrackCreation + */ + 'title'?: string; + /** + * True if the track should be used as default audio source + * @type {boolean} + * @memberof ScoreTrackCreation + */ + 'default'?: boolean; + /** + * + * @type {ScoreTrackState} + * @memberof ScoreTrackCreation + */ + 'state'?: ScoreTrackState; + /** + * + * @type {ScoreTrackPurpose} + * @memberof ScoreTrackCreation + */ + 'purpose'?: ScoreTrackPurpose; + /** + * The URL of the track + * @type {string} + * @memberof ScoreTrackCreation + */ + 'url'?: string; + /** + * + * @type {Array} + * @memberof ScoreTrackCreation + */ + 'synchronizationPoints'?: Array; +} + + +/** + * A track synchronization point + * @export + * @interface ScoreTrackPoint + */ +export interface ScoreTrackPoint { + /** + * The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` + * @type {string} + * @memberof ScoreTrackPoint + */ + 'type': ScoreTrackPointTypeEnum; + /** + * The measure unique identifier + * @type {string} + * @memberof ScoreTrackPoint + */ + 'measureUuid'?: string; + /** + * The corresponding time in seconds + * @type {number} + * @memberof ScoreTrackPoint + */ + 'time': number; +} + +export const ScoreTrackPointTypeEnum = { + Measure: 'measure', + End: 'end' +} as const; + +export type ScoreTrackPointTypeEnum = typeof ScoreTrackPointTypeEnum[keyof typeof ScoreTrackPointTypeEnum]; + +/** + * The purpose of the audio track + * @export + * @enum {string} + */ + +export const ScoreTrackPurpose = { + Common: 'common', + PerformanceSubmission: 'performanceSubmission' +} as const; + +export type ScoreTrackPurpose = typeof ScoreTrackPurpose[keyof typeof ScoreTrackPurpose]; + + +/** + * State of the track + * @export + * @enum {string} + */ + +export const ScoreTrackState = { + Draft: 'draft', + Completed: 'completed', + Deleted: 'deleted' +} as const; + +export type ScoreTrackState = typeof ScoreTrackState[keyof typeof ScoreTrackState]; + + +/** + * The type of an audio track + * @export + * @enum {string} + */ + +export const ScoreTrackType = { + Audio: 'audio', + Soundcloud: 'soundcloud', + Youtube: 'youtube', + Vimeo: 'vimeo' +} as const; + +export type ScoreTrackType = typeof ScoreTrackType[keyof typeof ScoreTrackType]; + + +/** + * Update an existing track. + * @export + * @interface ScoreTrackUpdate + */ +export interface ScoreTrackUpdate { + /** + * Title of the track + * @type {string} + * @memberof ScoreTrackUpdate + */ + 'title'?: string; + /** + * True if the track should be used as default audio source + * @type {boolean} + * @memberof ScoreTrackUpdate + */ + 'default'?: boolean; + /** + * + * @type {ScoreTrackState} + * @memberof ScoreTrackUpdate + */ + 'state'?: ScoreTrackState; + /** + * + * @type {Array} + * @memberof ScoreTrackUpdate + */ + 'synchronizationPoints'?: Array; +} + + +/** + * A computed version of the total, weekly, and monthly number of views of the score + * @export + * @interface ScoreViewsCounts + */ +export interface ScoreViewsCounts { + /** + * The total number of views of the score + * @type {number} + * @memberof ScoreViewsCounts + */ + 'total'?: number; + /** + * The weekly number of views of the score + * @type {number} + * @memberof ScoreViewsCounts + */ + 'weekly'?: number; + /** + * The monthly number of views of the score + * @type {number} + * @memberof ScoreViewsCounts + */ + 'monthly'?: number; +} +/** + * An asynchronous task + * @export + * @interface Task + */ +export interface Task { + /** + * Unique identifier of the task + * @type {string} + * @memberof Task + */ + 'id': string; + /** + * Type of the task (e.g. audio-export) + * @type {string} + * @memberof Task + */ + 'type'?: string; + /** + * State of the Task + * @type {string} + * @memberof Task + */ + 'state': TaskStateEnum; + /** + * For files processing, the file format (e.g. `mp3`, `wav`) + * @type {string} + * @memberof Task + */ + 'format'?: string; + /** + * The score unique identifier for tasks related to scores + * @type {string} + * @memberof Task + */ + 'score'?: string; + /** + * + * @type {TaskProgress} + * @memberof Task + */ + 'progress'?: TaskProgress; + /** + * The creation date of the task + * @type {string} + * @memberof Task + */ + 'creationDate'?: string; + /** + * The last modification date of the task + * @type {string} + * @memberof Task + */ + 'modificationDate'?: string; + /** + * The date when the task has been completed + * @type {string} + * @memberof Task + */ + 'doneDate'?: string; + /** + * + * @type {TaskResult} + * @memberof Task + */ + 'result'?: TaskResult; + /** + * If any errors happened when processing this task, the list of errors identifiers + * @type {Array} + * @memberof Task + */ + 'errorHistory'?: Array; +} + +export const TaskStateEnum = { + Created: 'created', + Doing: 'doing', + Done: 'done', + Canceled: 'canceled', + Error: 'error' +} as const; + +export type TaskStateEnum = typeof TaskStateEnum[keyof typeof TaskStateEnum]; + +/** + * Options for the requested export + * @export + * @interface TaskExportOptions + */ +export interface TaskExportOptions { + /** + * A list of parts to specifically export + * @type {Array} + * @memberof TaskExportOptions + */ + 'parts'?: Array; +} +/** + * Details about the task progression + * @export + * @interface TaskProgress + */ +export interface TaskProgress { + /** + * Percent of the task progression + * @type {number} + * @memberof TaskProgress + */ + 'percent'?: number; + /** + * Text details of the task progress + * @type {string} + * @memberof TaskProgress + */ + 'text'?: string; +} +/** + * Optional result information about this task + * @export + * @interface TaskResult + */ +export interface TaskResult { + /** + * URL returned by the task worker + * @type {string} + * @memberof TaskResult + */ + 'url'?: string; + /** + * Error returned by task worker + * @type {string} + * @memberof TaskResult + */ + 'error'?: string; +} +/** + * The Tutteo product used by the user account + * @export + * @enum {string} + */ + +export const TutteoProduct = { + Flat: 'flat', + FlatEdu: 'flatEdu', + Msnippet: 'msnippet', + Embed: 'embed' +} as const; + +export type TutteoProduct = typeof TutteoProduct[keyof typeof TutteoProduct]; + + +/** + * User update as an organization admin + * @export + * @interface UserAdminUpdate + */ +export interface UserAdminUpdate { + /** + * Password of the account + * @type {string} + * @memberof UserAdminUpdate + */ + 'password'?: string; + /** + * + * @type {OrganizationRoles} + * @memberof UserAdminUpdate + */ + 'organizationRole'?: OrganizationRoles; + /** + * Username of the account + * @type {string} + * @memberof UserAdminUpdate + */ + 'username'?: string; + /** + * First name of the user + * @type {string} + * @memberof UserAdminUpdate + */ + 'firstname'?: string; + /** + * Last name of the user + * @type {string} + * @memberof UserAdminUpdate + */ + 'lastname'?: string; + /** + * Email of the account + * @type {string} + * @memberof UserAdminUpdate + */ + 'email'?: string; +} + + +/** + * + * @export + * @interface UserAzureDetails + */ +export interface UserAzureDetails { + /** + * User object identifier on Azure AD + * @type {string} + * @memberof UserAzureDetails + */ + 'oid'?: string; + /** + * User tenant (domain name) + * @type {string} + * @memberof UserAzureDetails + */ + 'hd'?: string; + /** + * User Preferred Username (UPN), i.e. the main email of the user + * @type {string} + * @memberof UserAzureDetails + */ + 'preferredUsername'?: string; +} +/** + * Social networks links + * @export + * @interface UserCommunityProfileLinks + */ +export interface UserCommunityProfileLinks { + /** + * Spotify Profile URL + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'spotifyUrl'?: string | null; + /** + * YouTube channel URL + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'youtubeUrl'?: string | null; + /** + * SoundCloud Profile URL + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'soundcloudUrl'?: string | null; + /** + * TikTok profile URL. For updates, also accepts TikTok usernames + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'tiktokUrl'?: string | null; + /** + * Instagram profile URL. For updates, also accepts Instagram usernames + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'instagramUrl'?: string | null; + /** + * Personnal website URL + * @type {string} + * @memberof UserCommunityProfileLinks + */ + 'websiteUrl'?: string | null; +} +/** + * User creation + * @export + * @interface UserCreation + */ +export interface UserCreation { + /** + * Username of the new account + * @type {string} + * @memberof UserCreation + */ + 'username': string; + /** + * First name of the user + * @type {string} + * @memberof UserCreation + */ + 'firstname'?: string; + /** + * Last name of the user + * @type {string} + * @memberof UserCreation + */ + 'lastname'?: string; + /** + * Email of the new account + * @type {string} + * @memberof UserCreation + */ + 'email'?: string; + /** + * Password of the new account + * @type {string} + * @memberof UserCreation + */ + 'password': string; + /** + * + * @type {FlatLocales} + * @memberof UserCreation + */ + 'locale'?: FlatLocales; + /** + * Role of the new account + * @type {string} + * @memberof UserCreation + */ + 'role'?: UserCreationRoleEnum; +} + +export const UserCreationRoleEnum = { + User: 'user', + Teacher: 'teacher', + Admin: 'admin' +} as const; + +export type UserCreationRoleEnum = typeof UserCreationRoleEnum[keyof typeof UserCreationRoleEnum]; + +/** + * + * @export + * @interface UserDetails + */ +export interface UserDetails { + /** + * The user unique identifier + * @type {string} + * @memberof UserDetails + */ + 'id': string; + /** + * The type of user account + * @type {string} + * @memberof UserDetails + */ + 'type': UserDetailsTypeEnum; + /** + * + * @type {TutteoProduct} + * @memberof UserDetails + */ + 'product': TutteoProduct; + /** + * The user name (unique for the organization) + * @type {string} + * @memberof UserDetails + */ + 'username': string; + /** + * The name that can be directly printed (name, firstname & lastname, or username) + * @type {string} + * @memberof UserDetails + */ + 'printableName'?: string; + /** + * Firstname of the user (for education users) + * @type {string} + * @memberof UserDetails + */ + 'firstname'?: string; + /** + * Lastname of the user (for education users) + * @type {string} + * @memberof UserDetails + */ + 'lastname'?: string; + /** + * A displayable name for the user (for consumer users) + * @type {string} + * @memberof UserDetails + */ + 'name'?: string; + /** + * The URL of the picture to display + * @type {string} + * @memberof UserDetails + */ + 'picture': string | null; + /** + * List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge` + * @type {Array} + * @memberof UserDetails + */ + 'badges'?: Array; + /** + * Organization ID (for Edu users only) + * @type {string} + * @memberof UserDetails + */ + 'organization'?: string; + /** + * + * @type {OrganizationRoles} + * @memberof UserDetails + */ + 'organizationRole'?: OrganizationRoles; + /** + * + * @type {ClassRoles} + * @memberof UserDetails + */ + 'classRole'?: ClassRoles; + /** + * Link to user profile (for Indiv. users only) + * @type {string} + * @memberof UserDetails + */ + 'htmlUrl'?: string; + /** + * User\'s biography + * @type {string} + * @memberof UserDetails + */ + 'bio'?: string; + /** + * Date the user signed up + * @type {string} + * @memberof UserDetails + */ + 'registrationDate'?: string; + /** + * Number of the scores liked by the user + * @type {number} + * @memberof UserDetails + */ + 'likedScoresCount'?: number; + /** + * Number of followers the user have + * @type {number} + * @memberof UserDetails + */ + 'followersCount'?: number; + /** + * Number of people the user follow + * @type {number} + * @memberof UserDetails + */ + 'followingCount'?: number; + /** + * Number of public scores the user have + * @type {number} + * @memberof UserDetails + */ + 'ownedPublicScoresCount'?: number; + /** + * Cover picture (backgroud) for the profile + * @type {string} + * @memberof UserDetails + */ + 'coverPicture'?: string | null; + /** + * Theme (background) for the profile + * @type {string} + * @memberof UserDetails + */ + 'profileTheme'?: string; + /** + * An array of the instrument identifiers. The format of the strings is `{instrument-group}.{instrument-id}`. + * @type {Array} + * @memberof UserDetails + */ + 'instruments'?: Array; + /** + * + * @type {UserCommunityProfileLinks} + * @memberof UserDetails + */ + 'links'?: UserCommunityProfileLinks; + /** + * + * @type {UserAzureDetails} + * @memberof UserDetails + */ + 'azureDetails'?: UserAzureDetails; + /** + * Tell either this user profile is private or not (individual accounts only) + * @type {boolean} + * @memberof UserDetails + */ + 'privateProfile'?: boolean; + /** + * + * @type {FlatLocales} + * @memberof UserDetails + */ + 'locale'?: FlatLocales; + /** + * For Flat for Education accounts, list of Group identifiers the user is part of. + * @type {Array} + * @memberof UserDetails + */ + 'groups'?: Array; + /** + * The ID of the user profile picture + * @type {string} + * @memberof UserDetails + */ + 'pictureFile'?: string | null; + /** + * The ID of the user profile cover picture + * @type {string} + * @memberof UserDetails + */ + 'coverPictureFile'?: string | null; +} + +export const UserDetailsTypeEnum = { + User: 'user', + Guest: 'guest' +} as const; + +export type UserDetailsTypeEnum = typeof UserDetailsTypeEnum[keyof typeof UserDetailsTypeEnum]; + +/** + * + * @export + * @interface UserDetailsAdmin + */ +export interface UserDetailsAdmin { + /** + * The user unique identifier + * @type {string} + * @memberof UserDetailsAdmin + */ + 'id': string; + /** + * The type of user account + * @type {string} + * @memberof UserDetailsAdmin + */ + 'type': UserDetailsAdminTypeEnum; + /** + * + * @type {TutteoProduct} + * @memberof UserDetailsAdmin + */ + 'product': TutteoProduct; + /** + * The user name (unique for the organization) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'username': string; + /** + * The name that can be directly printed (name, firstname & lastname, or username) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'printableName'?: string; + /** + * Firstname of the user (for education users) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'firstname'?: string; + /** + * Lastname of the user (for education users) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'lastname'?: string; + /** + * A displayable name for the user (for consumer users) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'name'?: string; + /** + * The URL of the picture to display + * @type {string} + * @memberof UserDetailsAdmin + */ + 'picture': string | null; + /** + * List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge` + * @type {Array} + * @memberof UserDetailsAdmin + */ + 'badges'?: Array; + /** + * Organization ID (for Edu users only) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'organization'?: string; + /** + * + * @type {OrganizationRoles} + * @memberof UserDetailsAdmin + */ + 'organizationRole'?: OrganizationRoles; + /** + * + * @type {ClassRoles} + * @memberof UserDetailsAdmin + */ + 'classRole'?: ClassRoles; + /** + * Link to user profile (for Indiv. users only) + * @type {string} + * @memberof UserDetailsAdmin + */ + 'htmlUrl'?: string; + /** + * Email of the user + * @type {string} + * @memberof UserDetailsAdmin + */ + 'email'?: string; + /** + * Date of the last user activity + * @type {string} + * @memberof UserDetailsAdmin + */ + 'lastActivityDate'?: string; + /** + * + * @type {UserDetailsAdminLicense} + * @memberof UserDetailsAdmin + */ + 'license'?: UserDetailsAdminLicense; + /** + * For Flat for Education accounts, list of Group identifiers the user is part of. + * @type {Array} + * @memberof UserDetailsAdmin + */ + 'groups'?: Array; +} + +export const UserDetailsAdminTypeEnum = { + User: 'user', + Guest: 'guest' +} as const; + +export type UserDetailsAdminTypeEnum = typeof UserDetailsAdminTypeEnum[keyof typeof UserDetailsAdminTypeEnum]; + +/** + * Current active license of the user + * @export + * @interface UserDetailsAdminLicense + */ +export interface UserDetailsAdminLicense { + /** + * ID of the current license + * @type {string} + * @memberof UserDetailsAdminLicense + */ + 'id'?: string; + /** + * Date when the license expires + * @type {string} + * @memberof UserDetailsAdminLicense + */ + 'expirationDate'?: string; + /** + * + * @type {LicenseSources} + * @memberof UserDetailsAdminLicense + */ + 'source'?: LicenseSources; + /** + * + * @type {LicenseMode} + * @memberof UserDetailsAdminLicense + */ + 'mode'?: LicenseMode; + /** + * ID of the current license + * @type {boolean} + * @memberof UserDetailsAdminLicense + */ + 'active'?: boolean; +} + + +/** + * + * @export + * @interface UserPublic + */ +export interface UserPublic { + /** + * The user unique identifier + * @type {string} + * @memberof UserPublic + */ + 'id': string; + /** + * The type of user account + * @type {string} + * @memberof UserPublic + */ + 'type': UserPublicTypeEnum; + /** + * + * @type {TutteoProduct} + * @memberof UserPublic + */ + 'product': TutteoProduct; + /** + * The user name (unique for the organization) + * @type {string} + * @memberof UserPublic + */ + 'username': string; + /** + * The name that can be directly printed (name, firstname & lastname, or username) + * @type {string} + * @memberof UserPublic + */ + 'printableName'?: string; + /** + * Firstname of the user (for education users) + * @type {string} + * @memberof UserPublic + */ + 'firstname'?: string; + /** + * Lastname of the user (for education users) + * @type {string} + * @memberof UserPublic + */ + 'lastname'?: string; + /** + * A displayable name for the user (for consumer users) + * @type {string} + * @memberof UserPublic + */ + 'name'?: string; + /** + * The URL of the picture to display + * @type {string} + * @memberof UserPublic + */ + 'picture': string | null; + /** + * List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge` + * @type {Array} + * @memberof UserPublic + */ + 'badges'?: Array; + /** + * Organization ID (for Edu users only) + * @type {string} + * @memberof UserPublic + */ + 'organization'?: string; + /** + * + * @type {OrganizationRoles} + * @memberof UserPublic + */ + 'organizationRole'?: OrganizationRoles; + /** + * + * @type {ClassRoles} + * @memberof UserPublic + */ + 'classRole'?: ClassRoles; + /** + * Link to user profile (for Indiv. users only) + * @type {string} + * @memberof UserPublic + */ + 'htmlUrl'?: string; + /** + * User\'s biography + * @type {string} + * @memberof UserPublic + */ + 'bio'?: string; + /** + * Date the user signed up + * @type {string} + * @memberof UserPublic + */ + 'registrationDate'?: string; + /** + * Number of the scores liked by the user + * @type {number} + * @memberof UserPublic + */ + 'likedScoresCount'?: number; + /** + * Number of followers the user have + * @type {number} + * @memberof UserPublic + */ + 'followersCount'?: number; + /** + * Number of people the user follow + * @type {number} + * @memberof UserPublic + */ + 'followingCount'?: number; + /** + * Number of public scores the user have + * @type {number} + * @memberof UserPublic + */ + 'ownedPublicScoresCount'?: number; + /** + * Cover picture (backgroud) for the profile + * @type {string} + * @memberof UserPublic + */ + 'coverPicture'?: string | null; + /** + * Theme (background) for the profile + * @type {string} + * @memberof UserPublic + */ + 'profileTheme'?: string; + /** + * An array of the instrument identifiers. The format of the strings is `{instrument-group}.{instrument-id}`. + * @type {Array} + * @memberof UserPublic + */ + 'instruments'?: Array; + /** + * + * @type {UserCommunityProfileLinks} + * @memberof UserPublic + */ + 'links'?: UserCommunityProfileLinks; +} + +export const UserPublicTypeEnum = { + User: 'user', + Guest: 'guest' +} as const; + +export type UserPublicTypeEnum = typeof UserPublicTypeEnum[keyof typeof UserPublicTypeEnum]; + +/** + * + * @export + * @interface UserPublicSummary + */ +export interface UserPublicSummary { + /** + * The user unique identifier + * @type {string} + * @memberof UserPublicSummary + */ + 'id': string; + /** + * The type of user account + * @type {string} + * @memberof UserPublicSummary + */ + 'type': UserPublicSummaryTypeEnum; + /** + * + * @type {TutteoProduct} + * @memberof UserPublicSummary + */ + 'product': TutteoProduct; + /** + * The user name (unique for the organization) + * @type {string} + * @memberof UserPublicSummary + */ + 'username': string; + /** + * The name that can be directly printed (name, firstname & lastname, or username) + * @type {string} + * @memberof UserPublicSummary + */ + 'printableName'?: string; + /** + * Firstname of the user (for education users) + * @type {string} + * @memberof UserPublicSummary + */ + 'firstname'?: string; + /** + * Lastname of the user (for education users) + * @type {string} + * @memberof UserPublicSummary + */ + 'lastname'?: string; + /** + * A displayable name for the user (for consumer users) + * @type {string} + * @memberof UserPublicSummary + */ + 'name'?: string; + /** + * The URL of the picture to display + * @type {string} + * @memberof UserPublicSummary + */ + 'picture': string | null; + /** + * List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge` + * @type {Array} + * @memberof UserPublicSummary + */ + 'badges'?: Array; + /** + * Organization ID (for Edu users only) + * @type {string} + * @memberof UserPublicSummary + */ + 'organization'?: string; + /** + * + * @type {OrganizationRoles} + * @memberof UserPublicSummary + */ + 'organizationRole'?: OrganizationRoles; + /** + * + * @type {ClassRoles} + * @memberof UserPublicSummary + */ + 'classRole'?: ClassRoles; + /** + * Link to user profile (for Indiv. users only) + * @type {string} + * @memberof UserPublicSummary + */ + 'htmlUrl'?: string; +} + +export const UserPublicSummaryTypeEnum = { + User: 'user', + Guest: 'guest' +} as const; + +export type UserPublicSummaryTypeEnum = typeof UserPublicSummaryTypeEnum[keyof typeof UserPublicSummaryTypeEnum]; + +/** + * + * @export + * @interface UserSigninLink + */ +export interface UserSigninLink { + /** + * URL to use to sign in to this account + * @type {string} + * @memberof UserSigninLink + */ + 'url'?: string; + /** + * Date when the link expires + * @type {string} + * @memberof UserSigninLink + */ + 'expirationDate'?: string; +} +/** + * + * @export + * @interface UserSigninLinkCreation + */ +export interface UserSigninLinkCreation { + /** + * Path to redirect to after signin + * @type {string} + * @memberof UserSigninLinkCreation + */ + 'destinationPath'?: string; +} + +/** + * AccountApi - axios parameter creator + * @export + */ +export const AccountApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Get details about the current authenticated User. + * @summary Get current user account + * @param {boolean} [onlyId] Only return the user id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getAuthenticatedUser: async (onlyId?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/me`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["account.public_profile", "account.education_profile"], configuration) + + if (onlyId !== undefined) { + localVarQueryParameter['onlyId'] = onlyId; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AccountApi - functional programming interface + * @export + */ +export const AccountApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AccountApiAxiosParamCreator(configuration) + return { + /** + * Get details about the current authenticated User. + * @summary Get current user account + * @param {boolean} [onlyId] Only return the user id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getAuthenticatedUser(onlyId?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getAuthenticatedUser(onlyId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AccountApi.getAuthenticatedUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * AccountApi - factory interface + * @export + */ +export const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AccountApiFp(configuration) + return { + /** + * Get details about the current authenticated User. + * @summary Get current user account + * @param {boolean} [onlyId] Only return the user id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getAuthenticatedUser(onlyId?: boolean, options?: any): AxiosPromise { + return localVarFp.getAuthenticatedUser(onlyId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AccountApi - object-oriented interface + * @export + * @class AccountApi + * @extends {BaseAPI} + */ +export class AccountApi extends BaseAPI { + /** + * Get details about the current authenticated User. + * @summary Get current user account + * @param {boolean} [onlyId] Only return the user id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public getAuthenticatedUser(onlyId?: boolean, options?: RawAxiosRequestConfig) { + return AccountApiFp(this.configuration).getAuthenticatedUser(onlyId, options).then((request) => request(this.axios, this.basePath)); + } +} + + + +/** + * ClassApi - axios parameter creator + * @export + */ +export const ClassApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. + * @summary Activate the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + activateClass: async (_class: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('activateClass', '_class', _class) + const localVarPath = `/classes/{class}/activate` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. + * @summary Add a user to the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addClassUser: async (_class: string, user: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('addClassUser', '_class', _class) + // verify required parameter 'user' is not null or undefined + assertParamExists('addClassUser', 'user', user) + const localVarPath = `/classes/{class}/users/{user}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Archive the assignment + * @summary Archive the assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + archiveAssignment: async (_class: string, assignment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('archiveAssignment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('archiveAssignment', 'assignment', assignment) + const localVarPath = `/classes/{class}/assignments/{assignment}/archive` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Archive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + archiveClass: async (_class: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('archiveClass', '_class', _class) + const localVarPath = `/classes/{class}/archive` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Copy an assignment to a specified class or the resource library For class assignments: - If the original assignment has a due date in the past, this new assignment will be created without a due date. - If the class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. + * @summary Copy an assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentCopy} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyAssignment: async (_class: string, assignment: string, body: AssignmentCopy, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('copyAssignment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('copyAssignment', 'assignment', assignment) + // verify required parameter 'body' is not null or undefined + assertParamExists('copyAssignment', 'body', body) + const localVarPath = `/classes/{class}/assignments/{assignment}/copy` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `PUT /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. + * @summary Create a new class + * @param {ClassCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createClass: async (body: ClassCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createClass', 'body', body) + const localVarPath = `/classes`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. + * @summary Assignment creation + * @param {string} _class Unique identifier of the class + * @param {ClassAssignmentUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createClassAssignment: async (_class: string, body: ClassAssignmentUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('createClassAssignment', '_class', _class) + // verify required parameter 'body' is not null or undefined + assertParamExists('createClassAssignment', 'body', body) + const localVarPath = `/classes/{class}/assignments` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. + * @summary Create or edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createSubmission: async (_class: string, assignment: string, body: AssignmentSubmissionUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('createSubmission', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('createSubmission', 'assignment', assignment) + // verify required parameter 'body' is not null or undefined + assertParamExists('createSubmission', 'body', body) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Test students account can be created by teachers an admin and be used to experiment the assignments. - They are automatically added to the class. - They can be reset using this API endpoint (a new account will be created and the previous one scheduled for deletion). - These accounts don\'t use a user license. + * @summary Create a test student account + * @param {string} _class Unique identifier of the class + * @param {boolean} [reset] If true, the testing account will be re-created. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createTestStudentAccount: async (_class: string, reset?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('createTestStudentAccount', '_class', _class) + const localVarPath = `/classes/{class}/testStudent` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.classes"], configuration) + + if (reset !== undefined) { + localVarQueryParameter['reset'] = reset; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. + * @summary Remove a user from the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteClassUser: async (_class: string, user: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('deleteClassUser', '_class', _class) + // verify required parameter 'user' is not null or undefined + assertParamExists('deleteClassUser', 'user', user) + const localVarPath = `/classes/{class}/users/{user}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method as a teacher to reset a submission and allow student to start over the assignment + * @summary Reset a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSubmission: async (_class: string, assignment: string, submission: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('deleteSubmission', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('deleteSubmission', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('deleteSubmission', 'submission', submission) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSubmissionComment: async (_class: string, assignment: string, submission: string, comment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('deleteSubmissionComment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('deleteSubmissionComment', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('deleteSubmissionComment', 'submission', submission) + // verify required parameter 'comment' is not null or undefined + assertParamExists('deleteSubmissionComment', 'comment', comment) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}/comments/{comment}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `return`, `draftGrade` and `grade` + * @summary Edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editSubmission: async (_class: string, assignment: string, submission: string, body: AssignmentSubmissionUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('editSubmission', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('editSubmission', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('editSubmission', 'submission', submission) + // verify required parameter 'body' is not null or undefined + assertParamExists('editSubmission', 'body', body) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. + * @summary Join a class + * @param {string} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + enrollClass: async (enrollmentCode: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'enrollmentCode' is not null or undefined + assertParamExists('enrollClass', 'enrollmentCode', enrollmentCode) + const localVarPath = `/classes/enroll/{enrollmentCode}` + .replace(`{${"enrollmentCode"}}`, encodeURIComponent(String(enrollmentCode))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Export list of submissions grades to a CSV file + * @summary CSV Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + exportSubmissionsReviewsAsCsv: async (_class: string, assignment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('exportSubmissionsReviewsAsCsv', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('exportSubmissionsReviewsAsCsv', 'assignment', assignment) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/csv` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Export list of submissions grades to an Excel file + * @summary Excel Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + exportSubmissionsReviewsAsExcel: async (_class: string, assignment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('exportSubmissionsReviewsAsExcel', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('exportSubmissionsReviewsAsExcel', 'assignment', assignment) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/excel` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the details of a single class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getClass: async (_class: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('getClass', '_class', _class) + const localVarPath = `/classes/{class}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreSubmissions: async (score: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreSubmissions', 'score', score) + const localVarPath = `/scores/{score}/submissions` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get a student submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmission: async (_class: string, assignment: string, submission: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('getSubmission', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('getSubmission', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('getSubmission', 'submission', submission) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the feedback comments of a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissionComments: async (_class: string, assignment: string, submission: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('getSubmissionComments', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('getSubmissionComments', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('getSubmissionComments', 'submission', submission) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}/comments` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * For teachers only. Returns a detailed history of the submission. This currently includes state and grade histories. + * @summary Get the history of the submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissionHistory: async (_class: string, assignment: string, submission: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('getSubmissionHistory', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('getSubmissionHistory', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('getSubmissionHistory', 'submission', submission) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}/history` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the students\' submissions + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissions: async (_class: string, assignment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('getSubmissions', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('getSubmissions', 'assignment', assignment) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Assignments listing + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listAssignments: async (_class: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('listAssignments', '_class', _class) + const localVarPath = `/classes/{class}/assignments` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method as a teacher to list all the assignment submissions sent by a student of the class + * @summary List the submissions for a student + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listClassStudentSubmissions: async (_class: string, user: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('listClassStudentSubmissions', '_class', _class) + // verify required parameter 'user' is not null or undefined + assertParamExists('listClassStudentSubmissions', 'user', user) + const localVarPath = `/classes/{class}/students/{user}/submissions` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the classes available for the current user + * @param {ListClassesStateEnum} [state] Filter the classes by state + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listClasses: async (state?: ListClassesStateEnum, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/classes`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.classes.readonly"], configuration) + + if (state !== undefined) { + localVarQueryParameter['state'] = state; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Add a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + postSubmissionComment: async (_class: string, assignment: string, submission: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('postSubmissionComment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('postSubmissionComment', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('postSubmissionComment', 'submission', submission) + // verify required parameter 'assignmentSubmissionCommentCreation' is not null or undefined + assertParamExists('postSubmissionComment', 'assignmentSubmissionCommentCreation', assignmentSubmissionCommentCreation) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}/comments` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(assignmentSubmissionCommentCreation, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Mark the assignment as `active`. + * @summary Unarchive the assignment. + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + unarchiveAssignment: async (_class: string, assignment: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('unarchiveAssignment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('unarchiveAssignment', 'assignment', assignment) + const localVarPath = `/classes/{class}/assignments/{assignment}/archive` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Unarchive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + unarchiveClass: async (_class: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('unarchiveClass', '_class', _class) + const localVarPath = `/classes/{class}/archive` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Update the meta information of the class + * @summary Update the class + * @param {string} _class Unique identifier of the class + * @param {ClassUpdate} body Details of the Class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateClass: async (_class: string, body: ClassUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('updateClass', '_class', _class) + // verify required parameter 'body' is not null or undefined + assertParamExists('updateClass', 'body', body) + const localVarPath = `/classes/{class}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.classes"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateSubmissionComment: async (_class: string, assignment: string, submission: string, comment: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter '_class' is not null or undefined + assertParamExists('updateSubmissionComment', '_class', _class) + // verify required parameter 'assignment' is not null or undefined + assertParamExists('updateSubmissionComment', 'assignment', assignment) + // verify required parameter 'submission' is not null or undefined + assertParamExists('updateSubmissionComment', 'submission', submission) + // verify required parameter 'comment' is not null or undefined + assertParamExists('updateSubmissionComment', 'comment', comment) + // verify required parameter 'assignmentSubmissionCommentCreation' is not null or undefined + assertParamExists('updateSubmissionComment', 'assignmentSubmissionCommentCreation', assignmentSubmissionCommentCreation) + const localVarPath = `/classes/{class}/assignments/{assignment}/submissions/{submission}/comments/{comment}` + .replace(`{${"class"}}`, encodeURIComponent(String(_class))) + .replace(`{${"assignment"}}`, encodeURIComponent(String(assignment))) + .replace(`{${"submission"}}`, encodeURIComponent(String(submission))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(assignmentSubmissionCommentCreation, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ClassApi - functional programming interface + * @export + */ +export const ClassApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ClassApiAxiosParamCreator(configuration) + return { + /** + * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. + * @summary Activate the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async activateClass(_class: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.activateClass(_class, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.activateClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. + * @summary Add a user to the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async addClassUser(_class: string, user: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.addClassUser(_class, user, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.addClassUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Archive the assignment + * @summary Archive the assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async archiveAssignment(_class: string, assignment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.archiveAssignment(_class, assignment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.archiveAssignment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Archive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async archiveClass(_class: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.archiveClass(_class, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.archiveClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Copy an assignment to a specified class or the resource library For class assignments: - If the original assignment has a due date in the past, this new assignment will be created without a due date. - If the class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. + * @summary Copy an assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentCopy} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async copyAssignment(_class: string, assignment: string, body: AssignmentCopy, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.copyAssignment(_class, assignment, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.copyAssignment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `PUT /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. + * @summary Create a new class + * @param {ClassCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createClass(body: ClassCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createClass(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.createClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. + * @summary Assignment creation + * @param {string} _class Unique identifier of the class + * @param {ClassAssignmentUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createClassAssignment(_class: string, body: ClassAssignmentUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createClassAssignment(_class, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.createClassAssignment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. + * @summary Create or edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createSubmission(_class: string, assignment: string, body: AssignmentSubmissionUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createSubmission(_class, assignment, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.createSubmission']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Test students account can be created by teachers an admin and be used to experiment the assignments. - They are automatically added to the class. - They can be reset using this API endpoint (a new account will be created and the previous one scheduled for deletion). - These accounts don\'t use a user license. + * @summary Create a test student account + * @param {string} _class Unique identifier of the class + * @param {boolean} [reset] If true, the testing account will be re-created. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createTestStudentAccount(_class: string, reset?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createTestStudentAccount(_class, reset, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.createTestStudentAccount']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. + * @summary Remove a user from the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteClassUser(_class: string, user: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteClassUser(_class, user, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.deleteClassUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method as a teacher to reset a submission and allow student to start over the assignment + * @summary Reset a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteSubmission(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSubmission(_class, assignment, submission, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.deleteSubmission']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Delete a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteSubmissionComment(_class: string, assignment: string, submission: string, comment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSubmissionComment(_class, assignment, submission, comment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.deleteSubmissionComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `return`, `draftGrade` and `grade` + * @summary Edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async editSubmission(_class: string, assignment: string, submission: string, body: AssignmentSubmissionUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.editSubmission(_class, assignment, submission, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.editSubmission']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. + * @summary Join a class + * @param {string} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async enrollClass(enrollmentCode: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.enrollClass(enrollmentCode, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.enrollClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Export list of submissions grades to a CSV file + * @summary CSV Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async exportSubmissionsReviewsAsCsv(_class: string, assignment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.exportSubmissionsReviewsAsCsv(_class, assignment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.exportSubmissionsReviewsAsCsv']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Export list of submissions grades to an Excel file + * @summary Excel Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async exportSubmissionsReviewsAsExcel(_class: string, assignment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.exportSubmissionsReviewsAsExcel(_class, assignment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.exportSubmissionsReviewsAsExcel']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get the details of a single class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getClass(_class: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getClass(_class, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreSubmissions(score: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreSubmissions(score, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getScoreSubmissions']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get a student submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSubmission(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSubmission(_class, assignment, submission, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getSubmission']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the feedback comments of a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSubmissionComments(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSubmissionComments(_class, assignment, submission, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getSubmissionComments']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * For teachers only. Returns a detailed history of the submission. This currently includes state and grade histories. + * @summary Get the history of the submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSubmissionHistory(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSubmissionHistory(_class, assignment, submission, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getSubmissionHistory']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the students\' submissions + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSubmissions(_class: string, assignment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSubmissions(_class, assignment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.getSubmissions']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Assignments listing + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listAssignments(_class: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listAssignments(_class, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.listAssignments']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method as a teacher to list all the assignment submissions sent by a student of the class + * @summary List the submissions for a student + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listClassStudentSubmissions(_class: string, user: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listClassStudentSubmissions(_class, user, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.listClassStudentSubmissions']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the classes available for the current user + * @param {ListClassesStateEnum} [state] Filter the classes by state + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listClasses(state?: ListClassesStateEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listClasses(state, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.listClasses']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Add a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async postSubmissionComment(_class: string, assignment: string, submission: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.postSubmissionComment(_class, assignment, submission, assignmentSubmissionCommentCreation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.postSubmissionComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Mark the assignment as `active`. + * @summary Unarchive the assignment. + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async unarchiveAssignment(_class: string, assignment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.unarchiveAssignment(_class, assignment, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.unarchiveAssignment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Unarchive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async unarchiveClass(_class: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.unarchiveClass(_class, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.unarchiveClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Update the meta information of the class + * @summary Update the class + * @param {string} _class Unique identifier of the class + * @param {ClassUpdate} body Details of the Class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateClass(_class: string, body: ClassUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateClass(_class, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.updateClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateSubmissionComment(_class: string, assignment: string, submission: string, comment: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateSubmissionComment(_class, assignment, submission, comment, assignmentSubmissionCommentCreation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ClassApi.updateSubmissionComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * ClassApi - factory interface + * @export + */ +export const ClassApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ClassApiFp(configuration) + return { + /** + * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. + * @summary Activate the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + activateClass(_class: string, options?: any): AxiosPromise { + return localVarFp.activateClass(_class, options).then((request) => request(axios, basePath)); + }, + /** + * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. + * @summary Add a user to the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addClassUser(_class: string, user: string, options?: any): AxiosPromise { + return localVarFp.addClassUser(_class, user, options).then((request) => request(axios, basePath)); + }, + /** + * Archive the assignment + * @summary Archive the assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + archiveAssignment(_class: string, assignment: string, options?: any): AxiosPromise { + return localVarFp.archiveAssignment(_class, assignment, options).then((request) => request(axios, basePath)); + }, + /** + * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Archive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + archiveClass(_class: string, options?: any): AxiosPromise { + return localVarFp.archiveClass(_class, options).then((request) => request(axios, basePath)); + }, + /** + * Copy an assignment to a specified class or the resource library For class assignments: - If the original assignment has a due date in the past, this new assignment will be created without a due date. - If the class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. + * @summary Copy an assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentCopy} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyAssignment(_class: string, assignment: string, body: AssignmentCopy, options?: any): AxiosPromise { + return localVarFp.copyAssignment(_class, assignment, body, options).then((request) => request(axios, basePath)); + }, + /** + * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `PUT /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. + * @summary Create a new class + * @param {ClassCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createClass(body: ClassCreation, options?: any): AxiosPromise { + return localVarFp.createClass(body, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. + * @summary Assignment creation + * @param {string} _class Unique identifier of the class + * @param {ClassAssignmentUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createClassAssignment(_class: string, body: ClassAssignmentUpdate, options?: any): AxiosPromise { + return localVarFp.createClassAssignment(_class, body, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. + * @summary Create or edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createSubmission(_class: string, assignment: string, body: AssignmentSubmissionUpdate, options?: any): AxiosPromise { + return localVarFp.createSubmission(_class, assignment, body, options).then((request) => request(axios, basePath)); + }, + /** + * Test students account can be created by teachers an admin and be used to experiment the assignments. - They are automatically added to the class. - They can be reset using this API endpoint (a new account will be created and the previous one scheduled for deletion). - These accounts don\'t use a user license. + * @summary Create a test student account + * @param {string} _class Unique identifier of the class + * @param {boolean} [reset] If true, the testing account will be re-created. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createTestStudentAccount(_class: string, reset?: boolean, options?: any): AxiosPromise { + return localVarFp.createTestStudentAccount(_class, reset, options).then((request) => request(axios, basePath)); + }, + /** + * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. + * @summary Remove a user from the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteClassUser(_class: string, user: string, options?: any): AxiosPromise { + return localVarFp.deleteClassUser(_class, user, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method as a teacher to reset a submission and allow student to start over the assignment + * @summary Reset a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSubmission(_class: string, assignment: string, submission: string, options?: any): AxiosPromise { + return localVarFp.deleteSubmission(_class, assignment, submission, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteSubmissionComment(_class: string, assignment: string, submission: string, comment: string, options?: any): AxiosPromise { + return localVarFp.deleteSubmissionComment(_class, assignment, submission, comment, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `return`, `draftGrade` and `grade` + * @summary Edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editSubmission(_class: string, assignment: string, submission: string, body: AssignmentSubmissionUpdate, options?: any): AxiosPromise { + return localVarFp.editSubmission(_class, assignment, submission, body, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. + * @summary Join a class + * @param {string} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + enrollClass(enrollmentCode: string, options?: any): AxiosPromise { + return localVarFp.enrollClass(enrollmentCode, options).then((request) => request(axios, basePath)); + }, + /** + * Export list of submissions grades to a CSV file + * @summary CSV Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + exportSubmissionsReviewsAsCsv(_class: string, assignment: string, options?: any): AxiosPromise { + return localVarFp.exportSubmissionsReviewsAsCsv(_class, assignment, options).then((request) => request(axios, basePath)); + }, + /** + * Export list of submissions grades to an Excel file + * @summary Excel Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + exportSubmissionsReviewsAsExcel(_class: string, assignment: string, options?: any): AxiosPromise { + return localVarFp.exportSubmissionsReviewsAsExcel(_class, assignment, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the details of a single class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getClass(_class: string, options?: any): AxiosPromise { + return localVarFp.getClass(_class, options).then((request) => request(axios, basePath)); + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreSubmissions(score: string, options?: any): AxiosPromise> { + return localVarFp.getScoreSubmissions(score, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get a student submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmission(_class: string, assignment: string, submission: string, options?: any): AxiosPromise { + return localVarFp.getSubmission(_class, assignment, submission, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the feedback comments of a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissionComments(_class: string, assignment: string, submission: string, options?: any): AxiosPromise> { + return localVarFp.getSubmissionComments(_class, assignment, submission, options).then((request) => request(axios, basePath)); + }, + /** + * For teachers only. Returns a detailed history of the submission. This currently includes state and grade histories. + * @summary Get the history of the submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissionHistory(_class: string, assignment: string, submission: string, options?: any): AxiosPromise> { + return localVarFp.getSubmissionHistory(_class, assignment, submission, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the students\' submissions + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubmissions(_class: string, assignment: string, options?: any): AxiosPromise> { + return localVarFp.getSubmissions(_class, assignment, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Assignments listing + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listAssignments(_class: string, options?: any): AxiosPromise> { + return localVarFp.listAssignments(_class, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method as a teacher to list all the assignment submissions sent by a student of the class + * @summary List the submissions for a student + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listClassStudentSubmissions(_class: string, user: string, options?: any): AxiosPromise> { + return localVarFp.listClassStudentSubmissions(_class, user, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the classes available for the current user + * @param {ListClassesStateEnum} [state] Filter the classes by state + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listClasses(state?: ListClassesStateEnum, options?: any): AxiosPromise> { + return localVarFp.listClasses(state, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Add a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + postSubmissionComment(_class: string, assignment: string, submission: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: any): AxiosPromise { + return localVarFp.postSubmissionComment(_class, assignment, submission, assignmentSubmissionCommentCreation, options).then((request) => request(axios, basePath)); + }, + /** + * Mark the assignment as `active`. + * @summary Unarchive the assignment. + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + unarchiveAssignment(_class: string, assignment: string, options?: any): AxiosPromise { + return localVarFp.unarchiveAssignment(_class, assignment, options).then((request) => request(axios, basePath)); + }, + /** + * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Unarchive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + unarchiveClass(_class: string, options?: any): AxiosPromise { + return localVarFp.unarchiveClass(_class, options).then((request) => request(axios, basePath)); + }, + /** + * Update the meta information of the class + * @summary Update the class + * @param {string} _class Unique identifier of the class + * @param {ClassUpdate} body Details of the Class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateClass(_class: string, body: ClassUpdate, options?: any): AxiosPromise { + return localVarFp.updateClass(_class, body, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateSubmissionComment(_class: string, assignment: string, submission: string, comment: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: any): AxiosPromise { + return localVarFp.updateSubmissionComment(_class, assignment, submission, comment, assignmentSubmissionCommentCreation, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ClassApi - object-oriented interface + * @export + * @class ClassApi + * @extends {BaseAPI} + */ +export class ClassApi extends BaseAPI { + /** + * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. + * @summary Activate the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public activateClass(_class: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).activateClass(_class, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. + * @summary Add a user to the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public addClassUser(_class: string, user: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).addClassUser(_class, user, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Archive the assignment + * @summary Archive the assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public archiveAssignment(_class: string, assignment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).archiveAssignment(_class, assignment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Archive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public archiveClass(_class: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).archiveClass(_class, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Copy an assignment to a specified class or the resource library For class assignments: - If the original assignment has a due date in the past, this new assignment will be created without a due date. - If the class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. + * @summary Copy an assignment + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentCopy} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public copyAssignment(_class: string, assignment: string, body: AssignmentCopy, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).copyAssignment(_class, assignment, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `PUT /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. + * @summary Create a new class + * @param {ClassCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public createClass(body: ClassCreation, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).createClass(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. + * @summary Assignment creation + * @param {string} _class Unique identifier of the class + * @param {ClassAssignmentUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public createClassAssignment(_class: string, body: ClassAssignmentUpdate, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).createClassAssignment(_class, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. + * @summary Create or edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public createSubmission(_class: string, assignment: string, body: AssignmentSubmissionUpdate, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).createSubmission(_class, assignment, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Test students account can be created by teachers an admin and be used to experiment the assignments. - They are automatically added to the class. - They can be reset using this API endpoint (a new account will be created and the previous one scheduled for deletion). - These accounts don\'t use a user license. + * @summary Create a test student account + * @param {string} _class Unique identifier of the class + * @param {boolean} [reset] If true, the testing account will be re-created. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public createTestStudentAccount(_class: string, reset?: boolean, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).createTestStudentAccount(_class, reset, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. + * @summary Remove a user from the class + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public deleteClassUser(_class: string, user: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).deleteClassUser(_class, user, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method as a teacher to reset a submission and allow student to start over the assignment + * @summary Reset a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public deleteSubmission(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).deleteSubmission(_class, assignment, submission, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public deleteSubmissionComment(_class: string, assignment: string, submission: string, comment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).deleteSubmissionComment(_class, assignment, submission, comment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `return`, `draftGrade` and `grade` + * @summary Edit a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public editSubmission(_class: string, assignment: string, submission: string, body: AssignmentSubmissionUpdate, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).editSubmission(_class, assignment, submission, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. + * @summary Join a class + * @param {string} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public enrollClass(enrollmentCode: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).enrollClass(enrollmentCode, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Export list of submissions grades to a CSV file + * @summary CSV Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public exportSubmissionsReviewsAsCsv(_class: string, assignment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).exportSubmissionsReviewsAsCsv(_class, assignment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Export list of submissions grades to an Excel file + * @summary Excel Grades exports + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public exportSubmissionsReviewsAsExcel(_class: string, assignment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).exportSubmissionsReviewsAsExcel(_class, assignment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the details of a single class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getClass(_class: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getClass(_class, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getScoreSubmissions(score: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getScoreSubmissions(score, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get a student submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getSubmission(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getSubmission(_class, assignment, submission, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the feedback comments of a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getSubmissionComments(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getSubmissionComments(_class, assignment, submission, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * For teachers only. Returns a detailed history of the submission. This currently includes state and grade histories. + * @summary Get the history of the submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getSubmissionHistory(_class: string, assignment: string, submission: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getSubmissionHistory(_class, assignment, submission, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the students\' submissions + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public getSubmissions(_class: string, assignment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).getSubmissions(_class, assignment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Assignments listing + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public listAssignments(_class: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).listAssignments(_class, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method as a teacher to list all the assignment submissions sent by a student of the class + * @summary List the submissions for a student + * @param {string} _class Unique identifier of the class + * @param {string} user Unique identifier of the user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public listClassStudentSubmissions(_class: string, user: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).listClassStudentSubmissions(_class, user, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the classes available for the current user + * @param {ListClassesStateEnum} [state] Filter the classes by state + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public listClasses(state?: ListClassesStateEnum, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).listClasses(state, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Add a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public postSubmissionComment(_class: string, assignment: string, submission: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).postSubmissionComment(_class, assignment, submission, assignmentSubmissionCommentCreation, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Mark the assignment as `active`. + * @summary Unarchive the assignment. + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public unarchiveAssignment(_class: string, assignment: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).unarchiveAssignment(_class, assignment, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. + * @summary Unarchive the class + * @param {string} _class Unique identifier of the class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public unarchiveClass(_class: string, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).unarchiveClass(_class, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Update the meta information of the class + * @summary Update the class + * @param {string} _class Unique identifier of the class + * @param {ClassUpdate} body Details of the Class + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public updateClass(_class: string, body: ClassUpdate, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).updateClass(_class, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update a feedback comment to a submission + * @param {string} _class Unique identifier of the class + * @param {string} assignment Unique identifier of the assignment + * @param {string} submission Unique identifier of the submission + * @param {string} comment Unique identifier of the comment + * @param {AssignmentSubmissionCommentCreation} assignmentSubmissionCommentCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ClassApi + */ + public updateSubmissionComment(_class: string, assignment: string, submission: string, comment: string, assignmentSubmissionCommentCreation: AssignmentSubmissionCommentCreation, options?: RawAxiosRequestConfig) { + return ClassApiFp(this.configuration).updateSubmissionComment(_class, assignment, submission, comment, assignmentSubmissionCommentCreation, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const ListClassesStateEnum = { + Active: 'active', + Inactive: 'inactive', + Archived: 'archived' +} as const; +export type ListClassesStateEnum = typeof ListClassesStateEnum[keyof typeof ListClassesStateEnum]; + + +/** + * CollectionApi - axios parameter creator + * @export + */ +export const CollectionApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. + * @summary Add a score to the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreToCollection: async (collection: string, score: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('addScoreToCollection', 'collection', collection) + // verify required parameter 'score' is not null or undefined + assertParamExists('addScoreToCollection', 'score', score) + const localVarPath = `/collections/{collection}/scores/{score}` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))) + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections", "collections.add_scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method will create a new collection and add it to your `root` collection. + * @summary Create a new collection + * @param {CollectionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createCollection: async (body: CollectionCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createCollection', 'body', body) + const localVarPath = `/collections`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. + * @summary Delete the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteCollection: async (collection: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('deleteCollection', 'collection', collection) + const localVarPath = `/collections/{collection}` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. + * @summary Delete a score from the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreFromCollection: async (collection: string, score: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('deleteScoreFromCollection', 'collection', collection) + // verify required parameter 'score' is not null or undefined + assertParamExists('deleteScoreFromCollection', 'score', score) + const localVarPath = `/collections/{collection}/scores/{score}` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))) + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update a collection\'s metadata + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {CollectionModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editCollection: async (collection: string, body: CollectionModification, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('editCollection', 'collection', collection) + // verify required parameter 'body' is not null or undefined + assertParamExists('editCollection', 'body', body) + const localVarPath = `/collections/{collection}` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get collection details + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getCollection: async (collection: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('getCollection', 'collection', collection) + const localVarPath = `/collections/{collection}` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections", "collections.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. For example, to list the scores contained in your app collection, you can use `GET /v2/collections/app/scores`. + * @summary List the scores contained in a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {ListCollectionScoresSortEnum} [sort] Sort + * @param {ListCollectionScoresDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listCollectionScores: async (collection: string, sharingKey?: string, sort?: ListCollectionScoresSortEnum, direction?: ListCollectionScoresDirectionEnum, limit?: number, next?: string, previous?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('listCollectionScores', 'collection', collection) + const localVarPath = `/collections/{collection}/scores` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + if (sort !== undefined) { + localVarQueryParameter['sort'] = sort; + } + + if (direction !== undefined) { + localVarQueryParameter['direction'] = direction; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method to list the user\'s collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. To fetch your app collection details, you can use `GET /v2/collections/app`. + * @summary List the collections + * @param {string} [parent] List the collection contained in this `parent` collection. This option doesn\'t provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. + * @param {ListCollectionsSortEnum} [sort] Sort + * @param {ListCollectionsDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listCollections: async (parent?: string, sort?: ListCollectionsSortEnum, direction?: ListCollectionsDirectionEnum, limit?: number, next?: string, previous?: string, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/collections`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections", "collections.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + if (sort !== undefined) { + localVarQueryParameter['sort'] = sort; + } + + if (direction !== undefined) { + localVarQueryParameter['direction'] = direction; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. + * @summary Untrash a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + untrashCollection: async (collection: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'collection' is not null or undefined + assertParamExists('untrashCollection', 'collection', collection) + const localVarPath = `/collections/{collection}/untrash` + .replace(`{${"collection"}}`, encodeURIComponent(String(collection))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["collections"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * CollectionApi - functional programming interface + * @export + */ +export const CollectionApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = CollectionApiAxiosParamCreator(configuration) + return { + /** + * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. + * @summary Add a score to the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async addScoreToCollection(collection: string, score: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.addScoreToCollection(collection, score, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.addScoreToCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method will create a new collection and add it to your `root` collection. + * @summary Create a new collection + * @param {CollectionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createCollection(body: CollectionCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createCollection(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.createCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. + * @summary Delete the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteCollection(collection: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCollection(collection, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.deleteCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. + * @summary Delete a score from the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteScoreFromCollection(collection: string, score: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScoreFromCollection(collection, score, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.deleteScoreFromCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update a collection\'s metadata + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {CollectionModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async editCollection(collection: string, body: CollectionModification, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.editCollection(collection, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.editCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get collection details + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getCollection(collection: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getCollection(collection, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.getCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. For example, to list the scores contained in your app collection, you can use `GET /v2/collections/app/scores`. + * @summary List the scores contained in a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {ListCollectionScoresSortEnum} [sort] Sort + * @param {ListCollectionScoresDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listCollectionScores(collection: string, sharingKey?: string, sort?: ListCollectionScoresSortEnum, direction?: ListCollectionScoresDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listCollectionScores(collection, sharingKey, sort, direction, limit, next, previous, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.listCollectionScores']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method to list the user\'s collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. To fetch your app collection details, you can use `GET /v2/collections/app`. + * @summary List the collections + * @param {string} [parent] List the collection contained in this `parent` collection. This option doesn\'t provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. + * @param {ListCollectionsSortEnum} [sort] Sort + * @param {ListCollectionsDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listCollections(parent?: string, sort?: ListCollectionsSortEnum, direction?: ListCollectionsDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listCollections(parent, sort, direction, limit, next, previous, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.listCollections']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. + * @summary Untrash a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async untrashCollection(collection: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.untrashCollection(collection, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['CollectionApi.untrashCollection']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * CollectionApi - factory interface + * @export + */ +export const CollectionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = CollectionApiFp(configuration) + return { + /** + * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. + * @summary Add a score to the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreToCollection(collection: string, score: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.addScoreToCollection(collection, score, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * This method will create a new collection and add it to your `root` collection. + * @summary Create a new collection + * @param {CollectionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createCollection(body: CollectionCreation, options?: any): AxiosPromise { + return localVarFp.createCollection(body, options).then((request) => request(axios, basePath)); + }, + /** + * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. + * @summary Delete the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteCollection(collection: string, options?: any): AxiosPromise { + return localVarFp.deleteCollection(collection, options).then((request) => request(axios, basePath)); + }, + /** + * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. + * @summary Delete a score from the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreFromCollection(collection: string, score: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.deleteScoreFromCollection(collection, score, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update a collection\'s metadata + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {CollectionModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editCollection(collection: string, body: CollectionModification, options?: any): AxiosPromise { + return localVarFp.editCollection(collection, body, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get collection details + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getCollection(collection: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.getCollection(collection, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. For example, to list the scores contained in your app collection, you can use `GET /v2/collections/app/scores`. + * @summary List the scores contained in a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {ListCollectionScoresSortEnum} [sort] Sort + * @param {ListCollectionScoresDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listCollectionScores(collection: string, sharingKey?: string, sort?: ListCollectionScoresSortEnum, direction?: ListCollectionScoresDirectionEnum, limit?: number, next?: string, previous?: string, options?: any): AxiosPromise> { + return localVarFp.listCollectionScores(collection, sharingKey, sort, direction, limit, next, previous, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method to list the user\'s collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. To fetch your app collection details, you can use `GET /v2/collections/app`. + * @summary List the collections + * @param {string} [parent] List the collection contained in this `parent` collection. This option doesn\'t provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. + * @param {ListCollectionsSortEnum} [sort] Sort + * @param {ListCollectionsDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listCollections(parent?: string, sort?: ListCollectionsSortEnum, direction?: ListCollectionsDirectionEnum, limit?: number, next?: string, previous?: string, options?: any): AxiosPromise> { + return localVarFp.listCollections(parent, sort, direction, limit, next, previous, options).then((request) => request(axios, basePath)); + }, + /** + * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. + * @summary Untrash a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + untrashCollection(collection: string, options?: any): AxiosPromise { + return localVarFp.untrashCollection(collection, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * CollectionApi - object-oriented interface + * @export + * @class CollectionApi + * @extends {BaseAPI} + */ +export class CollectionApi extends BaseAPI { + /** + * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. + * @summary Add a score to the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public addScoreToCollection(collection: string, score: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).addScoreToCollection(collection, score, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method will create a new collection and add it to your `root` collection. + * @summary Create a new collection + * @param {CollectionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public createCollection(body: CollectionCreation, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).createCollection(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. + * @summary Delete the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public deleteCollection(collection: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).deleteCollection(collection, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. + * @summary Delete a score from the collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public deleteScoreFromCollection(collection: string, score: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).deleteScoreFromCollection(collection, score, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update a collection\'s metadata + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {CollectionModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public editCollection(collection: string, body: CollectionModification, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).editCollection(collection, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get collection details + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public getCollection(collection: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).getCollection(collection, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. For example, to list the scores contained in your app collection, you can use `GET /v2/collections/app/scores`. + * @summary List the scores contained in a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {ListCollectionScoresSortEnum} [sort] Sort + * @param {ListCollectionScoresDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public listCollectionScores(collection: string, sharingKey?: string, sort?: ListCollectionScoresSortEnum, direction?: ListCollectionScoresDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).listCollectionScores(collection, sharingKey, sort, direction, limit, next, previous, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method to list the user\'s collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. To fetch your app collection details, you can use `GET /v2/collections/app`. + * @summary List the collections + * @param {string} [parent] List the collection contained in this `parent` collection. This option doesn\'t provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. + * @param {ListCollectionsSortEnum} [sort] Sort + * @param {ListCollectionsDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public listCollections(parent?: string, sort?: ListCollectionsSortEnum, direction?: ListCollectionsDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).listCollections(parent, sort, direction, limit, next, previous, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. + * @summary Untrash a collection + * @param {string} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `app`: Alias for the current app collection - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollectionApi + */ + public untrashCollection(collection: string, options?: RawAxiosRequestConfig) { + return CollectionApiFp(this.configuration).untrashCollection(collection, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const ListCollectionScoresSortEnum = { + CreationDate: 'creationDate', + ModificationDate: 'modificationDate', + Title: 'title' +} as const; +export type ListCollectionScoresSortEnum = typeof ListCollectionScoresSortEnum[keyof typeof ListCollectionScoresSortEnum]; +/** + * @export + */ +export const ListCollectionScoresDirectionEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type ListCollectionScoresDirectionEnum = typeof ListCollectionScoresDirectionEnum[keyof typeof ListCollectionScoresDirectionEnum]; +/** + * @export + */ +export const ListCollectionsSortEnum = { + CreationDate: 'creationDate', + Title: 'title' +} as const; +export type ListCollectionsSortEnum = typeof ListCollectionsSortEnum[keyof typeof ListCollectionsSortEnum]; +/** + * @export + */ +export const ListCollectionsDirectionEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type ListCollectionsDirectionEnum = typeof ListCollectionsDirectionEnum[keyof typeof ListCollectionsDirectionEnum]; + + +/** + * EduResourcesApi - axios parameter creator + * @export + */ +export const EduResourcesApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Copy an education resource to a Resource Library + * @param {string} resource Unique identifier of the resource + * @param {EduResourceCopy} eduResourceCopy + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyEduResource: async (resource: string, eduResourceCopy: EduResourceCopy, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('copyEduResource', 'resource', resource) + // verify required parameter 'eduResourceCopy' is not null or undefined + assertParamExists('copyEduResource', 'eduResourceCopy', eduResourceCopy) + const localVarPath = `/eduResources/{resource}/copy` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(eduResourceCopy, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Once a resource library can be published to a class (`Assignment.capabilities.canPublishInClass = true`), this endpoint can be used for the feature \"View as student\". It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use `POST /classes/{class}/testStudent` to create a testing student account in the demo class. + * @summary Copy an education assignment to a teacher demo class + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyEduResourceToDemoClass: async (resource: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('copyEduResourceToDemoClass', 'resource', resource) + const localVarPath = `/eduResources/{resource}/copyToDemoClass` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a new education resource + * @param {EduResourceCreation} eduResourceCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createEduResource: async (eduResourceCreation: EduResourceCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'eduResourceCreation' is not null or undefined + assertParamExists('createEduResource', 'eduResourceCreation', eduResourceCreation) + const localVarPath = `/eduResources`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(eduResourceCreation, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class. + * @summary Create an LTI link for an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createEduResourceLtiLink: async (resource: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('createEduResourceLtiLink', 'resource', resource) + const localVarPath = `/eduResources/{resource}/createLtiLink` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteEduResource: async (resource: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('deleteEduResource', 'resource', resource) + const localVarPath = `/eduResources/{resource}` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getEduResource: async (resource: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('getEduResource', 'resource', resource) + const localVarPath = `/eduResources/{resource}` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.resources.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the education libraries + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listEduLibraries: async (options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/eduResources/libraries`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.resources.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List education resources in a library or folder + * @param {string} [parent] List the resources contained in this `parent` library or folder + * @param {ListEduResourcesTypeEnum} [type] Filter the returned resources by type + * @param {ListEduResourcesSortEnum} [sort] Sort + * @param {ListEduResourcesDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of resources that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listEduResources: async (parent?: string, type?: ListEduResourcesTypeEnum, sort?: ListEduResourcesSortEnum, direction?: ListEduResourcesDirectionEnum, limit?: number, next?: string, previous?: string, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/eduResources`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.resources.readonly", "edu.assignments", "edu.assignments.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + if (type !== undefined) { + localVarQueryParameter['type'] = type; + } + + if (sort !== undefined) { + localVarQueryParameter['sort'] = sort; + } + + if (direction !== undefined) { + localVarQueryParameter['direction'] = direction; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move an education resource + * @param {string} resource Unique identifier of the resource + * @param {EduResourceMove} eduResourceMove + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + moveEduResource: async (resource: string, eduResourceMove: EduResourceMove, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('moveEduResource', 'resource', resource) + // verify required parameter 'eduResourceMove' is not null or undefined + assertParamExists('moveEduResource', 'eduResourceMove', eduResourceMove) + const localVarPath = `/eduResources/{resource}/move` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(eduResourceMove, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments. + * @summary Update an education resource metadata + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUpdate} eduResourceUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateEduResource: async (resource: string, eduResourceUpdate: EduResourceUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('updateEduResource', 'resource', resource) + // verify required parameter 'eduResourceUpdate' is not null or undefined + assertParamExists('updateEduResource', 'eduResourceUpdate', eduResourceUpdate) + const localVarPath = `/eduResources/{resource}` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(eduResourceUpdate, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update an education resource assignment + * @param {string} resource Unique identifier of the resource + * @param {AssignmentUpdate} assignmentUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateEduResourceAssignment: async (resource: string, assignmentUpdate: AssignmentUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('updateEduResourceAssignment', 'resource', resource) + // verify required parameter 'assignmentUpdate' is not null or undefined + assertParamExists('updateEduResourceAssignment', 'assignmentUpdate', assignmentUpdate) + const localVarPath = `/eduResources/{resource}/assignment` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(assignmentUpdate, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.). + * @summary Use an education resource in a class + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUseInClass} eduResourceUseInClass + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + useEduResourceInClass: async (resource: string, eduResourceUseInClass: EduResourceUseInClass, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'resource' is not null or undefined + assertParamExists('useEduResourceInClass', 'resource', resource) + // verify required parameter 'eduResourceUseInClass' is not null or undefined + assertParamExists('useEduResourceInClass', 'eduResourceUseInClass', eduResourceUseInClass) + const localVarPath = `/eduResources/{resource}/useInClass` + .replace(`{${"resource"}}`, encodeURIComponent(String(resource))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.resources", "edu.assignments"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(eduResourceUseInClass, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * EduResourcesApi - functional programming interface + * @export + */ +export const EduResourcesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = EduResourcesApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Copy an education resource to a Resource Library + * @param {string} resource Unique identifier of the resource + * @param {EduResourceCopy} eduResourceCopy + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async copyEduResource(resource: string, eduResourceCopy: EduResourceCopy, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.copyEduResource(resource, eduResourceCopy, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.copyEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Once a resource library can be published to a class (`Assignment.capabilities.canPublishInClass = true`), this endpoint can be used for the feature \"View as student\". It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use `POST /classes/{class}/testStudent` to create a testing student account in the demo class. + * @summary Copy an education assignment to a teacher demo class + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async copyEduResourceToDemoClass(resource: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.copyEduResourceToDemoClass(resource, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.copyEduResourceToDemoClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Create a new education resource + * @param {EduResourceCreation} eduResourceCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createEduResource(eduResourceCreation: EduResourceCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createEduResource(eduResourceCreation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.createEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class. + * @summary Create an LTI link for an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createEduResourceLtiLink(resource: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createEduResourceLtiLink(resource, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.createEduResourceLtiLink']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Delete an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteEduResource(resource: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteEduResource(resource, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.deleteEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getEduResource(resource: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getEduResource(resource, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.getEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the education libraries + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listEduLibraries(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listEduLibraries(options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.listEduLibraries']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List education resources in a library or folder + * @param {string} [parent] List the resources contained in this `parent` library or folder + * @param {ListEduResourcesTypeEnum} [type] Filter the returned resources by type + * @param {ListEduResourcesSortEnum} [sort] Sort + * @param {ListEduResourcesDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of resources that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listEduResources(parent?: string, type?: ListEduResourcesTypeEnum, sort?: ListEduResourcesSortEnum, direction?: ListEduResourcesDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listEduResources(parent, type, sort, direction, limit, next, previous, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.listEduResources']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Move an education resource + * @param {string} resource Unique identifier of the resource + * @param {EduResourceMove} eduResourceMove + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async moveEduResource(resource: string, eduResourceMove: EduResourceMove, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.moveEduResource(resource, eduResourceMove, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.moveEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments. + * @summary Update an education resource metadata + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUpdate} eduResourceUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateEduResource(resource: string, eduResourceUpdate: EduResourceUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateEduResource(resource, eduResourceUpdate, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.updateEduResource']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update an education resource assignment + * @param {string} resource Unique identifier of the resource + * @param {AssignmentUpdate} assignmentUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateEduResourceAssignment(resource: string, assignmentUpdate: AssignmentUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateEduResourceAssignment(resource, assignmentUpdate, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.updateEduResourceAssignment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.). + * @summary Use an education resource in a class + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUseInClass} eduResourceUseInClass + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async useEduResourceInClass(resource: string, eduResourceUseInClass: EduResourceUseInClass, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.useEduResourceInClass(resource, eduResourceUseInClass, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['EduResourcesApi.useEduResourceInClass']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * EduResourcesApi - factory interface + * @export + */ +export const EduResourcesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = EduResourcesApiFp(configuration) + return { + /** + * + * @summary Copy an education resource to a Resource Library + * @param {string} resource Unique identifier of the resource + * @param {EduResourceCopy} eduResourceCopy + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyEduResource(resource: string, eduResourceCopy: EduResourceCopy, options?: any): AxiosPromise { + return localVarFp.copyEduResource(resource, eduResourceCopy, options).then((request) => request(axios, basePath)); + }, + /** + * Once a resource library can be published to a class (`Assignment.capabilities.canPublishInClass = true`), this endpoint can be used for the feature \"View as student\". It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use `POST /classes/{class}/testStudent` to create a testing student account in the demo class. + * @summary Copy an education assignment to a teacher demo class + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + copyEduResourceToDemoClass(resource: string, options?: any): AxiosPromise { + return localVarFp.copyEduResourceToDemoClass(resource, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a new education resource + * @param {EduResourceCreation} eduResourceCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createEduResource(eduResourceCreation: EduResourceCreation, options?: any): AxiosPromise { + return localVarFp.createEduResource(eduResourceCreation, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class. + * @summary Create an LTI link for an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createEduResourceLtiLink(resource: string, options?: any): AxiosPromise { + return localVarFp.createEduResourceLtiLink(resource, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteEduResource(resource: string, options?: any): AxiosPromise { + return localVarFp.deleteEduResource(resource, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getEduResource(resource: string, options?: any): AxiosPromise { + return localVarFp.getEduResource(resource, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the education libraries + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listEduLibraries(options?: any): AxiosPromise> { + return localVarFp.listEduLibraries(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List education resources in a library or folder + * @param {string} [parent] List the resources contained in this `parent` library or folder + * @param {ListEduResourcesTypeEnum} [type] Filter the returned resources by type + * @param {ListEduResourcesSortEnum} [sort] Sort + * @param {ListEduResourcesDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of resources that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listEduResources(parent?: string, type?: ListEduResourcesTypeEnum, sort?: ListEduResourcesSortEnum, direction?: ListEduResourcesDirectionEnum, limit?: number, next?: string, previous?: string, options?: any): AxiosPromise> { + return localVarFp.listEduResources(parent, type, sort, direction, limit, next, previous, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move an education resource + * @param {string} resource Unique identifier of the resource + * @param {EduResourceMove} eduResourceMove + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + moveEduResource(resource: string, eduResourceMove: EduResourceMove, options?: any): AxiosPromise { + return localVarFp.moveEduResource(resource, eduResourceMove, options).then((request) => request(axios, basePath)); + }, + /** + * Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments. + * @summary Update an education resource metadata + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUpdate} eduResourceUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateEduResource(resource: string, eduResourceUpdate: EduResourceUpdate, options?: any): AxiosPromise { + return localVarFp.updateEduResource(resource, eduResourceUpdate, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update an education resource assignment + * @param {string} resource Unique identifier of the resource + * @param {AssignmentUpdate} assignmentUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateEduResourceAssignment(resource: string, assignmentUpdate: AssignmentUpdate, options?: any): AxiosPromise { + return localVarFp.updateEduResourceAssignment(resource, assignmentUpdate, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.). + * @summary Use an education resource in a class + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUseInClass} eduResourceUseInClass + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + useEduResourceInClass(resource: string, eduResourceUseInClass: EduResourceUseInClass, options?: any): AxiosPromise { + return localVarFp.useEduResourceInClass(resource, eduResourceUseInClass, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * EduResourcesApi - object-oriented interface + * @export + * @class EduResourcesApi + * @extends {BaseAPI} + */ +export class EduResourcesApi extends BaseAPI { + /** + * + * @summary Copy an education resource to a Resource Library + * @param {string} resource Unique identifier of the resource + * @param {EduResourceCopy} eduResourceCopy + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public copyEduResource(resource: string, eduResourceCopy: EduResourceCopy, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).copyEduResource(resource, eduResourceCopy, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Once a resource library can be published to a class (`Assignment.capabilities.canPublishInClass = true`), this endpoint can be used for the feature \"View as student\". It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use `POST /classes/{class}/testStudent` to create a testing student account in the demo class. + * @summary Copy an education assignment to a teacher demo class + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public copyEduResourceToDemoClass(resource: string, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).copyEduResourceToDemoClass(resource, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a new education resource + * @param {EduResourceCreation} eduResourceCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public createEduResource(eduResourceCreation: EduResourceCreation, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).createEduResource(eduResourceCreation, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class. + * @summary Create an LTI link for an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public createEduResourceLtiLink(resource: string, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).createEduResourceLtiLink(resource, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public deleteEduResource(resource: string, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).deleteEduResource(resource, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get an education resource + * @param {string} resource Unique identifier of the resource + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public getEduResource(resource: string, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).getEduResource(resource, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the education libraries + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public listEduLibraries(options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).listEduLibraries(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List education resources in a library or folder + * @param {string} [parent] List the resources contained in this `parent` library or folder + * @param {ListEduResourcesTypeEnum} [type] Filter the returned resources by type + * @param {ListEduResourcesSortEnum} [sort] Sort + * @param {ListEduResourcesDirectionEnum} [direction] Sort direction + * @param {number} [limit] This is the maximum number of resources that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public listEduResources(parent?: string, type?: ListEduResourcesTypeEnum, sort?: ListEduResourcesSortEnum, direction?: ListEduResourcesDirectionEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).listEduResources(parent, type, sort, direction, limit, next, previous, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move an education resource + * @param {string} resource Unique identifier of the resource + * @param {EduResourceMove} eduResourceMove + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public moveEduResource(resource: string, eduResourceMove: EduResourceMove, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).moveEduResource(resource, eduResourceMove, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments. + * @summary Update an education resource metadata + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUpdate} eduResourceUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public updateEduResource(resource: string, eduResourceUpdate: EduResourceUpdate, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).updateEduResource(resource, eduResourceUpdate, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update an education resource assignment + * @param {string} resource Unique identifier of the resource + * @param {AssignmentUpdate} assignmentUpdate + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public updateEduResourceAssignment(resource: string, assignmentUpdate: AssignmentUpdate, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).updateEduResourceAssignment(resource, assignmentUpdate, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.). + * @summary Use an education resource in a class + * @param {string} resource Unique identifier of the resource + * @param {EduResourceUseInClass} eduResourceUseInClass + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof EduResourcesApi + */ + public useEduResourceInClass(resource: string, eduResourceUseInClass: EduResourceUseInClass, options?: RawAxiosRequestConfig) { + return EduResourcesApiFp(this.configuration).useEduResourceInClass(resource, eduResourceUseInClass, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const ListEduResourcesTypeEnum = { + Assignment: 'assignment', + Folder: 'folder' +} as const; +export type ListEduResourcesTypeEnum = typeof ListEduResourcesTypeEnum[keyof typeof ListEduResourcesTypeEnum]; +/** + * @export + */ +export const ListEduResourcesSortEnum = { + CreationDate: 'creationDate', + UpdateDate: 'updateDate', + Title: 'title' +} as const; +export type ListEduResourcesSortEnum = typeof ListEduResourcesSortEnum[keyof typeof ListEduResourcesSortEnum]; +/** + * @export + */ +export const ListEduResourcesDirectionEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type ListEduResourcesDirectionEnum = typeof ListEduResourcesDirectionEnum[keyof typeof ListEduResourcesDirectionEnum]; + + +/** + * GroupApi - axios parameter creator + * @export + */ +export const GroupApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get group information + * @param {string} group Unique identifier of a Flat group + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupDetails: async (group: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'group' is not null or undefined + assertParamExists('getGroupDetails', 'group', group) + const localVarPath = `/groups/{group}` + .replace(`{${"group"}}`, encodeURIComponent(String(group))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users", "edu.admin.users.readonly", "edu.classes", "edu.classes.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupScores: async (group: string, parent?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'group' is not null or undefined + assertParamExists('getGroupScores', 'group', group) + const localVarPath = `/groups/{group}/scores` + .replace(`{${"group"}}`, encodeURIComponent(String(group))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List group\'s users + * @param {string} group Unique identifier of a Flat group + * @param {ListGroupUsersSourceEnum} [source] Filter the users by their source + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listGroupUsers: async (group: string, source?: ListGroupUsersSourceEnum, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'group' is not null or undefined + assertParamExists('listGroupUsers', 'group', group) + const localVarPath = `/groups/{group}/users` + .replace(`{${"group"}}`, encodeURIComponent(String(group))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users", "edu.admin.users.readonly", "edu.classes", "edu.classes.readonly"], configuration) + + if (source !== undefined) { + localVarQueryParameter['source'] = source; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * GroupApi - functional programming interface + * @export + */ +export const GroupApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = GroupApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get group information + * @param {string} group Unique identifier of a Flat group + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getGroupDetails(group: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getGroupDetails(group, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['GroupApi.getGroupDetails']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getGroupScores(group: string, parent?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getGroupScores(group, parent, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['GroupApi.getGroupScores']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List group\'s users + * @param {string} group Unique identifier of a Flat group + * @param {ListGroupUsersSourceEnum} [source] Filter the users by their source + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listGroupUsers(group: string, source?: ListGroupUsersSourceEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listGroupUsers(group, source, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['GroupApi.listGroupUsers']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * GroupApi - factory interface + * @export + */ +export const GroupApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = GroupApiFp(configuration) + return { + /** + * + * @summary Get group information + * @param {string} group Unique identifier of a Flat group + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupDetails(group: string, options?: any): AxiosPromise { + return localVarFp.getGroupDetails(group, options).then((request) => request(axios, basePath)); + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupScores(group: string, parent?: string, options?: any): AxiosPromise> { + return localVarFp.getGroupScores(group, parent, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List group\'s users + * @param {string} group Unique identifier of a Flat group + * @param {ListGroupUsersSourceEnum} [source] Filter the users by their source + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listGroupUsers(group: string, source?: ListGroupUsersSourceEnum, options?: any): AxiosPromise> { + return localVarFp.listGroupUsers(group, source, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * GroupApi - object-oriented interface + * @export + * @class GroupApi + * @extends {BaseAPI} + */ +export class GroupApi extends BaseAPI { + /** + * + * @summary Get group information + * @param {string} group Unique identifier of a Flat group + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public getGroupDetails(group: string, options?: RawAxiosRequestConfig) { + return GroupApiFp(this.configuration).getGroupDetails(group, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public getGroupScores(group: string, parent?: string, options?: RawAxiosRequestConfig) { + return GroupApiFp(this.configuration).getGroupScores(group, parent, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List group\'s users + * @param {string} group Unique identifier of a Flat group + * @param {ListGroupUsersSourceEnum} [source] Filter the users by their source + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public listGroupUsers(group: string, source?: ListGroupUsersSourceEnum, options?: RawAxiosRequestConfig) { + return GroupApiFp(this.configuration).listGroupUsers(group, source, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const ListGroupUsersSourceEnum = { + GoogleClassroom: 'googleClassroom', + MicrosoftGraph: 'microsoftGraph', + Clever: 'clever' +} as const; +export type ListGroupUsersSourceEnum = typeof ListGroupUsersSourceEnum[keyof typeof ListGroupUsersSourceEnum]; + + +/** + * OrganizationApi - axios parameter creator + * @export + */ +export const OrganizationApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Count the organization users using the provided filters + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + countOrgaUsers: async (role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/organizations/users/count`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users", "edu.admin.users.readonly"], configuration) + + if (role) { + localVarQueryParameter['role'] = role; + } + + if (q !== undefined) { + localVarQueryParameter['q'] = q; + } + + if (group) { + localVarQueryParameter['group'] = group; + } + + if (noActiveLicense !== undefined) { + localVarQueryParameter['noActiveLicense'] = noActiveLicense; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). + * @summary Create a new couple of LTI 1.x credentials + * @param {LtiCredentialsCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createLtiCredentials: async (body: LtiCredentialsCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createLtiCredentials', 'body', body) + const localVarPath = `/organizations/lti/credentials`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.lti"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won\'t send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. + * @summary Create a new invitation to join the organization + * @param {OrganizationInvitationCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationInvitation: async (body: OrganizationInvitationCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createOrganizationInvitation', 'body', body) + const localVarPath = `/organizations/invitations`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a new user account + * @param {UserCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUser: async (body: UserCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createOrganizationUser', 'body', body) + const localVarPath = `/organizations/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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This operation will create an API access token for a chosen organization user. This token will be valid for a limited time and can be used to access the API as the organization user. + * @summary Create a delegated API access token for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {OrganizationUserAccessTokenCreation} organizationUserAccessTokenCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUserAccessToken: async (user: string, organizationUserAccessTokenCreation: OrganizationUserAccessTokenCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('createOrganizationUserAccessToken', 'user', user) + // verify required parameter 'organizationUserAccessTokenCreation' is not null or undefined + assertParamExists('createOrganizationUserAccessToken', 'organizationUserAccessTokenCreation', organizationUserAccessTokenCreation) + const localVarPath = `/organizations/users/{user}/accessToken` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(organizationUserAccessTokenCreation, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a sign in link for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {UserSigninLinkCreation} userSigninLinkCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUserSigninLink: async (user: string, userSigninLinkCreation: UserSigninLinkCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('createOrganizationUserSigninLink', 'user', user) + // verify required parameter 'userSigninLinkCreation' is not null or undefined + assertParamExists('createOrganizationUserSigninLink', 'userSigninLinkCreation', userSigninLinkCreation) + const localVarPath = `/organizations/users/{user}/signinLink` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(userSigninLinkCreation, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List LTI 1.x credentials + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listLtiCredentials: async (options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/organizations/lti/credentials`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.lti", "edu.admin.lti.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the organization invitations + * @param {ListOrganizationInvitationsRoleEnum} [role] Filter users by role + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listOrganizationInvitations: async (role?: ListOrganizationInvitationsRoleEnum, limit?: number, next?: string, previous?: string, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/organizations/invitations`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users", "edu.admin.users.readonly"], configuration) + + if (role !== undefined) { + localVarQueryParameter['role'] = role; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the organization users + * @param {Array} [sort] The order to sort the user list + * @param {ListOrganizationUsersDirectionEnum} [direction] Sort direction + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {Array} [licenseExpirationDate] Filter users by license expiration date or `active` / `notActive` + * @param {boolean} [onlyIds] Return only user ids + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listOrganizationUsers: async (sort?: Array, direction?: ListOrganizationUsersDirectionEnum, next?: string, previous?: string, role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, licenseExpirationDate?: Array, onlyIds?: boolean, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/organizations/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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users", "edu.admin.users.readonly"], configuration) + + if (sort) { + localVarQueryParameter['sort'] = sort; + } + + if (direction !== undefined) { + localVarQueryParameter['direction'] = direction; + } + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + if (role) { + localVarQueryParameter['role'] = role; + } + + if (q !== undefined) { + localVarQueryParameter['q'] = q; + } + + if (group) { + localVarQueryParameter['group'] = group; + } + + if (noActiveLicense !== undefined) { + localVarQueryParameter['noActiveLicense'] = noActiveLicense; + } + + if (licenseExpirationDate) { + localVarQueryParameter['licenseExpirationDate'] = licenseExpirationDate; + } + + if (onlyIds !== undefined) { + localVarQueryParameter['onlyIds'] = onlyIds; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Remove an organization invitation + * @param {string} invitation Unique identifier of the invitation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeOrganizationInvitation: async (invitation: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'invitation' is not null or undefined + assertParamExists('removeOrganizationInvitation', 'invitation', invitation) + const localVarPath = `/organizations/invitations/{invitation}` + .replace(`{${"invitation"}}`, encodeURIComponent(String(invitation))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) + * @summary Remove an account from Flat + * @param {string} user Unique identifier of the Flat account + * @param {boolean} [convertToIndividual] If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeOrganizationUser: async (user: string, convertToIndividual?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('removeOrganizationUser', 'user', user) + const localVarPath = `/organizations/users/{user}` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + if (convertToIndividual !== undefined) { + localVarQueryParameter['convertToIndividual'] = convertToIndividual; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Revoke LTI 1.x credentials + * @param {string} credentials Credentials unique identifier + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + revokeLtiCredentials: async (credentials: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'credentials' is not null or undefined + assertParamExists('revokeLtiCredentials', 'credentials', credentials) + const localVarPath = `/organizations/lti/credentials/{credentials}` + .replace(`{${"credentials"}}`, encodeURIComponent(String(credentials))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.lti"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update account information + * @param {string} user Unique identifier of the Flat account + * @param {UserAdminUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateOrganizationUser: async (user: string, body: UserAdminUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('updateOrganizationUser', 'user', user) + // verify required parameter 'body' is not null or undefined + assertParamExists('updateOrganizationUser', 'body', body) + const localVarPath = `/organizations/users/{user}` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["edu.admin", "edu.admin.users"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * OrganizationApi - functional programming interface + * @export + */ +export const OrganizationApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = OrganizationApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Count the organization users using the provided filters + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async countOrgaUsers(role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.countOrgaUsers(role, q, group, noActiveLicense, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.countOrgaUsers']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). + * @summary Create a new couple of LTI 1.x credentials + * @param {LtiCredentialsCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createLtiCredentials(body: LtiCredentialsCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createLtiCredentials(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.createLtiCredentials']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won\'t send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. + * @summary Create a new invitation to join the organization + * @param {OrganizationInvitationCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createOrganizationInvitation(body: OrganizationInvitationCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createOrganizationInvitation(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.createOrganizationInvitation']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Create a new user account + * @param {UserCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createOrganizationUser(body: UserCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createOrganizationUser(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.createOrganizationUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This operation will create an API access token for a chosen organization user. This token will be valid for a limited time and can be used to access the API as the organization user. + * @summary Create a delegated API access token for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {OrganizationUserAccessTokenCreation} organizationUserAccessTokenCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createOrganizationUserAccessToken(user: string, organizationUserAccessTokenCreation: OrganizationUserAccessTokenCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createOrganizationUserAccessToken(user, organizationUserAccessTokenCreation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.createOrganizationUserAccessToken']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Create a sign in link for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {UserSigninLinkCreation} userSigninLinkCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createOrganizationUserSigninLink(user: string, userSigninLinkCreation: UserSigninLinkCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createOrganizationUserSigninLink(user, userSigninLinkCreation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.createOrganizationUserSigninLink']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List LTI 1.x credentials + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listLtiCredentials(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listLtiCredentials(options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.listLtiCredentials']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the organization invitations + * @param {ListOrganizationInvitationsRoleEnum} [role] Filter users by role + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listOrganizationInvitations(role?: ListOrganizationInvitationsRoleEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listOrganizationInvitations(role, limit, next, previous, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.listOrganizationInvitations']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the organization users + * @param {Array} [sort] The order to sort the user list + * @param {ListOrganizationUsersDirectionEnum} [direction] Sort direction + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {Array} [licenseExpirationDate] Filter users by license expiration date or `active` / `notActive` + * @param {boolean} [onlyIds] Return only user ids + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listOrganizationUsers(sort?: Array, direction?: ListOrganizationUsersDirectionEnum, next?: string, previous?: string, role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, licenseExpirationDate?: Array, onlyIds?: boolean, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listOrganizationUsers(sort, direction, next, previous, role, q, group, noActiveLicense, licenseExpirationDate, onlyIds, limit, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.listOrganizationUsers']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Remove an organization invitation + * @param {string} invitation Unique identifier of the invitation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async removeOrganizationInvitation(invitation: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.removeOrganizationInvitation(invitation, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.removeOrganizationInvitation']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) + * @summary Remove an account from Flat + * @param {string} user Unique identifier of the Flat account + * @param {boolean} [convertToIndividual] If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async removeOrganizationUser(user: string, convertToIndividual?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.removeOrganizationUser(user, convertToIndividual, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.removeOrganizationUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Revoke LTI 1.x credentials + * @param {string} credentials Credentials unique identifier + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async revokeLtiCredentials(credentials: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.revokeLtiCredentials(credentials, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.revokeLtiCredentials']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update account information + * @param {string} user Unique identifier of the Flat account + * @param {UserAdminUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateOrganizationUser(user: string, body: UserAdminUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrganizationUser(user, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['OrganizationApi.updateOrganizationUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * OrganizationApi - factory interface + * @export + */ +export const OrganizationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = OrganizationApiFp(configuration) + return { + /** + * + * @summary Count the organization users using the provided filters + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + countOrgaUsers(role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, options?: any): AxiosPromise> { + return localVarFp.countOrgaUsers(role, q, group, noActiveLicense, options).then((request) => request(axios, basePath)); + }, + /** + * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). + * @summary Create a new couple of LTI 1.x credentials + * @param {LtiCredentialsCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createLtiCredentials(body: LtiCredentialsCreation, options?: any): AxiosPromise { + return localVarFp.createLtiCredentials(body, options).then((request) => request(axios, basePath)); + }, + /** + * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won\'t send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. + * @summary Create a new invitation to join the organization + * @param {OrganizationInvitationCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationInvitation(body: OrganizationInvitationCreation, options?: any): AxiosPromise { + return localVarFp.createOrganizationInvitation(body, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a new user account + * @param {UserCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUser(body: UserCreation, options?: any): AxiosPromise { + return localVarFp.createOrganizationUser(body, options).then((request) => request(axios, basePath)); + }, + /** + * This operation will create an API access token for a chosen organization user. This token will be valid for a limited time and can be used to access the API as the organization user. + * @summary Create a delegated API access token for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {OrganizationUserAccessTokenCreation} organizationUserAccessTokenCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUserAccessToken(user: string, organizationUserAccessTokenCreation: OrganizationUserAccessTokenCreation, options?: any): AxiosPromise { + return localVarFp.createOrganizationUserAccessToken(user, organizationUserAccessTokenCreation, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a sign in link for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {UserSigninLinkCreation} userSigninLinkCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createOrganizationUserSigninLink(user: string, userSigninLinkCreation: UserSigninLinkCreation, options?: any): AxiosPromise { + return localVarFp.createOrganizationUserSigninLink(user, userSigninLinkCreation, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List LTI 1.x credentials + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listLtiCredentials(options?: any): AxiosPromise> { + return localVarFp.listLtiCredentials(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the organization invitations + * @param {ListOrganizationInvitationsRoleEnum} [role] Filter users by role + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listOrganizationInvitations(role?: ListOrganizationInvitationsRoleEnum, limit?: number, next?: string, previous?: string, options?: any): AxiosPromise> { + return localVarFp.listOrganizationInvitations(role, limit, next, previous, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the organization users + * @param {Array} [sort] The order to sort the user list + * @param {ListOrganizationUsersDirectionEnum} [direction] Sort direction + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {Array} [licenseExpirationDate] Filter users by license expiration date or `active` / `notActive` + * @param {boolean} [onlyIds] Return only user ids + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listOrganizationUsers(sort?: Array, direction?: ListOrganizationUsersDirectionEnum, next?: string, previous?: string, role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, licenseExpirationDate?: Array, onlyIds?: boolean, limit?: number, options?: any): AxiosPromise> { + return localVarFp.listOrganizationUsers(sort, direction, next, previous, role, q, group, noActiveLicense, licenseExpirationDate, onlyIds, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Remove an organization invitation + * @param {string} invitation Unique identifier of the invitation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeOrganizationInvitation(invitation: string, options?: any): AxiosPromise { + return localVarFp.removeOrganizationInvitation(invitation, options).then((request) => request(axios, basePath)); + }, + /** + * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) + * @summary Remove an account from Flat + * @param {string} user Unique identifier of the Flat account + * @param {boolean} [convertToIndividual] If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeOrganizationUser(user: string, convertToIndividual?: boolean, options?: any): AxiosPromise { + return localVarFp.removeOrganizationUser(user, convertToIndividual, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Revoke LTI 1.x credentials + * @param {string} credentials Credentials unique identifier + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + revokeLtiCredentials(credentials: string, options?: any): AxiosPromise { + return localVarFp.revokeLtiCredentials(credentials, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update account information + * @param {string} user Unique identifier of the Flat account + * @param {UserAdminUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateOrganizationUser(user: string, body: UserAdminUpdate, options?: any): AxiosPromise { + return localVarFp.updateOrganizationUser(user, body, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * OrganizationApi - object-oriented interface + * @export + * @class OrganizationApi + * @extends {BaseAPI} + */ +export class OrganizationApi extends BaseAPI { + /** + * + * @summary Count the organization users using the provided filters + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public countOrgaUsers(role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).countOrgaUsers(role, q, group, noActiveLicense, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). + * @summary Create a new couple of LTI 1.x credentials + * @param {LtiCredentialsCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public createLtiCredentials(body: LtiCredentialsCreation, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).createLtiCredentials(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won\'t send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. + * @summary Create a new invitation to join the organization + * @param {OrganizationInvitationCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public createOrganizationInvitation(body: OrganizationInvitationCreation, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).createOrganizationInvitation(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a new user account + * @param {UserCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public createOrganizationUser(body: UserCreation, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).createOrganizationUser(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This operation will create an API access token for a chosen organization user. This token will be valid for a limited time and can be used to access the API as the organization user. + * @summary Create a delegated API access token for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {OrganizationUserAccessTokenCreation} organizationUserAccessTokenCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public createOrganizationUserAccessToken(user: string, organizationUserAccessTokenCreation: OrganizationUserAccessTokenCreation, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).createOrganizationUserAccessToken(user, organizationUserAccessTokenCreation, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a sign in link for an organization user + * @param {string} user Unique identifier of the Flat account + * @param {UserSigninLinkCreation} userSigninLinkCreation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public createOrganizationUserSigninLink(user: string, userSigninLinkCreation: UserSigninLinkCreation, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).createOrganizationUserSigninLink(user, userSigninLinkCreation, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List LTI 1.x credentials + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public listLtiCredentials(options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).listLtiCredentials(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the organization invitations + * @param {ListOrganizationInvitationsRoleEnum} [role] Filter users by role + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public listOrganizationInvitations(role?: ListOrganizationInvitationsRoleEnum, limit?: number, next?: string, previous?: string, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).listOrganizationInvitations(role, limit, next, previous, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the organization users + * @param {Array} [sort] The order to sort the user list + * @param {ListOrganizationUsersDirectionEnum} [direction] Sort direction + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {Array} [role] Filter users by role + * @param {string} [q] The query to search + * @param {Array} [group] Filter users by group + * @param {boolean} [noActiveLicense] Filter users who don\'t have an active license + * @param {Array} [licenseExpirationDate] Filter users by license expiration date or `active` / `notActive` + * @param {boolean} [onlyIds] Return only user ids + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public listOrganizationUsers(sort?: Array, direction?: ListOrganizationUsersDirectionEnum, next?: string, previous?: string, role?: Array, q?: string, group?: Array, noActiveLicense?: boolean, licenseExpirationDate?: Array, onlyIds?: boolean, limit?: number, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).listOrganizationUsers(sort, direction, next, previous, role, q, group, noActiveLicense, licenseExpirationDate, onlyIds, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Remove an organization invitation + * @param {string} invitation Unique identifier of the invitation + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public removeOrganizationInvitation(invitation: string, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).removeOrganizationInvitation(invitation, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) + * @summary Remove an account from Flat + * @param {string} user Unique identifier of the Flat account + * @param {boolean} [convertToIndividual] If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public removeOrganizationUser(user: string, convertToIndividual?: boolean, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).removeOrganizationUser(user, convertToIndividual, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Revoke LTI 1.x credentials + * @param {string} credentials Credentials unique identifier + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public revokeLtiCredentials(credentials: string, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).revokeLtiCredentials(credentials, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update account information + * @param {string} user Unique identifier of the Flat account + * @param {UserAdminUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof OrganizationApi + */ + public updateOrganizationUser(user: string, body: UserAdminUpdate, options?: RawAxiosRequestConfig) { + return OrganizationApiFp(this.configuration).updateOrganizationUser(user, body, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const CountOrgaUsersRoleEnum = { + User: 'user', + Teacher: 'teacher', + Admin: 'admin' +} as const; +export type CountOrgaUsersRoleEnum = typeof CountOrgaUsersRoleEnum[keyof typeof CountOrgaUsersRoleEnum]; +/** + * @export + */ +export const ListOrganizationInvitationsRoleEnum = { + User: 'user', + Teacher: 'teacher', + Admin: 'admin' +} as const; +export type ListOrganizationInvitationsRoleEnum = typeof ListOrganizationInvitationsRoleEnum[keyof typeof ListOrganizationInvitationsRoleEnum]; +/** + * @export + */ +export const ListOrganizationUsersSortEnum = { + Firstname: 'firstname', + Lastname: 'lastname', + LastActivityDate: 'lastActivityDate', + LicenseExpirationDate: 'licenseExpirationDate' +} as const; +export type ListOrganizationUsersSortEnum = typeof ListOrganizationUsersSortEnum[keyof typeof ListOrganizationUsersSortEnum]; +/** + * @export + */ +export const ListOrganizationUsersDirectionEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type ListOrganizationUsersDirectionEnum = typeof ListOrganizationUsersDirectionEnum[keyof typeof ListOrganizationUsersDirectionEnum]; +/** + * @export + */ +export const ListOrganizationUsersRoleEnum = { + User: 'user', + Teacher: 'teacher', + Admin: 'admin' +} as const; +export type ListOrganizationUsersRoleEnum = typeof ListOrganizationUsersRoleEnum[keyof typeof ListOrganizationUsersRoleEnum]; + + +/** + * ScoreApi - axios parameter creator + * @export + */ +export const ScoreApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. + * @summary Add a new collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ResourceCollaboratorCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreCollaborator: async (score: string, body: ResourceCollaboratorCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('addScoreCollaborator', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('addScoreCollaborator', 'body', body) + const localVarPath = `/scores/{score}/collaborators` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. + * @summary Add a new video or audio track to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreTrackCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreTrack: async (score: string, body: ScoreTrackCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('addScoreTrack', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('addScoreTrack', 'body', body) + const localVarPath = `/scores/{score}/tracks` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Some of the exports of a score takes are longer to process than a simple API requests. Use this endpoint to launch a new export of one score hosted on Flat. + * @summary Create a new score export task + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {CreateExportTaskFormatEnum} format The format of the file that will be generated or the target service name where the file will be exported + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {TaskExportOptions} [body] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createExportTask: async (score: string, revision: string, format: CreateExportTaskFormatEnum, sharingKey?: string, body?: TaskExportOptions, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('createExportTask', 'score', score) + // verify required parameter 'revision' is not null or undefined + assertParamExists('createExportTask', 'revision', revision) + // verify required parameter 'format' is not null or undefined + assertParamExists('createExportTask', 'format', format) + const localVarPath = `/scores/{score}/revisions/{revision}/{format}/task` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"revision"}}`, encodeURIComponent(String(revision))) + .replace(`{${"format"}}`, encodeURIComponent(String(format))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this API method to **create a new music score in the current User account**. This API endpoints provides 3 ways to create scores: * `ScoreCreationBuilderData` : Create a blank score by providing the list of instruments to use. You can optionally customize the initial key signature, time signature, enable TABs, Chord grids, as well as the page layout. * `ScoreCreationFileImport`: Import an existing MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`), Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar, or MuseScore file to create the new Flat document. * `ScoreCreationGoogleDriveImport`: Import an existing Google Drive file from the connected Google Drive account. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. When using an OAuth2 access token or a personal token, the score will be automatically added to your dedicated app collection in the account (`/v2/collections/app`). If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. + * @summary Create a new score + * @param {ScoreCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createScore: async (body: ScoreCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'body' is not null or undefined + assertParamExists('createScore', 'body', body) + const localVarPath = `/scores`; + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Update a score by uploading a new revision for this one. + * @summary Create a new revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreRevisionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createScoreRevision: async (score: string, body: ScoreRevisionCreation, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('createScoreRevision', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('createScoreRevision', 'body', body) + const localVarPath = `/scores/{score}/revisions` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won\'t be accessible anymore after calling this method and the user\'s quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). + * @summary Delete a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {boolean} [now] If `true`, the score deletion will be scheduled to be done ASAP + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScore: async (score: string, now?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('deleteScore', 'score', score) + const localVarPath = `/scores/{score}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + if (now !== undefined) { + localVarQueryParameter['now'] = now; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreComment: async (score: string, comment: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('deleteScoreComment', 'score', score) + // verify required parameter 'comment' is not null or undefined + assertParamExists('deleteScoreComment', 'comment', comment) + const localVarPath = `/scores/{score}/comments/{comment}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Remove an audio or video track linked to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreTrack: async (score: string, track: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('deleteScoreTrack', 'score', score) + // verify required parameter 'track' is not null or undefined + assertParamExists('deleteScoreTrack', 'track', track) + const localVarPath = `/scores/{score}/tracks/{track}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"track"}}`, encodeURIComponent(String(track))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title`, `subtitle`, `composer`, `lyricist`, `arranger` or `licenseText`, the metadatas will be instantly be updated, and a real-time action will be pushed to update the document lazily. This pending document modification will be automatically be saved as a new version by either a connected client or our internal versioning service. + * @summary Edit a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editScore: async (score: string, body: ScoreModification, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('editScore', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('editScore', 'body', body) + const localVarPath = `/scores/{score}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. + * @summary Fork a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreFork} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + forkScore: async (score: string, body: ScoreFork, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('forkScore', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('forkScore', 'body', body) + const localVarPath = `/scores/{score}/fork` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupScores: async (group: string, parent?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'group' is not null or undefined + assertParamExists('getGroupScores', 'group', group) + const localVarPath = `/groups/{group}/scores` + .replace(`{${"group"}}`, encodeURIComponent(String(group))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. + * @summary Get a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScore: async (score: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScore', 'score', score) + const localVarPath = `/scores/{score}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the information about a collaborator (User or Group). + * @summary Get a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreCollaborator: async (score: string, collaborator: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreCollaborator', 'score', score) + // verify required parameter 'collaborator' is not null or undefined + assertParamExists('getScoreCollaborator', 'collaborator', collaborator) + const localVarPath = `/scores/{score}/collaborators/{collaborator}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"collaborator"}}`, encodeURIComponent(String(collaborator))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). + * @summary List the collaborators + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreCollaborators: async (score: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreCollaborators', 'score', score) + const localVarPath = `/scores/{score}/collaborators` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.readonly", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. + * @summary List comments + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {GetScoreCommentsTypeEnum} [type] Filter the comments by type + * @param {GetScoreCommentsSortEnum} [sort] Sort + * @param {GetScoreCommentsDirectionEnum} [direction] Sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreComments: async (score: string, sharingKey?: string, type?: GetScoreCommentsTypeEnum, sort?: GetScoreCommentsSortEnum, direction?: GetScoreCommentsDirectionEnum, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreComments', 'score', score) + const localVarPath = `/scores/{score}/comments` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.readonly", "scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + if (type !== undefined) { + localVarQueryParameter['type'] = type; + } + + if (sort !== undefined) { + localVarQueryParameter['sort'] = sort; + } + + if (direction !== undefined) { + localVarQueryParameter['direction'] = direction; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. + * @summary Get a score revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevision: async (score: string, revision: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreRevision', 'score', score) + // verify required parameter 'revision' is not null or undefined + assertParamExists('getScoreRevision', 'revision', revision) + const localVarPath = `/scores/{score}/revisions/{revision}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"revision"}}`, encodeURIComponent(String(revision))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Retrieve the file corresponding to a score revision (the following formats are available): Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, a tumbnail of the first page `thumbnail.png` or auto sync points `synchronizationPoints`. + * @summary Get a score revision data + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {GetScoreRevisionDataFormatEnum} format The format of the file you will retrieve + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [parts] An optional a set of parts uuid to be exported. This parameter must be composed of parts uuids separated by commas. For example \"59df645f-bb1c-f1b4-b573-d2afc4491f94,34ef645f-1aef-f3bc-1564-34cca4492b87\". + * @param {boolean} [defaultTrack] When `format` is `mp3`, this property is set to true and the score has a default `ScoreTrack` (mp3), this one will be returned instead of the playback file. + * @param {boolean} [url] Returns a json with the `url` in it instead of redirecting + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevisionData: async (score: string, revision: string, format: GetScoreRevisionDataFormatEnum, sharingKey?: string, parts?: string, defaultTrack?: boolean, url?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreRevisionData', 'score', score) + // verify required parameter 'revision' is not null or undefined + assertParamExists('getScoreRevisionData', 'revision', revision) + // verify required parameter 'format' is not null or undefined + assertParamExists('getScoreRevisionData', 'format', format) + const localVarPath = `/scores/{score}/revisions/{revision}/{format}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"revision"}}`, encodeURIComponent(String(revision))) + .replace(`{${"format"}}`, encodeURIComponent(String(format))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + if (parts !== undefined) { + localVarQueryParameter['parts'] = parts; + } + + if (defaultTrack !== undefined) { + localVarQueryParameter['defaultTrack'] = defaultTrack; + } + + if (url !== undefined) { + localVarQueryParameter['url'] = url; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. + * @summary List the revisions + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevisions: async (score: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreRevisions', 'score', score) + const localVarPath = `/scores/{score}/revisions` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreSubmissions: async (score: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreSubmissions', 'score', score) + const localVarPath = `/scores/{score}/submissions` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Retrieve the details of an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreTrack: async (score: string, track: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('getScoreTrack', 'score', score) + // verify required parameter 'track' is not null or undefined + assertParamExists('getScoreTrack', 'track', track) + const localVarPath = `/scores/{score}/tracks/{track}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"track"}}`, encodeURIComponent(String(track))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserLikes: async (user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('getUserLikes', 'user', user) + const localVarPath = `/users/{user}/likes` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["account.public_profile"], configuration) + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (ids !== undefined) { + localVarQueryParameter['ids'] = ids; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserScores: async (user: string, parent?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('getUserScores', 'user', user) + const localVarPath = `/users/{user}/scores` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List the audio or video tracks linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [assignment] An assignment id with which all the tracks returned will be related to + * @param {boolean} [listAutoTrack] If true, and if available, return last automatically synchronized Flat\'s mp3 export as an additional track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listScoreTracks: async (score: string, sharingKey?: string, assignment?: string, listAutoTrack?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('listScoreTracks', 'score', score) + const localVarPath = `/scores/{score}/tracks` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + if (assignment !== undefined) { + localVarQueryParameter['assignment'] = assignment; + } + + if (listAutoTrack !== undefined) { + localVarQueryParameter['listAutoTrack'] = listAutoTrack; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Mark the comment as resolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + markScoreCommentResolved: async (score: string, comment: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('markScoreCommentResolved', 'score', score) + // verify required parameter 'comment' is not null or undefined + assertParamExists('markScoreCommentResolved', 'comment', comment) + const localVarPath = `/scores/{score}/comments/{comment}/resolved` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Mark the comment as unresolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + markScoreCommentUnresolved: async (score: string, comment: string, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('markScoreCommentUnresolved', 'score', score) + // verify required parameter 'comment' is not null or undefined + assertParamExists('markScoreCommentUnresolved', 'comment', comment) + const localVarPath = `/scores/{score}/comments/{comment}/resolved` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don\'t guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. + * @summary Post a new comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreCommentCreation} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + postScoreComment: async (score: string, body: ScoreCommentCreation, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('postScoreComment', 'score', score) + // verify required parameter 'body' is not null or undefined + assertParamExists('postScoreComment', 'body', body) + const localVarPath = `/scores/{score}/comments` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Remove the specified collaborator from the score + * @summary Delete a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeScoreCollaborator: async (score: string, collaborator: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('removeScoreCollaborator', 'score', score) + // verify required parameter 'collaborator' is not null or undefined + assertParamExists('removeScoreCollaborator', 'collaborator', collaborator) + const localVarPath = `/scores/{score}/collaborators/{collaborator}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"collaborator"}}`, encodeURIComponent(String(collaborator))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. + * @summary Untrash a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + untrashScore: async (score: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('untrashScore', 'score', score) + const localVarPath = `/scores/{score}/untrash` + .replace(`{${"score"}}`, encodeURIComponent(String(score))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update an existing comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {ScoreCommentUpdate} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateScoreComment: async (score: string, comment: string, body: ScoreCommentUpdate, sharingKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('updateScoreComment', 'score', score) + // verify required parameter 'comment' is not null or undefined + assertParamExists('updateScoreComment', 'comment', comment) + // verify required parameter 'body' is not null or undefined + assertParamExists('updateScoreComment', 'body', body) + const localVarPath = `/scores/{score}/comments/{comment}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"comment"}}`, encodeURIComponent(String(comment))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores.social", "scores"], configuration) + + if (sharingKey !== undefined) { + localVarQueryParameter['sharingKey'] = sharingKey; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {ScoreTrackUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateScoreTrack: async (score: string, track: string, body: ScoreTrackUpdate, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'score' is not null or undefined + assertParamExists('updateScoreTrack', 'score', score) + // verify required parameter 'track' is not null or undefined + assertParamExists('updateScoreTrack', 'track', track) + // verify required parameter 'body' is not null or undefined + assertParamExists('updateScoreTrack', 'body', body) + const localVarPath = `/scores/{score}/tracks/{track}` + .replace(`{${"score"}}`, encodeURIComponent(String(score))) + .replace(`{${"track"}}`, encodeURIComponent(String(track))); + // 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: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ScoreApi - functional programming interface + * @export + */ +export const ScoreApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ScoreApiAxiosParamCreator(configuration) + return { + /** + * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. + * @summary Add a new collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ResourceCollaboratorCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async addScoreCollaborator(score: string, body: ResourceCollaboratorCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.addScoreCollaborator(score, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.addScoreCollaborator']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. + * @summary Add a new video or audio track to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreTrackCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async addScoreTrack(score: string, body: ScoreTrackCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.addScoreTrack(score, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.addScoreTrack']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Some of the exports of a score takes are longer to process than a simple API requests. Use this endpoint to launch a new export of one score hosted on Flat. + * @summary Create a new score export task + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {CreateExportTaskFormatEnum} format The format of the file that will be generated or the target service name where the file will be exported + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {TaskExportOptions} [body] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createExportTask(score: string, revision: string, format: CreateExportTaskFormatEnum, sharingKey?: string, body?: TaskExportOptions, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createExportTask(score, revision, format, sharingKey, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.createExportTask']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Use this API method to **create a new music score in the current User account**. This API endpoints provides 3 ways to create scores: * `ScoreCreationBuilderData` : Create a blank score by providing the list of instruments to use. You can optionally customize the initial key signature, time signature, enable TABs, Chord grids, as well as the page layout. * `ScoreCreationFileImport`: Import an existing MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`), Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar, or MuseScore file to create the new Flat document. * `ScoreCreationGoogleDriveImport`: Import an existing Google Drive file from the connected Google Drive account. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. When using an OAuth2 access token or a personal token, the score will be automatically added to your dedicated app collection in the account (`/v2/collections/app`). If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. + * @summary Create a new score + * @param {ScoreCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createScore(body: ScoreCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createScore(body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.createScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Update a score by uploading a new revision for this one. + * @summary Create a new revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreRevisionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createScoreRevision(score: string, body: ScoreRevisionCreation, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createScoreRevision(score, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.createScoreRevision']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won\'t be accessible anymore after calling this method and the user\'s quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). + * @summary Delete a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {boolean} [now] If `true`, the score deletion will be scheduled to be done ASAP + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteScore(score: string, now?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScore(score, now, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.deleteScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Delete a comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteScoreComment(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScoreComment(score, comment, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.deleteScoreComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Remove an audio or video track linked to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteScoreTrack(score: string, track: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScoreTrack(score, track, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.deleteScoreTrack']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title`, `subtitle`, `composer`, `lyricist`, `arranger` or `licenseText`, the metadatas will be instantly be updated, and a real-time action will be pushed to update the document lazily. This pending document modification will be automatically be saved as a new version by either a connected client or our internal versioning service. + * @summary Edit a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async editScore(score: string, body: ScoreModification, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.editScore(score, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.editScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. + * @summary Fork a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreFork} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async forkScore(score: string, body: ScoreFork, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.forkScore(score, body, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.forkScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getGroupScores(group: string, parent?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getGroupScores(group, parent, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getGroupScores']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. + * @summary Get a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScore(score: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScore(score, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the information about a collaborator (User or Group). + * @summary Get a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreCollaborator(score: string, collaborator: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreCollaborator(score, collaborator, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreCollaborator']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). + * @summary List the collaborators + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreCollaborators(score: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreCollaborators(score, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreCollaborators']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. + * @summary List comments + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {GetScoreCommentsTypeEnum} [type] Filter the comments by type + * @param {GetScoreCommentsSortEnum} [sort] Sort + * @param {GetScoreCommentsDirectionEnum} [direction] Sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreComments(score: string, sharingKey?: string, type?: GetScoreCommentsTypeEnum, sort?: GetScoreCommentsSortEnum, direction?: GetScoreCommentsDirectionEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreComments(score, sharingKey, type, sort, direction, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreComments']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. + * @summary Get a score revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreRevision(score: string, revision: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreRevision(score, revision, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreRevision']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Retrieve the file corresponding to a score revision (the following formats are available): Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, a tumbnail of the first page `thumbnail.png` or auto sync points `synchronizationPoints`. + * @summary Get a score revision data + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {GetScoreRevisionDataFormatEnum} format The format of the file you will retrieve + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [parts] An optional a set of parts uuid to be exported. This parameter must be composed of parts uuids separated by commas. For example \"59df645f-bb1c-f1b4-b573-d2afc4491f94,34ef645f-1aef-f3bc-1564-34cca4492b87\". + * @param {boolean} [defaultTrack] When `format` is `mp3`, this property is set to true and the score has a default `ScoreTrack` (mp3), this one will be returned instead of the playback file. + * @param {boolean} [url] Returns a json with the `url` in it instead of redirecting + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreRevisionData(score: string, revision: string, format: GetScoreRevisionDataFormatEnum, sharingKey?: string, parts?: string, defaultTrack?: boolean, url?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreRevisionData(score, revision, format, sharingKey, parts, defaultTrack, url, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreRevisionData']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. + * @summary List the revisions + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreRevisions(score: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreRevisions(score, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreRevisions']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreSubmissions(score: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreSubmissions(score, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreSubmissions']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Retrieve the details of an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getScoreTrack(score: string, track: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getScoreTrack(score, track, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getScoreTrack']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUserLikes(user, next, previous, limit, ids, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getUserLikes']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUserScores(user: string, parent?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUserScores(user, parent, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.getUserScores']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List the audio or video tracks linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [assignment] An assignment id with which all the tracks returned will be related to + * @param {boolean} [listAutoTrack] If true, and if available, return last automatically synchronized Flat\'s mp3 export as an additional track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async listScoreTracks(score: string, sharingKey?: string, assignment?: string, listAutoTrack?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listScoreTracks(score, sharingKey, assignment, listAutoTrack, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.listScoreTracks']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Mark the comment as resolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async markScoreCommentResolved(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.markScoreCommentResolved(score, comment, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.markScoreCommentResolved']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Mark the comment as unresolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async markScoreCommentUnresolved(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.markScoreCommentUnresolved(score, comment, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.markScoreCommentUnresolved']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don\'t guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. + * @summary Post a new comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreCommentCreation} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async postScoreComment(score: string, body: ScoreCommentCreation, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.postScoreComment(score, body, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.postScoreComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Remove the specified collaborator from the score + * @summary Delete a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async removeScoreCollaborator(score: string, collaborator: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.removeScoreCollaborator(score, collaborator, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.removeScoreCollaborator']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. + * @summary Untrash a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async untrashScore(score: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.untrashScore(score, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.untrashScore']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update an existing comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {ScoreCommentUpdate} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateScoreComment(score: string, comment: string, body: ScoreCommentUpdate, sharingKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateScoreComment(score, comment, body, sharingKey, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.updateScoreComment']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {ScoreTrackUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateScoreTrack(score: string, track: string, body: ScoreTrackUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateScoreTrack(score, track, body, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ScoreApi.updateScoreTrack']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * ScoreApi - factory interface + * @export + */ +export const ScoreApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ScoreApiFp(configuration) + return { + /** + * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. + * @summary Add a new collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ResourceCollaboratorCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreCollaborator(score: string, body: ResourceCollaboratorCreation, options?: any): AxiosPromise { + return localVarFp.addScoreCollaborator(score, body, options).then((request) => request(axios, basePath)); + }, + /** + * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. + * @summary Add a new video or audio track to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreTrackCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + addScoreTrack(score: string, body: ScoreTrackCreation, options?: any): AxiosPromise { + return localVarFp.addScoreTrack(score, body, options).then((request) => request(axios, basePath)); + }, + /** + * Some of the exports of a score takes are longer to process than a simple API requests. Use this endpoint to launch a new export of one score hosted on Flat. + * @summary Create a new score export task + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {CreateExportTaskFormatEnum} format The format of the file that will be generated or the target service name where the file will be exported + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {TaskExportOptions} [body] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createExportTask(score: string, revision: string, format: CreateExportTaskFormatEnum, sharingKey?: string, body?: TaskExportOptions, options?: any): AxiosPromise { + return localVarFp.createExportTask(score, revision, format, sharingKey, body, options).then((request) => request(axios, basePath)); + }, + /** + * Use this API method to **create a new music score in the current User account**. This API endpoints provides 3 ways to create scores: * `ScoreCreationBuilderData` : Create a blank score by providing the list of instruments to use. You can optionally customize the initial key signature, time signature, enable TABs, Chord grids, as well as the page layout. * `ScoreCreationFileImport`: Import an existing MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`), Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar, or MuseScore file to create the new Flat document. * `ScoreCreationGoogleDriveImport`: Import an existing Google Drive file from the connected Google Drive account. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. When using an OAuth2 access token or a personal token, the score will be automatically added to your dedicated app collection in the account (`/v2/collections/app`). If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. + * @summary Create a new score + * @param {ScoreCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createScore(body: ScoreCreation, options?: any): AxiosPromise { + return localVarFp.createScore(body, options).then((request) => request(axios, basePath)); + }, + /** + * Update a score by uploading a new revision for this one. + * @summary Create a new revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreRevisionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createScoreRevision(score: string, body: ScoreRevisionCreation, options?: any): AxiosPromise { + return localVarFp.createScoreRevision(score, body, options).then((request) => request(axios, basePath)); + }, + /** + * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won\'t be accessible anymore after calling this method and the user\'s quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). + * @summary Delete a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {boolean} [now] If `true`, the score deletion will be scheduled to be done ASAP + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScore(score: string, now?: boolean, options?: any): AxiosPromise { + return localVarFp.deleteScore(score, now, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreComment(score: string, comment: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.deleteScoreComment(score, comment, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Remove an audio or video track linked to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteScoreTrack(score: string, track: string, options?: any): AxiosPromise { + return localVarFp.deleteScoreTrack(score, track, options).then((request) => request(axios, basePath)); + }, + /** + * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title`, `subtitle`, `composer`, `lyricist`, `arranger` or `licenseText`, the metadatas will be instantly be updated, and a real-time action will be pushed to update the document lazily. This pending document modification will be automatically be saved as a new version by either a connected client or our internal versioning service. + * @summary Edit a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + editScore(score: string, body: ScoreModification, options?: any): AxiosPromise { + return localVarFp.editScore(score, body, options).then((request) => request(axios, basePath)); + }, + /** + * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. + * @summary Fork a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreFork} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + forkScore(score: string, body: ScoreFork, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.forkScore(score, body, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getGroupScores(group: string, parent?: string, options?: any): AxiosPromise> { + return localVarFp.getGroupScores(group, parent, options).then((request) => request(axios, basePath)); + }, + /** + * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. + * @summary Get a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScore(score: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.getScore(score, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Get the information about a collaborator (User or Group). + * @summary Get a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreCollaborator(score: string, collaborator: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.getScoreCollaborator(score, collaborator, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). + * @summary List the collaborators + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreCollaborators(score: string, sharingKey?: string, options?: any): AxiosPromise> { + return localVarFp.getScoreCollaborators(score, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. + * @summary List comments + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {GetScoreCommentsTypeEnum} [type] Filter the comments by type + * @param {GetScoreCommentsSortEnum} [sort] Sort + * @param {GetScoreCommentsDirectionEnum} [direction] Sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreComments(score: string, sharingKey?: string, type?: GetScoreCommentsTypeEnum, sort?: GetScoreCommentsSortEnum, direction?: GetScoreCommentsDirectionEnum, options?: any): AxiosPromise> { + return localVarFp.getScoreComments(score, sharingKey, type, sort, direction, options).then((request) => request(axios, basePath)); + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. + * @summary Get a score revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevision(score: string, revision: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.getScoreRevision(score, revision, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Retrieve the file corresponding to a score revision (the following formats are available): Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, a tumbnail of the first page `thumbnail.png` or auto sync points `synchronizationPoints`. + * @summary Get a score revision data + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {GetScoreRevisionDataFormatEnum} format The format of the file you will retrieve + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [parts] An optional a set of parts uuid to be exported. This parameter must be composed of parts uuids separated by commas. For example \"59df645f-bb1c-f1b4-b573-d2afc4491f94,34ef645f-1aef-f3bc-1564-34cca4492b87\". + * @param {boolean} [defaultTrack] When `format` is `mp3`, this property is set to true and the score has a default `ScoreTrack` (mp3), this one will be returned instead of the playback file. + * @param {boolean} [url] Returns a json with the `url` in it instead of redirecting + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevisionData(score: string, revision: string, format: GetScoreRevisionDataFormatEnum, sharingKey?: string, parts?: string, defaultTrack?: boolean, url?: boolean, options?: any): AxiosPromise { + return localVarFp.getScoreRevisionData(score, revision, format, sharingKey, parts, defaultTrack, url, options).then((request) => request(axios, basePath)); + }, + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. + * @summary List the revisions + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreRevisions(score: string, sharingKey?: string, options?: any): AxiosPromise> { + return localVarFp.getScoreRevisions(score, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreSubmissions(score: string, options?: any): AxiosPromise> { + return localVarFp.getScoreSubmissions(score, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Retrieve the details of an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getScoreTrack(score: string, track: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.getScoreTrack(score, track, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: any): AxiosPromise> { + return localVarFp.getUserLikes(user, next, previous, limit, ids, options).then((request) => request(axios, basePath)); + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserScores(user: string, parent?: string, options?: any): AxiosPromise> { + return localVarFp.getUserScores(user, parent, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List the audio or video tracks linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [assignment] An assignment id with which all the tracks returned will be related to + * @param {boolean} [listAutoTrack] If true, and if available, return last automatically synchronized Flat\'s mp3 export as an additional track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + listScoreTracks(score: string, sharingKey?: string, assignment?: string, listAutoTrack?: boolean, options?: any): AxiosPromise> { + return localVarFp.listScoreTracks(score, sharingKey, assignment, listAutoTrack, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Mark the comment as resolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + markScoreCommentResolved(score: string, comment: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.markScoreCommentResolved(score, comment, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Mark the comment as unresolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + markScoreCommentUnresolved(score: string, comment: string, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.markScoreCommentUnresolved(score, comment, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don\'t guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. + * @summary Post a new comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreCommentCreation} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + postScoreComment(score: string, body: ScoreCommentCreation, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.postScoreComment(score, body, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * Remove the specified collaborator from the score + * @summary Delete a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + removeScoreCollaborator(score: string, collaborator: string, options?: any): AxiosPromise { + return localVarFp.removeScoreCollaborator(score, collaborator, options).then((request) => request(axios, basePath)); + }, + /** + * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. + * @summary Untrash a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + untrashScore(score: string, options?: any): AxiosPromise { + return localVarFp.untrashScore(score, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update an existing comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {ScoreCommentUpdate} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateScoreComment(score: string, comment: string, body: ScoreCommentUpdate, sharingKey?: string, options?: any): AxiosPromise { + return localVarFp.updateScoreComment(score, comment, body, sharingKey, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {ScoreTrackUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateScoreTrack(score: string, track: string, body: ScoreTrackUpdate, options?: any): AxiosPromise { + return localVarFp.updateScoreTrack(score, track, body, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ScoreApi - object-oriented interface + * @export + * @class ScoreApi + * @extends {BaseAPI} + */ +export class ScoreApi extends BaseAPI { + /** + * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. + * @summary Add a new collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ResourceCollaboratorCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public addScoreCollaborator(score: string, body: ResourceCollaboratorCreation, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).addScoreCollaborator(score, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. + * @summary Add a new video or audio track to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreTrackCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public addScoreTrack(score: string, body: ScoreTrackCreation, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).addScoreTrack(score, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Some of the exports of a score takes are longer to process than a simple API requests. Use this endpoint to launch a new export of one score hosted on Flat. + * @summary Create a new score export task + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {CreateExportTaskFormatEnum} format The format of the file that will be generated or the target service name where the file will be exported + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {TaskExportOptions} [body] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public createExportTask(score: string, revision: string, format: CreateExportTaskFormatEnum, sharingKey?: string, body?: TaskExportOptions, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).createExportTask(score, revision, format, sharingKey, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this API method to **create a new music score in the current User account**. This API endpoints provides 3 ways to create scores: * `ScoreCreationBuilderData` : Create a blank score by providing the list of instruments to use. You can optionally customize the initial key signature, time signature, enable TABs, Chord grids, as well as the page layout. * `ScoreCreationFileImport`: Import an existing MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`), Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar, or MuseScore file to create the new Flat document. * `ScoreCreationGoogleDriveImport`: Import an existing Google Drive file from the connected Google Drive account. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. When using an OAuth2 access token or a personal token, the score will be automatically added to your dedicated app collection in the account (`/v2/collections/app`). If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. + * @summary Create a new score + * @param {ScoreCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public createScore(body: ScoreCreation, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).createScore(body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Update a score by uploading a new revision for this one. + * @summary Create a new revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreRevisionCreation} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public createScoreRevision(score: string, body: ScoreRevisionCreation, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).createScoreRevision(score, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won\'t be accessible anymore after calling this method and the user\'s quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). + * @summary Delete a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {boolean} [now] If `true`, the score deletion will be scheduled to be done ASAP + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public deleteScore(score: string, now?: boolean, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).deleteScore(score, now, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public deleteScoreComment(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).deleteScoreComment(score, comment, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Remove an audio or video track linked to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public deleteScoreTrack(score: string, track: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).deleteScoreTrack(score, track, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title`, `subtitle`, `composer`, `lyricist`, `arranger` or `licenseText`, the metadatas will be instantly be updated, and a real-time action will be pushed to update the document lazily. This pending document modification will be automatically be saved as a new version by either a connected client or our internal versioning service. + * @summary Edit a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreModification} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public editScore(score: string, body: ScoreModification, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).editScore(score, body, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. + * @summary Fork a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreFork} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public forkScore(score: string, body: ScoreFork, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).forkScore(score, body, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the list of scores shared with a group. + * @summary List group\'s scores + * @param {string} group Unique identifier of a Flat group + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getGroupScores(group: string, parent?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getGroupScores(group, parent, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. + * @summary Get a score\'s metadata + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScore(score: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScore(score, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the information about a collaborator (User or Group). + * @summary Get a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreCollaborator(score: string, collaborator: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreCollaborator(score, collaborator, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). + * @summary List the collaborators + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreCollaborators(score: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreCollaborators(score, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. + * @summary List comments + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {GetScoreCommentsTypeEnum} [type] Filter the comments by type + * @param {GetScoreCommentsSortEnum} [sort] Sort + * @param {GetScoreCommentsDirectionEnum} [direction] Sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreComments(score: string, sharingKey?: string, type?: GetScoreCommentsTypeEnum, sort?: GetScoreCommentsSortEnum, direction?: GetScoreCommentsDirectionEnum, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreComments(score, sharingKey, type, sort, direction, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. + * @summary Get a score revision + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreRevision(score: string, revision: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreRevision(score, revision, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Retrieve the file corresponding to a score revision (the following formats are available): Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, a tumbnail of the first page `thumbnail.png` or auto sync points `synchronizationPoints`. + * @summary Get a score revision data + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. + * @param {GetScoreRevisionDataFormatEnum} format The format of the file you will retrieve + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [parts] An optional a set of parts uuid to be exported. This parameter must be composed of parts uuids separated by commas. For example \"59df645f-bb1c-f1b4-b573-d2afc4491f94,34ef645f-1aef-f3bc-1564-34cca4492b87\". + * @param {boolean} [defaultTrack] When `format` is `mp3`, this property is set to true and the score has a default `ScoreTrack` (mp3), this one will be returned instead of the playback file. + * @param {boolean} [url] Returns a json with the `url` in it instead of redirecting + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreRevisionData(score: string, revision: string, format: GetScoreRevisionDataFormatEnum, sharingKey?: string, parts?: string, defaultTrack?: boolean, url?: boolean, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreRevisionData(score, revision, format, sharingKey, parts, defaultTrack, url, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. + * @summary List the revisions + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreRevisions(score: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreRevisions(score, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. + * @summary List submissions related to the score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreSubmissions(score: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreSubmissions(score, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Retrieve the details of an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getScoreTrack(score: string, track: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getScoreTrack(score, track, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getUserLikes(user, next, previous, limit, ids, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public getUserScores(user: string, parent?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).getUserScores(user, parent, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List the audio or video tracks linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {string} [assignment] An assignment id with which all the tracks returned will be related to + * @param {boolean} [listAutoTrack] If true, and if available, return last automatically synchronized Flat\'s mp3 export as an additional track + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public listScoreTracks(score: string, sharingKey?: string, assignment?: string, listAutoTrack?: boolean, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).listScoreTracks(score, sharingKey, assignment, listAutoTrack, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Mark the comment as resolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public markScoreCommentResolved(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).markScoreCommentResolved(score, comment, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Mark the comment as unresolved + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public markScoreCommentUnresolved(score: string, comment: string, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).markScoreCommentUnresolved(score, comment, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don\'t guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. + * @summary Post a new comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {ScoreCommentCreation} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public postScoreComment(score: string, body: ScoreCommentCreation, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).postScoreComment(score, body, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Remove the specified collaborator from the score + * @summary Delete a collaborator + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public removeScoreCollaborator(score: string, collaborator: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).removeScoreCollaborator(score, collaborator, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. + * @summary Untrash a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public untrashScore(score: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).untrashScore(score, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update an existing comment + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} comment Unique identifier of a sheet music comment + * @param {ScoreCommentUpdate} body + * @param {string} [sharingKey] This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public updateScoreComment(score: string, comment: string, body: ScoreCommentUpdate, sharingKey?: string, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).updateScoreComment(score, comment, body, sharingKey, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update an audio or video track linked to a score + * @param {string} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). + * @param {string} track Unique identifier of a score audio track + * @param {ScoreTrackUpdate} body + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ScoreApi + */ + public updateScoreTrack(score: string, track: string, body: ScoreTrackUpdate, options?: RawAxiosRequestConfig) { + return ScoreApiFp(this.configuration).updateScoreTrack(score, track, body, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const CreateExportTaskFormatEnum = { + Mp3: 'mp3', + Wav: 'wav', + Practicefirst: 'practicefirst' +} as const; +export type CreateExportTaskFormatEnum = typeof CreateExportTaskFormatEnum[keyof typeof CreateExportTaskFormatEnum]; +/** + * @export + */ +export const GetScoreCommentsTypeEnum = { + Document: 'document', + Inline: 'inline' +} as const; +export type GetScoreCommentsTypeEnum = typeof GetScoreCommentsTypeEnum[keyof typeof GetScoreCommentsTypeEnum]; +/** + * @export + */ +export const GetScoreCommentsSortEnum = { + Date: 'date' +} as const; +export type GetScoreCommentsSortEnum = typeof GetScoreCommentsSortEnum[keyof typeof GetScoreCommentsSortEnum]; +/** + * @export + */ +export const GetScoreCommentsDirectionEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type GetScoreCommentsDirectionEnum = typeof GetScoreCommentsDirectionEnum[keyof typeof GetScoreCommentsDirectionEnum]; +/** + * @export + */ +export const GetScoreRevisionDataFormatEnum = { + Json: 'json', + Mxl: 'mxl', + Xml: 'xml', + Mp3: 'mp3', + Wav: 'wav', + Midi: 'midi', + ThumbnailPng: 'thumbnail.png', + SynchronizationPoints: 'synchronizationPoints' +} as const; +export type GetScoreRevisionDataFormatEnum = typeof GetScoreRevisionDataFormatEnum[keyof typeof GetScoreRevisionDataFormatEnum]; + + +/** + * TaskApi - axios parameter creator + * @export + */ +export const TaskApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * This method can be used to follow a task progression, for example while a score is being exported. + * @summary Get a task details + * @param {string} task Unique identifier for the task + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getTask: async (task: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'task' is not null or undefined + assertParamExists('getTask', 'task', task) + const localVarPath = `/tasks/{task}` + .replace(`{${"task"}}`, encodeURIComponent(String(task))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["tasks.readonly"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * TaskApi - functional programming interface + * @export + */ +export const TaskApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = TaskApiAxiosParamCreator(configuration) + return { + /** + * This method can be used to follow a task progression, for example while a score is being exported. + * @summary Get a task details + * @param {string} task Unique identifier for the task + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getTask(task: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getTask(task, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TaskApi.getTask']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * TaskApi - factory interface + * @export + */ +export const TaskApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = TaskApiFp(configuration) + return { + /** + * This method can be used to follow a task progression, for example while a score is being exported. + * @summary Get a task details + * @param {string} task Unique identifier for the task + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getTask(task: string, options?: any): AxiosPromise { + return localVarFp.getTask(task, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * TaskApi - object-oriented interface + * @export + * @class TaskApi + * @extends {BaseAPI} + */ +export class TaskApi extends BaseAPI { + /** + * This method can be used to follow a task progression, for example while a score is being exported. + * @summary Get a task details + * @param {string} task Unique identifier for the task + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public getTask(task: string, options?: RawAxiosRequestConfig) { + return TaskApiFp(this.configuration).getTask(task, options).then((request) => request(this.axios, this.basePath)); + } +} + + + +/** + * UserApi - axios parameter creator + * @export + */ +export const UserApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Get a profile of a Flat or Flat for Education User. + * @summary Get a public user profile + * @param {string} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUser: async (user: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('getUser', 'user', user) + const localVarPath = `/users/{user}` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["account.public_profile", "account.education_profile"], configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserLikes: async (user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('getUserLikes', 'user', user) + const localVarPath = `/users/{user}/likes` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["account.public_profile"], configuration) + + if (next !== undefined) { + localVarQueryParameter['next'] = next; + } + + if (previous !== undefined) { + localVarQueryParameter['previous'] = previous; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (ids !== undefined) { + localVarQueryParameter['ids'] = ids; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserScores: async (user: string, parent?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'user' is not null or undefined + assertParamExists('getUserScores', 'user', user) + const localVarPath = `/users/{user}/scores` + .replace(`{${"user"}}`, encodeURIComponent(String(user))); + // 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; + + // authentication OAuth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "OAuth2", ["scores", "scores.readonly"], configuration) + + if (parent !== undefined) { + localVarQueryParameter['parent'] = parent; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserApi - functional programming interface + * @export + */ +export const UserApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration) + return { + /** + * Get a profile of a Flat or Flat for Education User. + * @summary Get a public user profile + * @param {string} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUser(user: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUser(user, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['UserApi.getUser']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUserLikes(user, next, previous, limit, ids, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['UserApi.getUserLikes']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUserScores(user: string, parent?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUserScores(user, parent, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['UserApi.getUserScores']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * UserApi - factory interface + * @export + */ +export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserApiFp(configuration) + return { + /** + * Get a profile of a Flat or Flat for Education User. + * @summary Get a public user profile + * @param {string} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUser(user: string, options?: any): AxiosPromise { + return localVarFp.getUser(user, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: any): AxiosPromise> { + return localVarFp.getUserLikes(user, next, previous, limit, ids, options).then((request) => request(axios, basePath)); + }, + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUserScores(user: string, parent?: string, options?: any): AxiosPromise> { + return localVarFp.getUserScores(user, parent, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserApi - object-oriented interface + * @export + * @class UserApi + * @extends {BaseAPI} + */ +export class UserApi extends BaseAPI { + /** + * Get a profile of a Flat or Flat for Education User. + * @summary Get a public user profile + * @param {string} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public getUser(user: string, options?: RawAxiosRequestConfig) { + return UserApiFp(this.configuration).getUser(user, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List liked scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [next] An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {string} [previous] An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. + * @param {number} [limit] This is the maximum number of objects that may be returned + * @param {boolean} [ids] Return only the identifiers of the scores + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public getUserLikes(user: string, next?: string, previous?: string, limit?: number, ids?: boolean, options?: RawAxiosRequestConfig) { + return UserApiFp(this.configuration).getUserLikes(user, next, previous, limit, ids, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. + * @summary List user\'s scores + * @param {string} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. + * @param {string} [parent] Filter the score forked from the score id `parent` + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public getUserScores(user: string, parent?: string, options?: RawAxiosRequestConfig) { + return UserApiFp(this.configuration).getUserScores(user, parent, options).then((request) => request(this.axios, this.basePath)); + } +} + + + diff --git a/base.ts b/base.ts new file mode 100644 index 0000000..c24335e --- /dev/null +++ b/base.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Flat API + * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user\'s scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat\'s API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) + * + * The version of the OpenAPI document: 2.20.0 + * Contact: developers@flat.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import type { Configuration } from './configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; + +export const BASE_PATH = "https://api.flat.io/v2".replace(/\/+$/, ""); + +/** + * + * @export + */ +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +/** + * + * @export + * @interface RequestArgs + */ +export interface RequestArgs { + url: string; + options: RawAxiosRequestConfig; +} + +/** + * + * @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 ?? basePath; + } + } +}; + +/** + * + * @export + * @class RequiredError + * @extends {Error} + */ +export class RequiredError extends Error { + constructor(public field: string, msg?: string) { + super(msg); + this.name = "RequiredError" + } +} + +interface ServerMap { + [key: string]: { + url: string, + description: string, + }[]; +} + +/** + * + * @export + */ +export const operationServerMap: ServerMap = { +} diff --git a/build/flat-api.js b/build/flat-api.js deleted file mode 100644 index 12bafa7..0000000 --- a/build/flat-api.js +++ /dev/null @@ -1,18744 +0,0 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 -} - -function byteLength (b64) { - // base64 is 4/3 + up to two characters of the original data - return b64.length * 3 / 4 - placeHoldersCount(b64) -} - -function toByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - var len = b64.length - placeHolders = placeHoldersCount(b64) - - arr = new Arr(len * 3 / 4 - placeHolders) - - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? len - 4 : len - - var L = 0 - - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] - arr[L++] = (tmp >> 16) & 0xFF - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - if (placeHolders === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[L++] = tmp & 0xFF - } else if (placeHolders === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var output = '' - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - output += lookup[tmp >> 2] - output += lookup[(tmp << 4) & 0x3F] - output += '==' - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) - output += lookup[tmp >> 10] - output += lookup[(tmp >> 4) & 0x3F] - output += lookup[(tmp << 2) & 0x3F] - output += '=' - } - - parts.push(output) - - return parts.join('') -} - -},{}],2:[function(require,module,exports){ - -},{}],3:[function(require,module,exports){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - -'use strict' - -var base64 = require('base64-js') -var ieee754 = require('ieee754') - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -var K_MAX_LENGTH = 0x7fffffff -exports.kMaxLength = K_MAX_LENGTH - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Print warning and recommend using `buffer` v4.x which has an Object - * implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * We report that the browser does not support typed arrays if the are not subclassable - * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` - * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support - * for __proto__ and has a buggy typed array implementation. - */ -Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() - -if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && - typeof console.error === 'function') { - console.error( - 'This browser lacks typed array (Uint8Array) support which is required by ' + - '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' - ) -} - -function typedArraySupport () { - // Can typed array instances can be augmented? - try { - var arr = new Uint8Array(1) - arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} - return arr.foo() === 42 - } catch (e) { - return false - } -} - -function createBuffer (length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('Invalid typed array length') - } - // Return an augmented `Uint8Array` instance - var buf = new Uint8Array(length) - buf.__proto__ = Buffer.prototype - return buf -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error( - 'If encoding is specified then the first argument must be a string' - ) - } - return allocUnsafe(arg) - } - return from(arg, encodingOrOffset, length) -} - -// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 -if (typeof Symbol !== 'undefined' && Symbol.species && - Buffer[Symbol.species] === Buffer) { - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true, - enumerable: false, - writable: false - }) -} - -Buffer.poolSize = 8192 // not used by this implementation - -function from (value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') - } - - if (value instanceof ArrayBuffer) { - return fromArrayBuffer(value, encodingOrOffset, length) - } - - if (typeof value === 'string') { - return fromString(value, encodingOrOffset) - } - - return fromObject(value) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length) -} - -// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: -// https://github.com/feross/buffer/pull/148 -Buffer.prototype.__proto__ = Uint8Array.prototype -Buffer.__proto__ = Uint8Array - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } -} - -function alloc (size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(size).fill(fill, encoding) - : createBuffer(size).fill(fill) - } - return createBuffer(size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(size, fill, encoding) -} - -function allocUnsafe (size) { - assertSize(size) - return createBuffer(size < 0 ? 0 : checked(size) | 0) -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(size) -} - -function fromString (string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } - - var length = byteLength(string, encoding) | 0 - var buf = createBuffer(length) - - var actual = buf.write(string, encoding) - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - buf = buf.slice(0, actual) - } - - return buf -} - -function fromArrayLike (array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - var buf = createBuffer(length) - for (var i = 0; i < length; i += 1) { - buf[i] = array[i] & 255 - } - return buf -} - -function fromArrayBuffer (array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } - - var buf - if (byteOffset === undefined && length === undefined) { - buf = new Uint8Array(array) - } else if (length === undefined) { - buf = new Uint8Array(array, byteOffset) - } else { - buf = new Uint8Array(array, byteOffset, length) - } - - // Return an augmented `Uint8Array` instance - buf.__proto__ = Buffer.prototype - return buf -} - -function fromObject (obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - var buf = createBuffer(len) - - if (buf.length === 0) { - return buf - } - - obj.copy(buf, 0, 0, len) - return buf - } - - if (obj) { - if (isArrayBufferView(obj) || 'length' in obj) { - if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { - return createBuffer(0) - } - return fromArrayLike(obj) - } - - if (obj.type === 'Buffer' && Array.isArray(obj.data)) { - return fromArrayLike(obj.data) - } - } - - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') -} - -function checked (length) { - // Note: cannot use `length < K_MAX_LENGTH` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= K_MAX_LENGTH) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return b != null && b._isBuffer === true -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - - if (list.length === 0) { - return Buffer.alloc(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } - - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} - -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (isArrayBufferView(string) || string instanceof ArrayBuffer) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string - } - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -function slowToString (encoding, start, end) { - var loweredCase = false - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } - - if (end === undefined || end > this.length) { - end = this.length - } - - if (end <= 0) { - return '' - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 - - if (end <= start) { - return '' - } - - if (!encoding) encoding = 'utf8' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) -// to detect a Buffer instance. It's not possible to use `instanceof Buffer` -// reliably in a browserify context because there could be multiple different -// copies of the 'buffer' package in use. This method works even for Buffer -// instances that were created from another copy of the `buffer` package. -// See: https://github.com/feross/buffer/issues/154 -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} - -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} - -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '' -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } - - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } - - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } - - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 - - if (this === target) return 0 - - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) - - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (numberIsNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) - } - - throw new TypeError('val must be string, number or Buffer') -} - -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } - - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } - - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) return i - } - } - - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (numberIsNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset >>> 0 - if (isFinite(length)) { - length = length >>> 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256)) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf = this.subarray(start, end) - // Return an augmented `Uint8Array` instance - newBuf.__proto__ = Buffer.prototype - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, start + len), - targetStart - ) - } - - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if (code < 256) { - val = code - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255 - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } - - if (end <= start) { - return this - } - - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 - - if (!val) val = 0 - - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : new Buffer(val, encoding) - var len = bytes.length - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this -} - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = str.trim().replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -// Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView` -function isArrayBufferView (obj) { - return (typeof ArrayBuffer.isView === 'function') && ArrayBuffer.isView(obj) -} - -function numberIsNaN (obj) { - return obj !== obj // eslint-disable-line no-self-compare -} - -},{"base64-js":1,"ieee754":5}],4:[function(require,module,exports){ - -/** - * Expose `Emitter`. - */ - -if (typeof module !== 'undefined') { - module.exports = Emitter; -} - -/** - * Initialize a new `Emitter`. - * - * @api public - */ - -function Emitter(obj) { - if (obj) return mixin(obj); -}; - -/** - * Mixin the emitter properties. - * - * @param {Object} obj - * @return {Object} - * @api private - */ - -function mixin(obj) { - for (var key in Emitter.prototype) { - obj[key] = Emitter.prototype[key]; - } - return obj; -} - -/** - * Listen on the given `event` with `fn`. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - -Emitter.prototype.on = -Emitter.prototype.addEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; - (this._callbacks['$' + event] = this._callbacks['$' + event] || []) - .push(fn); - return this; -}; - -/** - * Adds an `event` listener that will be invoked a single - * time then automatically removed. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - -Emitter.prototype.once = function(event, fn){ - function on() { - this.off(event, on); - fn.apply(this, arguments); - } - - on.fn = fn; - this.on(event, on); - return this; -}; - -/** - * Remove the given callback for `event` or all - * registered callbacks. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ - -Emitter.prototype.off = -Emitter.prototype.removeListener = -Emitter.prototype.removeAllListeners = -Emitter.prototype.removeEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; - - // all - if (0 == arguments.length) { - this._callbacks = {}; - return this; - } - - // specific event - var callbacks = this._callbacks['$' + event]; - if (!callbacks) return this; - - // remove all handlers - if (1 == arguments.length) { - delete this._callbacks['$' + event]; - return this; - } - - // remove specific handler - var cb; - for (var i = 0; i < callbacks.length; i++) { - cb = callbacks[i]; - if (cb === fn || cb.fn === fn) { - callbacks.splice(i, 1); - break; - } - } - return this; -}; - -/** - * Emit `event` with the given args. - * - * @param {String} event - * @param {Mixed} ... - * @return {Emitter} - */ - -Emitter.prototype.emit = function(event){ - this._callbacks = this._callbacks || {}; - var args = [].slice.call(arguments, 1) - , callbacks = this._callbacks['$' + event]; - - if (callbacks) { - callbacks = callbacks.slice(0); - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args); - } - } - - return this; -}; - -/** - * Return array of callbacks for `event`. - * - * @param {String} event - * @return {Array} - * @api public - */ - -Emitter.prototype.listeners = function(event){ - this._callbacks = this._callbacks || {}; - return this._callbacks['$' + event] || []; -}; - -/** - * Check if this emitter has `event` handlers. - * - * @param {String} event - * @return {Boolean} - * @api public - */ - -Emitter.prototype.hasListeners = function(event){ - return !! this.listeners(event).length; -}; - -},{}],5:[function(require,module,exports){ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = nBytes * 8 - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - -},{}],6:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -// If obj.hasOwnProperty has been overridden, then calling -// obj.hasOwnProperty(prop) will break. -// See: https://github.com/joyent/node/issues/1707 -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -module.exports = function(qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; - - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } - - var regexp = /\+/g; - qs = qs.split(sep); - - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } - - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } - - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr, vstr, k, v; - - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } - - k = decodeURIComponent(kstr); - v = decodeURIComponent(vstr); - - if (!hasOwnProperty(obj, k)) { - obj[k] = v; - } else if (isArray(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } - } - - return obj; -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -},{}],7:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -var stringifyPrimitive = function(v) { - switch (typeof v) { - case 'string': - return v; - - case 'boolean': - return v ? 'true' : 'false'; - - case 'number': - return isFinite(v) ? v : ''; - - default: - return ''; - } -}; - -module.exports = function(obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } - - if (typeof obj === 'object') { - return map(objectKeys(obj), function(k) { - var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; - if (isArray(obj[k])) { - return map(obj[k], function(v) { - return ks + encodeURIComponent(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + encodeURIComponent(stringifyPrimitive(obj[k])); - } - }).join(sep); - - } - - if (!name) return ''; - return encodeURIComponent(stringifyPrimitive(name)) + eq + - encodeURIComponent(stringifyPrimitive(obj)); -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -function map (xs, f) { - if (xs.map) return xs.map(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - res.push(f(xs[i], i)); - } - return res; -} - -var objectKeys = Object.keys || function (obj) { - var res = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); - } - return res; -}; - -},{}],8:[function(require,module,exports){ -'use strict'; - -exports.decode = exports.parse = require('./decode'); -exports.encode = exports.stringify = require('./encode'); - -},{"./decode":6,"./encode":7}],9:[function(require,module,exports){ -/** - * Root reference for iframes. - */ - -var root; -if (typeof window !== 'undefined') { // Browser window - root = window; -} else if (typeof self !== 'undefined') { // Web Worker - root = self; -} else { // Other environments - console.warn("Using browser-only version of superagent in non-browser environment"); - root = this; -} - -var Emitter = require('component-emitter'); -var RequestBase = require('./request-base'); -var isObject = require('./is-object'); -var isFunction = require('./is-function'); -var ResponseBase = require('./response-base'); -var shouldRetry = require('./should-retry'); - -/** - * Noop. - */ - -function noop(){}; - -/** - * Expose `request`. - */ - -var request = exports = module.exports = function(method, url) { - // callback - if ('function' == typeof url) { - return new exports.Request('GET', method).end(url); - } - - // url first - if (1 == arguments.length) { - return new exports.Request('GET', method); - } - - return new exports.Request(method, url); -} - -exports.Request = Request; - -/** - * Determine XHR. - */ - -request.getXHR = function () { - if (root.XMLHttpRequest - && (!root.location || 'file:' != root.location.protocol - || !root.ActiveXObject)) { - return new XMLHttpRequest; - } else { - try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {} - try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {} - try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {} - try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {} - } - throw Error("Browser-only verison of superagent could not find XHR"); -}; - -/** - * Removes leading and trailing whitespace, added to support IE. - * - * @param {String} s - * @return {String} - * @api private - */ - -var trim = ''.trim - ? function(s) { return s.trim(); } - : function(s) { return s.replace(/(^\s*|\s*$)/g, ''); }; - -/** - * Serialize the given `obj`. - * - * @param {Object} obj - * @return {String} - * @api private - */ - -function serialize(obj) { - if (!isObject(obj)) return obj; - var pairs = []; - for (var key in obj) { - pushEncodedKeyValuePair(pairs, key, obj[key]); - } - return pairs.join('&'); -} - -/** - * Helps 'serialize' with serializing arrays. - * Mutates the pairs array. - * - * @param {Array} pairs - * @param {String} key - * @param {Mixed} val - */ - -function pushEncodedKeyValuePair(pairs, key, val) { - if (val != null) { - if (Array.isArray(val)) { - val.forEach(function(v) { - pushEncodedKeyValuePair(pairs, key, v); - }); - } else if (isObject(val)) { - for(var subkey in val) { - pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]); - } - } else { - pairs.push(encodeURIComponent(key) - + '=' + encodeURIComponent(val)); - } - } else if (val === null) { - pairs.push(encodeURIComponent(key)); - } -} - -/** - * Expose serialization method. - */ - - request.serializeObject = serialize; - - /** - * Parse the given x-www-form-urlencoded `str`. - * - * @param {String} str - * @return {Object} - * @api private - */ - -function parseString(str) { - var obj = {}; - var pairs = str.split('&'); - var pair; - var pos; - - for (var i = 0, len = pairs.length; i < len; ++i) { - pair = pairs[i]; - pos = pair.indexOf('='); - if (pos == -1) { - obj[decodeURIComponent(pair)] = ''; - } else { - obj[decodeURIComponent(pair.slice(0, pos))] = - decodeURIComponent(pair.slice(pos + 1)); - } - } - - return obj; -} - -/** - * Expose parser. - */ - -request.parseString = parseString; - -/** - * Default MIME type map. - * - * superagent.types.xml = 'application/xml'; - * - */ - -request.types = { - html: 'text/html', - json: 'application/json', - xml: 'application/xml', - urlencoded: 'application/x-www-form-urlencoded', - 'form': 'application/x-www-form-urlencoded', - 'form-data': 'application/x-www-form-urlencoded' -}; - -/** - * Default serialization map. - * - * superagent.serialize['application/xml'] = function(obj){ - * return 'generated xml here'; - * }; - * - */ - - request.serialize = { - 'application/x-www-form-urlencoded': serialize, - 'application/json': JSON.stringify - }; - - /** - * Default parsers. - * - * superagent.parse['application/xml'] = function(str){ - * return { object parsed from str }; - * }; - * - */ - -request.parse = { - 'application/x-www-form-urlencoded': parseString, - 'application/json': JSON.parse -}; - -/** - * Parse the given header `str` into - * an object containing the mapped fields. - * - * @param {String} str - * @return {Object} - * @api private - */ - -function parseHeader(str) { - var lines = str.split(/\r?\n/); - var fields = {}; - var index; - var line; - var field; - var val; - - lines.pop(); // trailing CRLF - - for (var i = 0, len = lines.length; i < len; ++i) { - line = lines[i]; - index = line.indexOf(':'); - field = line.slice(0, index).toLowerCase(); - val = trim(line.slice(index + 1)); - fields[field] = val; - } - - return fields; -} - -/** - * Check if `mime` is json or has +json structured syntax suffix. - * - * @param {String} mime - * @return {Boolean} - * @api private - */ - -function isJSON(mime) { - return /[\/+]json\b/.test(mime); -} - -/** - * Initialize a new `Response` with the given `xhr`. - * - * - set flags (.ok, .error, etc) - * - parse header - * - * Examples: - * - * Aliasing `superagent` as `request` is nice: - * - * request = superagent; - * - * We can use the promise-like API, or pass callbacks: - * - * request.get('/').end(function(res){}); - * request.get('/', function(res){}); - * - * Sending data can be chained: - * - * request - * .post('/user') - * .send({ name: 'tj' }) - * .end(function(res){}); - * - * Or passed to `.send()`: - * - * request - * .post('/user') - * .send({ name: 'tj' }, function(res){}); - * - * Or passed to `.post()`: - * - * request - * .post('/user', { name: 'tj' }) - * .end(function(res){}); - * - * Or further reduced to a single call for simple cases: - * - * request - * .post('/user', { name: 'tj' }, function(res){}); - * - * @param {XMLHTTPRequest} xhr - * @param {Object} options - * @api private - */ - -function Response(req) { - this.req = req; - this.xhr = this.req.xhr; - // responseText is accessible only if responseType is '' or 'text' and on older browsers - this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined') - ? this.xhr.responseText - : null; - this.statusText = this.req.xhr.statusText; - var status = this.xhr.status; - // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request - if (status === 1223) { - status = 204; - } - this._setStatusProperties(status); - this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders()); - // getAllResponseHeaders sometimes falsely returns "" for CORS requests, but - // getResponseHeader still works. so we get content-type even if getting - // other headers fails. - this.header['content-type'] = this.xhr.getResponseHeader('content-type'); - this._setHeaderProperties(this.header); - - if (null === this.text && req._responseType) { - this.body = this.xhr.response; - } else { - this.body = this.req.method != 'HEAD' - ? this._parseBody(this.text ? this.text : this.xhr.response) - : null; - } -} - -ResponseBase(Response.prototype); - -/** - * Parse the given body `str`. - * - * Used for auto-parsing of bodies. Parsers - * are defined on the `superagent.parse` object. - * - * @param {String} str - * @return {Mixed} - * @api private - */ - -Response.prototype._parseBody = function(str){ - var parse = request.parse[this.type]; - if(this.req._parser) { - return this.req._parser(this, str); - } - if (!parse && isJSON(this.type)) { - parse = request.parse['application/json']; - } - return parse && str && (str.length || str instanceof Object) - ? parse(str) - : null; -}; - -/** - * Return an `Error` representative of this response. - * - * @return {Error} - * @api public - */ - -Response.prototype.toError = function(){ - var req = this.req; - var method = req.method; - var url = req.url; - - var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')'; - var err = new Error(msg); - err.status = this.status; - err.method = method; - err.url = url; - - return err; -}; - -/** - * Expose `Response`. - */ - -request.Response = Response; - -/** - * Initialize a new `Request` with the given `method` and `url`. - * - * @param {String} method - * @param {String} url - * @api public - */ - -function Request(method, url) { - var self = this; - this._query = this._query || []; - this.method = method; - this.url = url; - this.header = {}; // preserves header name case - this._header = {}; // coerces header names to lowercase - this.on('end', function(){ - var err = null; - var res = null; - - try { - res = new Response(self); - } catch(e) { - err = new Error('Parser is unable to parse the response'); - err.parse = true; - err.original = e; - // issue #675: return the raw response if the response parsing fails - if (self.xhr) { - // ie9 doesn't have 'response' property - err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response; - // issue #876: return the http status code if the response parsing fails - err.status = self.xhr.status ? self.xhr.status : null; - err.statusCode = err.status; // backwards-compat only - } else { - err.rawResponse = null; - err.status = null; - } - - return self.callback(err); - } - - self.emit('response', res); - - var new_err; - try { - if (!self._isResponseOK(res)) { - new_err = new Error(res.statusText || 'Unsuccessful HTTP response'); - new_err.original = err; - new_err.response = res; - new_err.status = res.status; - } - } catch(e) { - new_err = e; // #985 touching res may cause INVALID_STATE_ERR on old Android - } - - // #1000 don't catch errors from the callback to avoid double calling it - if (new_err) { - self.callback(new_err, res); - } else { - self.callback(null, res); - } - }); -} - -/** - * Mixin `Emitter` and `RequestBase`. - */ - -Emitter(Request.prototype); -RequestBase(Request.prototype); - -/** - * Set Content-Type to `type`, mapping values from `request.types`. - * - * Examples: - * - * superagent.types.xml = 'application/xml'; - * - * request.post('/') - * .type('xml') - * .send(xmlstring) - * .end(callback); - * - * request.post('/') - * .type('application/xml') - * .send(xmlstring) - * .end(callback); - * - * @param {String} type - * @return {Request} for chaining - * @api public - */ - -Request.prototype.type = function(type){ - this.set('Content-Type', request.types[type] || type); - return this; -}; - -/** - * Set Accept to `type`, mapping values from `request.types`. - * - * Examples: - * - * superagent.types.json = 'application/json'; - * - * request.get('/agent') - * .accept('json') - * .end(callback); - * - * request.get('/agent') - * .accept('application/json') - * .end(callback); - * - * @param {String} accept - * @return {Request} for chaining - * @api public - */ - -Request.prototype.accept = function(type){ - this.set('Accept', request.types[type] || type); - return this; -}; - -/** - * Set Authorization field value with `user` and `pass`. - * - * @param {String} user - * @param {String} [pass] optional in case of using 'bearer' as type - * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic') - * @return {Request} for chaining - * @api public - */ - -Request.prototype.auth = function(user, pass, options){ - if (typeof pass === 'object' && pass !== null) { // pass is optional and can substitute for options - options = pass; - } - if (!options) { - options = { - type: 'function' === typeof btoa ? 'basic' : 'auto', - } - } - - switch (options.type) { - case 'basic': - this.set('Authorization', 'Basic ' + btoa(user + ':' + pass)); - break; - - case 'auto': - this.username = user; - this.password = pass; - break; - - case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' }) - this.set('Authorization', 'Bearer ' + user); - break; - } - return this; -}; - -/** - * Add query-string `val`. - * - * Examples: - * - * request.get('/shoes') - * .query('size=10') - * .query({ color: 'blue' }) - * - * @param {Object|String} val - * @return {Request} for chaining - * @api public - */ - -Request.prototype.query = function(val){ - if ('string' != typeof val) val = serialize(val); - if (val) this._query.push(val); - return this; -}; - -/** - * Queue the given `file` as an attachment to the specified `field`, - * with optional `options` (or filename). - * - * ``` js - * request.post('/upload') - * .attach('content', new Blob(['hey!'], { type: "text/html"})) - * .end(callback); - * ``` - * - * @param {String} field - * @param {Blob|File} file - * @param {String|Object} options - * @return {Request} for chaining - * @api public - */ - -Request.prototype.attach = function(field, file, options){ - if (file) { - if (this._data) { - throw Error("superagent can't mix .send() and .attach()"); - } - - this._getFormData().append(field, file, options || file.name); - } - return this; -}; - -Request.prototype._getFormData = function(){ - if (!this._formData) { - this._formData = new root.FormData(); - } - return this._formData; -}; - -/** - * Invoke the callback with `err` and `res` - * and handle arity check. - * - * @param {Error} err - * @param {Response} res - * @api private - */ - -Request.prototype.callback = function(err, res){ - // console.log(this._retries, this._maxRetries) - if (this._maxRetries && this._retries++ < this._maxRetries && shouldRetry(err, res)) { - return this._retry(); - } - - var fn = this._callback; - this.clearTimeout(); - - if (err) { - if (this._maxRetries) err.retries = this._retries - 1; - this.emit('error', err); - } - - fn(err, res); -}; - -/** - * Invoke callback with x-domain error. - * - * @api private - */ - -Request.prototype.crossDomainError = function(){ - var err = new Error('Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.'); - err.crossDomain = true; - - err.status = this.status; - err.method = this.method; - err.url = this.url; - - this.callback(err); -}; - -// This only warns, because the request is still likely to work -Request.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){ - console.warn("This is not supported in browser version of superagent"); - return this; -}; - -// This throws, because it can't send/receive data as expected -Request.prototype.pipe = Request.prototype.write = function(){ - throw Error("Streaming is not supported in browser version of superagent"); -}; - -/** - * Compose querystring to append to req.url - * - * @api private - */ - -Request.prototype._appendQueryString = function(){ - var query = this._query.join('&'); - if (query) { - this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query; - } - - if (this._sort) { - var index = this.url.indexOf('?'); - if (index >= 0) { - var queryArr = this.url.substring(index + 1).split('&'); - if (isFunction(this._sort)) { - queryArr.sort(this._sort); - } else { - queryArr.sort(); - } - this.url = this.url.substring(0, index) + '?' + queryArr.join('&'); - } - } -}; - -/** - * Check if `obj` is a host object, - * we don't want to serialize these :) - * - * @param {Object} obj - * @return {Boolean} - * @api private - */ -Request.prototype._isHost = function _isHost(obj) { - // Native objects stringify to [object File], [object Blob], [object FormData], etc. - return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]'; -} - -/** - * Initiate request, invoking callback `fn(res)` - * with an instanceof `Response`. - * - * @param {Function} fn - * @return {Request} for chaining - * @api public - */ - -Request.prototype.end = function(fn){ - if (this._endCalled) { - console.warn("Warning: .end() was called twice. This is not supported in superagent"); - } - this._endCalled = true; - - // store callback - this._callback = fn || noop; - - // querystring - this._appendQueryString(); - - return this._end(); -}; - -Request.prototype._end = function() { - var self = this; - var xhr = this.xhr = request.getXHR(); - var data = this._formData || this._data; - - this._setTimeouts(); - - // state change - xhr.onreadystatechange = function(){ - var readyState = xhr.readyState; - if (readyState >= 2 && self._responseTimeoutTimer) { - clearTimeout(self._responseTimeoutTimer); - } - if (4 != readyState) { - return; - } - - // In IE9, reads to any property (e.g. status) off of an aborted XHR will - // result in the error "Could not complete the operation due to error c00c023f" - var status; - try { status = xhr.status } catch(e) { status = 0; } - - if (!status) { - if (self.timedout || self._aborted) return; - return self.crossDomainError(); - } - self.emit('end'); - }; - - // progress - var handleProgress = function(direction, e) { - if (e.total > 0) { - e.percent = e.loaded / e.total * 100; - } - e.direction = direction; - self.emit('progress', e); - } - if (this.hasListeners('progress')) { - try { - xhr.onprogress = handleProgress.bind(null, 'download'); - if (xhr.upload) { - xhr.upload.onprogress = handleProgress.bind(null, 'upload'); - } - } catch(e) { - // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist. - // Reported here: - // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context - } - } - - // initiate request - try { - if (this.username && this.password) { - xhr.open(this.method, this.url, true, this.username, this.password); - } else { - xhr.open(this.method, this.url, true); - } - } catch (err) { - // see #1149 - return this.callback(err); - } - - // CORS - if (this._withCredentials) xhr.withCredentials = true; - - // body - if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) { - // serialize stuff - var contentType = this._header['content-type']; - var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : '']; - if (!serialize && isJSON(contentType)) { - serialize = request.serialize['application/json']; - } - if (serialize) data = serialize(data); - } - - // set header fields - for (var field in this.header) { - if (null == this.header[field]) continue; - - if (this.header.hasOwnProperty(field)) - xhr.setRequestHeader(field, this.header[field]); - } - - if (this._responseType) { - xhr.responseType = this._responseType; - } - - // send stuff - this.emit('request', this); - - // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing) - // We need null here if data is undefined - xhr.send(typeof data !== 'undefined' ? data : null); - return this; -}; - -/** - * GET `url` with optional callback `fn(res)`. - * - * @param {String} url - * @param {Mixed|Function} [data] or fn - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.get = function(url, data, fn){ - var req = request('GET', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.query(data); - if (fn) req.end(fn); - return req; -}; - -/** - * HEAD `url` with optional callback `fn(res)`. - * - * @param {String} url - * @param {Mixed|Function} [data] or fn - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.head = function(url, data, fn){ - var req = request('HEAD', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -/** - * OPTIONS query to `url` with optional callback `fn(res)`. - * - * @param {String} url - * @param {Mixed|Function} [data] or fn - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.options = function(url, data, fn){ - var req = request('OPTIONS', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -/** - * DELETE `url` with optional `data` and callback `fn(res)`. - * - * @param {String} url - * @param {Mixed} [data] - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -function del(url, data, fn){ - var req = request('DELETE', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -request['del'] = del; -request['delete'] = del; - -/** - * PATCH `url` with optional `data` and callback `fn(res)`. - * - * @param {String} url - * @param {Mixed} [data] - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.patch = function(url, data, fn){ - var req = request('PATCH', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -/** - * POST `url` with optional `data` and callback `fn(res)`. - * - * @param {String} url - * @param {Mixed} [data] - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.post = function(url, data, fn){ - var req = request('POST', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -/** - * PUT `url` with optional `data` and callback `fn(res)`. - * - * @param {String} url - * @param {Mixed|Function} [data] or fn - * @param {Function} [fn] - * @return {Request} - * @api public - */ - -request.put = function(url, data, fn){ - var req = request('PUT', url); - if ('function' == typeof data) fn = data, data = null; - if (data) req.send(data); - if (fn) req.end(fn); - return req; -}; - -},{"./is-function":10,"./is-object":11,"./request-base":12,"./response-base":13,"./should-retry":14,"component-emitter":4}],10:[function(require,module,exports){ -/** - * Check if `fn` is a function. - * - * @param {Function} fn - * @return {Boolean} - * @api private - */ -var isObject = require('./is-object'); - -function isFunction(fn) { - var tag = isObject(fn) ? Object.prototype.toString.call(fn) : ''; - return tag === '[object Function]'; -} - -module.exports = isFunction; - -},{"./is-object":11}],11:[function(require,module,exports){ -/** - * Check if `obj` is an object. - * - * @param {Object} obj - * @return {Boolean} - * @api private - */ - -function isObject(obj) { - return null !== obj && 'object' === typeof obj; -} - -module.exports = isObject; - -},{}],12:[function(require,module,exports){ -/** - * Module of mixed-in functions shared between node and client code - */ -var isObject = require('./is-object'); - -/** - * Expose `RequestBase`. - */ - -module.exports = RequestBase; - -/** - * Initialize a new `RequestBase`. - * - * @api public - */ - -function RequestBase(obj) { - if (obj) return mixin(obj); -} - -/** - * Mixin the prototype properties. - * - * @param {Object} obj - * @return {Object} - * @api private - */ - -function mixin(obj) { - for (var key in RequestBase.prototype) { - obj[key] = RequestBase.prototype[key]; - } - return obj; -} - -/** - * Clear previous timeout. - * - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.clearTimeout = function _clearTimeout(){ - clearTimeout(this._timer); - clearTimeout(this._responseTimeoutTimer); - delete this._timer; - delete this._responseTimeoutTimer; - return this; -}; - -/** - * Override default response body parser - * - * This function will be called to convert incoming data into request.body - * - * @param {Function} - * @api public - */ - -RequestBase.prototype.parse = function parse(fn){ - this._parser = fn; - return this; -}; - -/** - * Set format of binary response body. - * In browser valid formats are 'blob' and 'arraybuffer', - * which return Blob and ArrayBuffer, respectively. - * - * In Node all values result in Buffer. - * - * Examples: - * - * req.get('/') - * .responseType('blob') - * .end(callback); - * - * @param {String} val - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.responseType = function(val){ - this._responseType = val; - return this; -}; - -/** - * Override default request body serializer - * - * This function will be called to convert data set via .send or .attach into payload to send - * - * @param {Function} - * @api public - */ - -RequestBase.prototype.serialize = function serialize(fn){ - this._serializer = fn; - return this; -}; - -/** - * Set timeouts. - * - * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time. - * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections. - * - * Value of 0 or false means no timeout. - * - * @param {Number|Object} ms or {response, read, deadline} - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.timeout = function timeout(options){ - if (!options || 'object' !== typeof options) { - this._timeout = options; - this._responseTimeout = 0; - return this; - } - - for(var option in options) { - switch(option) { - case 'deadline': - this._timeout = options.deadline; - break; - case 'response': - this._responseTimeout = options.response; - break; - default: - console.warn("Unknown timeout option", option); - } - } - return this; -}; - -/** - * Set number of retry attempts on error. - * - * Failed requests will be retried 'count' times if timeout or err.code >= 500. - * - * @param {Number} count - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.retry = function retry(count){ - // Default to 1 if no count passed or true - if (arguments.length === 0 || count === true) count = 1; - if (count <= 0) count = 0; - this._maxRetries = count; - this._retries = 0; - return this; -}; - -/** - * Retry request - * - * @return {Request} for chaining - * @api private - */ - -RequestBase.prototype._retry = function() { - this.clearTimeout(); - - // node - if (this.req) { - this.req = null; - this.req = this.request(); - } - - this._aborted = false; - this.timedout = false; - - return this._end(); -}; - -/** - * Promise support - * - * @param {Function} resolve - * @param {Function} [reject] - * @return {Request} - */ - -RequestBase.prototype.then = function then(resolve, reject) { - if (!this._fullfilledPromise) { - var self = this; - if (this._endCalled) { - console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"); - } - this._fullfilledPromise = new Promise(function(innerResolve, innerReject){ - self.end(function(err, res){ - if (err) innerReject(err); else innerResolve(res); - }); - }); - } - return this._fullfilledPromise.then(resolve, reject); -} - -RequestBase.prototype.catch = function(cb) { - return this.then(undefined, cb); -}; - -/** - * Allow for extension - */ - -RequestBase.prototype.use = function use(fn) { - fn(this); - return this; -} - -RequestBase.prototype.ok = function(cb) { - if ('function' !== typeof cb) throw Error("Callback required"); - this._okCallback = cb; - return this; -}; - -RequestBase.prototype._isResponseOK = function(res) { - if (!res) { - return false; - } - - if (this._okCallback) { - return this._okCallback(res); - } - - return res.status >= 200 && res.status < 300; -}; - - -/** - * Get request header `field`. - * Case-insensitive. - * - * @param {String} field - * @return {String} - * @api public - */ - -RequestBase.prototype.get = function(field){ - return this._header[field.toLowerCase()]; -}; - -/** - * Get case-insensitive header `field` value. - * This is a deprecated internal API. Use `.get(field)` instead. - * - * (getHeader is no longer used internally by the superagent code base) - * - * @param {String} field - * @return {String} - * @api private - * @deprecated - */ - -RequestBase.prototype.getHeader = RequestBase.prototype.get; - -/** - * Set header `field` to `val`, or multiple fields with one object. - * Case-insensitive. - * - * Examples: - * - * req.get('/') - * .set('Accept', 'application/json') - * .set('X-API-Key', 'foobar') - * .end(callback); - * - * req.get('/') - * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' }) - * .end(callback); - * - * @param {String|Object} field - * @param {String} val - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.set = function(field, val){ - if (isObject(field)) { - for (var key in field) { - this.set(key, field[key]); - } - return this; - } - this._header[field.toLowerCase()] = val; - this.header[field] = val; - return this; -}; - -/** - * Remove header `field`. - * Case-insensitive. - * - * Example: - * - * req.get('/') - * .unset('User-Agent') - * .end(callback); - * - * @param {String} field - */ -RequestBase.prototype.unset = function(field){ - delete this._header[field.toLowerCase()]; - delete this.header[field]; - return this; -}; - -/** - * Write the field `name` and `val`, or multiple fields with one object - * for "multipart/form-data" request bodies. - * - * ``` js - * request.post('/upload') - * .field('foo', 'bar') - * .end(callback); - * - * request.post('/upload') - * .field({ foo: 'bar', baz: 'qux' }) - * .end(callback); - * ``` - * - * @param {String|Object} name - * @param {String|Blob|File|Buffer|fs.ReadStream} val - * @return {Request} for chaining - * @api public - */ -RequestBase.prototype.field = function(name, val) { - - // name should be either a string or an object. - if (null === name || undefined === name) { - throw new Error('.field(name, val) name can not be empty'); - } - - if (this._data) { - console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"); - } - - if (isObject(name)) { - for (var key in name) { - this.field(key, name[key]); - } - return this; - } - - if (Array.isArray(val)) { - for (var i in val) { - this.field(name, val[i]); - } - return this; - } - - // val should be defined now - if (null === val || undefined === val) { - throw new Error('.field(name, val) val can not be empty'); - } - if ('boolean' === typeof val) { - val = '' + val; - } - this._getFormData().append(name, val); - return this; -}; - -/** - * Abort the request, and clear potential timeout. - * - * @return {Request} - * @api public - */ -RequestBase.prototype.abort = function(){ - if (this._aborted) { - return this; - } - this._aborted = true; - this.xhr && this.xhr.abort(); // browser - this.req && this.req.abort(); // node - this.clearTimeout(); - this.emit('abort'); - return this; -}; - -/** - * Enable transmission of cookies with x-domain requests. - * - * Note that for this to work the origin must not be - * using "Access-Control-Allow-Origin" with a wildcard, - * and also must set "Access-Control-Allow-Credentials" - * to "true". - * - * @api public - */ - -RequestBase.prototype.withCredentials = function(on){ - // This is browser-only functionality. Node side is no-op. - if(on==undefined) on = true; - this._withCredentials = on; - return this; -}; - -/** - * Set the max redirects to `n`. Does noting in browser XHR implementation. - * - * @param {Number} n - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.redirects = function(n){ - this._maxRedirects = n; - return this; -}; - -/** - * Convert to a plain javascript object (not JSON string) of scalar properties. - * Note as this method is designed to return a useful non-this value, - * it cannot be chained. - * - * @return {Object} describing method, url, and data of this request - * @api public - */ - -RequestBase.prototype.toJSON = function(){ - return { - method: this.method, - url: this.url, - data: this._data, - headers: this._header - }; -}; - - -/** - * Send `data` as the request body, defaulting the `.type()` to "json" when - * an object is given. - * - * Examples: - * - * // manual json - * request.post('/user') - * .type('json') - * .send('{"name":"tj"}') - * .end(callback) - * - * // auto json - * request.post('/user') - * .send({ name: 'tj' }) - * .end(callback) - * - * // manual x-www-form-urlencoded - * request.post('/user') - * .type('form') - * .send('name=tj') - * .end(callback) - * - * // auto x-www-form-urlencoded - * request.post('/user') - * .type('form') - * .send({ name: 'tj' }) - * .end(callback) - * - * // defaults to x-www-form-urlencoded - * request.post('/user') - * .send('name=tobi') - * .send('species=ferret') - * .end(callback) - * - * @param {String|Object} data - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.send = function(data){ - var isObj = isObject(data); - var type = this._header['content-type']; - - if (this._formData) { - console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"); - } - - if (isObj && !this._data) { - if (Array.isArray(data)) { - this._data = []; - } else if (!this._isHost(data)) { - this._data = {}; - } - } else if (data && this._data && this._isHost(this._data)) { - throw Error("Can't merge these send calls"); - } - - // merge - if (isObj && isObject(this._data)) { - for (var key in data) { - this._data[key] = data[key]; - } - } else if ('string' == typeof data) { - // default to x-www-form-urlencoded - if (!type) this.type('form'); - type = this._header['content-type']; - if ('application/x-www-form-urlencoded' == type) { - this._data = this._data - ? this._data + '&' + data - : data; - } else { - this._data = (this._data || '') + data; - } - } else { - this._data = data; - } - - if (!isObj || this._isHost(data)) { - return this; - } - - // default to json - if (!type) this.type('json'); - return this; -}; - - -/** - * Sort `querystring` by the sort function - * - * - * Examples: - * - * // default order - * request.get('/user') - * .query('name=Nick') - * .query('search=Manny') - * .sortQuery() - * .end(callback) - * - * // customized sort function - * request.get('/user') - * .query('name=Nick') - * .query('search=Manny') - * .sortQuery(function(a, b){ - * return a.length - b.length; - * }) - * .end(callback) - * - * - * @param {Function} sort - * @return {Request} for chaining - * @api public - */ - -RequestBase.prototype.sortQuery = function(sort) { - // _sort default to true but otherwise can be a function or boolean - this._sort = typeof sort === 'undefined' ? true : sort; - return this; -}; - -/** - * Invoke callback with timeout error. - * - * @api private - */ - -RequestBase.prototype._timeoutError = function(reason, timeout, errno){ - if (this._aborted) { - return; - } - var err = new Error(reason + timeout + 'ms exceeded'); - err.timeout = timeout; - err.code = 'ECONNABORTED'; - err.errno = errno; - this.timedout = true; - this.abort(); - this.callback(err); -}; - -RequestBase.prototype._setTimeouts = function() { - var self = this; - - // deadline - if (this._timeout && !this._timer) { - this._timer = setTimeout(function(){ - self._timeoutError('Timeout of ', self._timeout, 'ETIME'); - }, this._timeout); - } - // response timeout - if (this._responseTimeout && !this._responseTimeoutTimer) { - this._responseTimeoutTimer = setTimeout(function(){ - self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT'); - }, this._responseTimeout); - } -} - -},{"./is-object":11}],13:[function(require,module,exports){ - -/** - * Module dependencies. - */ - -var utils = require('./utils'); - -/** - * Expose `ResponseBase`. - */ - -module.exports = ResponseBase; - -/** - * Initialize a new `ResponseBase`. - * - * @api public - */ - -function ResponseBase(obj) { - if (obj) return mixin(obj); -} - -/** - * Mixin the prototype properties. - * - * @param {Object} obj - * @return {Object} - * @api private - */ - -function mixin(obj) { - for (var key in ResponseBase.prototype) { - obj[key] = ResponseBase.prototype[key]; - } - return obj; -} - -/** - * Get case-insensitive `field` value. - * - * @param {String} field - * @return {String} - * @api public - */ - -ResponseBase.prototype.get = function(field){ - return this.header[field.toLowerCase()]; -}; - -/** - * Set header related properties: - * - * - `.type` the content type without params - * - * A response of "Content-Type: text/plain; charset=utf-8" - * will provide you with a `.type` of "text/plain". - * - * @param {Object} header - * @api private - */ - -ResponseBase.prototype._setHeaderProperties = function(header){ - // TODO: moar! - // TODO: make this a util - - // content-type - var ct = header['content-type'] || ''; - this.type = utils.type(ct); - - // params - var params = utils.params(ct); - for (var key in params) this[key] = params[key]; - - this.links = {}; - - // links - try { - if (header.link) { - this.links = utils.parseLinks(header.link); - } - } catch (err) { - // ignore - } -}; - -/** - * Set flags such as `.ok` based on `status`. - * - * For example a 2xx response will give you a `.ok` of __true__ - * whereas 5xx will be __false__ and `.error` will be __true__. The - * `.clientError` and `.serverError` are also available to be more - * specific, and `.statusType` is the class of error ranging from 1..5 - * sometimes useful for mapping respond colors etc. - * - * "sugar" properties are also defined for common cases. Currently providing: - * - * - .noContent - * - .badRequest - * - .unauthorized - * - .notAcceptable - * - .notFound - * - * @param {Number} status - * @api private - */ - -ResponseBase.prototype._setStatusProperties = function(status){ - var type = status / 100 | 0; - - // status / class - this.status = this.statusCode = status; - this.statusType = type; - - // basics - this.info = 1 == type; - this.ok = 2 == type; - this.redirect = 3 == type; - this.clientError = 4 == type; - this.serverError = 5 == type; - this.error = (4 == type || 5 == type) - ? this.toError() - : false; - - // sugar - this.accepted = 202 == status; - this.noContent = 204 == status; - this.badRequest = 400 == status; - this.unauthorized = 401 == status; - this.notAcceptable = 406 == status; - this.forbidden = 403 == status; - this.notFound = 404 == status; -}; - -},{"./utils":15}],14:[function(require,module,exports){ -var ERROR_CODES = [ - 'ECONNRESET', - 'ETIMEDOUT', - 'EADDRINFO', - 'ESOCKETTIMEDOUT' -]; - -/** - * Determine if a request should be retried. - * (Borrowed from segmentio/superagent-retry) - * - * @param {Error} err - * @param {Response} [res] - * @returns {Boolean} - */ -module.exports = function shouldRetry(err, res) { - if (err && err.code && ~ERROR_CODES.indexOf(err.code)) return true; - if (res && res.status && res.status >= 500) return true; - // Superagent timeout - if (err && 'timeout' in err && err.code == 'ECONNABORTED') return true; - if (err && 'crossDomain' in err) return true; - return false; -}; - -},{}],15:[function(require,module,exports){ - -/** - * Return the mime type for the given `str`. - * - * @param {String} str - * @return {String} - * @api private - */ - -exports.type = function(str){ - return str.split(/ *; */).shift(); -}; - -/** - * Return header field parameters. - * - * @param {String} str - * @return {Object} - * @api private - */ - -exports.params = function(str){ - return str.split(/ *; */).reduce(function(obj, str){ - var parts = str.split(/ *= */); - var key = parts.shift(); - var val = parts.shift(); - - if (key && val) obj[key] = val; - return obj; - }, {}); -}; - -/** - * Parse Link header fields. - * - * @param {String} str - * @return {Object} - * @api private - */ - -exports.parseLinks = function(str){ - return str.split(/ *, */).reduce(function(obj, str){ - var parts = str.split(/ *; */); - var url = parts[0].slice(1, -1); - var rel = parts[1].split(/ *= */)[1].slice(1, -1); - obj[rel] = url; - return obj; - }, {}); -}; - -/** - * Strip content related fields from `header`. - * - * @param {Object} header - * @return {Object} header - * @api private - */ - -exports.cleanHeader = function(header, shouldStripCookie){ - delete header['content-type']; - delete header['content-length']; - delete header['transfer-encoding']; - delete header['host']; - if (shouldStripCookie) { - delete header['cookie']; - } - return header; -}; -},{}],16:[function(require,module,exports){ -(function (Buffer){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['superagent', 'querystring'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('superagent'), require('querystring')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ApiClient = factory(root.superagent, root.querystring); - } -}(this, function(superagent, querystring) { - 'use strict'; - - /** - * @module ApiClient - * @version 2.6.0 - */ - - /** - * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an - * application to use this class directly - the *Api and model classes provide the public API for the service. The - * contents of this file should be regarded as internal but are documented for completeness. - * @alias module:ApiClient - * @class - */ - var exports = function() { - /** - * The base URL against which to resolve every API call's (relative) path. - * @type {String} - * @default https://api.flat.io/v2 - */ - this.basePath = 'https://api.flat.io/v2'.replace(/\/+$/, ''); - - /** - * The authentication methods to be included for all API calls. - * @type {Array.} - */ - this.authentications = { - 'OAuth2': {type: 'oauth2'} - }; - /** - * The default HTTP headers to be included for all API calls. - * @type {Array.} - * @default {} - */ - this.defaultHeaders = {}; - - /** - * The default HTTP timeout for all API calls. - * @type {Number} - * @default 60000 - */ - this.timeout = 60000; - - /** - * If set to false an additional timestamp parameter is added to all API GET calls to - * prevent browser caching - * @type {Boolean} - * @default true - */ - this.cache = true; - - /** - * If set to true, the client will save the cookies from each server - * response, and return them in the next request. - * @default false - */ - this.enableCookies = false; - - /* - * Used to save and return cookies in a node.js (non-browser) setting, - * if this.enableCookies is set to true. - */ - if (typeof window === 'undefined') { - this.agent = new superagent.agent(); - } - - /* - * Allow user to override superagent agent - */ - this.requestAgent = null; - }; - - /** - * Returns a string representation for an actual parameter. - * @param param The actual parameter. - * @returns {String} The string representation of param. - */ - exports.prototype.paramToString = function(param) { - if (param == undefined || param == null) { - return ''; - } - if (param instanceof Date) { - return param.toJSON(); - } - return param.toString(); - }; - - /** - * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values. - * NOTE: query parameters are not handled here. - * @param {String} path The path to append to the base URL. - * @param {Object} pathParams The parameter values to append. - * @returns {String} The encoded path with parameter values substituted. - */ - exports.prototype.buildUrl = function(path, pathParams) { - if (!path.match(/^\//)) { - path = '/' + path; - } - var url = this.basePath + path; - var _this = this; - url = url.replace(/\{([\w-]+)\}/g, function(fullMatch, key) { - var value; - if (pathParams.hasOwnProperty(key)) { - value = _this.paramToString(pathParams[key]); - } else { - value = fullMatch; - } - return encodeURIComponent(value); - }); - return url; - }; - - /** - * Checks whether the given content type represents JSON.
- * JSON content type examples:
- *
    - *
  • application/json
  • - *
  • application/json; charset=UTF8
  • - *
  • APPLICATION/JSON
  • - *
- * @param {String} contentType The MIME content type to check. - * @returns {Boolean} true if contentType represents JSON, otherwise false. - */ - exports.prototype.isJsonMime = function(contentType) { - return Boolean(contentType != null && contentType.match(/^application\/json(;.*)?$/i)); - }; - - /** - * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first. - * @param {Array.} contentTypes - * @returns {String} The chosen content type, preferring JSON. - */ - exports.prototype.jsonPreferredMime = function(contentTypes) { - for (var i = 0; i < contentTypes.length; i++) { - if (this.isJsonMime(contentTypes[i])) { - return contentTypes[i]; - } - } - return contentTypes[0]; - }; - - /** - * Checks whether the given parameter value represents file-like content. - * @param param The parameter to check. - * @returns {Boolean} true if param represents a file. - */ - exports.prototype.isFileParam = function(param) { - // fs.ReadStream in Node.js and Electron (but not in runtime like browserify) - if (typeof require === 'function') { - var fs; - try { - fs = require('fs'); - } catch (err) {} - if (fs && fs.ReadStream && param instanceof fs.ReadStream) { - return true; - } - } - // Buffer in Node.js - if (typeof Buffer === 'function' && param instanceof Buffer) { - return true; - } - // Blob in browser - if (typeof Blob === 'function' && param instanceof Blob) { - return true; - } - // File in browser (it seems File object is also instance of Blob, but keep this for safe) - if (typeof File === 'function' && param instanceof File) { - return true; - } - return false; - }; - - /** - * Normalizes parameter values: - *
    - *
  • remove nils
  • - *
  • keep files and arrays
  • - *
  • format to string with `paramToString` for other cases
  • - *
- * @param {Object.} params The parameters as object properties. - * @returns {Object.} normalized parameters. - */ - exports.prototype.normalizeParams = function(params) { - var newParams = {}; - for (var key in params) { - if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) { - var value = params[key]; - if (this.isFileParam(value) || Array.isArray(value)) { - newParams[key] = value; - } else { - newParams[key] = this.paramToString(value); - } - } - } - return newParams; - }; - - /** - * Enumeration of collection format separator strategies. - * @enum {String} - * @readonly - */ - exports.CollectionFormatEnum = { - /** - * Comma-separated values. Value: csv - * @const - */ - CSV: ',', - /** - * Space-separated values. Value: ssv - * @const - */ - SSV: ' ', - /** - * Tab-separated values. Value: tsv - * @const - */ - TSV: '\t', - /** - * Pipe(|)-separated values. Value: pipes - * @const - */ - PIPES: '|', - /** - * Native array. Value: multi - * @const - */ - MULTI: 'multi' - }; - - /** - * Builds a string representation of an array-type actual parameter, according to the given collection format. - * @param {Array} param An array parameter. - * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy. - * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns - * param as is if collectionFormat is multi. - */ - exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) { - if (param == null) { - return null; - } - switch (collectionFormat) { - case 'csv': - return param.map(this.paramToString).join(','); - case 'ssv': - return param.map(this.paramToString).join(' '); - case 'tsv': - return param.map(this.paramToString).join('\t'); - case 'pipes': - return param.map(this.paramToString).join('|'); - case 'multi': - // return the array directly as SuperAgent will handle it as expected - return param.map(this.paramToString); - default: - throw new Error('Unknown collection format: ' + collectionFormat); - } - }; - - /** - * Applies authentication headers to the request. - * @param {Object} request The request object created by a superagent() call. - * @param {Array.} authNames An array of authentication method names. - */ - exports.prototype.applyAuthToRequest = function(request, authNames) { - var _this = this; - authNames.forEach(function(authName) { - var auth = _this.authentications[authName]; - switch (auth.type) { - case 'basic': - if (auth.username || auth.password) { - request.auth(auth.username || '', auth.password || ''); - } - break; - case 'apiKey': - if (auth.apiKey) { - var data = {}; - if (auth.apiKeyPrefix) { - data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey; - } else { - data[auth.name] = auth.apiKey; - } - if (auth['in'] === 'header') { - request.set(data); - } else { - request.query(data); - } - } - break; - case 'oauth2': - if (auth.accessToken) { - request.set({'Authorization': 'Bearer ' + auth.accessToken}); - } - break; - default: - throw new Error('Unknown authentication type: ' + auth.type); - } - }); - }; - - /** - * Deserializes an HTTP response body into a value of the specified type. - * @param {Object} response A SuperAgent response object. - * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types - * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To - * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: - * all properties on data will be converted to this type. - * @returns A value of the specified type. - */ - exports.prototype.deserialize = function deserialize(response, returnType) { - if (response == null || returnType == null || response.status == 204) { - return null; - } - // Rely on SuperAgent for parsing response body. - // See http://visionmedia.github.io/superagent/#parsing-response-bodies - var data = response.body; - if (data == null || (typeof data === 'object' && typeof data.length === 'undefined' && !Object.keys(data).length)) { - // SuperAgent does not always produce a body; use the unparsed response as a fallback - data = response.text; - } - return exports.convertToType(data, returnType); - }; - - /** - * Callback function to receive the result of the operation. - * @callback module:ApiClient~callApiCallback - * @param {String} error Error message, if any. - * @param data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Invokes the REST service using the supplied settings and parameters. - * @param {String} path The base URL to invoke. - * @param {String} httpMethod The HTTP method to use. - * @param {Object.} pathParams A map of path parameters and their values. - * @param {Object.} queryParams A map of query parameters and their values. - * @param {Object.} collectionQueryParams A map of collection query parameters and their values. - * @param {Object.} headerParams A map of header parameters and their values. - * @param {Object.} formParams A map of form parameters and their values. - * @param {Object} bodyParam The value to pass as the request body. - * @param {Array.} authNames An array of authentication type names. - * @param {Array.} contentTypes An array of request MIME types. - * @param {Array.} accepts An array of acceptable response MIME types. - * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the - * constructor for a complex type. - * @param {module:ApiClient~callApiCallback} callback The callback function. - * @returns {Object} The SuperAgent request object. - */ - exports.prototype.callApi = function callApi(path, httpMethod, pathParams, - queryParams, collectionQueryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts, - returnType, callback) { - - var _this = this; - var url = this.buildUrl(path, pathParams); - var request = superagent(httpMethod, url); - - // apply authentications - this.applyAuthToRequest(request, authNames); - - // set collection query parameters - for (var key in collectionQueryParams) { - if (collectionQueryParams.hasOwnProperty(key)) { - var param = collectionQueryParams[key]; - if (param.collectionFormat === 'csv') { - // SuperAgent normally percent-encodes all reserved characters in a query parameter. However, - // commas are used as delimiters for the 'csv' collectionFormat so they must not be encoded. We - // must therefore construct and encode 'csv' collection query parameters manually. - if (param.value != null) { - var value = param.value.map(this.paramToString).map(encodeURIComponent).join(','); - request.query(encodeURIComponent(key) + "=" + value); - } - } else { - // All other collection query parameters should be treated as ordinary query parameters. - queryParams[key] = this.buildCollectionParam(param.value, param.collectionFormat); - } - } - } - - // set query parameters - if (httpMethod.toUpperCase() === 'GET' && this.cache === false) { - queryParams['_'] = new Date().getTime(); - } - request.query(this.normalizeParams(queryParams)); - - // set header parameters - request.set(this.defaultHeaders).set(this.normalizeParams(headerParams)); - - - // set requestAgent if it is set by user - if (this.requestAgent) { - request.agent(this.requestAgent); - } - - // set request timeout - request.timeout(this.timeout); - - var contentType = this.jsonPreferredMime(contentTypes); - if (contentType) { - // Issue with superagent and multipart/form-data (https://github.com/visionmedia/superagent/issues/746) - if(contentType != 'multipart/form-data') { - request.type(contentType); - } - } else if (!request.header['Content-Type']) { - request.type('application/json'); - } - - if (contentType === 'application/x-www-form-urlencoded') { - request.send(querystring.stringify(this.normalizeParams(formParams))); - } else if (contentType == 'multipart/form-data') { - var _formParams = this.normalizeParams(formParams); - for (var key in _formParams) { - if (_formParams.hasOwnProperty(key)) { - if (this.isFileParam(_formParams[key])) { - // file field - request.attach(key, _formParams[key]); - } else { - request.field(key, _formParams[key]); - } - } - } - } else if (bodyParam) { - request.send(bodyParam); - } - - var accept = this.jsonPreferredMime(accepts); - if (accept) { - request.accept(accept); - } - - if (returnType === 'Blob') { - request.responseType('blob'); - } else if (returnType === 'String') { - request.responseType('string'); - } - - // Attach previously saved cookies, if enabled - if (this.enableCookies){ - if (typeof window === 'undefined') { - this.agent.attachCookies(request); - } - else { - request.withCredentials(); - } - } - - - request.end(function(error, response) { - if (callback) { - var data = null; - if (!error) { - try { - data = _this.deserialize(response, returnType); - if (_this.enableCookies && typeof window === 'undefined'){ - _this.agent.saveCookies(response); - } - } catch (err) { - error = err; - } - } - callback(error, data, response); - } - }); - - return request; - }; - - /** - * Parses an ISO-8601 string representation of a date value. - * @param {String} str The date value as a string. - * @returns {Date} The parsed date object. - */ - exports.parseDate = function(str) { - return new Date(str.replace(/T/i, ' ')); - }; - - /** - * Converts a value to the specified type. - * @param {(String|Object)} data The data to convert, as a string or object. - * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types - * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To - * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: - * all properties on data will be converted to this type. - * @returns An instance of the specified type or null or undefined if data is null or undefined. - */ - exports.convertToType = function(data, type) { - if (data === null || data === undefined) - return data - - switch (type) { - case 'Boolean': - return Boolean(data); - case 'Integer': - return parseInt(data, 10); - case 'Number': - return parseFloat(data); - case 'String': - return String(data); - case 'Date': - return this.parseDate(String(data)); - case 'Blob': - return data; - default: - if (type === Object) { - // generic object, return directly - return data; - } else if (typeof type === 'function') { - // for model type like: User - return type.constructFromObject(data); - } else if (Array.isArray(type)) { - // for array type like: ['String'] - var itemType = type[0]; - return data.map(function(item) { - return exports.convertToType(item, itemType); - }); - } else if (typeof type === 'object') { - // for plain object type like: {'String': 'Integer'} - var keyType, valueType; - for (var k in type) { - if (type.hasOwnProperty(k)) { - keyType = k; - valueType = type[k]; - break; - } - } - var result = {}; - for (var k in data) { - if (data.hasOwnProperty(k)) { - var key = exports.convertToType(k, keyType); - var value = exports.convertToType(data[k], valueType); - result[key] = value; - } - } - return result; - } else { - // for unknown type, return the data directly - return data; - } - } - }; - - /** - * Constructs a new map or array model from REST data. - * @param data {Object|Array} The REST data. - * @param obj {Object|Array} The target object or array. - */ - exports.constructFromObject = function(data, obj, itemType) { - if (Array.isArray(data)) { - for (var i = 0; i < data.length; i++) { - if (data.hasOwnProperty(i)) - obj[i] = exports.convertToType(data[i], itemType); - } - } else { - for (var k in data) { - if (data.hasOwnProperty(k)) - obj[k] = exports.convertToType(data[k], itemType); - } - } - }; - - /** - * The default API client implementation. - * @type {module:ApiClient} - */ - exports.instance = new exports(); - - return exports; -})); - -}).call(this,require("buffer").Buffer) -},{"buffer":3,"fs":2,"querystring":8,"superagent":9}],17:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/UserDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/UserDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AccountApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.UserDetails); - } -}(this, function(ApiClient, FlatErrorResponse, UserDetails) { - 'use strict'; - - /** - * Account service. - * @module api/AccountApi - * @version 2.6.0 - */ - - /** - * Constructs a new AccountApi. - * @alias module:api/AccountApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the getAuthenticatedUser operation. - * @callback module:api/AccountApi~getAuthenticatedUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get current user profile - * Get details about the current authenticated User. - * @param {module:api/AccountApi~getAuthenticatedUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetails} - */ - this.getAuthenticatedUser = function(callback) { - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetails; - - return this.apiClient.callApi( - '/me', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/FlatErrorResponse":48,"../model/UserDetails":99}],18:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Assignment', 'model/AssignmentCopy', 'model/AssignmentCreation', 'model/AssignmentSubmission', 'model/AssignmentSubmissionUpdate', 'model/ClassCreation', 'model/ClassDetails', 'model/ClassUpdate', 'model/FlatErrorResponse'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/Assignment'), require('../model/AssignmentCopy'), require('../model/AssignmentCreation'), require('../model/AssignmentSubmission'), require('../model/AssignmentSubmissionUpdate'), require('../model/ClassCreation'), require('../model/ClassDetails'), require('../model/ClassUpdate'), require('../model/FlatErrorResponse')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassApi = factory(root.FlatApi.ApiClient, root.FlatApi.Assignment, root.FlatApi.AssignmentCopy, root.FlatApi.AssignmentCreation, root.FlatApi.AssignmentSubmission, root.FlatApi.AssignmentSubmissionUpdate, root.FlatApi.ClassCreation, root.FlatApi.ClassDetails, root.FlatApi.ClassUpdate, root.FlatApi.FlatErrorResponse); - } -}(this, function(ApiClient, Assignment, AssignmentCopy, AssignmentCreation, AssignmentSubmission, AssignmentSubmissionUpdate, ClassCreation, ClassDetails, ClassUpdate, FlatErrorResponse) { - 'use strict'; - - /** - * Class service. - * @module api/ClassApi - * @version 2.6.0 - */ - - /** - * Constructs a new ClassApi. - * @alias module:api/ClassApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the activateClass operation. - * @callback module:api/ClassApi~activateClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Activate the class - * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~activateClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.activateClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling activateClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/activate', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the addClassUser operation. - * @callback module:api/ClassApi~addClassUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a user to the class - * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~addClassUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.addClassUser = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling addClassUser"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling addClassUser"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/classes/{class}/users/{user}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the archiveClass operation. - * @callback module:api/ClassApi~archiveClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Archive the class - * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~archiveClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.archiveClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling archiveClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/archive', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the copyAssignment operation. - * @callback module:api/ClassApi~copyAssignmentCallback - * @param {String} error Error message, if any. - * @param {module:model/Assignment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Copy an assignment - * Copy an assignment to a specified class. If the original assignment has a due date in the past, this new assingment will be created without a due date. If the new class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:model/AssignmentCopy} body - * @param {module:api/ClassApi~copyAssignmentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Assignment} - */ - this.copyAssignment = function(_class, assignment, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling copyAssignment"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling copyAssignment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling copyAssignment"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Assignment; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/copy', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createAssignment operation. - * @callback module:api/ClassApi~createAssignmentCallback - * @param {String} error Error message, if any. - * @param {module:model/Assignment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Assignment creation - * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. - * @param {String} _class Unique identifier of the class - * @param {Object} opts Optional parameters - * @param {module:model/AssignmentCreation} opts.body - * @param {module:api/ClassApi~createAssignmentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Assignment} - */ - this.createAssignment = function(_class, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling createAssignment"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Assignment; - - return this.apiClient.callApi( - '/classes/{class}/assignments', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createClass operation. - * @callback module:api/ClassApi~createClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new class - * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `POST /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. - * @param {module:model/ClassCreation} body - * @param {module:api/ClassApi~createClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.createClass = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createClass"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createSubmission operation. - * @callback module:api/ClassApi~createSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create or edit a submission - * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments`, `studentComment` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:model/AssignmentSubmissionUpdate} body - * @param {module:api/ClassApi~createSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.createSubmission = function(_class, assignment, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling createSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling createSubmission"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteClassUser operation. - * @callback module:api/ClassApi~deleteClassUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove a user from the class - * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~deleteClassUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteClassUser = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling deleteClassUser"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling deleteClassUser"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/classes/{class}/users/{user}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editSubmission operation. - * @callback module:api/ClassApi~editSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Edit a submission - * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `returnFeedback` - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {String} submission Unique identifier of the submission - * @param {module:model/AssignmentSubmissionUpdate} body - * @param {module:api/ClassApi~editSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.editSubmission = function(_class, assignment, submission, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling editSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling editSubmission"); - } - - // verify the required parameter 'submission' is set - if (submission === undefined || submission === null) { - throw new Error("Missing the required parameter 'submission' when calling editSubmission"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling editSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment, - 'submission': submission - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions/{submission}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the enrollClass operation. - * @callback module:api/ClassApi~enrollClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Join a class - * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. - * @param {String} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` - * @param {module:api/ClassApi~enrollClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.enrollClass = function(enrollmentCode, callback) { - var postBody = null; - - // verify the required parameter 'enrollmentCode' is set - if (enrollmentCode === undefined || enrollmentCode === null) { - throw new Error("Missing the required parameter 'enrollmentCode' when calling enrollClass"); - } - - - var pathParams = { - 'enrollmentCode': enrollmentCode - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/enroll/{enrollmentCode}', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getClass operation. - * @callback module:api/ClassApi~getClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get the details of a single class - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~getClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.getClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreSubmissions operation. - * @callback module:api/ClassApi~getScoreSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List submissions related to the score - * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ClassApi~getScoreSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreSubmissions = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreSubmissions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/scores/{score}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getSubmission operation. - * @callback module:api/ClassApi~getSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a student submission - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {String} submission Unique identifier of the submission - * @param {module:api/ClassApi~getSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.getSubmission = function(_class, assignment, submission, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling getSubmission"); - } - - // verify the required parameter 'submission' is set - if (submission === undefined || submission === null) { - throw new Error("Missing the required parameter 'submission' when calling getSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment, - 'submission': submission - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions/{submission}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getSubmissions operation. - * @callback module:api/ClassApi~getSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the students' submissions - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:api/ClassApi~getSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getSubmissions = function(_class, assignment, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getSubmissions"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling getSubmissions"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listAssignments operation. - * @callback module:api/ClassApi~listAssignmentsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Assignments listing - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~listAssignmentsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listAssignments = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling listAssignments"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [Assignment]; - - return this.apiClient.callApi( - '/classes/{class}/assignments', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listClassStudentSubmissions operation. - * @callback module:api/ClassApi~listClassStudentSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the submissions for a student - * Use this method as a teacher to list all the assignment submissions sent by a student of the class - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~listClassStudentSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listClassStudentSubmissions = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling listClassStudentSubmissions"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling listClassStudentSubmissions"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/classes/{class}/students/{user}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listClasses operation. - * @callback module:api/ClassApi~listClassesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the classes available for the current user - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.state Filter the classes by state (default to active) - * @param {module:api/ClassApi~listClassesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listClasses = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'state': opts['state'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ClassDetails]; - - return this.apiClient.callApi( - '/classes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the unarchiveClass operation. - * @callback module:api/ClassApi~unarchiveClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Unarchive the class - * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~unarchiveClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.unarchiveClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling unarchiveClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/archive', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateClass operation. - * @callback module:api/ClassApi~updateClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update the class - * Update the meta information of the class - * @param {String} _class Unique identifier of the class - * @param {Object} opts Optional parameters - * @param {module:model/ClassUpdate} opts.body Details of the Class - * @param {module:api/ClassApi~updateClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.updateClass = function(_class, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling updateClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/Assignment":25,"../model/AssignmentCopy":26,"../model/AssignmentCreation":27,"../model/AssignmentSubmission":28,"../model/AssignmentSubmissionUpdate":29,"../model/ClassCreation":31,"../model/ClassDetails":32,"../model/ClassUpdate":40,"../model/FlatErrorResponse":48}],19:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Collection', 'model/CollectionCreation', 'model/CollectionModification', 'model/FlatErrorResponse', 'model/ScoreDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/Collection'), require('../model/CollectionCreation'), require('../model/CollectionModification'), require('../model/FlatErrorResponse'), require('../model/ScoreDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionApi = factory(root.FlatApi.ApiClient, root.FlatApi.Collection, root.FlatApi.CollectionCreation, root.FlatApi.CollectionModification, root.FlatApi.FlatErrorResponse, root.FlatApi.ScoreDetails); - } -}(this, function(ApiClient, Collection, CollectionCreation, CollectionModification, FlatErrorResponse, ScoreDetails) { - 'use strict'; - - /** - * Collection service. - * @module api/CollectionApi - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionApi. - * @alias module:api/CollectionApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the addScoreToCollection operation. - * @callback module:api/CollectionApi~addScoreToCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a score to the collection - * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/CollectionApi~addScoreToCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.addScoreToCollection = function(collection, score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling addScoreToCollection"); - } - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreToCollection"); - } - - - var pathParams = { - 'collection': collection, - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/collections/{collection}/scores/{score}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createCollection operation. - * @callback module:api/CollectionApi~createCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new collection - * This method will create a new collection and add it to your `root` collection. - * @param {module:model/CollectionCreation} body - * @param {module:api/CollectionApi~createCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.createCollection = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createCollection"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteCollection operation. - * @callback module:api/CollectionApi~deleteCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete the collection - * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {module:api/CollectionApi~deleteCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteCollection = function(collection, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling deleteCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreFromCollection operation. - * @callback module:api/CollectionApi~deleteScoreFromCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a score from the collection - * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/CollectionApi~deleteScoreFromCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreFromCollection = function(collection, score, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling deleteScoreFromCollection"); - } - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreFromCollection"); - } - - - var pathParams = { - 'collection': collection, - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}/scores/{score}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editCollection operation. - * @callback module:api/CollectionApi~editCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update a collection's metadata - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {module:model/CollectionModification} opts.body - * @param {module:api/CollectionApi~editCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.editCollection = function(collection, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling editCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections/{collection}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getCollection operation. - * @callback module:api/CollectionApi~getCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get collection details - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/CollectionApi~getCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.getCollection = function(collection, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling getCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections/{collection}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listCollectionScores operation. - * @callback module:api/CollectionApi~listCollectionScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the scores contained in a collection - * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 25) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/CollectionApi~listCollectionScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listCollectionScores = function(collection, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling listCollectionScores"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'sort': opts['sort'], - 'direction': opts['direction'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/collections/{collection}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listCollections operation. - * @callback module:api/CollectionApi~listCollectionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the collections - * Use this method to list the user's collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.parent List the collection contained in this `parent` collection. This option doesn't provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. (default to root) - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 25) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/CollectionApi~listCollectionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listCollections = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'parent': opts['parent'], - 'sort': opts['sort'], - 'direction': opts['direction'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [Collection]; - - return this.apiClient.callApi( - '/collections', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the untrashCollection operation. - * @callback module:api/CollectionApi~untrashCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Untrash a collection - * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {module:api/CollectionApi~untrashCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.untrashCollection = function(collection, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling untrashCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}/untrash', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/Collection":41,"../model/CollectionCreation":43,"../model/CollectionModification":44,"../model/FlatErrorResponse":48,"../model/ScoreDetails":78}],20:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/GroupDetails', 'model/ScoreDetails', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/GroupDetails'), require('../model/ScoreDetails'), require('../model/UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.GroupDetails, root.FlatApi.ScoreDetails, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, FlatErrorResponse, GroupDetails, ScoreDetails, UserPublic) { - 'use strict'; - - /** - * Group service. - * @module api/GroupApi - * @version 2.6.0 - */ - - /** - * Constructs a new GroupApi. - * @alias module:api/GroupApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the getGroupDetails operation. - * @callback module:api/GroupApi~getGroupDetailsCallback - * @param {String} error Error message, if any. - * @param {module:model/GroupDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get group information - * @param {String} group Unique identifier of a Flat group - * @param {module:api/GroupApi~getGroupDetailsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/GroupDetails} - */ - this.getGroupDetails = function(group, callback) { - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupDetails"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = GroupDetails; - - return this.apiClient.callApi( - '/groups/{group}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getGroupScores operation. - * @callback module:api/GroupApi~getGroupScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's scores - * Get the list of scores shared with a group. - * @param {String} group Unique identifier of a Flat group - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/GroupApi~getGroupScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getGroupScores = function(group, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupScores"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/groups/{group}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listGroupUsers operation. - * @callback module:api/GroupApi~listGroupUsersCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's users - * @param {String} group Unique identifier of a Flat group - * @param {module:api/GroupApi~listGroupUsersCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listGroupUsers = function(group, callback) { - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling listGroupUsers"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [UserPublic]; - - return this.apiClient.callApi( - '/groups/{group}/users', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/FlatErrorResponse":48,"../model/GroupDetails":53,"../model/ScoreDetails":78,"../model/UserPublic":103}],21:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/LtiCredentials', 'model/LtiCredentialsCreation', 'model/OrganizationInvitation', 'model/OrganizationInvitationCreation', 'model/UserAdminUpdate', 'model/UserCreation', 'model/UserDetailsAdmin'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/LtiCredentials'), require('../model/LtiCredentialsCreation'), require('../model/OrganizationInvitation'), require('../model/OrganizationInvitationCreation'), require('../model/UserAdminUpdate'), require('../model/UserCreation'), require('../model/UserDetailsAdmin')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.LtiCredentials, root.FlatApi.LtiCredentialsCreation, root.FlatApi.OrganizationInvitation, root.FlatApi.OrganizationInvitationCreation, root.FlatApi.UserAdminUpdate, root.FlatApi.UserCreation, root.FlatApi.UserDetailsAdmin); - } -}(this, function(ApiClient, FlatErrorResponse, LtiCredentials, LtiCredentialsCreation, OrganizationInvitation, OrganizationInvitationCreation, UserAdminUpdate, UserCreation, UserDetailsAdmin) { - 'use strict'; - - /** - * Organization service. - * @module api/OrganizationApi - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationApi. - * @alias module:api/OrganizationApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the createLtiCredentials operation. - * @callback module:api/OrganizationApi~createLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param {module:model/LtiCredentials} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new couple of LTI 1.x credentials - * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). - * @param {module:model/LtiCredentialsCreation} body - * @param {module:api/OrganizationApi~createLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/LtiCredentials} - */ - this.createLtiCredentials = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createLtiCredentials"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = LtiCredentials; - - return this.apiClient.callApi( - '/organizations/lti/credentials', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createOrganizationInvitation operation. - * @callback module:api/OrganizationApi~createOrganizationInvitationCallback - * @param {String} error Error message, if any. - * @param {module:model/OrganizationInvitation} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new invitation to join the organization - * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won't send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. - * @param {Object} opts Optional parameters - * @param {module:model/OrganizationInvitationCreation} opts.body - * @param {module:api/OrganizationApi~createOrganizationInvitationCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/OrganizationInvitation} - */ - this.createOrganizationInvitation = function(opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = OrganizationInvitation; - - return this.apiClient.callApi( - '/organizations/invitations', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createOrganizationUser operation. - * @callback module:api/OrganizationApi~createOrganizationUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetailsAdmin} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new user account - * @param {Object} opts Optional parameters - * @param {module:model/UserCreation} opts.body - * @param {module:api/OrganizationApi~createOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetailsAdmin} - */ - this.createOrganizationUser = function(opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetailsAdmin; - - return this.apiClient.callApi( - '/organizations/users', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listLtiCredentials operation. - * @callback module:api/OrganizationApi~listLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List LTI 1.x credentials - * @param {module:api/OrganizationApi~listLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listLtiCredentials = function(callback) { - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [LtiCredentials]; - - return this.apiClient.callApi( - '/organizations/lti/credentials', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listOrganizationInvitations operation. - * @callback module:api/OrganizationApi~listOrganizationInvitationsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the organization invitations - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.role Filter users by role - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 50) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/OrganizationApi~listOrganizationInvitationsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listOrganizationInvitations = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'role': opts['role'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [OrganizationInvitation]; - - return this.apiClient.callApi( - '/organizations/invitations', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listOrganizationUsers operation. - * @callback module:api/OrganizationApi~listOrganizationUsersCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the organization users - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.role Filter users by role - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 50) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/OrganizationApi~listOrganizationUsersCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listOrganizationUsers = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'role': opts['role'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [UserDetailsAdmin]; - - return this.apiClient.callApi( - '/organizations/users', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeOrganizationInvitation operation. - * @callback module:api/OrganizationApi~removeOrganizationInvitationCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an organization invitation - * @param {String} invitation Unique identifier of the invitation - * @param {module:api/OrganizationApi~removeOrganizationInvitationCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeOrganizationInvitation = function(invitation, callback) { - var postBody = null; - - // verify the required parameter 'invitation' is set - if (invitation === undefined || invitation === null) { - throw new Error("Missing the required parameter 'invitation' when calling removeOrganizationInvitation"); - } - - - var pathParams = { - 'invitation': invitation - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/invitations/{invitation}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeOrganizationUser operation. - * @callback module:api/OrganizationApi~removeOrganizationUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an account from Flat - * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) - * @param {String} user Unique identifier of the Flat account - * @param {Object} opts Optional parameters - * @param {Boolean} opts.convertToIndividual If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. - * @param {module:api/OrganizationApi~removeOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeOrganizationUser = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling removeOrganizationUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'convertToIndividual': opts['convertToIndividual'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/users/{user}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the revokeLtiCredentials operation. - * @callback module:api/OrganizationApi~revokeLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Revoke LTI 1.x credentials - * @param {String} credentials Credentials unique identifier - * @param {module:api/OrganizationApi~revokeLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.revokeLtiCredentials = function(credentials, callback) { - var postBody = null; - - // verify the required parameter 'credentials' is set - if (credentials === undefined || credentials === null) { - throw new Error("Missing the required parameter 'credentials' when calling revokeLtiCredentials"); - } - - - var pathParams = { - 'credentials': credentials - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/lti/credentials/{credentials}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateOrganizationUser operation. - * @callback module:api/OrganizationApi~updateOrganizationUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetailsAdmin} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update account information - * @param {String} user Unique identifier of the Flat account - * @param {module:model/UserAdminUpdate} body - * @param {module:api/OrganizationApi~updateOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetailsAdmin} - */ - this.updateOrganizationUser = function(user, body, callback) { - var postBody = body; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling updateOrganizationUser"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateOrganizationUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetailsAdmin; - - return this.apiClient.callApi( - '/organizations/users/{user}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/FlatErrorResponse":48,"../model/LtiCredentials":58,"../model/LtiCredentialsCreation":59,"../model/OrganizationInvitation":62,"../model/OrganizationInvitationCreation":63,"../model/UserAdminUpdate":96,"../model/UserCreation":98,"../model/UserDetailsAdmin":100}],22:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/AssignmentSubmission', 'model/FlatErrorResponse', 'model/ResourceCollaborator', 'model/ResourceCollaboratorCreation', 'model/ScoreComment', 'model/ScoreCommentCreation', 'model/ScoreCommentUpdate', 'model/ScoreCreation', 'model/ScoreDetails', 'model/ScoreFork', 'model/ScoreModification', 'model/ScoreRevision', 'model/ScoreRevisionCreation', 'model/ScoreTrack', 'model/ScoreTrackCreation', 'model/ScoreTrackUpdate'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/AssignmentSubmission'), require('../model/FlatErrorResponse'), require('../model/ResourceCollaborator'), require('../model/ResourceCollaboratorCreation'), require('../model/ScoreComment'), require('../model/ScoreCommentCreation'), require('../model/ScoreCommentUpdate'), require('../model/ScoreCreation'), require('../model/ScoreDetails'), require('../model/ScoreFork'), require('../model/ScoreModification'), require('../model/ScoreRevision'), require('../model/ScoreRevisionCreation'), require('../model/ScoreTrack'), require('../model/ScoreTrackCreation'), require('../model/ScoreTrackUpdate')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreApi = factory(root.FlatApi.ApiClient, root.FlatApi.AssignmentSubmission, root.FlatApi.FlatErrorResponse, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceCollaboratorCreation, root.FlatApi.ScoreComment, root.FlatApi.ScoreCommentCreation, root.FlatApi.ScoreCommentUpdate, root.FlatApi.ScoreCreation, root.FlatApi.ScoreDetails, root.FlatApi.ScoreFork, root.FlatApi.ScoreModification, root.FlatApi.ScoreRevision, root.FlatApi.ScoreRevisionCreation, root.FlatApi.ScoreTrack, root.FlatApi.ScoreTrackCreation, root.FlatApi.ScoreTrackUpdate); - } -}(this, function(ApiClient, AssignmentSubmission, FlatErrorResponse, ResourceCollaborator, ResourceCollaboratorCreation, ScoreComment, ScoreCommentCreation, ScoreCommentUpdate, ScoreCreation, ScoreDetails, ScoreFork, ScoreModification, ScoreRevision, ScoreRevisionCreation, ScoreTrack, ScoreTrackCreation, ScoreTrackUpdate) { - 'use strict'; - - /** - * Score service. - * @module api/ScoreApi - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreApi. - * @alias module:api/ScoreApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the addScoreCollaborator operation. - * @callback module:api/ScoreApi~addScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param {module:model/ResourceCollaborator} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a new collaborator - * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ResourceCollaboratorCreation} body - * @param {module:api/ScoreApi~addScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ResourceCollaborator} - */ - this.addScoreCollaborator = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreCollaborator"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling addScoreCollaborator"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ResourceCollaborator; - - return this.apiClient.callApi( - '/scores/{score}/collaborators', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the addScoreTrack operation. - * @callback module:api/ScoreApi~addScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a new video or audio track to the score - * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreTrackCreation} body - * @param {module:api/ScoreApi~addScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.addScoreTrack = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreTrack"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling addScoreTrack"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createScore operation. - * @callback module:api/ScoreApi~createScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new score - * Use this API method to **create a new music score in the current User account**. You will need a MusicXML 3 (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`) or a MIDI (`audio/midi`) file to create the new Flat document. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. This can be the `root` collection or a different collection based on the user's settings or API authentication method. If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. - * @param {module:model/ScoreCreation} body - * @param {module:api/ScoreApi~createScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.createScore = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createScore"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createScoreRevision operation. - * @callback module:api/ScoreApi~createScoreRevisionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreRevision} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new revision - * Update a score by uploading a new revision for this one. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreRevisionCreation} body - * @param {module:api/ScoreApi~createScoreRevisionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreRevision} - */ - this.createScoreRevision = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling createScoreRevision"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createScoreRevision"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreRevision; - - return this.apiClient.callApi( - '/scores/{score}/revisions', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScore operation. - * @callback module:api/ScoreApi~deleteScoreCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a score - * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won't be accessible anymore after calling this method and the user's quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~deleteScoreCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScore = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreComment operation. - * @callback module:api/ScoreApi~deleteScoreCommentCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a comment - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~deleteScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreComment = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreComment"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling deleteScoreComment"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreTrack operation. - * @callback module:api/ScoreApi~deleteScoreTrackCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an audio or video track linked to the score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {module:api/ScoreApi~deleteScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreTrack = function(score, track, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling deleteScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editScore operation. - * @callback module:api/ScoreApi~editScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Edit a score's metadata - * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title` of the score, the API metadata are updated directly when calling this method, unlike the data itself. The title in the score data will be \"lazy\" updated at the next score save with the editor or our internal save. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {module:model/ScoreModification} opts.body - * @param {module:api/ScoreApi~editScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.editScore = function(score, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling editScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the forkScore operation. - * @callback module:api/ScoreApi~forkScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Fork a score - * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreFork} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~forkScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.forkScore = function(score, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling forkScore"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling forkScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}/fork', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the gerUserLikes operation. - * @callback module:api/ScoreApi~gerUserLikesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List liked scores - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {Boolean} opts.ids Return only the identifiers of the scores - * @param {module:api/ScoreApi~gerUserLikesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.gerUserLikes = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling gerUserLikes"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'ids': opts['ids'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/likes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getGroupScores operation. - * @callback module:api/ScoreApi~getGroupScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's scores - * Get the list of scores shared with a group. - * @param {String} group Unique identifier of a Flat group - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/ScoreApi~getGroupScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getGroupScores = function(group, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupScores"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/groups/{group}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScore operation. - * @callback module:api/ScoreApi~getScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score's metadata - * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.getScore = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreCollaborator operation. - * @callback module:api/ScoreApi~getScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param {module:model/ResourceCollaborator} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a collaborator - * Get the information about a collaborator (User or Group). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ResourceCollaborator} - */ - this.getScoreCollaborator = function(score, collaborator, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreCollaborator"); - } - - // verify the required parameter 'collaborator' is set - if (collaborator === undefined || collaborator === null) { - throw new Error("Missing the required parameter 'collaborator' when calling getScoreCollaborator"); - } - - - var pathParams = { - 'score': score, - 'collaborator': collaborator - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ResourceCollaborator; - - return this.apiClient.callApi( - '/scores/{score}/collaborators/{collaborator}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreCollaborators operation. - * @callback module:api/ScoreApi~getScoreCollaboratorsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the collaborators - * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCollaboratorsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreCollaborators = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreCollaborators"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ResourceCollaborator]; - - return this.apiClient.callApi( - '/scores/{score}/collaborators', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreComments operation. - * @callback module:api/ScoreApi~getScoreCommentsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List comments - * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:model/String} opts.type Filter the comments by type - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {module:api/ScoreApi~getScoreCommentsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreComments = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreComments"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'type': opts['type'], - 'sort': opts['sort'], - 'direction': opts['direction'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreComment]; - - return this.apiClient.callApi( - '/scores/{score}/comments', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevision operation. - * @callback module:api/ScoreApi~getScoreRevisionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreRevision} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score revision - * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreRevisionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreRevision} - */ - this.getScoreRevision = function(score, revision, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevision"); - } - - // verify the required parameter 'revision' is set - if (revision === undefined || revision === null) { - throw new Error("Missing the required parameter 'revision' when calling getScoreRevision"); - } - - - var pathParams = { - 'score': score, - 'revision': revision - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreRevision; - - return this.apiClient.callApi( - '/scores/{score}/revisions/{revision}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevisionData operation. - * @callback module:api/ScoreApi~getScoreRevisionDataCallback - * @param {String} error Error message, if any. - * @param {'Blob'} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score revision data - * Retrieve the file corresponding to a score revision (the following formats are available: Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, or a tumbnail of the first page `thumbnail.png`). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - * @param {module:model/String} format The format of the file you will retrieve - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {String} opts.parts An optional a set of parts to be exported. This parameter must be specified with a list of integers. For example \"1,2,5\". - * @param {Boolean} opts.onlyCached Only return files already generated and cached in Flat's production cache. If the file is not availabe, a 404 will be returned - * @param {module:api/ScoreApi~getScoreRevisionDataCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link 'Blob'} - */ - this.getScoreRevisionData = function(score, revision, format, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevisionData"); - } - - // verify the required parameter 'revision' is set - if (revision === undefined || revision === null) { - throw new Error("Missing the required parameter 'revision' when calling getScoreRevisionData"); - } - - // verify the required parameter 'format' is set - if (format === undefined || format === null) { - throw new Error("Missing the required parameter 'format' when calling getScoreRevisionData"); - } - - - var pathParams = { - 'score': score, - 'revision': revision, - 'format': format - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'parts': opts['parts'], - 'onlyCached': opts['onlyCached'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json', 'application/vnd.recordare.musicxml+xml', 'application/vnd.recordare.musicxml', 'audio/mp3', 'audio/wav', 'audio/midi', 'image/png']; - var returnType = 'Blob'; - - return this.apiClient.callApi( - '/scores/{score}/revisions/{revision}/{format}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevisions operation. - * @callback module:api/ScoreApi~getScoreRevisionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the revisions - * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreRevisionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreRevisions = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevisions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreRevision]; - - return this.apiClient.callApi( - '/scores/{score}/revisions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreSubmissions operation. - * @callback module:api/ScoreApi~getScoreSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List submissions related to the score - * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~getScoreSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreSubmissions = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreSubmissions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/scores/{score}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreTrack operation. - * @callback module:api/ScoreApi~getScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Retrieve the details of an audio or video track linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.getScoreTrack = function(score, track, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling getScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUserScores operation. - * @callback module:api/ScoreApi~getUserScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List user's scores - * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/ScoreApi~getUserScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getUserScores = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUserScores"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listScoreTracks operation. - * @callback module:api/ScoreApi~listScoreTracksCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the audio or video tracks linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~listScoreTracksCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listScoreTracks = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling listScoreTracks"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreTrack]; - - return this.apiClient.callApi( - '/scores/{score}/tracks', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the markScoreCommentResolved operation. - * @callback module:api/ScoreApi~markScoreCommentResolvedCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Mark the comment as resolved - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~markScoreCommentResolvedCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.markScoreCommentResolved = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling markScoreCommentResolved"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling markScoreCommentResolved"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}/resolved', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the markScoreCommentUnresolved operation. - * @callback module:api/ScoreApi~markScoreCommentUnresolvedCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Mark the comment as unresolved - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~markScoreCommentUnresolvedCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.markScoreCommentUnresolved = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling markScoreCommentUnresolved"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling markScoreCommentUnresolved"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}/resolved', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the postScoreComment operation. - * @callback module:api/ScoreApi~postScoreCommentCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreComment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Post a new comment - * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don't guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreCommentCreation} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~postScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreComment} - */ - this.postScoreComment = function(score, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling postScoreComment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling postScoreComment"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreComment; - - return this.apiClient.callApi( - '/scores/{score}/comments', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeScoreCollaborator operation. - * @callback module:api/ScoreApi~removeScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a collaborator - * Remove the specified collaborator from the score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - * @param {module:api/ScoreApi~removeScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeScoreCollaborator = function(score, collaborator, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling removeScoreCollaborator"); - } - - // verify the required parameter 'collaborator' is set - if (collaborator === undefined || collaborator === null) { - throw new Error("Missing the required parameter 'collaborator' when calling removeScoreCollaborator"); - } - - - var pathParams = { - 'score': score, - 'collaborator': collaborator - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/collaborators/{collaborator}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the untrashScore operation. - * @callback module:api/ScoreApi~untrashScoreCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Untrash a score - * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~untrashScoreCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.untrashScore = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling untrashScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = []; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/untrash', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateScoreComment operation. - * @callback module:api/ScoreApi~updateScoreCommentCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreComment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update an existing comment - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {module:model/ScoreCommentUpdate} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~updateScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreComment} - */ - this.updateScoreComment = function(score, comment, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling updateScoreComment"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling updateScoreComment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateScoreComment"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreComment; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateScoreTrack operation. - * @callback module:api/ScoreApi~updateScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update an audio or video track linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {module:model/ScoreTrackUpdate} body - * @param {module:api/ScoreApi~updateScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.updateScoreTrack = function(score, track, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling updateScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling updateScoreTrack"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/AssignmentSubmission":28,"../model/FlatErrorResponse":48,"../model/ResourceCollaborator":65,"../model/ResourceCollaboratorCreation":66,"../model/ScoreComment":69,"../model/ScoreCommentCreation":71,"../model/ScoreCommentUpdate":72,"../model/ScoreCreation":74,"../model/ScoreDetails":78,"../model/ScoreFork":79,"../model/ScoreModification":82,"../model/ScoreRevision":84,"../model/ScoreRevisionCreation":85,"../model/ScoreTrack":89,"../model/ScoreTrackCreation":90,"../model/ScoreTrackUpdate":94}],23:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/ScoreDetails', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/ScoreDetails'), require('../model/UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.ScoreDetails, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, FlatErrorResponse, ScoreDetails, UserPublic) { - 'use strict'; - - /** - * User service. - * @module api/UserApi - * @version 2.6.0 - */ - - /** - * Constructs a new UserApi. - * @alias module:api/UserApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the gerUserLikes operation. - * @callback module:api/UserApi~gerUserLikesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List liked scores - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {Boolean} opts.ids Return only the identifiers of the scores - * @param {module:api/UserApi~gerUserLikesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.gerUserLikes = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling gerUserLikes"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'ids': opts['ids'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/likes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUser operation. - * @callback module:api/UserApi~getUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserPublic} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a public user profile - * Get a public profile of a Flat User. - * @param {String} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. - * @param {module:api/UserApi~getUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserPublic} - */ - this.getUser = function(user, callback) { - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserPublic; - - return this.apiClient.callApi( - '/users/{user}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUserScores operation. - * @callback module:api/UserApi~getUserScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List user's scores - * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/UserApi~getUserScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getUserScores = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUserScores"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); - -},{"../ApiClient":16,"../model/FlatErrorResponse":48,"../model/ScoreDetails":78,"../model/UserPublic":103}],24:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Assignment', 'model/AssignmentCopy', 'model/AssignmentCreation', 'model/AssignmentSubmission', 'model/AssignmentSubmissionUpdate', 'model/ClassAttachmentCreation', 'model/ClassCreation', 'model/ClassDetails', 'model/ClassDetailsCanvas', 'model/ClassDetailsClever', 'model/ClassDetailsGoogleClassroom', 'model/ClassDetailsGoogleDrive', 'model/ClassDetailsLti', 'model/ClassRoles', 'model/ClassState', 'model/ClassUpdate', 'model/Collection', 'model/CollectionCapabilities', 'model/CollectionCreation', 'model/CollectionModification', 'model/CollectionPrivacy', 'model/CollectionTitle', 'model/CollectionType', 'model/FlatErrorResponse', 'model/FlatLocales', 'model/GoogleClassroomCoursework', 'model/GoogleClassroomSubmission', 'model/Group', 'model/GroupDetails', 'model/GroupType', 'model/LicenseMode', 'model/LicenseSources', 'model/LmsName', 'model/LtiCredentials', 'model/LtiCredentialsCreation', 'model/MediaAttachment', 'model/MediaScoreSharingMode', 'model/OrganizationInvitation', 'model/OrganizationInvitationCreation', 'model/OrganizationRoles', 'model/ResourceCollaboratorCreation', 'model/ResourceRights', 'model/ResourceSharingKey', 'model/ScoreComment', 'model/ScoreCommentContext', 'model/ScoreCommentCreation', 'model/ScoreCommentUpdate', 'model/ScoreCommentsCounts', 'model/ScoreCreation', 'model/ScoreCreationType', 'model/ScoreData', 'model/ScoreDataEncoding', 'model/ScoreFork', 'model/ScoreLicense', 'model/ScoreLikesCounts', 'model/ScoreModification', 'model/ScorePrivacy', 'model/ScoreRevision', 'model/ScoreRevisionCreation', 'model/ScoreRevisionStatistics', 'model/ScoreSource', 'model/ScoreSummary', 'model/ScoreTrack', 'model/ScoreTrackCreation', 'model/ScoreTrackPoint', 'model/ScoreTrackState', 'model/ScoreTrackType', 'model/ScoreTrackUpdate', 'model/ScoreViewsCounts', 'model/UserAdminUpdate', 'model/UserBasics', 'model/UserCreation', 'model/UserDetailsAdminLicense', 'model/UserInstruments', 'model/ResourceCollaborator', 'model/ScoreDetails', 'model/UserPublicSummary', 'model/UserDetailsAdmin', 'model/UserPublic', 'model/UserDetails', 'api/AccountApi', 'api/ClassApi', 'api/CollectionApi', 'api/GroupApi', 'api/OrganizationApi', 'api/ScoreApi', 'api/UserApi'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('./ApiClient'), require('./model/Assignment'), require('./model/AssignmentCopy'), require('./model/AssignmentCreation'), require('./model/AssignmentSubmission'), require('./model/AssignmentSubmissionUpdate'), require('./model/ClassAttachmentCreation'), require('./model/ClassCreation'), require('./model/ClassDetails'), require('./model/ClassDetailsCanvas'), require('./model/ClassDetailsClever'), require('./model/ClassDetailsGoogleClassroom'), require('./model/ClassDetailsGoogleDrive'), require('./model/ClassDetailsLti'), require('./model/ClassRoles'), require('./model/ClassState'), require('./model/ClassUpdate'), require('./model/Collection'), require('./model/CollectionCapabilities'), require('./model/CollectionCreation'), require('./model/CollectionModification'), require('./model/CollectionPrivacy'), require('./model/CollectionTitle'), require('./model/CollectionType'), require('./model/FlatErrorResponse'), require('./model/FlatLocales'), require('./model/GoogleClassroomCoursework'), require('./model/GoogleClassroomSubmission'), require('./model/Group'), require('./model/GroupDetails'), require('./model/GroupType'), require('./model/LicenseMode'), require('./model/LicenseSources'), require('./model/LmsName'), require('./model/LtiCredentials'), require('./model/LtiCredentialsCreation'), require('./model/MediaAttachment'), require('./model/MediaScoreSharingMode'), require('./model/OrganizationInvitation'), require('./model/OrganizationInvitationCreation'), require('./model/OrganizationRoles'), require('./model/ResourceCollaboratorCreation'), require('./model/ResourceRights'), require('./model/ResourceSharingKey'), require('./model/ScoreComment'), require('./model/ScoreCommentContext'), require('./model/ScoreCommentCreation'), require('./model/ScoreCommentUpdate'), require('./model/ScoreCommentsCounts'), require('./model/ScoreCreation'), require('./model/ScoreCreationType'), require('./model/ScoreData'), require('./model/ScoreDataEncoding'), require('./model/ScoreFork'), require('./model/ScoreLicense'), require('./model/ScoreLikesCounts'), require('./model/ScoreModification'), require('./model/ScorePrivacy'), require('./model/ScoreRevision'), require('./model/ScoreRevisionCreation'), require('./model/ScoreRevisionStatistics'), require('./model/ScoreSource'), require('./model/ScoreSummary'), require('./model/ScoreTrack'), require('./model/ScoreTrackCreation'), require('./model/ScoreTrackPoint'), require('./model/ScoreTrackState'), require('./model/ScoreTrackType'), require('./model/ScoreTrackUpdate'), require('./model/ScoreViewsCounts'), require('./model/UserAdminUpdate'), require('./model/UserBasics'), require('./model/UserCreation'), require('./model/UserDetailsAdminLicense'), require('./model/UserInstruments'), require('./model/ResourceCollaborator'), require('./model/ScoreDetails'), require('./model/UserPublicSummary'), require('./model/UserDetailsAdmin'), require('./model/UserPublic'), require('./model/UserDetails'), require('./api/AccountApi'), require('./api/ClassApi'), require('./api/CollectionApi'), require('./api/GroupApi'), require('./api/OrganizationApi'), require('./api/ScoreApi'), require('./api/UserApi')); - } -}(function(ApiClient, Assignment, AssignmentCopy, AssignmentCreation, AssignmentSubmission, AssignmentSubmissionUpdate, ClassAttachmentCreation, ClassCreation, ClassDetails, ClassDetailsCanvas, ClassDetailsClever, ClassDetailsGoogleClassroom, ClassDetailsGoogleDrive, ClassDetailsLti, ClassRoles, ClassState, ClassUpdate, Collection, CollectionCapabilities, CollectionCreation, CollectionModification, CollectionPrivacy, CollectionTitle, CollectionType, FlatErrorResponse, FlatLocales, GoogleClassroomCoursework, GoogleClassroomSubmission, Group, GroupDetails, GroupType, LicenseMode, LicenseSources, LmsName, LtiCredentials, LtiCredentialsCreation, MediaAttachment, MediaScoreSharingMode, OrganizationInvitation, OrganizationInvitationCreation, OrganizationRoles, ResourceCollaboratorCreation, ResourceRights, ResourceSharingKey, ScoreComment, ScoreCommentContext, ScoreCommentCreation, ScoreCommentUpdate, ScoreCommentsCounts, ScoreCreation, ScoreCreationType, ScoreData, ScoreDataEncoding, ScoreFork, ScoreLicense, ScoreLikesCounts, ScoreModification, ScorePrivacy, ScoreRevision, ScoreRevisionCreation, ScoreRevisionStatistics, ScoreSource, ScoreSummary, ScoreTrack, ScoreTrackCreation, ScoreTrackPoint, ScoreTrackState, ScoreTrackType, ScoreTrackUpdate, ScoreViewsCounts, UserAdminUpdate, UserBasics, UserCreation, UserDetailsAdminLicense, UserInstruments, ResourceCollaborator, ScoreDetails, UserPublicSummary, UserDetailsAdmin, UserPublic, UserDetails, AccountApi, ClassApi, CollectionApi, GroupApi, OrganizationApi, ScoreApi, UserApi) { - 'use strict'; - - /** - * JavaScript Client for Flat REST API (https://flat.io).
- * The index module provides access to constructors for all the classes which comprise the public API. - *

- * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: - *

-   * var FlatApi = require('index'); // See note below*.
-   * var xxxSvc = new FlatApi.XxxApi(); // Allocate the API class we're going to use.
-   * var yyyModel = new FlatApi.Yyy(); // Construct a model instance.
-   * yyyModel.someProperty = 'someValue';
-   * ...
-   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
-   * ...
-   * 
- * *NOTE: For a top-level AMD script, use require(['index'], function(){...}) - * and put the application logic within the callback function. - *

- *

- * A non-AMD browser application (discouraged) might do something like this: - *

-   * var xxxSvc = new FlatApi.XxxApi(); // Allocate the API class we're going to use.
-   * var yyy = new FlatApi.Yyy(); // Construct a model instance.
-   * yyyModel.someProperty = 'someValue';
-   * ...
-   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
-   * ...
-   * 
- *

- * @module index - * @version 2.6.0 - */ - var exports = { - /** - * The ApiClient constructor. - * @property {module:ApiClient} - */ - ApiClient: ApiClient, - /** - * The Assignment model constructor. - * @property {module:model/Assignment} - */ - Assignment: Assignment, - /** - * The AssignmentCopy model constructor. - * @property {module:model/AssignmentCopy} - */ - AssignmentCopy: AssignmentCopy, - /** - * The AssignmentCreation model constructor. - * @property {module:model/AssignmentCreation} - */ - AssignmentCreation: AssignmentCreation, - /** - * The AssignmentSubmission model constructor. - * @property {module:model/AssignmentSubmission} - */ - AssignmentSubmission: AssignmentSubmission, - /** - * The AssignmentSubmissionUpdate model constructor. - * @property {module:model/AssignmentSubmissionUpdate} - */ - AssignmentSubmissionUpdate: AssignmentSubmissionUpdate, - /** - * The ClassAttachmentCreation model constructor. - * @property {module:model/ClassAttachmentCreation} - */ - ClassAttachmentCreation: ClassAttachmentCreation, - /** - * The ClassCreation model constructor. - * @property {module:model/ClassCreation} - */ - ClassCreation: ClassCreation, - /** - * The ClassDetails model constructor. - * @property {module:model/ClassDetails} - */ - ClassDetails: ClassDetails, - /** - * The ClassDetailsCanvas model constructor. - * @property {module:model/ClassDetailsCanvas} - */ - ClassDetailsCanvas: ClassDetailsCanvas, - /** - * The ClassDetailsClever model constructor. - * @property {module:model/ClassDetailsClever} - */ - ClassDetailsClever: ClassDetailsClever, - /** - * The ClassDetailsGoogleClassroom model constructor. - * @property {module:model/ClassDetailsGoogleClassroom} - */ - ClassDetailsGoogleClassroom: ClassDetailsGoogleClassroom, - /** - * The ClassDetailsGoogleDrive model constructor. - * @property {module:model/ClassDetailsGoogleDrive} - */ - ClassDetailsGoogleDrive: ClassDetailsGoogleDrive, - /** - * The ClassDetailsLti model constructor. - * @property {module:model/ClassDetailsLti} - */ - ClassDetailsLti: ClassDetailsLti, - /** - * The ClassRoles model constructor. - * @property {module:model/ClassRoles} - */ - ClassRoles: ClassRoles, - /** - * The ClassState model constructor. - * @property {module:model/ClassState} - */ - ClassState: ClassState, - /** - * The ClassUpdate model constructor. - * @property {module:model/ClassUpdate} - */ - ClassUpdate: ClassUpdate, - /** - * The Collection model constructor. - * @property {module:model/Collection} - */ - Collection: Collection, - /** - * The CollectionCapabilities model constructor. - * @property {module:model/CollectionCapabilities} - */ - CollectionCapabilities: CollectionCapabilities, - /** - * The CollectionCreation model constructor. - * @property {module:model/CollectionCreation} - */ - CollectionCreation: CollectionCreation, - /** - * The CollectionModification model constructor. - * @property {module:model/CollectionModification} - */ - CollectionModification: CollectionModification, - /** - * The CollectionPrivacy model constructor. - * @property {module:model/CollectionPrivacy} - */ - CollectionPrivacy: CollectionPrivacy, - /** - * The CollectionTitle model constructor. - * @property {module:model/CollectionTitle} - */ - CollectionTitle: CollectionTitle, - /** - * The CollectionType model constructor. - * @property {module:model/CollectionType} - */ - CollectionType: CollectionType, - /** - * The FlatErrorResponse model constructor. - * @property {module:model/FlatErrorResponse} - */ - FlatErrorResponse: FlatErrorResponse, - /** - * The FlatLocales model constructor. - * @property {module:model/FlatLocales} - */ - FlatLocales: FlatLocales, - /** - * The GoogleClassroomCoursework model constructor. - * @property {module:model/GoogleClassroomCoursework} - */ - GoogleClassroomCoursework: GoogleClassroomCoursework, - /** - * The GoogleClassroomSubmission model constructor. - * @property {module:model/GoogleClassroomSubmission} - */ - GoogleClassroomSubmission: GoogleClassroomSubmission, - /** - * The Group model constructor. - * @property {module:model/Group} - */ - Group: Group, - /** - * The GroupDetails model constructor. - * @property {module:model/GroupDetails} - */ - GroupDetails: GroupDetails, - /** - * The GroupType model constructor. - * @property {module:model/GroupType} - */ - GroupType: GroupType, - /** - * The LicenseMode model constructor. - * @property {module:model/LicenseMode} - */ - LicenseMode: LicenseMode, - /** - * The LicenseSources model constructor. - * @property {module:model/LicenseSources} - */ - LicenseSources: LicenseSources, - /** - * The LmsName model constructor. - * @property {module:model/LmsName} - */ - LmsName: LmsName, - /** - * The LtiCredentials model constructor. - * @property {module:model/LtiCredentials} - */ - LtiCredentials: LtiCredentials, - /** - * The LtiCredentialsCreation model constructor. - * @property {module:model/LtiCredentialsCreation} - */ - LtiCredentialsCreation: LtiCredentialsCreation, - /** - * The MediaAttachment model constructor. - * @property {module:model/MediaAttachment} - */ - MediaAttachment: MediaAttachment, - /** - * The MediaScoreSharingMode model constructor. - * @property {module:model/MediaScoreSharingMode} - */ - MediaScoreSharingMode: MediaScoreSharingMode, - /** - * The OrganizationInvitation model constructor. - * @property {module:model/OrganizationInvitation} - */ - OrganizationInvitation: OrganizationInvitation, - /** - * The OrganizationInvitationCreation model constructor. - * @property {module:model/OrganizationInvitationCreation} - */ - OrganizationInvitationCreation: OrganizationInvitationCreation, - /** - * The OrganizationRoles model constructor. - * @property {module:model/OrganizationRoles} - */ - OrganizationRoles: OrganizationRoles, - /** - * The ResourceCollaboratorCreation model constructor. - * @property {module:model/ResourceCollaboratorCreation} - */ - ResourceCollaboratorCreation: ResourceCollaboratorCreation, - /** - * The ResourceRights model constructor. - * @property {module:model/ResourceRights} - */ - ResourceRights: ResourceRights, - /** - * The ResourceSharingKey model constructor. - * @property {module:model/ResourceSharingKey} - */ - ResourceSharingKey: ResourceSharingKey, - /** - * The ScoreComment model constructor. - * @property {module:model/ScoreComment} - */ - ScoreComment: ScoreComment, - /** - * The ScoreCommentContext model constructor. - * @property {module:model/ScoreCommentContext} - */ - ScoreCommentContext: ScoreCommentContext, - /** - * The ScoreCommentCreation model constructor. - * @property {module:model/ScoreCommentCreation} - */ - ScoreCommentCreation: ScoreCommentCreation, - /** - * The ScoreCommentUpdate model constructor. - * @property {module:model/ScoreCommentUpdate} - */ - ScoreCommentUpdate: ScoreCommentUpdate, - /** - * The ScoreCommentsCounts model constructor. - * @property {module:model/ScoreCommentsCounts} - */ - ScoreCommentsCounts: ScoreCommentsCounts, - /** - * The ScoreCreation model constructor. - * @property {module:model/ScoreCreation} - */ - ScoreCreation: ScoreCreation, - /** - * The ScoreCreationType model constructor. - * @property {module:model/ScoreCreationType} - */ - ScoreCreationType: ScoreCreationType, - /** - * The ScoreData model constructor. - * @property {module:model/ScoreData} - */ - ScoreData: ScoreData, - /** - * The ScoreDataEncoding model constructor. - * @property {module:model/ScoreDataEncoding} - */ - ScoreDataEncoding: ScoreDataEncoding, - /** - * The ScoreFork model constructor. - * @property {module:model/ScoreFork} - */ - ScoreFork: ScoreFork, - /** - * The ScoreLicense model constructor. - * @property {module:model/ScoreLicense} - */ - ScoreLicense: ScoreLicense, - /** - * The ScoreLikesCounts model constructor. - * @property {module:model/ScoreLikesCounts} - */ - ScoreLikesCounts: ScoreLikesCounts, - /** - * The ScoreModification model constructor. - * @property {module:model/ScoreModification} - */ - ScoreModification: ScoreModification, - /** - * The ScorePrivacy model constructor. - * @property {module:model/ScorePrivacy} - */ - ScorePrivacy: ScorePrivacy, - /** - * The ScoreRevision model constructor. - * @property {module:model/ScoreRevision} - */ - ScoreRevision: ScoreRevision, - /** - * The ScoreRevisionCreation model constructor. - * @property {module:model/ScoreRevisionCreation} - */ - ScoreRevisionCreation: ScoreRevisionCreation, - /** - * The ScoreRevisionStatistics model constructor. - * @property {module:model/ScoreRevisionStatistics} - */ - ScoreRevisionStatistics: ScoreRevisionStatistics, - /** - * The ScoreSource model constructor. - * @property {module:model/ScoreSource} - */ - ScoreSource: ScoreSource, - /** - * The ScoreSummary model constructor. - * @property {module:model/ScoreSummary} - */ - ScoreSummary: ScoreSummary, - /** - * The ScoreTrack model constructor. - * @property {module:model/ScoreTrack} - */ - ScoreTrack: ScoreTrack, - /** - * The ScoreTrackCreation model constructor. - * @property {module:model/ScoreTrackCreation} - */ - ScoreTrackCreation: ScoreTrackCreation, - /** - * The ScoreTrackPoint model constructor. - * @property {module:model/ScoreTrackPoint} - */ - ScoreTrackPoint: ScoreTrackPoint, - /** - * The ScoreTrackState model constructor. - * @property {module:model/ScoreTrackState} - */ - ScoreTrackState: ScoreTrackState, - /** - * The ScoreTrackType model constructor. - * @property {module:model/ScoreTrackType} - */ - ScoreTrackType: ScoreTrackType, - /** - * The ScoreTrackUpdate model constructor. - * @property {module:model/ScoreTrackUpdate} - */ - ScoreTrackUpdate: ScoreTrackUpdate, - /** - * The ScoreViewsCounts model constructor. - * @property {module:model/ScoreViewsCounts} - */ - ScoreViewsCounts: ScoreViewsCounts, - /** - * The UserAdminUpdate model constructor. - * @property {module:model/UserAdminUpdate} - */ - UserAdminUpdate: UserAdminUpdate, - /** - * The UserBasics model constructor. - * @property {module:model/UserBasics} - */ - UserBasics: UserBasics, - /** - * The UserCreation model constructor. - * @property {module:model/UserCreation} - */ - UserCreation: UserCreation, - /** - * The UserDetailsAdminLicense model constructor. - * @property {module:model/UserDetailsAdminLicense} - */ - UserDetailsAdminLicense: UserDetailsAdminLicense, - /** - * The UserInstruments model constructor. - * @property {module:model/UserInstruments} - */ - UserInstruments: UserInstruments, - /** - * The ResourceCollaborator model constructor. - * @property {module:model/ResourceCollaborator} - */ - ResourceCollaborator: ResourceCollaborator, - /** - * The ScoreDetails model constructor. - * @property {module:model/ScoreDetails} - */ - ScoreDetails: ScoreDetails, - /** - * The UserPublicSummary model constructor. - * @property {module:model/UserPublicSummary} - */ - UserPublicSummary: UserPublicSummary, - /** - * The UserDetailsAdmin model constructor. - * @property {module:model/UserDetailsAdmin} - */ - UserDetailsAdmin: UserDetailsAdmin, - /** - * The UserPublic model constructor. - * @property {module:model/UserPublic} - */ - UserPublic: UserPublic, - /** - * The UserDetails model constructor. - * @property {module:model/UserDetails} - */ - UserDetails: UserDetails, - /** - * The AccountApi service constructor. - * @property {module:api/AccountApi} - */ - AccountApi: AccountApi, - /** - * The ClassApi service constructor. - * @property {module:api/ClassApi} - */ - ClassApi: ClassApi, - /** - * The CollectionApi service constructor. - * @property {module:api/CollectionApi} - */ - CollectionApi: CollectionApi, - /** - * The GroupApi service constructor. - * @property {module:api/GroupApi} - */ - GroupApi: GroupApi, - /** - * The OrganizationApi service constructor. - * @property {module:api/OrganizationApi} - */ - OrganizationApi: OrganizationApi, - /** - * The ScoreApi service constructor. - * @property {module:api/ScoreApi} - */ - ScoreApi: ScoreApi, - /** - * The UserApi service constructor. - * @property {module:api/UserApi} - */ - UserApi: UserApi - }; - - return exports; -})); - -},{"./ApiClient":16,"./api/AccountApi":17,"./api/ClassApi":18,"./api/CollectionApi":19,"./api/GroupApi":20,"./api/OrganizationApi":21,"./api/ScoreApi":22,"./api/UserApi":23,"./model/Assignment":25,"./model/AssignmentCopy":26,"./model/AssignmentCreation":27,"./model/AssignmentSubmission":28,"./model/AssignmentSubmissionUpdate":29,"./model/ClassAttachmentCreation":30,"./model/ClassCreation":31,"./model/ClassDetails":32,"./model/ClassDetailsCanvas":33,"./model/ClassDetailsClever":34,"./model/ClassDetailsGoogleClassroom":35,"./model/ClassDetailsGoogleDrive":36,"./model/ClassDetailsLti":37,"./model/ClassRoles":38,"./model/ClassState":39,"./model/ClassUpdate":40,"./model/Collection":41,"./model/CollectionCapabilities":42,"./model/CollectionCreation":43,"./model/CollectionModification":44,"./model/CollectionPrivacy":45,"./model/CollectionTitle":46,"./model/CollectionType":47,"./model/FlatErrorResponse":48,"./model/FlatLocales":49,"./model/GoogleClassroomCoursework":50,"./model/GoogleClassroomSubmission":51,"./model/Group":52,"./model/GroupDetails":53,"./model/GroupType":54,"./model/LicenseMode":55,"./model/LicenseSources":56,"./model/LmsName":57,"./model/LtiCredentials":58,"./model/LtiCredentialsCreation":59,"./model/MediaAttachment":60,"./model/MediaScoreSharingMode":61,"./model/OrganizationInvitation":62,"./model/OrganizationInvitationCreation":63,"./model/OrganizationRoles":64,"./model/ResourceCollaborator":65,"./model/ResourceCollaboratorCreation":66,"./model/ResourceRights":67,"./model/ResourceSharingKey":68,"./model/ScoreComment":69,"./model/ScoreCommentContext":70,"./model/ScoreCommentCreation":71,"./model/ScoreCommentUpdate":72,"./model/ScoreCommentsCounts":73,"./model/ScoreCreation":74,"./model/ScoreCreationType":75,"./model/ScoreData":76,"./model/ScoreDataEncoding":77,"./model/ScoreDetails":78,"./model/ScoreFork":79,"./model/ScoreLicense":80,"./model/ScoreLikesCounts":81,"./model/ScoreModification":82,"./model/ScorePrivacy":83,"./model/ScoreRevision":84,"./model/ScoreRevisionCreation":85,"./model/ScoreRevisionStatistics":86,"./model/ScoreSource":87,"./model/ScoreSummary":88,"./model/ScoreTrack":89,"./model/ScoreTrackCreation":90,"./model/ScoreTrackPoint":91,"./model/ScoreTrackState":92,"./model/ScoreTrackType":93,"./model/ScoreTrackUpdate":94,"./model/ScoreViewsCounts":95,"./model/UserAdminUpdate":96,"./model/UserBasics":97,"./model/UserCreation":98,"./model/UserDetails":99,"./model/UserDetailsAdmin":100,"./model/UserDetailsAdminLicense":101,"./model/UserInstruments":102,"./model/UserPublic":103,"./model/UserPublicSummary":104}],25:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/AssignmentSubmission', 'model/GoogleClassroomCoursework', 'model/MediaAttachment'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./AssignmentSubmission'), require('./GoogleClassroomCoursework'), require('./MediaAttachment')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Assignment = factory(root.FlatApi.ApiClient, root.FlatApi.AssignmentSubmission, root.FlatApi.GoogleClassroomCoursework, root.FlatApi.MediaAttachment); - } -}(this, function(ApiClient, AssignmentSubmission, GoogleClassroomCoursework, MediaAttachment) { - 'use strict'; - - - - - /** - * The Assignment model module. - * @module model/Assignment - * @version 2.6.0 - */ - - /** - * Constructs a new Assignment. - * Assignment details - * @alias module:model/Assignment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - }; - - /** - * Constructs a Assignment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Assignment} obj Optional instance to populate. - * @return {module:model/Assignment} The populated Assignment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [MediaAttachment]); - } - if (data.hasOwnProperty('submissions')) { - obj['submissions'] = ApiClient.convertToType(data['submissions'], [AssignmentSubmission]); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('scheduledDate')) { - obj['scheduledDate'] = ApiClient.convertToType(data['scheduledDate'], 'Date'); - } - if (data.hasOwnProperty('dueDate')) { - obj['dueDate'] = ApiClient.convertToType(data['dueDate'], 'Date'); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = GoogleClassroomCoursework.constructFromObject(data['googleClassroom']); - } - } - return obj; - } - - /** - * State of the assignment - * @member {module:model/Assignment.StateEnum} state - */ - exports.prototype['state'] = undefined; - /** - * Title of the assignment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The unique identifier of the class where this assignment was posted - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - /** - * Description and content of the assignment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * @member {Array.} submissions - */ - exports.prototype['submissions'] = undefined; - /** - * The User unique identifier of the creator of this assignment - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of this assignment - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. - * @member {Date} scheduledDate - */ - exports.prototype['scheduledDate'] = undefined; - /** - * The due date of this assignment, late submissions will be marked as paste due. - * @member {Date} dueDate - */ - exports.prototype['dueDate'] = undefined; - /** - * @member {module:model/GoogleClassroomCoursework} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - - - /** - * Allowed values for the state property. - * @enum {String} - * @readonly - */ - exports.StateEnum = { - /** - * value: "draft" - * @const - */ - "draft": "draft", - /** - * value: "active" - * @const - */ - "active": "active", - /** - * value: "archived" - * @const - */ - "archived": "archived" }; - - - return exports; -})); - - - -},{"../ApiClient":16,"./AssignmentSubmission":28,"./GoogleClassroomCoursework":50,"./MediaAttachment":60}],26:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentCopy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The AssignmentCopy model module. - * @module model/AssignmentCopy - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentCopy. - * Assignment copy operation - * @alias module:model/AssignmentCopy - * @class - * @param classroom {String} The destination classroom where the assignment will be copied - */ - var exports = function(classroom) { - var _this = this; - - _this['classroom'] = classroom; - }; - - /** - * Constructs a AssignmentCopy from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentCopy} obj Optional instance to populate. - * @return {module:model/AssignmentCopy} The populated AssignmentCopy instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - } - return obj; - } - - /** - * The destination classroom where the assignment will be copied - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],27:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassAttachmentCreation'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassAttachmentCreation')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ClassAttachmentCreation); - } -}(this, function(ApiClient, ClassAttachmentCreation) { - 'use strict'; - - - - - /** - * The AssignmentCreation model module. - * @module model/AssignmentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentCreation. - * Assignment creation details - * @alias module:model/AssignmentCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a AssignmentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentCreation} obj Optional instance to populate. - * @return {module:model/AssignmentCreation} The populated AssignmentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [ClassAttachmentCreation]); - } - if (data.hasOwnProperty('dueDate')) { - obj['dueDate'] = ApiClient.convertToType(data['dueDate'], 'Date'); - } - if (data.hasOwnProperty('scheduledDate')) { - obj['scheduledDate'] = ApiClient.convertToType(data['scheduledDate'], 'Date'); - } - } - return obj; - } - - /** - * Title of the assignment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * Description and content of the assignment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * The due date of this assignment, late submissions will be marked as paste due. If not set, the assignment won't have a due date. - * @member {Date} dueDate - */ - exports.prototype['dueDate'] = undefined; - /** - * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. - * @member {Date} scheduledDate - */ - exports.prototype['scheduledDate'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassAttachmentCreation":30}],28:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/GoogleClassroomSubmission', 'model/MediaAttachment'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./GoogleClassroomSubmission'), require('./MediaAttachment')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentSubmission = factory(root.FlatApi.ApiClient, root.FlatApi.GoogleClassroomSubmission, root.FlatApi.MediaAttachment); - } -}(this, function(ApiClient, GoogleClassroomSubmission, MediaAttachment) { - 'use strict'; - - - - - /** - * The AssignmentSubmission model module. - * @module model/AssignmentSubmission - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentSubmission. - * Assignment Submission - * @alias module:model/AssignmentSubmission - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - }; - - /** - * Constructs a AssignmentSubmission from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentSubmission} obj Optional instance to populate. - * @return {module:model/AssignmentSubmission} The populated AssignmentSubmission instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - if (data.hasOwnProperty('assignment')) { - obj['assignment'] = ApiClient.convertToType(data['assignment'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [MediaAttachment]); - } - if (data.hasOwnProperty('submissionDate')) { - obj['submissionDate'] = ApiClient.convertToType(data['submissionDate'], 'String'); - } - if (data.hasOwnProperty('studentComment')) { - obj['studentComment'] = ApiClient.convertToType(data['studentComment'], 'String'); - } - if (data.hasOwnProperty('returnDate')) { - obj['returnDate'] = ApiClient.convertToType(data['returnDate'], 'String'); - } - if (data.hasOwnProperty('returnFeedback')) { - obj['returnFeedback'] = ApiClient.convertToType(data['returnFeedback'], 'String'); - } - if (data.hasOwnProperty('returnCreator')) { - obj['returnCreator'] = ApiClient.convertToType(data['returnCreator'], 'String'); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = GoogleClassroomSubmission.constructFromObject(data['googleClassroom']); - } - } - return obj; - } - - /** - * Unique identifier of the submission - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Unique identifier of the classroom where the assignment was posted - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - /** - * Unique identifier of the assignment - * @member {String} assignment - */ - exports.prototype['assignment'] = undefined; - /** - * The User identifier of the student who created the submission - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The date when the submission was created - * @member {String} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * The date when the student submitted his work - * @member {String} submissionDate - */ - exports.prototype['submissionDate'] = undefined; - /** - * An optionnal comment sent by the student when submitting his work - * @member {String} studentComment - */ - exports.prototype['studentComment'] = undefined; - /** - * The date when the teacher returned the work - * @member {String} returnDate - */ - exports.prototype['returnDate'] = undefined; - /** - * The feedback associated with the return - * @member {String} returnFeedback - */ - exports.prototype['returnFeedback'] = undefined; - /** - * The User unique identifier of the teacher who returned the submission - * @member {String} returnCreator - */ - exports.prototype['returnCreator'] = undefined; - /** - * @member {module:model/GoogleClassroomSubmission} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./GoogleClassroomSubmission":51,"./MediaAttachment":60}],29:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassAttachmentCreation'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassAttachmentCreation')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentSubmissionUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ClassAttachmentCreation); - } -}(this, function(ApiClient, ClassAttachmentCreation) { - 'use strict'; - - - - - /** - * The AssignmentSubmissionUpdate model module. - * @module model/AssignmentSubmissionUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentSubmissionUpdate. - * Assignment Submission creation - * @alias module:model/AssignmentSubmissionUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a AssignmentSubmissionUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentSubmissionUpdate} obj Optional instance to populate. - * @return {module:model/AssignmentSubmissionUpdate} The populated AssignmentSubmissionUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [ClassAttachmentCreation]); - } - if (data.hasOwnProperty('studentComment')) { - obj['studentComment'] = ApiClient.convertToType(data['studentComment'], 'String'); - } - if (data.hasOwnProperty('submit')) { - obj['submit'] = ApiClient.convertToType(data['submit'], 'Boolean'); - } - if (data.hasOwnProperty('returnFeedback')) { - obj['returnFeedback'] = ApiClient.convertToType(data['returnFeedback'], 'String'); - } - } - return obj; - } - - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * An optionnal comment sent by the student when submitting his work - * @member {String} studentComment - */ - exports.prototype['studentComment'] = undefined; - /** - * If `true`, the submission will be marked as done - * @member {Boolean} submit - */ - exports.prototype['submit'] = undefined; - /** - * The feedback associated with the return - * @member {String} returnFeedback - */ - exports.prototype['returnFeedback'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassAttachmentCreation":30}],30:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassAttachmentCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassAttachmentCreation model module. - * @module model/ClassAttachmentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ClassAttachmentCreation. - * Attachment creation for an assignment or stream post. This attachment must contain a `score` or an `url`, all the details of this one will be resolved and returned as `ClassAttachment` once the assignment or stream post is created. - * @alias module:model/ClassAttachmentCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ClassAttachmentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassAttachmentCreation} obj Optional instance to populate. - * @return {module:model/ClassAttachmentCreation} The populated ClassAttachmentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - } - return obj; - } - - /** - * The type of the attachment posted - * @member {module:model/ClassAttachmentCreation.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * A unique Flat score identifier. The user creating the assignment must at least have read access to the document. If the user has admin rights, new group permissions will be automatically added for the teachers and students of the class. - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The URL of the attachment. - * @member {String} url - */ - exports.prototype['url'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "flat" - * @const - */ - "flat": "flat", - /** - * value: "link" - * @const - */ - "link": "link", - /** - * value: "exercise" - * @const - */ - "exercise": "exercise" }; - - - return exports; -})); - - - -},{"../ApiClient":16}],31:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassCreation model module. - * @module model/ClassCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ClassCreation. - * Creation of a classroom - * @alias module:model/ClassCreation - * @class - * @param name {String} The name of the new class - */ - var exports = function(name) { - var _this = this; - - _this['name'] = name; - - }; - - /** - * Constructs a ClassCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassCreation} obj Optional instance to populate. - * @return {module:model/ClassCreation} The populated ClassCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The name of the new class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the new class - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],32:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassDetailsCanvas', 'model/ClassDetailsClever', 'model/ClassDetailsGoogleClassroom', 'model/ClassDetailsGoogleDrive', 'model/ClassDetailsLti', 'model/ClassState', 'model/GroupDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassDetailsCanvas'), require('./ClassDetailsClever'), require('./ClassDetailsGoogleClassroom'), require('./ClassDetailsGoogleDrive'), require('./ClassDetailsLti'), require('./ClassState'), require('./GroupDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ClassDetailsCanvas, root.FlatApi.ClassDetailsClever, root.FlatApi.ClassDetailsGoogleClassroom, root.FlatApi.ClassDetailsGoogleDrive, root.FlatApi.ClassDetailsLti, root.FlatApi.ClassState, root.FlatApi.GroupDetails); - } -}(this, function(ApiClient, ClassDetailsCanvas, ClassDetailsClever, ClassDetailsGoogleClassroom, ClassDetailsGoogleDrive, ClassDetailsLti, ClassState, GroupDetails) { - 'use strict'; - - - - - /** - * The ClassDetails model module. - * @module model/ClassDetails - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetails. - * A classroom - * @alias module:model/ClassDetails - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ClassDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetails} obj Optional instance to populate. - * @return {module:model/ClassDetails} The populated ClassDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ClassState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('owner')) { - obj['owner'] = ApiClient.convertToType(data['owner'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('enrollmentCode')) { - obj['enrollmentCode'] = ApiClient.convertToType(data['enrollmentCode'], 'String'); - } - if (data.hasOwnProperty('theme')) { - obj['theme'] = ApiClient.convertToType(data['theme'], 'String'); - } - if (data.hasOwnProperty('assignmentsCount')) { - obj['assignmentsCount'] = ApiClient.convertToType(data['assignmentsCount'], 'Number'); - } - if (data.hasOwnProperty('studentsGroup')) { - obj['studentsGroup'] = GroupDetails.constructFromObject(data['studentsGroup']); - } - if (data.hasOwnProperty('teachersGroup')) { - obj['teachersGroup'] = GroupDetails.constructFromObject(data['teachersGroup']); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = ClassDetailsGoogleClassroom.constructFromObject(data['googleClassroom']); - } - if (data.hasOwnProperty('googleDrive')) { - obj['googleDrive'] = ClassDetailsGoogleDrive.constructFromObject(data['googleDrive']); - } - if (data.hasOwnProperty('lti')) { - obj['lti'] = ClassDetailsLti.constructFromObject(data['lti']); - } - if (data.hasOwnProperty('canvas')) { - obj['canvas'] = ClassDetailsCanvas.constructFromObject(data['canvas']); - } - if (data.hasOwnProperty('clever')) { - obj['clever'] = ClassDetailsClever.constructFromObject(data['clever']); - } - } - return obj; - } - - /** - * The unique identifier of the class - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * @member {module:model/ClassState} state - */ - exports.prototype['state'] = undefined; - /** - * The name of the class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the class - * @member {String} section - */ - exports.prototype['section'] = undefined; - /** - * An optionnal description for this class - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * The unique identifier of the Organization owning this class - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The unique identifier of the User owning this class - * @member {String} owner - */ - exports.prototype['owner'] = undefined; - /** - * The date when the class was create - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * [Teachers only] The enrollment code that can be used by the students to join the class - * @member {String} enrollmentCode - */ - exports.prototype['enrollmentCode'] = undefined; - /** - * The theme identifier using in Flat User Interface - * @member {String} theme - */ - exports.prototype['theme'] = undefined; - /** - * The number of assignments created in the class - * @member {Number} assignmentsCount - */ - exports.prototype['assignmentsCount'] = undefined; - /** - * @member {module:model/GroupDetails} studentsGroup - */ - exports.prototype['studentsGroup'] = undefined; - /** - * @member {module:model/GroupDetails} teachersGroup - */ - exports.prototype['teachersGroup'] = undefined; - /** - * @member {module:model/ClassDetailsGoogleClassroom} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - /** - * @member {module:model/ClassDetailsGoogleDrive} googleDrive - */ - exports.prototype['googleDrive'] = undefined; - /** - * @member {module:model/ClassDetailsLti} lti - */ - exports.prototype['lti'] = undefined; - /** - * @member {module:model/ClassDetailsCanvas} canvas - */ - exports.prototype['canvas'] = undefined; - /** - * @member {module:model/ClassDetailsClever} clever - */ - exports.prototype['clever'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassDetailsCanvas":33,"./ClassDetailsClever":34,"./ClassDetailsGoogleClassroom":35,"./ClassDetailsGoogleDrive":36,"./ClassDetailsLti":37,"./ClassState":39,"./GroupDetails":53}],33:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsCanvas = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsCanvas model module. - * @module model/ClassDetailsCanvas - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsCanvas. - * Meta information provided by Canvs LMS - * @alias module:model/ClassDetailsCanvas - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassDetailsCanvas from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsCanvas} obj Optional instance to populate. - * @return {module:model/ClassDetailsCanvas} The populated ClassDetailsCanvas instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('domain')) { - obj['domain'] = ApiClient.convertToType(data['domain'], 'String'); - } - } - return obj; - } - - /** - * Unique identifier of the course on Canvas - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Canvas instance domain (e.g. \"canvas.instructure.com\") - * @member {String} domain - */ - exports.prototype['domain'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],34:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsClever = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsClever model module. - * @module model/ClassDetailsClever - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsClever. - * Clever.com section-related information - * @alias module:model/ClassDetailsClever - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ClassDetailsClever from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsClever} obj Optional instance to populate. - * @return {module:model/ClassDetailsClever} The populated ClassDetailsClever instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('subject')) { - obj['subject'] = ApiClient.convertToType(data['subject'], 'String'); - } - if (data.hasOwnProperty('termName')) { - obj['termName'] = ApiClient.convertToType(data['termName'], 'String'); - } - if (data.hasOwnProperty('termStartDate')) { - obj['termStartDate'] = ApiClient.convertToType(data['termStartDate'], 'Date'); - } - if (data.hasOwnProperty('termEndDate')) { - obj['termEndDate'] = ApiClient.convertToType(data['termEndDate'], 'Date'); - } - } - return obj; - } - - /** - * Clever section unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The creation date of the section on clever - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The last modification date of the section on clever - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * Normalized subject of the course - * @member {module:model/ClassDetailsClever.SubjectEnum} subject - */ - exports.prototype['subject'] = undefined; - /** - * Name of the term when this course happens - * @member {String} termName - */ - exports.prototype['termName'] = undefined; - /** - * Beginning date of the term - * @member {Date} termStartDate - */ - exports.prototype['termStartDate'] = undefined; - /** - * End date of the term - * @member {Date} termEndDate - */ - exports.prototype['termEndDate'] = undefined; - - - /** - * Allowed values for the subject property. - * @enum {String} - * @readonly - */ - exports.SubjectEnum = { - /** - * value: "english/language arts" - * @const - */ - "english/language arts": "english/language arts", - /** - * value: "math" - * @const - */ - "math": "math", - /** - * value: "science" - * @const - */ - "science": "science", - /** - * value: "social studies" - * @const - */ - "social studies": "social studies", - /** - * value: "language" - * @const - */ - "language": "language", - /** - * value: "homeroom/advisory" - * @const - */ - "homeroom/advisory": "homeroom/advisory", - /** - * value: "interventions/online learning" - * @const - */ - "interventions/online learning": "interventions/online learning", - /** - * value: "technology and engineering" - * @const - */ - "technology and engineering": "technology and engineering", - /** - * value: "PE and health" - * @const - */ - "PE and health": "PE and health", - /** - * value: "arts and music" - * @const - */ - "arts and music": "arts and music", - /** - * value: "other" - * @const - */ - "other": "other" }; - - - return exports; -})); - - - -},{"../ApiClient":16}],35:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsGoogleClassroom = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsGoogleClassroom model module. - * @module model/ClassDetailsGoogleClassroom - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsGoogleClassroom. - * Google Classroom course-related information - * @alias module:model/ClassDetailsGoogleClassroom - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ClassDetailsGoogleClassroom from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsGoogleClassroom} obj Optional instance to populate. - * @return {module:model/ClassDetailsGoogleClassroom} The populated ClassDetailsGoogleClassroom instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The course identifier on Google Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Absolute link to this course in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - /** - * The name of the course on Google Classroom - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the course on Google Classroom - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],36:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsGoogleDrive = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsGoogleDrive model module. - * @module model/ClassDetailsGoogleDrive - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsGoogleDrive. - * Google Drive course-related information provided by Google Classroom - * @alias module:model/ClassDetailsGoogleDrive - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassDetailsGoogleDrive from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsGoogleDrive} obj Optional instance to populate. - * @return {module:model/ClassDetailsGoogleDrive} The populated ClassDetailsGoogleDrive instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('teacherFolderId')) { - obj['teacherFolderId'] = ApiClient.convertToType(data['teacherFolderId'], 'String'); - } - if (data.hasOwnProperty('teacherFolderAlternateLink')) { - obj['teacherFolderAlternateLink'] = ApiClient.convertToType(data['teacherFolderAlternateLink'], 'String'); - } - } - return obj; - } - - /** - * [Teachers only] The Drive directory identifier of the teachers' folder - * @member {String} teacherFolderId - */ - exports.prototype['teacherFolderId'] = undefined; - /** - * [Teachers only] The Drive URL of the teachers' folder - * @member {String} teacherFolderAlternateLink - */ - exports.prototype['teacherFolderAlternateLink'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],37:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsLti = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsLti model module. - * @module model/ClassDetailsLti - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsLti. - * Meta information provided by the LTI consumer - * @alias module:model/ClassDetailsLti - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ClassDetailsLti from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsLti} obj Optional instance to populate. - * @return {module:model/ClassDetailsLti} The populated ClassDetailsLti instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('contextId')) { - obj['contextId'] = ApiClient.convertToType(data['contextId'], 'String'); - } - if (data.hasOwnProperty('contextTitle')) { - obj['contextTitle'] = ApiClient.convertToType(data['contextTitle'], 'String'); - } - if (data.hasOwnProperty('contextLabel')) { - obj['contextLabel'] = ApiClient.convertToType(data['contextLabel'], 'String'); - } - } - return obj; - } - - /** - * Unique context identifier provided - * @member {String} contextId - */ - exports.prototype['contextId'] = undefined; - /** - * Context title - * @member {String} contextTitle - */ - exports.prototype['contextTitle'] = undefined; - /** - * Context label - * @member {String} contextLabel - */ - exports.prototype['contextLabel'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],38:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassRoles = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ClassRoles. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "teacher" - * @const - */ - "teacher": "teacher", - /** - * value: "student" - * @const - */ - "student": "student" }; - - /** - * Returns a ClassRoles enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ClassRoles} The enum ClassRoles value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],39:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassState = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ClassState. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "active" - * @const - */ - "active": "active", - /** - * value: "inactive" - * @const - */ - "inactive": "inactive", - /** - * value: "archived" - * @const - */ - "archived": "archived" }; - - /** - * Returns a ClassState enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ClassState} The enum ClassState value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],40:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassUpdate = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassUpdate model module. - * @module model/ClassUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ClassUpdate. - * Update of a classroom - * @alias module:model/ClassUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassUpdate} obj Optional instance to populate. - * @return {module:model/ClassUpdate} The populated ClassUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The name of the class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the class - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],41:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionCapabilities', 'model/CollectionPrivacy', 'model/CollectionTitle', 'model/CollectionType', 'model/ResourceCollaborator', 'model/ResourceRights', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionCapabilities'), require('./CollectionPrivacy'), require('./CollectionTitle'), require('./CollectionType'), require('./ResourceCollaborator'), require('./ResourceRights'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Collection = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionCapabilities, root.FlatApi.CollectionPrivacy, root.FlatApi.CollectionTitle, root.FlatApi.CollectionType, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceRights, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, CollectionCapabilities, CollectionPrivacy, CollectionTitle, CollectionType, ResourceCollaborator, ResourceRights, UserPublicSummary) { - 'use strict'; - - - - - /** - * The Collection model module. - * @module model/Collection - * @version 2.6.0 - */ - - /** - * Constructs a new Collection. - * Collection of scores - * @alias module:model/Collection - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - }; - - /** - * Constructs a Collection from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Collection} obj Optional instance to populate. - * @return {module:model/Collection} The populated Collection instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = CollectionType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = CollectionPrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ApiClient.convertToType(data['sharingKey'], 'String'); - } - if (data.hasOwnProperty('app')) { - obj['app'] = ApiClient.convertToType(data['app'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublicSummary.constructFromObject(data['user']); - } - if (data.hasOwnProperty('rights')) { - obj['rights'] = ResourceRights.constructFromObject(data['rights']); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], [ResourceCollaborator]); - } - if (data.hasOwnProperty('capabilities')) { - obj['capabilities'] = CollectionCapabilities.constructFromObject(data['capabilities']); - } - } - return obj; - } - - /** - * Unique identifier of the collection - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - /** - * The url where the collection can be viewed in a web browser - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - /** - * @member {module:model/CollectionType} type - */ - exports.prototype['type'] = undefined; - /** - * @member {module:model/CollectionPrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * If this directory is dedicated to an app, the unique idenfier of this app - * @member {String} app - */ - exports.prototype['app'] = undefined; - /** - * @member {module:model/UserPublicSummary} user - */ - exports.prototype['user'] = undefined; - /** - * @member {module:model/ResourceRights} rights - */ - exports.prototype['rights'] = undefined; - /** - * The list of the collaborators of the collection - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * @member {module:model/CollectionCapabilities} capabilities - */ - exports.prototype['capabilities'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./CollectionCapabilities":42,"./CollectionPrivacy":45,"./CollectionTitle":46,"./CollectionType":47,"./ResourceCollaborator":65,"./ResourceRights":67,"./UserPublicSummary":104}],42:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionCapabilities = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The CollectionCapabilities model module. - * @module model/CollectionCapabilities - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionCapabilities. - * Capabilities the current user has on this collection. Each capability corresponds to a fine-grained action that a user may take. - * @alias module:model/CollectionCapabilities - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a CollectionCapabilities from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionCapabilities} obj Optional instance to populate. - * @return {module:model/CollectionCapabilities} The populated CollectionCapabilities instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('canEdit')) { - obj['canEdit'] = ApiClient.convertToType(data['canEdit'], 'Boolean'); - } - if (data.hasOwnProperty('canShare')) { - obj['canShare'] = ApiClient.convertToType(data['canShare'], 'Boolean'); - } - if (data.hasOwnProperty('canDelete')) { - obj['canDelete'] = ApiClient.convertToType(data['canDelete'], 'Boolean'); - } - if (data.hasOwnProperty('canAddScores')) { - obj['canAddScores'] = ApiClient.convertToType(data['canAddScores'], 'Boolean'); - } - if (data.hasOwnProperty('canDeleteScores')) { - obj['canDeleteScores'] = ApiClient.convertToType(data['canDeleteScores'], 'Boolean'); - } - } - return obj; - } - - /** - * Whether the current user can modify the metadata for the collection - * @member {Boolean} canEdit - */ - exports.prototype['canEdit'] = undefined; - /** - * Whether the current user can modify the sharing settings for the collection - * @member {Boolean} canShare - */ - exports.prototype['canShare'] = undefined; - /** - * Whether the current user can delete the collection - * @member {Boolean} canDelete - */ - exports.prototype['canDelete'] = undefined; - /** - * Whether the current user can add scores to the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `DELETE /v2/scores/{score}` to trash a score. - * @member {Boolean} canAddScores - */ - exports.prototype['canAddScores'] = undefined; - /** - * Whether the current user can delete scores from the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `POST /v2/scores/{score}/untrash` to restore a score. - * @member {Boolean} canDeleteScores - */ - exports.prototype['canDeleteScores'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],43:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionTitle'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionTitle')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionCreation = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionTitle); - } -}(this, function(ApiClient, CollectionTitle) { - 'use strict'; - - - - - /** - * The CollectionCreation model module. - * @module model/CollectionCreation - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionCreation. - * @alias module:model/CollectionCreation - * @class - * @param title {module:model/CollectionTitle} - */ - var exports = function(title) { - var _this = this; - - _this['title'] = title; - }; - - /** - * Constructs a CollectionCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionCreation} obj Optional instance to populate. - * @return {module:model/CollectionCreation} The populated CollectionCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - } - return obj; - } - - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./CollectionTitle":46}],44:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionTitle'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionTitle')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionModification = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionTitle); - } -}(this, function(ApiClient, CollectionTitle) { - 'use strict'; - - - - - /** - * The CollectionModification model module. - * @module model/CollectionModification - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionModification. - * Edit the collection metadata - * @alias module:model/CollectionModification - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a CollectionModification from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionModification} obj Optional instance to populate. - * @return {module:model/CollectionModification} The populated CollectionModification instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - } - return obj; - } - - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./CollectionTitle":46}],45:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionPrivacy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class CollectionPrivacy. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "private" - * @const - */ - "private": "private" }; - - /** - * Returns a CollectionPrivacy enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/CollectionPrivacy} The enum CollectionPrivacy value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],46:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionTitle = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The CollectionTitle model module. - * @module model/CollectionTitle - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionTitle. - * The title of the collection - * @alias module:model/CollectionTitle - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a CollectionTitle from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionTitle} obj Optional instance to populate. - * @return {module:model/CollectionTitle} The populated CollectionTitle instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - - -},{"../ApiClient":16}],47:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class CollectionType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "root" - * @const - */ - "root": "root", - /** - * value: "regular" - * @const - */ - "regular": "regular", - /** - * value: "sharedWithMe" - * @const - */ - "sharedWithMe": "sharedWithMe", - /** - * value: "sharedWithGroup" - * @const - */ - "sharedWithGroup": "sharedWithGroup", - /** - * value: "trash" - * @const - */ - "trash": "trash" }; - - /** - * Returns a CollectionType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/CollectionType} The enum CollectionType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],48:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.FlatErrorResponse = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The FlatErrorResponse model module. - * @module model/FlatErrorResponse - * @version 2.6.0 - */ - - /** - * Constructs a new FlatErrorResponse. - * @alias module:model/FlatErrorResponse - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a FlatErrorResponse from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/FlatErrorResponse} obj Optional instance to populate. - * @return {module:model/FlatErrorResponse} The populated FlatErrorResponse instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('code')) { - obj['code'] = ApiClient.convertToType(data['code'], 'String'); - } - if (data.hasOwnProperty('message')) { - obj['message'] = ApiClient.convertToType(data['message'], 'String'); - } - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('param')) { - obj['param'] = ApiClient.convertToType(data['param'], 'String'); - } - } - return obj; - } - - /** - * A corresponding code for this error - * @member {String} code - */ - exports.prototype['code'] = undefined; - /** - * A printable message for this message - * @member {String} message - */ - exports.prototype['message'] = undefined; - /** - * An unique error identifier generated for the request - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The related parameter that caused the error - * @member {String} param - */ - exports.prototype['param'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],49:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.FlatLocales = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class FlatLocales. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "en" - * @const - */ - "en": "en", - /** - * value: "es" - * @const - */ - "es": "es", - /** - * value: "fr" - * @const - */ - "fr": "fr", - /** - * value: "it" - * @const - */ - "it": "it", - /** - * value: "pl" - * @const - */ - "pl": "pl", - /** - * value: "ro" - * @const - */ - "ro": "ro", - /** - * value: "nl" - * @const - */ - "nl": "nl" }; - - /** - * Returns a FlatLocales enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/FlatLocales} The enum FlatLocales value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],50:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GoogleClassroomCoursework = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The GoogleClassroomCoursework model module. - * @module model/GoogleClassroomCoursework - * @version 2.6.0 - */ - - /** - * Constructs a new GoogleClassroomCoursework. - * A coursework on Google Classroom - * @alias module:model/GoogleClassroomCoursework - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a GoogleClassroomCoursework from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GoogleClassroomCoursework} obj Optional instance to populate. - * @return {module:model/GoogleClassroomCoursework} The populated GoogleClassroomCoursework instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - } - return obj; - } - - /** - * Identifier of the coursework assigned by Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * State of the coursework - * @member {String} state - */ - exports.prototype['state'] = undefined; - /** - * Absolute link to this coursework in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],51:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GoogleClassroomSubmission = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The GoogleClassroomSubmission model module. - * @module model/GoogleClassroomSubmission - * @version 2.6.0 - */ - - /** - * Constructs a new GoogleClassroomSubmission. - * A coursework submission on Google Classroom - * @alias module:model/GoogleClassroomSubmission - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a GoogleClassroomSubmission from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GoogleClassroomSubmission} obj Optional instance to populate. - * @return {module:model/GoogleClassroomSubmission} The populated GoogleClassroomSubmission instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - } - return obj; - } - - /** - * Identifier of the coursework submission assigned by Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * State of the submission on Google Classroom - * @member {String} state - */ - exports.prototype['state'] = undefined; - /** - * Absolute link to this coursework in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],52:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Group = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The Group model module. - * @module model/Group - * @version 2.6.0 - */ - - /** - * Constructs a new Group. - * A group of users - * @alias module:model/Group - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a Group from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Group} obj Optional instance to populate. - * @return {module:model/Group} The populated Group instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('usersCount')) { - obj['usersCount'] = ApiClient.convertToType(data['usersCount'], 'Number'); - } - if (data.hasOwnProperty('readOnly')) { - obj['readOnly'] = ApiClient.convertToType(data['readOnly'], 'Boolean'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - } - return obj; - } - - /** - * The unique identifier of the group - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The display name of the group - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The type of the group: * `generic`: A group created by a Flat user * `classTeachers`: A group created automaticaly by Flat that contains the teachers of a class * `classStudents`: A group created automaticaly by Flat that contains the studnets of a class - * @member {module:model/Group.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The number of users in this group - * @member {Number} usersCount - */ - exports.prototype['usersCount'] = undefined; - /** - * `True` if the group is set in read-only - * @member {Boolean} readOnly - */ - exports.prototype['readOnly'] = undefined; - /** - * If the group is related to an organization, this field will contain the unique identifier of the organization - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The creation date of the group - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "generic" - * @const - */ - "generic": "generic", - /** - * value: "classTeachers" - * @const - */ - "classTeachers": "classTeachers", - /** - * value: "classStudents" - * @const - */ - "classStudents": "classStudents" }; - - - return exports; -})); - - - -},{"../ApiClient":16}],53:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/GroupType'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./GroupType')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupDetails = factory(root.FlatApi.ApiClient, root.FlatApi.GroupType); - } -}(this, function(ApiClient, GroupType) { - 'use strict'; - - - - - /** - * The GroupDetails model module. - * @module model/GroupDetails - * @version 2.6.0 - */ - - /** - * Constructs a new GroupDetails. - * The details of a group - * @alias module:model/GroupDetails - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a GroupDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GroupDetails} obj Optional instance to populate. - * @return {module:model/GroupDetails} The populated GroupDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = GroupType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('usersCount')) { - obj['usersCount'] = ApiClient.convertToType(data['usersCount'], 'Number'); - } - if (data.hasOwnProperty('readOnly')) { - obj['readOnly'] = ApiClient.convertToType(data['readOnly'], 'Boolean'); - } - } - return obj; - } - - /** - * The unique identifier of the group - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The displayable name of the group - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/GroupType} type - */ - exports.prototype['type'] = undefined; - /** - * The unique identifier of the Organization owning the group - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The date when the group was create - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The number of students in this group - * @member {Number} usersCount - */ - exports.prototype['usersCount'] = undefined; - /** - * `true` if the properties and members of this group are in in read-only - * @member {Boolean} readOnly - */ - exports.prototype['readOnly'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./GroupType":54}],54:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class GroupType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "generic" - * @const - */ - "generic": "generic", - /** - * value: "classTeachers" - * @const - */ - "classTeachers": "classTeachers", - /** - * value: "classStudents" - * @const - */ - "classStudents": "classStudents" }; - - /** - * Returns a GroupType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/GroupType} The enum GroupType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],55:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LicenseMode = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LicenseMode. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "credit" - * @const - */ - "credit": "credit", - /** - * value: "site" - * @const - */ - "site": "site" }; - - /** - * Returns a LicenseMode enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LicenseMode} The enum LicenseMode value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],56:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LicenseSources = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LicenseSources. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "order" - * @const - */ - "order": "order", - /** - * value: "trial" - * @const - */ - "trial": "trial", - /** - * value: "voucher" - * @const - */ - "voucher": "voucher", - /** - * value: "distributor" - * @const - */ - "distributor": "distributor", - /** - * value: "subscription" - * @const - */ - "subscription": "subscription" }; - - /** - * Returns a LicenseSources enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LicenseSources} The enum LicenseSources value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],57:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LmsName = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LmsName. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "canvas" - * @const - */ - "canvas": "canvas", - /** - * value: "moodle" - * @const - */ - "moodle": "moodle", - /** - * value: "schoology" - * @const - */ - "schoology": "schoology", - /** - * value: "blackboard" - * @const - */ - "blackboard": "blackboard", - /** - * value: "desire2learn" - * @const - */ - "desire2learn": "desire2learn", - /** - * value: "sakai" - * @const - */ - "sakai": "sakai", - /** - * value: "other" - * @const - */ - "other": "other" }; - - /** - * Returns a LmsName enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LmsName} The enum LmsName value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],58:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LmsName'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LmsName')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LtiCredentials = factory(root.FlatApi.ApiClient, root.FlatApi.LmsName); - } -}(this, function(ApiClient, LmsName) { - 'use strict'; - - - - - /** - * The LtiCredentials model module. - * @module model/LtiCredentials - * @version 2.6.0 - */ - - /** - * Constructs a new LtiCredentials. - * A couple of LTI 1.x OAuth credentials - * @alias module:model/LtiCredentials - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - }; - - /** - * Constructs a LtiCredentials from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/LtiCredentials} obj Optional instance to populate. - * @return {module:model/LtiCredentials} The populated LtiCredentials instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('lms')) { - obj['lms'] = LmsName.constructFromObject(data['lms']); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('lastUsage')) { - obj['lastUsage'] = ApiClient.convertToType(data['lastUsage'], 'Date'); - } - if (data.hasOwnProperty('consumerKey')) { - obj['consumerKey'] = ApiClient.convertToType(data['consumerKey'], 'String'); - } - if (data.hasOwnProperty('consumerSecret')) { - obj['consumerSecret'] = ApiClient.convertToType(data['consumerSecret'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of this couple of credentials - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Name of the couple of credentials - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/LmsName} lms - */ - exports.prototype['lms'] = undefined; - /** - * The unique identifier of the Organization associated to these credentials - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * Unique identifier of the user who created these credentials - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of thse credentials - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The last time these credentials were used - * @member {Date} lastUsage - */ - exports.prototype['lastUsage'] = undefined; - /** - * OAuth 1 Consumer Key - * @member {String} consumerKey - */ - exports.prototype['consumerKey'] = undefined; - /** - * OAuth 1 Consumer Secret - * @member {String} consumerSecret - */ - exports.prototype['consumerSecret'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./LmsName":57}],59:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LmsName'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LmsName')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LtiCredentialsCreation = factory(root.FlatApi.ApiClient, root.FlatApi.LmsName); - } -}(this, function(ApiClient, LmsName) { - 'use strict'; - - - - - /** - * The LtiCredentialsCreation model module. - * @module model/LtiCredentialsCreation - * @version 2.6.0 - */ - - /** - * Constructs a new LtiCredentialsCreation. - * Creation of a couple of LTI 1.x OAuth credentials - * @alias module:model/LtiCredentialsCreation - * @class - * @param name {String} Name of the couple of credentials - * @param lms {module:model/LmsName} - */ - var exports = function(name, lms) { - var _this = this; - - _this['name'] = name; - _this['lms'] = lms; - }; - - /** - * Constructs a LtiCredentialsCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/LtiCredentialsCreation} obj Optional instance to populate. - * @return {module:model/LtiCredentialsCreation} The populated LtiCredentialsCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('lms')) { - obj['lms'] = LmsName.constructFromObject(data['lms']); - } - } - return obj; - } - - /** - * Name of the couple of credentials - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/LmsName} lms - */ - exports.prototype['lms'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./LmsName":57}],60:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/MediaScoreSharingMode'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./MediaScoreSharingMode')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.MediaAttachment = factory(root.FlatApi.ApiClient, root.FlatApi.MediaScoreSharingMode); - } -}(this, function(ApiClient, MediaScoreSharingMode) { - 'use strict'; - - - - - /** - * The MediaAttachment model module. - * @module model/MediaAttachment - * @version 2.6.0 - */ - - /** - * Constructs a new MediaAttachment. - * Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object - * @alias module:model/MediaAttachment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a MediaAttachment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/MediaAttachment} obj Optional instance to populate. - * @return {module:model/MediaAttachment} The populated MediaAttachment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('correct')) { - obj['correct'] = ApiClient.convertToType(data['correct'], 'Boolean'); - } - if (data.hasOwnProperty('sharingMode')) { - obj['sharingMode'] = MediaScoreSharingMode.constructFromObject(data['sharingMode']); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('html')) { - obj['html'] = ApiClient.convertToType(data['html'], 'String'); - } - if (data.hasOwnProperty('htmlWidth')) { - obj['htmlWidth'] = ApiClient.convertToType(data['htmlWidth'], 'String'); - } - if (data.hasOwnProperty('htmlHeight')) { - obj['htmlHeight'] = ApiClient.convertToType(data['htmlHeight'], 'String'); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('thumbnailUrl')) { - obj['thumbnailUrl'] = ApiClient.convertToType(data['thumbnailUrl'], 'String'); - } - if (data.hasOwnProperty('thumbnailWidth')) { - obj['thumbnailWidth'] = ApiClient.convertToType(data['thumbnailWidth'], 'String'); - } - if (data.hasOwnProperty('thumbnailHeight')) { - obj['thumbnailHeight'] = ApiClient.convertToType(data['thumbnailHeight'], 'String'); - } - if (data.hasOwnProperty('authorName')) { - obj['authorName'] = ApiClient.convertToType(data['authorName'], 'String'); - } - if (data.hasOwnProperty('authorUrl')) { - obj['authorUrl'] = ApiClient.convertToType(data['authorUrl'], 'String'); - } - } - return obj; - } - - /** - * The type of the assignment resolved: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property. - * @member {module:model/MediaAttachment.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * An unique Flat score identifier - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * An unique revision identifier of a score - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * If the attachment is an exercise question, this state will describe if it is correct or not.For exercise assignments only. - * @member {Boolean} correct - */ - exports.prototype['correct'] = undefined; - /** - * @member {module:model/MediaScoreSharingMode} sharingMode - */ - exports.prototype['sharingMode'] = undefined; - /** - * The resolved title of the attachment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The resolved description of the attachment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * If the attachment type is `rich` or `video`, the HTML code of the media to display - * @member {String} html - */ - exports.prototype['html'] = undefined; - /** - * If the `html` is available, the width of the widget - * @member {String} htmlWidth - */ - exports.prototype['htmlWidth'] = undefined; - /** - * If the `html` is available, the height of the widget - * @member {String} htmlHeight - */ - exports.prototype['htmlHeight'] = undefined; - /** - * The url of the attachment - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * If the attachment type is `rich`, `video`, `photo` or `link`, a displayable thumbnail for this attachment - * @member {String} thumbnailUrl - */ - exports.prototype['thumbnailUrl'] = undefined; - /** - * If the `thumbnailUrl` is available, the width of the thumbnail - * @member {String} thumbnailWidth - */ - exports.prototype['thumbnailWidth'] = undefined; - /** - * If the `thumbnailUrl` is available, the width of the thumbnail - * @member {String} thumbnailHeight - */ - exports.prototype['thumbnailHeight'] = undefined; - /** - * The resolved author name of the attachment - * @member {String} authorName - */ - exports.prototype['authorName'] = undefined; - /** - * The resolved author url of the attachment - * @member {String} authorUrl - */ - exports.prototype['authorUrl'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "rich" - * @const - */ - "rich": "rich", - /** - * value: "photo" - * @const - */ - "photo": "photo", - /** - * value: "video" - * @const - */ - "video": "video", - /** - * value: "link" - * @const - */ - "link": "link", - /** - * value: "flat" - * @const - */ - "flat": "flat", - /** - * value: "exercise" - * @const - */ - "exercise": "exercise" }; - - - return exports; -})); - - - -},{"../ApiClient":16,"./MediaScoreSharingMode":61}],61:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.MediaScoreSharingMode = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class MediaScoreSharingMode. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "read" - * @const - */ - "read": "read", - /** - * value: "write" - * @const - */ - "write": "write", - /** - * value: "copy" - * @const - */ - "copy": "copy" }; - - /** - * Returns a MediaScoreSharingMode enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/MediaScoreSharingMode} The enum MediaScoreSharingMode value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],62:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationInvitation = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The OrganizationInvitation model module. - * @module model/OrganizationInvitation - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationInvitation. - * Details of an invitation to join an organization - * @alias module:model/OrganizationInvitation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a OrganizationInvitation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/OrganizationInvitation} obj Optional instance to populate. - * @return {module:model/OrganizationInvitation} The populated OrganizationInvitation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - if (data.hasOwnProperty('customCode')) { - obj['customCode'] = ApiClient.convertToType(data['customCode'], 'String'); - } - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('invitedBy')) { - obj['invitedBy'] = ApiClient.convertToType(data['invitedBy'], 'String'); - } - if (data.hasOwnProperty('usedBy')) { - obj['usedBy'] = ApiClient.convertToType(data['usedBy'], 'String'); - } - } - return obj; - } - - /** - * The invitation unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The unique identifier of the Organization owning this class - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - /** - * Enrollment code to use when joining this organization - * @member {String} customCode - */ - exports.prototype['customCode'] = undefined; - /** - * The email address this invitation was sent to - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * The unique identifier of the User who created this invitation - * @member {String} invitedBy - */ - exports.prototype['invitedBy'] = undefined; - /** - * The unique identifier of the User who used this invitation - * @member {String} usedBy - */ - exports.prototype['usedBy'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./OrganizationRoles":64}],63:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationInvitationCreation = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The OrganizationInvitationCreation model module. - * @module model/OrganizationInvitationCreation - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationInvitationCreation. - * The parameters to create an organization invitation - * @alias module:model/OrganizationInvitationCreation - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a OrganizationInvitationCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/OrganizationInvitationCreation} obj Optional instance to populate. - * @return {module:model/OrganizationInvitationCreation} The populated OrganizationInvitationCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - } - return obj; - } - - /** - * The email address you want to send the invitation to - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./OrganizationRoles":64}],64:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationRoles = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class OrganizationRoles. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "admin" - * @const - */ - "admin": "admin", - /** - * value: "billing" - * @const - */ - "billing": "billing", - /** - * value: "teacher" - * @const - */ - "teacher": "teacher", - /** - * value: "user" - * @const - */ - "user": "user" }; - - /** - * Returns a OrganizationRoles enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/OrganizationRoles} The enum OrganizationRoles value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],65:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Group', 'model/ResourceRights', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./Group'), require('./ResourceRights'), require('./UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceCollaborator = factory(root.FlatApi.ApiClient, root.FlatApi.Group, root.FlatApi.ResourceRights, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, Group, ResourceRights, UserPublic) { - 'use strict'; - - - - - /** - * The ResourceCollaborator model module. - * @module model/ResourceCollaborator - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceCollaborator. - * A collaborator of a score. The `userEmail` and `group` are only available if the requesting user is a collaborator of the related score (in this case these permissions will eventualy not be listed and exposed publicly). - * @alias module:model/ResourceCollaborator - * @class - * @implements module:model/ResourceRights - */ - var exports = function() { - var _this = this; - - ResourceRights.call(_this); - - - - - - - }; - - /** - * Constructs a ResourceCollaborator from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceCollaborator} obj Optional instance to populate. - * @return {module:model/ResourceCollaborator} The populated ResourceCollaborator instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - ResourceRights.constructFromObject(data, obj); - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublic.constructFromObject(data['user']); - } - if (data.hasOwnProperty('group')) { - obj['group'] = Group.constructFromObject(data['group']); - } - if (data.hasOwnProperty('userEmail')) { - obj['userEmail'] = ApiClient.convertToType(data['userEmail'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of the permission - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * If this object is a permission of a score, this property will contain the unique identifier of the score - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * If this object is a permission of a collection, this property will contain the unique identifier of the collection - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - /** - * @member {module:model/UserPublic} user - */ - exports.prototype['user'] = undefined; - /** - * @member {module:model/Group} group - */ - exports.prototype['group'] = undefined; - /** - * If the collaborator is not a user of Flat yet, this field will contain his email. - * @member {String} userEmail - */ - exports.prototype['userEmail'] = undefined; - - // Implement ResourceRights interface: - /** - * `True` if the current user can read the current document - * @member {Boolean} aclRead - * @default false - */ -exports.prototype['aclRead'] = false; - - /** - * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclWrite - * @default false - */ -exports.prototype['aclWrite'] = false; - - /** - * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclAdmin - * @default false - */ -exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./Group":52,"./ResourceRights":67,"./UserPublic":103}],66:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceCollaboratorCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceCollaboratorCreation model module. - * @module model/ResourceCollaboratorCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceCollaboratorCreation. - * Add a collaborator to a resource. - * @alias module:model/ResourceCollaboratorCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ResourceCollaboratorCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceCollaboratorCreation} obj Optional instance to populate. - * @return {module:model/ResourceCollaboratorCreation} The populated ResourceCollaboratorCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('group')) { - obj['group'] = ApiClient.convertToType(data['group'], 'String'); - } - if (data.hasOwnProperty('userEmail')) { - obj['userEmail'] = ApiClient.convertToType(data['userEmail'], 'String'); - } - if (data.hasOwnProperty('userToken')) { - obj['userToken'] = ApiClient.convertToType(data['userToken'], 'String'); - } - if (data.hasOwnProperty('aclRead')) { - obj['aclRead'] = ApiClient.convertToType(data['aclRead'], 'Boolean'); - } - if (data.hasOwnProperty('aclWrite')) { - obj['aclWrite'] = ApiClient.convertToType(data['aclWrite'], 'Boolean'); - } - if (data.hasOwnProperty('aclAdmin')) { - obj['aclAdmin'] = ApiClient.convertToType(data['aclAdmin'], 'Boolean'); - } - } - return obj; - } - - /** - * The unique identifier of a Flat user - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * The unique identifier of a Flat group - * @member {String} group - */ - exports.prototype['group'] = undefined; - /** - * Fill this field to invite an individual user by email. - * @member {String} userEmail - */ - exports.prototype['userEmail'] = undefined; - /** - * Token received in an invitation to join the score. - * @member {String} userToken - */ - exports.prototype['userToken'] = undefined; - /** - * `True` if the related user can read the score. (probably true if the user has a permission on the document). - * @member {Boolean} aclRead - * @default true - */ - exports.prototype['aclRead'] = true; - /** - * `True` if the related user can modify the score. - * @member {Boolean} aclWrite - * @default false - */ - exports.prototype['aclWrite'] = false; - /** - * `True` if the related user can can manage the current document, i.e. changing the document permissions and deleting the document - * @member {Boolean} aclAdmin - * @default false - */ - exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - - -},{"../ApiClient":16}],67:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceRights = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceRights model module. - * @module model/ResourceRights - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceRights. - * The rights of the current user on a score or collection - * @alias module:model/ResourceRights - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ResourceRights from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceRights} obj Optional instance to populate. - * @return {module:model/ResourceRights} The populated ResourceRights instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('aclRead')) { - obj['aclRead'] = ApiClient.convertToType(data['aclRead'], 'Boolean'); - } - if (data.hasOwnProperty('aclWrite')) { - obj['aclWrite'] = ApiClient.convertToType(data['aclWrite'], 'Boolean'); - } - if (data.hasOwnProperty('aclAdmin')) { - obj['aclAdmin'] = ApiClient.convertToType(data['aclAdmin'], 'Boolean'); - } - } - return obj; - } - - /** - * `True` if the current user can read the current document - * @member {Boolean} aclRead - * @default false - */ - exports.prototype['aclRead'] = false; - /** - * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclWrite - * @default false - */ - exports.prototype['aclWrite'] = false; - /** - * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclAdmin - * @default false - */ - exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - - -},{"../ApiClient":16}],68:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceSharingKey = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceSharingKey model module. - * @module model/ResourceSharingKey - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceSharingKey. - * When using the `privacy` mode `privateLink`, this property can be used to set a custom sharing key, otherwise a new key will be generated. - * @alias module:model/ResourceSharingKey - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a ResourceSharingKey from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceSharingKey} obj Optional instance to populate. - * @return {module:model/ResourceSharingKey} The populated ResourceSharingKey instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - - -},{"../ApiClient":16}],69:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreComment = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreComment model module. - * @module model/ScoreComment - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreComment. - * Comment added on a sheet music - * @alias module:model/ScoreComment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreComment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreComment} obj Optional instance to populate. - * @return {module:model/ScoreComment} The populated ScoreComment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('replyTo')) { - obj['replyTo'] = ApiClient.convertToType(data['replyTo'], 'String'); - } - if (data.hasOwnProperty('date')) { - obj['date'] = ApiClient.convertToType(data['date'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - if (data.hasOwnProperty('mentions')) { - obj['mentions'] = ApiClient.convertToType(data['mentions'], ['String']); - } - if (data.hasOwnProperty('resolved')) { - obj['resolved'] = ApiClient.convertToType(data['resolved'], 'Boolean'); - } - if (data.hasOwnProperty('resolvedBy')) { - obj['resolvedBy'] = ApiClient.convertToType(data['resolvedBy'], 'String'); - } - if (data.hasOwnProperty('spam')) { - obj['spam'] = ApiClient.convertToType(data['spam'], 'Boolean'); - } - } - return obj; - } - - /** - * The comment unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The type of the comment - * @member {module:model/ScoreComment.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The author unique identifier - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * The unique identifier of the score where the comment was posted - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The unique identifier of revision the comment was posted - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * When the comment is a reply to another comment, the unique identifier of the parent comment - * @member {String} replyTo - */ - exports.prototype['replyTo'] = undefined; - /** - * The date when the comment was posted - * @member {Date} date - */ - exports.prototype['date'] = undefined; - /** - * The date of the last comment modification - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without parsing the mentions. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - /** - * The list of user identifier mentioned on the score - * @member {Array.} mentions - */ - exports.prototype['mentions'] = undefined; - /** - * For inline comments, the comment can be marked as resolved and will be hidden in the future responses - * @member {Boolean} resolved - */ - exports.prototype['resolved'] = undefined; - /** - * If the user is marked as resolved, this will contain the unique identifier of the User who marked this comment as resolved - * @member {String} resolvedBy - */ - exports.prototype['resolvedBy'] = undefined; - /** - * `true if the message has been detected as spam and hidden from other users - * @member {Boolean} spam - */ - exports.prototype['spam'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "document" - * @const - */ - "document": "document", - /** - * value: "inline" - * @const - */ - "inline": "inline" }; - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreCommentContext":70}],70:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentContext = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreCommentContext model module. - * @module model/ScoreCommentContext - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentContext. - * The context of the comment (for inline/contextualized comments). A context will include all the information related to the location of the comment (i.e. score parts, range of measure, time position). - * @alias module:model/ScoreCommentContext - * @class - * @param partUuid {String} The unique identifier (UUID) of the score part - * @param staffIdx {Number} The identififer of the staff - * @param measureUuids {Array.} The list of measure UUIds - * @param startTimePos {Number} - * @param stopTimePos {Number} - * @param startDpq {Number} - * @param stopDpq {Number} - */ - var exports = function(partUuid, staffIdx, measureUuids, startTimePos, stopTimePos, startDpq, stopDpq) { - var _this = this; - - _this['partUuid'] = partUuid; - _this['staffIdx'] = staffIdx; - _this['measureUuids'] = measureUuids; - _this['startTimePos'] = startTimePos; - _this['stopTimePos'] = stopTimePos; - _this['startDpq'] = startDpq; - _this['stopDpq'] = stopDpq; - }; - - /** - * Constructs a ScoreCommentContext from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentContext} obj Optional instance to populate. - * @return {module:model/ScoreCommentContext} The populated ScoreCommentContext instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('partUuid')) { - obj['partUuid'] = ApiClient.convertToType(data['partUuid'], 'String'); - } - if (data.hasOwnProperty('staffIdx')) { - obj['staffIdx'] = ApiClient.convertToType(data['staffIdx'], 'Number'); - } - if (data.hasOwnProperty('measureUuids')) { - obj['measureUuids'] = ApiClient.convertToType(data['measureUuids'], ['String']); - } - if (data.hasOwnProperty('startTimePos')) { - obj['startTimePos'] = ApiClient.convertToType(data['startTimePos'], 'Number'); - } - if (data.hasOwnProperty('stopTimePos')) { - obj['stopTimePos'] = ApiClient.convertToType(data['stopTimePos'], 'Number'); - } - if (data.hasOwnProperty('startDpq')) { - obj['startDpq'] = ApiClient.convertToType(data['startDpq'], 'Number'); - } - if (data.hasOwnProperty('stopDpq')) { - obj['stopDpq'] = ApiClient.convertToType(data['stopDpq'], 'Number'); - } - } - return obj; - } - - /** - * The unique identifier (UUID) of the score part - * @member {String} partUuid - */ - exports.prototype['partUuid'] = undefined; - /** - * The identififer of the staff - * @member {Number} staffIdx - */ - exports.prototype['staffIdx'] = undefined; - /** - * The list of measure UUIds - * @member {Array.} measureUuids - */ - exports.prototype['measureUuids'] = undefined; - /** - * @member {Number} startTimePos - */ - exports.prototype['startTimePos'] = undefined; - /** - * @member {Number} stopTimePos - */ - exports.prototype['stopTimePos'] = undefined; - /** - * @member {Number} startDpq - */ - exports.prototype['startDpq'] = undefined; - /** - * @member {Number} stopDpq - */ - exports.prototype['stopDpq'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],71:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreCommentCreation model module. - * @module model/ScoreCommentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentCreation. - * Creation of a comment - * @alias module:model/ScoreCommentCreation - * @class - * @param comment {String} The comment text that can includes mentions using the following format: `@[id:username]`. - */ - var exports = function(comment) { - var _this = this; - - - _this['comment'] = comment; - - - - - }; - - /** - * Constructs a ScoreCommentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentCreation} obj Optional instance to populate. - * @return {module:model/ScoreCommentCreation} The populated ScoreCommentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('mentions')) { - obj['mentions'] = ApiClient.convertToType(data['mentions'], ['String']); - } - if (data.hasOwnProperty('replyTo')) { - obj['replyTo'] = ApiClient.convertToType(data['replyTo'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - } - return obj; - } - - /** - * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * The list of user identifiers mentioned in this comment - * @member {Array.} mentions - */ - exports.prototype['mentions'] = undefined; - /** - * When the comment is a reply to another comment, the unique identifier of the parent comment - * @member {String} replyTo - */ - exports.prototype['replyTo'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreCommentContext":70}],72:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreCommentUpdate model module. - * @module model/ScoreCommentUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentUpdate. - * Update of a comment - * @alias module:model/ScoreCommentUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreCommentUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentUpdate} obj Optional instance to populate. - * @return {module:model/ScoreCommentUpdate} The populated ScoreCommentUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - } - return obj; - } - - /** - * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreCommentContext":70}],73:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentsCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreCommentsCounts model module. - * @module model/ScoreCommentsCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentsCounts. - * A computed version of the total, unique, weekly and monthly number of comments added on the documents (this doesn't include inline comments). - * @alias module:model/ScoreCommentsCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreCommentsCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentsCounts} obj Optional instance to populate. - * @return {module:model/ScoreCommentsCounts} The populated ScoreCommentsCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('unique')) { - obj['unique'] = ApiClient.convertToType(data['unique'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of comments added on the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The unique (1/user) number of comments added on the score - * @member {Number} unique - */ - exports.prototype['unique'] = undefined; - /** - * The weekly unique number of comments added on the score - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The monthly unique number of comments added on the score - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],74:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreData', 'model/ScoreDataEncoding', 'model/ScorePrivacy', 'model/ScoreSource'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreData'), require('./ScoreDataEncoding'), require('./ScorePrivacy'), require('./ScoreSource')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreData, root.FlatApi.ScoreDataEncoding, root.FlatApi.ScorePrivacy, root.FlatApi.ScoreSource); - } -}(this, function(ApiClient, ScoreData, ScoreDataEncoding, ScorePrivacy, ScoreSource) { - 'use strict'; - - - - - /** - * The ScoreCreation model module. - * @module model/ScoreCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCreation. - * A new created score - * @alias module:model/ScoreCreation - * @class - * @param privacy {module:model/ScorePrivacy} - */ - var exports = function(privacy) { - var _this = this; - - - _this['privacy'] = privacy; - - - - - - }; - - /** - * Constructs a ScoreCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCreation} obj Optional instance to populate. - * @return {module:model/ScoreCreation} The populated ScoreCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('data')) { - obj['data'] = ScoreData.constructFromObject(data['data']); - } - if (data.hasOwnProperty('dataEncoding')) { - obj['dataEncoding'] = ScoreDataEncoding.constructFromObject(data['dataEncoding']); - } - if (data.hasOwnProperty('source')) { - obj['source'] = ScoreSource.constructFromObject(data['source']); - } - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - if (data.hasOwnProperty('googleDriveFolder')) { - obj['googleDriveFolder'] = ApiClient.convertToType(data['googleDriveFolder'], 'String'); - } - } - return obj; - } - - /** - * The title of the new score. If the title is too long, the API may trim this one. If this title is not specified, the API will try to (in this order): - Use the name of the file for files from a specified `source` (e.g. Google Drive) - Use the title contained in the file (e.g. [`movement-title`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-movement-title.htm) or [`credit-words`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-credit-words.htm) for [MusicXML](http://www.musicxml.com/) files). - Set a default title (e.g. \"New Music Score\") - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/ScoreData} data - */ - exports.prototype['data'] = undefined; - /** - * @member {module:model/ScoreDataEncoding} dataEncoding - */ - exports.prototype['dataEncoding'] = undefined; - /** - * @member {module:model/ScoreSource} source - */ - exports.prototype['source'] = undefined; - /** - * Unique identifier of a collection where the score will be created. If no collection identifier is provided, the score will be stored in the `root` directory. - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - /** - * If the user uses Google Drive and this properties is specified, the file will be created in this directory. The currently user creating the file must be granted to write in this directory. - * @member {String} googleDriveFolder - */ - exports.prototype['googleDriveFolder'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreData":76,"./ScoreDataEncoding":77,"./ScorePrivacy":83,"./ScoreSource":87}],75:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCreationType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreCreationType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "original" - * @const - */ - "original": "original", - /** - * value: "arrangement" - * @const - */ - "arrangement": "arrangement", - /** - * value: "other" - * @const - */ - "other": "other" }; - - /** - * Returns a ScoreCreationType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreCreationType} The enum ScoreCreationType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],76:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreData = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreData model module. - * @module model/ScoreData - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreData. - * The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request. - * @alias module:model/ScoreData - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a ScoreData from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreData} obj Optional instance to populate. - * @return {module:model/ScoreData} The populated ScoreData instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - - -},{"../ApiClient":16}],77:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreDataEncoding = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreDataEncoding. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "base64" - * @const - */ - "base64": "base64" }; - - /** - * Returns a ScoreDataEncoding enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreDataEncoding} The enum ScoreDataEncoding value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],78:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ResourceCollaborator', 'model/ResourceRights', 'model/ScoreCommentsCounts', 'model/ScoreCreationType', 'model/ScoreLicense', 'model/ScoreLikesCounts', 'model/ScorePrivacy', 'model/ScoreSummary', 'model/ScoreViewsCounts', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ResourceCollaborator'), require('./ResourceRights'), require('./ScoreCommentsCounts'), require('./ScoreCreationType'), require('./ScoreLicense'), require('./ScoreLikesCounts'), require('./ScorePrivacy'), require('./ScoreSummary'), require('./ScoreViewsCounts'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceRights, root.FlatApi.ScoreCommentsCounts, root.FlatApi.ScoreCreationType, root.FlatApi.ScoreLicense, root.FlatApi.ScoreLikesCounts, root.FlatApi.ScorePrivacy, root.FlatApi.ScoreSummary, root.FlatApi.ScoreViewsCounts, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ResourceCollaborator, ResourceRights, ScoreCommentsCounts, ScoreCreationType, ScoreLicense, ScoreLikesCounts, ScorePrivacy, ScoreSummary, ScoreViewsCounts, UserPublicSummary) { - 'use strict'; - - - - - /** - * The ScoreDetails model module. - * @module model/ScoreDetails - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreDetails. - * The score and all its details - * @alias module:model/ScoreDetails - * @class - * @implements module:model/ScoreSummary - */ - var exports = function() { - var _this = this; - - ScoreSummary.call(_this); - - - - - - - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreDetails} obj Optional instance to populate. - * @return {module:model/ScoreDetails} The populated ScoreDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - ScoreSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('subtitle')) { - obj['subtitle'] = ApiClient.convertToType(data['subtitle'], 'String'); - } - if (data.hasOwnProperty('lyricist')) { - obj['lyricist'] = ApiClient.convertToType(data['lyricist'], 'String'); - } - if (data.hasOwnProperty('composer')) { - obj['composer'] = ApiClient.convertToType(data['composer'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('tags')) { - obj['tags'] = ApiClient.convertToType(data['tags'], ['String']); - } - if (data.hasOwnProperty('creationType')) { - obj['creationType'] = ScoreCreationType.constructFromObject(data['creationType']); - } - if (data.hasOwnProperty('license')) { - obj['license'] = ScoreLicense.constructFromObject(data['license']); - } - if (data.hasOwnProperty('licenseText')) { - obj['licenseText'] = ApiClient.convertToType(data['licenseText'], 'String'); - } - if (data.hasOwnProperty('durationTime')) { - obj['durationTime'] = ApiClient.convertToType(data['durationTime'], 'Number'); - } - if (data.hasOwnProperty('numberMeasures')) { - obj['numberMeasures'] = ApiClient.convertToType(data['numberMeasures'], 'Number'); - } - if (data.hasOwnProperty('mainTempoQpm')) { - obj['mainTempoQpm'] = ApiClient.convertToType(data['mainTempoQpm'], 'Number'); - } - if (data.hasOwnProperty('rights')) { - obj['rights'] = ResourceRights.constructFromObject(data['rights']); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], [ResourceCollaborator]); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('publicationDate')) { - obj['publicationDate'] = ApiClient.convertToType(data['publicationDate'], 'Date'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('parentScore')) { - obj['parentScore'] = ApiClient.convertToType(data['parentScore'], 'String'); - } - if (data.hasOwnProperty('instruments')) { - obj['instruments'] = ApiClient.convertToType(data['instruments'], ['String']); - } - if (data.hasOwnProperty('googleDriveFileId')) { - obj['googleDriveFileId'] = ApiClient.convertToType(data['googleDriveFileId'], 'String'); - } - if (data.hasOwnProperty('likes')) { - obj['likes'] = ScoreLikesCounts.constructFromObject(data['likes']); - } - if (data.hasOwnProperty('comments')) { - obj['comments'] = ScoreCommentsCounts.constructFromObject(data['comments']); - } - if (data.hasOwnProperty('views')) { - obj['views'] = ScoreViewsCounts.constructFromObject(data['views']); - } - } - return obj; - } - - /** - * Subtitle of the score - * @member {String} subtitle - */ - exports.prototype['subtitle'] = undefined; - /** - * Lyricist of the score - * @member {String} lyricist - */ - exports.prototype['lyricist'] = undefined; - /** - * Composer of the score - * @member {String} composer - */ - exports.prototype['composer'] = undefined; - /** - * Description of the creation - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * Tags describing the score - * @member {Array.} tags - */ - exports.prototype['tags'] = undefined; - /** - * @member {module:model/ScoreCreationType} creationType - */ - exports.prototype['creationType'] = undefined; - /** - * @member {module:model/ScoreLicense} license - */ - exports.prototype['license'] = undefined; - /** - * Additional license text written on the exported/printed score - * @member {String} licenseText - */ - exports.prototype['licenseText'] = undefined; - /** - * In seconds, an approximative duration of the score - * @member {Number} durationTime - */ - exports.prototype['durationTime'] = undefined; - /** - * The number of measures in the score - * @member {Number} numberMeasures - */ - exports.prototype['numberMeasures'] = undefined; - /** - * The main tempo of the score (in QPM) - * @member {Number} mainTempoQpm - */ - exports.prototype['mainTempoQpm'] = undefined; - /** - * @member {module:model/ResourceRights} rights - */ - exports.prototype['rights'] = undefined; - /** - * The list of the collaborators of the score - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * The date when the score was created - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The date of the last revision of the score - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * The date when the score was published on Flat - * @member {Date} publicationDate - */ - exports.prototype['publicationDate'] = undefined; - /** - * If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`. - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * If the score has been forked, the unique identifier of the parent score. - * @member {String} parentScore - */ - exports.prototype['parentScore'] = undefined; - /** - * An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. - * @member {Array.} instruments - */ - exports.prototype['instruments'] = undefined; - /** - * If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}` - * @member {String} googleDriveFileId - */ - exports.prototype['googleDriveFileId'] = undefined; - /** - * @member {module:model/ScoreLikesCounts} likes - */ - exports.prototype['likes'] = undefined; - /** - * @member {module:model/ScoreCommentsCounts} comments - */ - exports.prototype['comments'] = undefined; - /** - * @member {module:model/ScoreViewsCounts} views - */ - exports.prototype['views'] = undefined; - - // Implement ScoreSummary interface: - /** - * The unique identifier of the score - * @member {String} id - */ -exports.prototype['id'] = undefined; - - /** - * The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ -exports.prototype['sharingKey'] = undefined; - - /** - * The title of the score - * @member {String} title - */ -exports.prototype['title'] = undefined; - - /** - * @member {module:model/ScorePrivacy} privacy - */ -exports.prototype['privacy'] = undefined; - - /** - * @member {module:model/UserPublicSummary} user - */ -exports.prototype['user'] = undefined; - - /** - * The url where the score can be viewed in a web browser - * @member {String} htmlUrl - */ -exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ResourceCollaborator":65,"./ResourceRights":67,"./ScoreCommentsCounts":73,"./ScoreCreationType":75,"./ScoreLicense":80,"./ScoreLikesCounts":81,"./ScorePrivacy":83,"./ScoreSummary":88,"./ScoreViewsCounts":95,"./UserPublicSummary":104}],79:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreFork = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreFork model module. - * @module model/ScoreFork - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreFork. - * Options to fork the score - * @alias module:model/ScoreFork - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a ScoreFork from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreFork} obj Optional instance to populate. - * @return {module:model/ScoreFork} The populated ScoreFork instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - } - return obj; - } - - /** - * Unique identifier of a collection where the score will be copied. If no collection identifier is provided, the score will be stored in the `root` directory. - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],80:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreLicense = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreLicense. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "copyright" - * @const - */ - "copyright": "copyright", - /** - * value: "cc0" - * @const - */ - "cc0": "cc0", - /** - * value: "cc-by" - * @const - */ - "cc-by": "cc-by", - /** - * value: "cc-by-sa" - * @const - */ - "cc-by-sa": "cc-by-sa", - /** - * value: "cc-by-nd" - * @const - */ - "cc-by-nd": "cc-by-nd", - /** - * value: "cc-by-nc" - * @const - */ - "cc-by-nc": "cc-by-nc", - /** - * value: "cc-by-nc-sa" - * @const - */ - "cc-by-nc-sa": "cc-by-nc-sa", - /** - * value: "cc-by-nc-nd" - * @const - */ - "cc-by-nc-nd": "cc-by-nc-nd" }; - - /** - * Returns a ScoreLicense enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreLicense} The enum ScoreLicense value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],81:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreLikesCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreLikesCounts model module. - * @module model/ScoreLikesCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreLikesCounts. - * A computed version of the weekly, monthly and total of number of likes for a score - * @alias module:model/ScoreLikesCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ScoreLikesCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreLikesCounts} obj Optional instance to populate. - * @return {module:model/ScoreLikesCounts} The populated ScoreLikesCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of likes of the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The number of new likes during the last week - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The number of new likes during the last month - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],82:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ResourceSharingKey', 'model/ScoreCreationType', 'model/ScoreLicense', 'model/ScorePrivacy'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ResourceSharingKey'), require('./ScoreCreationType'), require('./ScoreLicense'), require('./ScorePrivacy')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreModification = factory(root.FlatApi.ApiClient, root.FlatApi.ResourceSharingKey, root.FlatApi.ScoreCreationType, root.FlatApi.ScoreLicense, root.FlatApi.ScorePrivacy); - } -}(this, function(ApiClient, ResourceSharingKey, ScoreCreationType, ScoreLicense, ScorePrivacy) { - 'use strict'; - - - - - /** - * The ScoreModification model module. - * @module model/ScoreModification - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreModification. - * Edit the score metadata - * @alias module:model/ScoreModification - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ScoreModification from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreModification} obj Optional instance to populate. - * @return {module:model/ScoreModification} The populated ScoreModification instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ResourceSharingKey.constructFromObject(data['sharingKey']); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('tags')) { - obj['tags'] = ApiClient.convertToType(data['tags'], ['String']); - } - if (data.hasOwnProperty('creationType')) { - obj['creationType'] = ScoreCreationType.constructFromObject(data['creationType']); - } - if (data.hasOwnProperty('license')) { - obj['license'] = ScoreLicense.constructFromObject(data['license']); - } - } - return obj; - } - - /** - * The title of the score - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/ResourceSharingKey} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * Description of the creation - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * Tags describing the score - * @member {Array.} tags - */ - exports.prototype['tags'] = undefined; - /** - * @member {module:model/ScoreCreationType} creationType - */ - exports.prototype['creationType'] = undefined; - /** - * @member {module:model/ScoreLicense} license - */ - exports.prototype['license'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ResourceSharingKey":68,"./ScoreCreationType":75,"./ScoreLicense":80,"./ScorePrivacy":83}],83:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScorePrivacy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScorePrivacy. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "public" - * @const - */ - "public": "public", - /** - * value: "private" - * @const - */ - "private": "private", - /** - * value: "organizationPublic" - * @const - */ - "organizationPublic": "organizationPublic", - /** - * value: "privateLink" - * @const - */ - "privateLink": "privateLink" }; - - /** - * Returns a ScorePrivacy enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScorePrivacy} The enum ScorePrivacy value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],84:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreRevisionStatistics'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreRevisionStatistics')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevision = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreRevisionStatistics); - } -}(this, function(ApiClient, ScoreRevisionStatistics) { - 'use strict'; - - - - - /** - * The ScoreRevision model module. - * @module model/ScoreRevision - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevision. - * A score revision metadata - * @alias module:model/ScoreRevision - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ScoreRevision from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevision} obj Optional instance to populate. - * @return {module:model/ScoreRevision} The populated ScoreRevision instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], ['String']); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('autosave')) { - obj['autosave'] = ApiClient.convertToType(data['autosave'], 'Boolean'); - } - if (data.hasOwnProperty('statistics')) { - obj['statistics'] = ScoreRevisionStatistics.constructFromObject(data['statistics']); - } - } - return obj; - } - - /** - * The unique identifier of the revision. - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The user identifier who created the revision - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * The date when this revision was created - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * A description associated to the revision - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * True if this revision was automatically generated by Flat and not on purpose by the user. - * @member {Boolean} autosave - */ - exports.prototype['autosave'] = undefined; - /** - * @member {module:model/ScoreRevisionStatistics} statistics - */ - exports.prototype['statistics'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreRevisionStatistics":86}],85:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreData', 'model/ScoreDataEncoding'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreData'), require('./ScoreDataEncoding')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevisionCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreData, root.FlatApi.ScoreDataEncoding); - } -}(this, function(ApiClient, ScoreData, ScoreDataEncoding) { - 'use strict'; - - - - - /** - * The ScoreRevisionCreation model module. - * @module model/ScoreRevisionCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevisionCreation. - * A new created revision - * @alias module:model/ScoreRevisionCreation - * @class - * @param data {module:model/ScoreData} - */ - var exports = function(data) { - var _this = this; - - _this['data'] = data; - - - - }; - - /** - * Constructs a ScoreRevisionCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevisionCreation} obj Optional instance to populate. - * @return {module:model/ScoreRevisionCreation} The populated ScoreRevisionCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('data')) { - obj['data'] = ScoreData.constructFromObject(data['data']); - } - if (data.hasOwnProperty('dataEncoding')) { - obj['dataEncoding'] = ScoreDataEncoding.constructFromObject(data['dataEncoding']); - } - if (data.hasOwnProperty('autosave')) { - obj['autosave'] = ApiClient.convertToType(data['autosave'], 'Boolean'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - } - return obj; - } - - /** - * @member {module:model/ScoreData} data - */ - exports.prototype['data'] = undefined; - /** - * @member {module:model/ScoreDataEncoding} dataEncoding - */ - exports.prototype['dataEncoding'] = undefined; - /** - * Must be set to `true` if the revision was created automatically. - * @member {Boolean} autosave - */ - exports.prototype['autosave'] = undefined; - /** - * A description associated to the revision - * @member {String} description - */ - exports.prototype['description'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreData":76,"./ScoreDataEncoding":77}],86:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevisionStatistics = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreRevisionStatistics model module. - * @module model/ScoreRevisionStatistics - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevisionStatistics. - * The statistics related to the score revision (additions and deletions) - * @alias module:model/ScoreRevisionStatistics - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ScoreRevisionStatistics from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevisionStatistics} obj Optional instance to populate. - * @return {module:model/ScoreRevisionStatistics} The populated ScoreRevisionStatistics instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('additions')) { - obj['additions'] = ApiClient.convertToType(data['additions'], 'Number'); - } - if (data.hasOwnProperty('deletions')) { - obj['deletions'] = ApiClient.convertToType(data['deletions'], 'Number'); - } - } - return obj; - } - - /** - * The number of additions operations in the last revision - * @member {Number} additions - */ - exports.prototype['additions'] = undefined; - /** - * The number of deletions operations in the last revision - * @member {Number} deletions - */ - exports.prototype['deletions'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],87:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreSource = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreSource model module. - * @module model/ScoreSource - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreSource. - * @alias module:model/ScoreSource - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a ScoreSource from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreSource} obj Optional instance to populate. - * @return {module:model/ScoreSource} The populated ScoreSource instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('googleDrive')) { - obj['googleDrive'] = ApiClient.convertToType(data['googleDrive'], 'String'); - } - } - return obj; - } - - /** - * If the score is a file on Google Drive, this field property must contain its identifier. To use this method, the Drive file must be public or the Flat Drive App must have access to the file. - * @member {String} googleDrive - */ - exports.prototype['googleDrive'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],88:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScorePrivacy', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScorePrivacy'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreSummary = factory(root.FlatApi.ApiClient, root.FlatApi.ScorePrivacy, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ScorePrivacy, UserPublicSummary) { - 'use strict'; - - - - - /** - * The ScoreSummary model module. - * @module model/ScoreSummary - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreSummary. - * A summary of the score details - * @alias module:model/ScoreSummary - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - }; - - /** - * Constructs a ScoreSummary from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreSummary} obj Optional instance to populate. - * @return {module:model/ScoreSummary} The populated ScoreSummary instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ApiClient.convertToType(data['sharingKey'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublicSummary.constructFromObject(data['user']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of the score - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * The title of the score - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/UserPublicSummary} user - */ - exports.prototype['user'] = undefined; - /** - * The url where the score can be viewed in a web browser - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScorePrivacy":83,"./UserPublicSummary":104}],89:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState', 'model/ScoreTrackType'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState'), require('./ScoreTrackType')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrack = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState, root.FlatApi.ScoreTrackType); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState, ScoreTrackType) { - 'use strict'; - - - - - /** - * The ScoreTrack model module. - * @module model/ScoreTrack - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrack. - * An audio track for a score - * @alias module:model/ScoreTrack - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreTrack from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrack} obj Optional instance to populate. - * @return {module:model/ScoreTrack} The populated ScoreTrack instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ScoreTrackType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('mediaId')) { - obj['mediaId'] = ApiClient.convertToType(data['mediaId'], 'String'); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * The unique identifier of the score track - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The unique identifier of the score - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The unique identifier of the track creator - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of the track - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The modification date of the track - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * @member {module:model/ScoreTrackType} type - */ - exports.prototype['type'] = undefined; - /** - * The URL of the track - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * The unique identifier of the track when hosted on an external service. For example, if the url is `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, `mediaId` will be `dQw4w9WgXcQ` - * @member {String} mediaId - */ - exports.prototype['mediaId'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreTrackPoint":91,"./ScoreTrackState":92,"./ScoreTrackType":93}],90:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState) { - 'use strict'; - - - - - /** - * The ScoreTrackCreation model module. - * @module model/ScoreTrackCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackCreation. - * Creation of a new track. This one must contain the URL of the track or the corresponding file - * @alias module:model/ScoreTrackCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a ScoreTrackCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackCreation} obj Optional instance to populate. - * @return {module:model/ScoreTrackCreation} The populated ScoreTrackCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * The URL of the track - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreTrackPoint":91,"./ScoreTrackState":92}],91:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackPoint = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreTrackPoint model module. - * @module model/ScoreTrackPoint - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackPoint. - * A track synchronization point - * @alias module:model/ScoreTrackPoint - * @class - * @param type {module:model/ScoreTrackPoint.TypeEnum} The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` - * @param time {Number} The corresponding time in seconds - */ - var exports = function(type, time) { - var _this = this; - - _this['type'] = type; - - _this['time'] = time; - }; - - /** - * Constructs a ScoreTrackPoint from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackPoint} obj Optional instance to populate. - * @return {module:model/ScoreTrackPoint} The populated ScoreTrackPoint instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('measureUuid')) { - obj['measureUuid'] = ApiClient.convertToType(data['measureUuid'], 'String'); - } - if (data.hasOwnProperty('time')) { - obj['time'] = ApiClient.convertToType(data['time'], 'Number'); - } - } - return obj; - } - - /** - * The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` - * @member {module:model/ScoreTrackPoint.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The measure unique identifier - * @member {String} measureUuid - */ - exports.prototype['measureUuid'] = undefined; - /** - * The corresponding time in seconds - * @member {Number} time - */ - exports.prototype['time'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "measure" - * @const - */ - "measure": "measure", - /** - * value: "end" - * @const - */ - "end": "end" }; - - - return exports; -})); - - - -},{"../ApiClient":16}],92:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackState = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreTrackState. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "draft" - * @const - */ - "draft": "draft", - /** - * value: "completed" - * @const - */ - "completed": "completed", - /** - * value: "deleted" - * @const - */ - "deleted": "deleted" }; - - /** - * Returns a ScoreTrackState enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreTrackState} The enum ScoreTrackState value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],93:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreTrackType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "audio" - * @const - */ - "audio": "audio", - /** - * value: "soundcloud" - * @const - */ - "soundcloud": "soundcloud", - /** - * value: "youtube" - * @const - */ - "youtube": "youtube", - /** - * value: "vimeo" - * @const - */ - "vimeo": "vimeo" }; - - /** - * Returns a ScoreTrackType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreTrackType} The enum ScoreTrackType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - - -},{"../ApiClient":16}],94:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState) { - 'use strict'; - - - - - /** - * The ScoreTrackUpdate model module. - * @module model/ScoreTrackUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackUpdate. - * Update an existing track. - * @alias module:model/ScoreTrackUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreTrackUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackUpdate} obj Optional instance to populate. - * @return {module:model/ScoreTrackUpdate} The populated ScoreTrackUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ScoreTrackPoint":91,"./ScoreTrackState":92}],95:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreViewsCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreViewsCounts model module. - * @module model/ScoreViewsCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreViewsCounts. - * A computed version of the total, weekly, and monthly number of views of the score - * @alias module:model/ScoreViewsCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ScoreViewsCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreViewsCounts} obj Optional instance to populate. - * @return {module:model/ScoreViewsCounts} The populated ScoreViewsCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of views of the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The weekly number of views of the score - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The monthly number of views of the score - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],96:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserAdminUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The UserAdminUpdate model module. - * @module model/UserAdminUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new UserAdminUpdate. - * User update as an organization admin - * @alias module:model/UserAdminUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a UserAdminUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserAdminUpdate} obj Optional instance to populate. - * @return {module:model/UserAdminUpdate} The populated UserAdminUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('password')) { - obj['password'] = ApiClient.convertToType(data['password'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - } - return obj; - } - - /** - * Password of the new account - * @member {String} password - */ - exports.prototype['password'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./OrganizationRoles":64}],97:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserBasics = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The UserBasics model module. - * @module model/UserBasics - * @version 2.6.0 - */ - - /** - * Constructs a new UserBasics. - * @alias module:model/UserBasics - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - }; - - /** - * Constructs a UserBasics from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserBasics} obj Optional instance to populate. - * @return {module:model/UserBasics} The populated UserBasics instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('username')) { - obj['username'] = ApiClient.convertToType(data['username'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('printableName')) { - obj['printableName'] = ApiClient.convertToType(data['printableName'], 'String'); - } - if (data.hasOwnProperty('picture')) { - obj['picture'] = ApiClient.convertToType(data['picture'], 'String'); - } - if (data.hasOwnProperty('isPowerUser')) { - obj['isPowerUser'] = ApiClient.convertToType(data['isPowerUser'], 'Boolean'); - } - } - return obj; - } - - /** - * The user unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The user name (unique for the organization) - * @member {String} username - */ - exports.prototype['username'] = undefined; - /** - * A displayable name for the user - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The name that can be directly printed (name or username) - * @member {String} printableName - */ - exports.prototype['printableName'] = undefined; - /** - * User pictue - * @member {String} picture - */ - exports.prototype['picture'] = undefined; - /** - * User license status. 'True' if user is an individual Power user - * @member {Boolean} isPowerUser - */ - exports.prototype['isPowerUser'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16}],98:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatLocales'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./FlatLocales')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserCreation = factory(root.FlatApi.ApiClient, root.FlatApi.FlatLocales); - } -}(this, function(ApiClient, FlatLocales) { - 'use strict'; - - - - - /** - * The UserCreation model module. - * @module model/UserCreation - * @version 2.6.0 - */ - - /** - * Constructs a new UserCreation. - * User creation - * @alias module:model/UserCreation - * @class - * @param username {String} Username of the new account - * @param password {String} Password of the new account - */ - var exports = function(username, password) { - var _this = this; - - _this['username'] = username; - - _this['password'] = password; - - }; - - /** - * Constructs a UserCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserCreation} obj Optional instance to populate. - * @return {module:model/UserCreation} The populated UserCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('username')) { - obj['username'] = ApiClient.convertToType(data['username'], 'String'); - } - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('password')) { - obj['password'] = ApiClient.convertToType(data['password'], 'String'); - } - if (data.hasOwnProperty('locale')) { - obj['locale'] = FlatLocales.constructFromObject(data['locale']); - } - } - return obj; - } - - /** - * Username of the new account - * @member {String} username - */ - exports.prototype['username'] = undefined; - /** - * Email of the new account - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * Password of the new account - * @member {String} password - */ - exports.prototype['password'] = undefined; - /** - * @member {module:model/FlatLocales} locale - */ - exports.prototype['locale'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./FlatLocales":49}],99:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/FlatLocales', 'model/OrganizationRoles', 'model/UserInstruments', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./FlatLocales'), require('./OrganizationRoles'), require('./UserInstruments'), require('./UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.FlatLocales, root.FlatApi.OrganizationRoles, root.FlatApi.UserInstruments, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, ClassRoles, FlatLocales, OrganizationRoles, UserInstruments, UserPublic) { - 'use strict'; - - - - - /** - * The UserDetails model module. - * @module model/UserDetails - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetails. - * User details - * @alias module:model/UserDetails - * @class - * @extends module:model/UserPublic - */ - var exports = function() { - var _this = this; - UserPublic.call(_this); - - - - - }; - - /** - * Constructs a UserDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetails} obj Optional instance to populate. - * @return {module:model/UserDetails} The populated UserDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublic.constructFromObject(data, obj); - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('privateProfile')) { - obj['privateProfile'] = ApiClient.convertToType(data['privateProfile'], 'Boolean'); - } - if (data.hasOwnProperty('locale')) { - obj['locale'] = FlatLocales.constructFromObject(data['locale']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublic.prototype); - exports.prototype.constructor = exports; - - /** - * Identifier of the user - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The type of account - * @member {module:model/UserDetails.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * Tell either this user profile is private or not (individual accounts only) - * @member {Boolean} privateProfile - */ - exports.prototype['privateProfile'] = undefined; - /** - * @member {module:model/FlatLocales} locale - */ - exports.prototype['locale'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "user" - * @const - */ - "user": "user", - /** - * value: "guest" - * @const - */ - "guest": "guest" }; - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassRoles":38,"./FlatLocales":49,"./OrganizationRoles":64,"./UserInstruments":102,"./UserPublic":103}],100:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserDetailsAdminLicense', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserDetailsAdminLicense'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetailsAdmin = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserDetailsAdminLicense, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserDetailsAdminLicense, UserPublicSummary) { - 'use strict'; - - - - - /** - * The UserDetailsAdmin model module. - * @module model/UserDetailsAdmin - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetailsAdmin. - * User details (view for organization teacher / admin) - * @alias module:model/UserDetailsAdmin - * @class - * @extends module:model/UserPublicSummary - */ - var exports = function() { - var _this = this; - UserPublicSummary.call(_this); - - - - }; - - /** - * Constructs a UserDetailsAdmin from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetailsAdmin} obj Optional instance to populate. - * @return {module:model/UserDetailsAdmin} The populated UserDetailsAdmin instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublicSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('lastActivityDate')) { - obj['lastActivityDate'] = ApiClient.convertToType(data['lastActivityDate'], 'Date'); - } - if (data.hasOwnProperty('license')) { - obj['license'] = UserDetailsAdminLicense.constructFromObject(data['license']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublicSummary.prototype); - exports.prototype.constructor = exports; - - /** - * Email of the user - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * Date of the last user activity - * @member {Date} lastActivityDate - */ - exports.prototype['lastActivityDate'] = undefined; - /** - * @member {module:model/UserDetailsAdminLicense} license - */ - exports.prototype['license'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassRoles":38,"./OrganizationRoles":64,"./UserDetailsAdminLicense":101,"./UserPublicSummary":104}],101:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LicenseMode', 'model/LicenseSources'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LicenseMode'), require('./LicenseSources')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetailsAdminLicense = factory(root.FlatApi.ApiClient, root.FlatApi.LicenseMode, root.FlatApi.LicenseSources); - } -}(this, function(ApiClient, LicenseMode, LicenseSources) { - 'use strict'; - - - - - /** - * The UserDetailsAdminLicense model module. - * @module model/UserDetailsAdminLicense - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetailsAdminLicense. - * Current active license of the user - * @alias module:model/UserDetailsAdminLicense - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a UserDetailsAdminLicense from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetailsAdminLicense} obj Optional instance to populate. - * @return {module:model/UserDetailsAdminLicense} The populated UserDetailsAdminLicense instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('expirationDate')) { - obj['expirationDate'] = ApiClient.convertToType(data['expirationDate'], 'Date'); - } - if (data.hasOwnProperty('source')) { - obj['source'] = LicenseSources.constructFromObject(data['source']); - } - if (data.hasOwnProperty('mode')) { - obj['mode'] = LicenseMode.constructFromObject(data['mode']); - } - if (data.hasOwnProperty('active')) { - obj['active'] = ApiClient.convertToType(data['active'], 'Boolean'); - } - } - return obj; - } - - /** - * ID of the current license - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Date when the license expires - * @member {Date} expirationDate - */ - exports.prototype['expirationDate'] = undefined; - /** - * @member {module:model/LicenseSources} source - */ - exports.prototype['source'] = undefined; - /** - * @member {module:model/LicenseMode} mode - */ - exports.prototype['mode'] = undefined; - /** - * ID of the current license - * @member {Boolean} active - */ - exports.prototype['active'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./LicenseMode":55,"./LicenseSources":56}],102:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserInstruments = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The UserInstruments model module. - * @module model/UserInstruments - * @version 2.6.0 - */ - - /** - * Constructs a new UserInstruments. - * An array of the instrument identifiers that the user plays. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. - * @alias module:model/UserInstruments - * @class - * @extends Array - */ - var exports = function() { - var _this = this; - _this = new Array(); - Object.setPrototypeOf(_this, exports); - - return _this; - }; - - /** - * Constructs a UserInstruments from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserInstruments} obj Optional instance to populate. - * @return {module:model/UserInstruments} The populated UserInstruments instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - ApiClient.constructFromObject(data, obj, 'String'); - - } - return obj; - } - - - - - return exports; -})); - - - -},{"../ApiClient":16}],103:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserInstruments', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserInstruments'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserPublic = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserInstruments, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserInstruments, UserPublicSummary) { - 'use strict'; - - - - - /** - * The UserPublic model module. - * @module model/UserPublic - * @version 2.6.0 - */ - - /** - * Constructs a new UserPublic. - * Public User details - * @alias module:model/UserPublic - * @class - * @extends module:model/UserPublicSummary - */ - var exports = function() { - var _this = this; - UserPublicSummary.call(_this); - - - - - - - - - }; - - /** - * Constructs a UserPublic from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserPublic} obj Optional instance to populate. - * @return {module:model/UserPublic} The populated UserPublic instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublicSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('bio')) { - obj['bio'] = ApiClient.convertToType(data['bio'], 'String'); - } - if (data.hasOwnProperty('registrationDate')) { - obj['registrationDate'] = ApiClient.convertToType(data['registrationDate'], 'Date'); - } - if (data.hasOwnProperty('likedScoresCount')) { - obj['likedScoresCount'] = ApiClient.convertToType(data['likedScoresCount'], 'Number'); - } - if (data.hasOwnProperty('followersCount')) { - obj['followersCount'] = ApiClient.convertToType(data['followersCount'], 'Number'); - } - if (data.hasOwnProperty('followingCount')) { - obj['followingCount'] = ApiClient.convertToType(data['followingCount'], 'Number'); - } - if (data.hasOwnProperty('ownedPublicScoresCount')) { - obj['ownedPublicScoresCount'] = ApiClient.convertToType(data['ownedPublicScoresCount'], 'Number'); - } - if (data.hasOwnProperty('profileTheme')) { - obj['profileTheme'] = ApiClient.convertToType(data['profileTheme'], 'String'); - } - if (data.hasOwnProperty('instruments')) { - obj['instruments'] = UserInstruments.constructFromObject(data['instruments']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublicSummary.prototype); - exports.prototype.constructor = exports; - - /** - * User's biography - * @member {String} bio - */ - exports.prototype['bio'] = undefined; - /** - * Date the user signed up - * @member {Date} registrationDate - */ - exports.prototype['registrationDate'] = undefined; - /** - * Number of the scores liked by the user - * @member {Number} likedScoresCount - */ - exports.prototype['likedScoresCount'] = undefined; - /** - * Number of followers the user have - * @member {Number} followersCount - */ - exports.prototype['followersCount'] = undefined; - /** - * Number of people the user follow - * @member {Number} followingCount - */ - exports.prototype['followingCount'] = undefined; - /** - * Number of public scores the user have - * @member {Number} ownedPublicScoresCount - */ - exports.prototype['ownedPublicScoresCount'] = undefined; - /** - * Theme (background) for the profile - * @member {String} profileTheme - */ - exports.prototype['profileTheme'] = undefined; - /** - * @member {module:model/UserInstruments} instruments - */ - exports.prototype['instruments'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassRoles":38,"./OrganizationRoles":64,"./UserInstruments":102,"./UserPublicSummary":104}],104:[function(require,module,exports){ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserBasics'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserBasics')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserPublicSummary = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserBasics); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserBasics) { - 'use strict'; - - - - - /** - * The UserPublicSummary model module. - * @module model/UserPublicSummary - * @version 2.6.0 - */ - - /** - * Constructs a new UserPublicSummary. - * Public User details summary - * @alias module:model/UserPublicSummary - * @class - * @extends module:model/UserBasics - */ - var exports = function() { - var _this = this; - UserBasics.call(_this); - - - - - }; - - /** - * Constructs a UserPublicSummary from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserPublicSummary} obj Optional instance to populate. - * @return {module:model/UserPublicSummary} The populated UserPublicSummary instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserBasics.constructFromObject(data, obj); - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - if (data.hasOwnProperty('classRole')) { - obj['classRole'] = ClassRoles.constructFromObject(data['classRole']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - } - return obj; - } - - exports.prototype = Object.create(UserBasics.prototype); - exports.prototype.constructor = exports; - - /** - * Organization ID (for Edu users only) - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - /** - * @member {module:model/ClassRoles} classRole - */ - exports.prototype['classRole'] = undefined; - /** - * Link to user profile (for Indiv. users only) - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - - -},{"../ApiClient":16,"./ClassRoles":38,"./OrganizationRoles":64,"./UserBasics":97}]},{},[24]); diff --git a/build/flat-api.js.map b/build/flat-api.js.map deleted file mode 100644 index 438c01b..0000000 --- a/build/flat-api.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["flat-api.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length","1","module","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","len","charCodeAt","placeHoldersCount","b64","j","tmp","placeHolders","arr","L","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","2","3","base64","ieee754","Buffer","SlowBuffer","INSPECT_MAX_BYTES","K_MAX_LENGTH","kMaxLength","TYPED_ARRAY_SUPPORT","typedArraySupport","console","error","__proto__","prototype","foo","createBuffer","RangeError","buf","arg","encodingOrOffset","allocUnsafe","from","Symbol","species","Object","defineProperty","value","configurable","enumerable","writable","poolSize","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","undefined","checked","allocUnsafeSlow","string","isEncoding","actual","write","slice","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isArrayBufferView","numberIsNaN","type","isArray","data","toString","b","_isBuffer","compare","x","y","Math","min","String","toLowerCase","concat","list","buffer","pos","loweredCase","utf8ToBytes","base64ToBytes","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","swap16","swap32","swap64","arguments","apply","equals","inspect","str","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","dir","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","includes","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","isFinite","toJSON","_arr","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","newBuf","subarray","checkOffset","ext","readUIntLE","noAssert","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","checkInt","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","checkIEEE754","writeFloat","littleEndian","writeFloatLE","writeFloatBE","writeDouble","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","trim","replace","units","Infinity","leadSurrogate","byteArray","c","hi","lo","src","dst","isView","base64-js","4","Emitter","mixin","key","on","addEventListener","event","fn","_callbacks","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","splice","emit","args","listeners","hasListeners","5","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","NaN","rt","abs","isNaN","floor","log","LN2","6","hasOwnProperty","prop","qs","sep","eq","options","regexp","split","maxKeys","idx","kstr","vstr","k","v","decodeURIComponent","xs","7","stringifyPrimitive","name","map","objectKeys","ks","encodeURIComponent","keys","8","decode","parse","encode","stringify","./decode","./encode","9","root","window","self","warn","RequestBase","isObject","isFunction","ResponseBase","shouldRetry","noop","request","method","url","Request","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","serialize","pairs","pushEncodedKeyValuePair","forEach","subkey","serializeObject","parseString","pair","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","JSON","parseHeader","lines","fields","index","line","field","pop","isJSON","mime","test","Response","req","xhr","text","responseType","responseText","statusText","status","_setStatusProperties","header","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_responseType","body","response","_parseBody","_parser","toError","msg","err","_query","_header","original","rawResponse","statusCode","callback","new_err","_isResponseOK","accept","auth","user","pass","btoa","username","password","query","attach","file","_data","_getFormData","append","_formData","FormData","_maxRetries","_retries","_retry","_callback","clearTimeout","retries","crossDomainError","crossDomain","ca","agent","pipe","_appendQueryString","_sort","queryArr","substring","sort","_isHost","_endCalled","_end","_setTimeouts","onreadystatechange","readyState","_responseTimeoutTimer","timedout","_aborted","handleProgress","direction","total","percent","loaded","onprogress","bind","upload","open","_withCredentials","withCredentials","contentType","_serializer","setRequestHeader","send","get","head","del","patch","post","put","./is-function","./is-object","./request-base","./response-base","./should-retry","component-emitter","10","tag","11","12","_clearTimeout","_timer","timeout","_timeout","_responseTimeout","option","deadline","retry","count","then","resolve","reject","_fullfilledPromise","Promise","innerResolve","innerReject","catch","use","ok","_okCallback","getHeader","unset","abort","redirects","_maxRedirects","isObj","sortQuery","_timeoutError","reason","errno","setTimeout","13","utils","ct","params","links","link","parseLinks","statusType","info","redirect","clientError","serverError","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","./utils","14","ERROR_CODES","15","shift","reduce","rel","cleanHeader","shouldStripCookie","16","factory","define","amd","FlatApi","ApiClient","superagent","querystring","basePath","authentications","OAuth2","defaultHeaders","cache","enableCookies","requestAgent","paramToString","param","Date","buildUrl","path","pathParams","_this","fullMatch","isJsonMime","Boolean","jsonPreferredMime","contentTypes","isFileParam","fs","ReadStream","Blob","File","normalizeParams","newParams","CollectionFormatEnum","CSV","SSV","TSV","PIPES","MULTI","buildCollectionParam","collectionFormat","applyAuthToRequest","authNames","authName","apiKey","apiKeyPrefix","accessToken","Authorization","deserialize","returnType","convertToType","callApi","httpMethod","queryParams","collectionQueryParams","headerParams","formParams","bodyParam","accepts","toUpperCase","getTime","_formParams","attachCookies","saveCookies","parseDate","parseFloat","constructFromObject","itemType","item","keyType","valueType","result","instance","17","AccountApi","FlatErrorResponse","UserDetails","apiClient","getAuthenticatedUser","postBody","../ApiClient","../model/FlatErrorResponse","../model/UserDetails","18","ClassApi","Assignment","AssignmentCopy","AssignmentCreation","AssignmentSubmission","AssignmentSubmissionUpdate","ClassCreation","ClassDetails","ClassUpdate","activateClass","_class","class","addClassUser","archiveClass","copyAssignment","assignment","createAssignment","opts","createClass","createSubmission","deleteClassUser","editSubmission","submission","enrollClass","enrollmentCode","getClass","getScoreSubmissions","score","getSubmission","getSubmissions","listAssignments","listClassStudentSubmissions","listClasses","state","unarchiveClass","updateClass","../model/Assignment","../model/AssignmentCopy","../model/AssignmentCreation","../model/AssignmentSubmission","../model/AssignmentSubmissionUpdate","../model/ClassCreation","../model/ClassDetails","../model/ClassUpdate","19","CollectionApi","Collection","CollectionCreation","CollectionModification","ScoreDetails","addScoreToCollection","collection","sharingKey","createCollection","deleteCollection","deleteScoreFromCollection","editCollection","getCollection","listCollectionScores","next","previous","listCollections","parent","untrashCollection","../model/Collection","../model/CollectionCreation","../model/CollectionModification","../model/ScoreDetails","20","GroupApi","GroupDetails","UserPublic","getGroupDetails","group","getGroupScores","listGroupUsers","../model/GroupDetails","../model/UserPublic","21","OrganizationApi","LtiCredentials","LtiCredentialsCreation","OrganizationInvitation","OrganizationInvitationCreation","UserAdminUpdate","UserCreation","UserDetailsAdmin","createLtiCredentials","createOrganizationInvitation","createOrganizationUser","listLtiCredentials","listOrganizationInvitations","role","listOrganizationUsers","removeOrganizationInvitation","invitation","removeOrganizationUser","convertToIndividual","revokeLtiCredentials","credentials","updateOrganizationUser","../model/LtiCredentials","../model/LtiCredentialsCreation","../model/OrganizationInvitation","../model/OrganizationInvitationCreation","../model/UserAdminUpdate","../model/UserCreation","../model/UserDetailsAdmin","22","ScoreApi","ResourceCollaborator","ResourceCollaboratorCreation","ScoreComment","ScoreCommentCreation","ScoreCommentUpdate","ScoreCreation","ScoreFork","ScoreModification","ScoreRevision","ScoreRevisionCreation","ScoreTrack","ScoreTrackCreation","ScoreTrackUpdate","addScoreCollaborator","addScoreTrack","createScore","createScoreRevision","deleteScore","deleteScoreComment","comment","deleteScoreTrack","track","editScore","forkScore","gerUserLikes","ids","getScore","getScoreCollaborator","collaborator","getScoreCollaborators","getScoreComments","getScoreRevision","revision","getScoreRevisionData","format","onlyCached","getScoreRevisions","getScoreTrack","getUserScores","listScoreTracks","markScoreCommentResolved","markScoreCommentUnresolved","postScoreComment","removeScoreCollaborator","untrashScore","updateScoreComment","updateScoreTrack","../model/ResourceCollaborator","../model/ResourceCollaboratorCreation","../model/ScoreComment","../model/ScoreCommentCreation","../model/ScoreCommentUpdate","../model/ScoreCreation","../model/ScoreFork","../model/ScoreModification","../model/ScoreRevision","../model/ScoreRevisionCreation","../model/ScoreTrack","../model/ScoreTrackCreation","../model/ScoreTrackUpdate","23","UserApi","getUser","24","ClassAttachmentCreation","ClassDetailsCanvas","ClassDetailsClever","ClassDetailsGoogleClassroom","ClassDetailsGoogleDrive","ClassDetailsLti","ClassRoles","ClassState","CollectionCapabilities","CollectionPrivacy","CollectionTitle","CollectionType","FlatLocales","GoogleClassroomCoursework","GoogleClassroomSubmission","Group","GroupType","LicenseMode","LicenseSources","LmsName","MediaAttachment","MediaScoreSharingMode","OrganizationRoles","ResourceRights","ResourceSharingKey","ScoreCommentContext","ScoreCommentsCounts","ScoreCreationType","ScoreData","ScoreDataEncoding","ScoreLicense","ScoreLikesCounts","ScorePrivacy","ScoreRevisionStatistics","ScoreSource","ScoreSummary","ScoreTrackPoint","ScoreTrackState","ScoreTrackType","ScoreViewsCounts","UserBasics","UserDetailsAdminLicense","UserInstruments","UserPublicSummary","./ApiClient","./api/AccountApi","./api/ClassApi","./api/CollectionApi","./api/GroupApi","./api/OrganizationApi","./api/ScoreApi","./api/UserApi","./model/Assignment","./model/AssignmentCopy","./model/AssignmentCreation","./model/AssignmentSubmission","./model/AssignmentSubmissionUpdate","./model/ClassAttachmentCreation","./model/ClassCreation","./model/ClassDetails","./model/ClassDetailsCanvas","./model/ClassDetailsClever","./model/ClassDetailsGoogleClassroom","./model/ClassDetailsGoogleDrive","./model/ClassDetailsLti","./model/ClassRoles","./model/ClassState","./model/ClassUpdate","./model/Collection","./model/CollectionCapabilities","./model/CollectionCreation","./model/CollectionModification","./model/CollectionPrivacy","./model/CollectionTitle","./model/CollectionType","./model/FlatErrorResponse","./model/FlatLocales","./model/GoogleClassroomCoursework","./model/GoogleClassroomSubmission","./model/Group","./model/GroupDetails","./model/GroupType","./model/LicenseMode","./model/LicenseSources","./model/LmsName","./model/LtiCredentials","./model/LtiCredentialsCreation","./model/MediaAttachment","./model/MediaScoreSharingMode","./model/OrganizationInvitation","./model/OrganizationInvitationCreation","./model/OrganizationRoles","./model/ResourceCollaborator","./model/ResourceCollaboratorCreation","./model/ResourceRights","./model/ResourceSharingKey","./model/ScoreComment","./model/ScoreCommentContext","./model/ScoreCommentCreation","./model/ScoreCommentUpdate","./model/ScoreCommentsCounts","./model/ScoreCreation","./model/ScoreCreationType","./model/ScoreData","./model/ScoreDataEncoding","./model/ScoreDetails","./model/ScoreFork","./model/ScoreLicense","./model/ScoreLikesCounts","./model/ScoreModification","./model/ScorePrivacy","./model/ScoreRevision","./model/ScoreRevisionCreation","./model/ScoreRevisionStatistics","./model/ScoreSource","./model/ScoreSummary","./model/ScoreTrack","./model/ScoreTrackCreation","./model/ScoreTrackPoint","./model/ScoreTrackState","./model/ScoreTrackType","./model/ScoreTrackUpdate","./model/ScoreViewsCounts","./model/UserAdminUpdate","./model/UserBasics","./model/UserCreation","./model/UserDetails","./model/UserDetailsAdmin","./model/UserDetailsAdminLicense","./model/UserInstruments","./model/UserPublic","./model/UserPublicSummary","25","StateEnum","draft","active","archived","./AssignmentSubmission","./GoogleClassroomCoursework","./MediaAttachment","26","classroom","27","./ClassAttachmentCreation","28","./GoogleClassroomSubmission","29","30","TypeEnum","flat","exercise","31","32","./ClassDetailsCanvas","./ClassDetailsClever","./ClassDetailsGoogleClassroom","./ClassDetailsGoogleDrive","./ClassDetailsLti","./ClassState","./GroupDetails","33","34","SubjectEnum","english/language arts","math","science","social studies","language","homeroom/advisory","interventions/online learning","technology and engineering","PE and health","arts and music","other","35","36","37","38","teacher","student","object","39","inactive","40","41","./CollectionCapabilities","./CollectionPrivacy","./CollectionTitle","./CollectionType","./ResourceCollaborator","./ResourceRights","./UserPublicSummary","42","43","title","44","45","private","46","47","regular","sharedWithMe","sharedWithGroup","trash","48","49","en","es","fr","it","pl","ro","nl","50","51","52","generic","classTeachers","classStudents","53","./GroupType","54","55","credit","site","56","order","trial","voucher","distributor","subscription","57","canvas","moodle","schoology","blackboard","desire2learn","sakai","58","./LmsName","59","lms","60","rich","photo","video","./MediaScoreSharingMode","61","62","./OrganizationRoles","63","64","admin","billing","65","./Group","./UserPublic","66","67","68","69","document","inline","./ScoreCommentContext","70","partUuid","staffIdx","measureUuids","startTimePos","stopTimePos","startDpq","stopDpq","71","72","73","74","privacy","./ScoreData","./ScoreDataEncoding","./ScorePrivacy","./ScoreSource","75","arrangement","76","77","78","./ScoreCommentsCounts","./ScoreCreationType","./ScoreLicense","./ScoreLikesCounts","./ScoreSummary","./ScoreViewsCounts","79","80","copyright","cc0","cc-by","cc-by-sa","cc-by-nd","cc-by-nc","cc-by-nc-sa","cc-by-nc-nd","81","82","./ResourceSharingKey","83","public","organizationPublic","privateLink","84","./ScoreRevisionStatistics","85","86","87","88","89","./ScoreTrackPoint","./ScoreTrackState","./ScoreTrackType","90","91","time","measure","92","completed","deleted","93","audio","soundcloud","youtube","vimeo","94","95","96","97","98","./FlatLocales","99","create","constructor","guest","./ClassRoles","./UserInstruments","100","./UserDetailsAdminLicense","101","./LicenseMode","./LicenseSources","102","setPrototypeOf","103","104","./UserBasics"],"mappings":"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"} \ No newline at end of file diff --git a/build/flat-api.min.js b/build/flat-api.min.js deleted file mode 100644 index 75b1e5e..0000000 --- a/build/flat-api.min.js +++ /dev/null @@ -1,9 +0,0 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){throw new Error("Invalid string. Length must be a multiple of 4")}return b64[len-2]==="="?2:b64[len-1]==="="?1:0}function byteLength(b64){return b64.length*3/4-placeHoldersCount(b64)}function toByteArray(b64){var i,j,l,tmp,placeHolders,arr;var len=b64.length;placeHolders=placeHoldersCount(b64);arr=new Arr(len*3/4-placeHolders);l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i>16&255;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}if(placeHolders===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[L++]=tmp&255}else if(placeHolders===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];output+=lookup[tmp>>2];output+=lookup[tmp<<4&63];output+="=="}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];output+=lookup[tmp>>10];output+=lookup[tmp>>4&63];output+=lookup[tmp<<2&63];output+="="}parts.push(output);return parts.join("")}},{}],2:[function(require,module,exports){},{}],3:[function(require,module,exports){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError("Invalid typed array length")}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new Error("If encoding is specified then the first argument must be a string")}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="number"){throw new TypeError('"value" argument must not be a number')}if(value instanceof ArrayBuffer){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="string"){return fromString(value,encodingOrOffset)}return fromObject(value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be a number')}else if(size<0){throw new RangeError('"size" argument must not be negative')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError('"encoding" must be a valid string encoding')}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){ -if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isArrayBufferView(obj){return typeof ArrayBuffer.isView==="function"&&ArrayBuffer.isView(obj)}function numberIsNaN(obj){return obj!==obj}},{"base64-js":1,ieee754:5}],4:[function(require,module,exports){if(typeof module!=="undefined"){module.exports=Emitter}function Emitter(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in Emitter.prototype){obj[key]=Emitter.prototype[key]}return obj}Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){this._callbacks=this._callbacks||{};(this._callbacks["$"+event]=this._callbacks["$"+event]||[]).push(fn);return this};Emitter.prototype.once=function(event,fn){function on(){this.off(event,on);fn.apply(this,arguments)}on.fn=fn;this.on(event,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var callbacks=this._callbacks["$"+event];if(!callbacks)return this;if(1==arguments.length){delete this._callbacks["$"+event];return this}var cb;for(var i=0;i>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],6:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],7:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i=0?"&":"?")+query}if(this._sort){var index=this.url.indexOf("?");if(index>=0){var queryArr=this.url.substring(index+1).split("&");if(isFunction(this._sort)){queryArr.sort(this._sort)}else{queryArr.sort()}this.url=this.url.substring(0,index)+"?"+queryArr.join("&")}}};Request.prototype._isHost=function _isHost(obj){return obj&&"object"===typeof obj&&!Array.isArray(obj)&&Object.prototype.toString.call(obj)!=="[object Object]"};Request.prototype.end=function(fn){if(this._endCalled){console.warn("Warning: .end() was called twice. This is not supported in superagent")}this._endCalled=true;this._callback=fn||noop;this._appendQueryString();return this._end()};Request.prototype._end=function(){var self=this;var xhr=this.xhr=request.getXHR();var data=this._formData||this._data;this._setTimeouts();xhr.onreadystatechange=function(){var readyState=xhr.readyState;if(readyState>=2&&self._responseTimeoutTimer){clearTimeout(self._responseTimeoutTimer)}if(4!=readyState){return}var status;try{status=xhr.status}catch(e){status=0}if(!status){if(self.timedout||self._aborted)return;return self.crossDomainError()}self.emit("end")};var handleProgress=function(direction,e){if(e.total>0){e.percent=e.loaded/e.total*100}e.direction=direction;self.emit("progress",e)};if(this.hasListeners("progress")){try{xhr.onprogress=handleProgress.bind(null,"download");if(xhr.upload){xhr.upload.onprogress=handleProgress.bind(null,"upload")}}catch(e){}}try{if(this.username&&this.password){xhr.open(this.method,this.url,true,this.username,this.password)}else{xhr.open(this.method,this.url,true)}}catch(err){return this.callback(err)}if(this._withCredentials)xhr.withCredentials=true;if(!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof data&&!this._isHost(data)){var contentType=this._header["content-type"];var serialize=this._serializer||request.serialize[contentType?contentType.split(";")[0]:""];if(!serialize&&isJSON(contentType)){serialize=request.serialize["application/json"]}if(serialize)data=serialize(data)}for(var field in this.header){if(null==this.header[field])continue;if(this.header.hasOwnProperty(field))xhr.setRequestHeader(field,this.header[field])}if(this._responseType){xhr.responseType=this._responseType}this.emit("request",this);xhr.send(typeof data!=="undefined"?data:null);return this};request.get=function(url,data,fn){var req=request("GET",url);if("function"==typeof data)fn=data,data=null;if(data)req.query(data);if(fn)req.end(fn);return req};request.head=function(url,data,fn){var req=request("HEAD",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req};request.options=function(url,data,fn){var req=request("OPTIONS",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req};function del(url,data,fn){var req=request("DELETE",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req}request["del"]=del;request["delete"]=del;request.patch=function(url,data,fn){var req=request("PATCH",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req};request.post=function(url,data,fn){var req=request("POST",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req};request.put=function(url,data,fn){var req=request("PUT",url);if("function"==typeof data)fn=data,data=null;if(data)req.send(data);if(fn)req.end(fn);return req}},{"./is-function":10,"./is-object":11,"./request-base":12,"./response-base":13,"./should-retry":14,"component-emitter":4}],10:[function(require,module,exports){var isObject=require("./is-object");function isFunction(fn){var tag=isObject(fn)?Object.prototype.toString.call(fn):"";return tag==="[object Function]"}module.exports=isFunction},{"./is-object":11}],11:[function(require,module,exports){function isObject(obj){return null!==obj&&"object"===typeof obj}module.exports=isObject},{}],12:[function(require,module,exports){var isObject=require("./is-object");module.exports=RequestBase;function RequestBase(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in RequestBase.prototype){obj[key]=RequestBase.prototype[key]}return obj}RequestBase.prototype.clearTimeout=function _clearTimeout(){clearTimeout(this._timer);clearTimeout(this._responseTimeoutTimer);delete this._timer;delete this._responseTimeoutTimer;return this};RequestBase.prototype.parse=function parse(fn){this._parser=fn;return this};RequestBase.prototype.responseType=function(val){this._responseType=val;return this};RequestBase.prototype.serialize=function serialize(fn){this._serializer=fn;return this};RequestBase.prototype.timeout=function timeout(options){if(!options||"object"!==typeof options){this._timeout=options;this._responseTimeout=0;return this}for(var option in options){switch(option){case"deadline":this._timeout=options.deadline;break;case"response":this._responseTimeout=options.response;break;default:console.warn("Unknown timeout option",option)}}return this};RequestBase.prototype.retry=function retry(count){if(arguments.length===0||count===true)count=1;if(count<=0)count=0;this._maxRetries=count;this._retries=0;return this};RequestBase.prototype._retry=function(){this.clearTimeout();if(this.req){this.req=null;this.req=this.request()}this._aborted=false;this.timedout=false;return this._end()};RequestBase.prototype.then=function then(resolve,reject){if(!this._fullfilledPromise){var self=this;if(this._endCalled){console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises")}this._fullfilledPromise=new Promise(function(innerResolve,innerReject){self.end(function(err,res){if(err)innerReject(err);else innerResolve(res)})})}return this._fullfilledPromise.then(resolve,reject)};RequestBase.prototype.catch=function(cb){return this.then(undefined,cb)};RequestBase.prototype.use=function use(fn){fn(this);return this};RequestBase.prototype.ok=function(cb){if("function"!==typeof cb)throw Error("Callback required");this._okCallback=cb;return this};RequestBase.prototype._isResponseOK=function(res){if(!res){return false}if(this._okCallback){return this._okCallback(res)}return res.status>=200&&res.status<300};RequestBase.prototype.get=function(field){return this._header[field.toLowerCase()]};RequestBase.prototype.getHeader=RequestBase.prototype.get;RequestBase.prototype.set=function(field,val){if(isObject(field)){for(var key in field){this.set(key,field[key])}return this}this._header[field.toLowerCase()]=val;this.header[field]=val;return this};RequestBase.prototype.unset=function(field){delete this._header[field.toLowerCase()];delete this.header[field];return this};RequestBase.prototype.field=function(name,val){if(null===name||undefined===name){throw new Error(".field(name, val) name can not be empty")}if(this._data){console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()")}if(isObject(name)){for(var key in name){this.field(key,name[key])}return this}if(Array.isArray(val)){for(var i in val){this.field(name,val[i])}return this}if(null===val||undefined===val){throw new Error(".field(name, val) val can not be empty")}if("boolean"===typeof val){val=""+val}this._getFormData().append(name,val);return this};RequestBase.prototype.abort=function(){if(this._aborted){return this}this._aborted=true;this.xhr&&this.xhr.abort();this.req&&this.req.abort();this.clearTimeout();this.emit("abort");return this};RequestBase.prototype.withCredentials=function(on){if(on==undefined)on=true;this._withCredentials=on;return this};RequestBase.prototype.redirects=function(n){this._maxRedirects=n;return this};RequestBase.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}};RequestBase.prototype.send=function(data){var isObj=isObject(data);var type=this._header["content-type"];if(this._formData){console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()")}if(isObj&&!this._data){if(Array.isArray(data)){this._data=[]}else if(!this._isHost(data)){this._data={}}}else if(data&&this._data&&this._isHost(this._data)){throw Error("Can't merge these send calls")}if(isObj&&isObject(this._data)){for(var key in data){this._data[key]=data[key]}}else if("string"==typeof data){if(!type)this.type("form");type=this._header["content-type"];if("application/x-www-form-urlencoded"==type){this._data=this._data?this._data+"&"+data:data}else{this._data=(this._data||"")+data}}else{this._data=data}if(!isObj||this._isHost(data)){return this}if(!type)this.type("json");return this};RequestBase.prototype.sortQuery=function(sort){this._sort=typeof sort==="undefined"?true:sort;return this};RequestBase.prototype._timeoutError=function(reason,timeout,errno){if(this._aborted){return}var err=new Error(reason+timeout+"ms exceeded");err.timeout=timeout;err.code="ECONNABORTED";err.errno=errno;this.timedout=true;this.abort();this.callback(err)};RequestBase.prototype._setTimeouts=function(){var self=this;if(this._timeout&&!this._timer){this._timer=setTimeout(function(){self._timeoutError("Timeout of ",self._timeout,"ETIME")},this._timeout)}if(this._responseTimeout&&!this._responseTimeoutTimer){this._responseTimeoutTimer=setTimeout(function(){self._timeoutError("Response timeout of ",self._responseTimeout,"ETIMEDOUT")},this._responseTimeout)}}},{"./is-object":11}],13:[function(require,module,exports){var utils=require("./utils");module.exports=ResponseBase;function ResponseBase(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in ResponseBase.prototype){obj[key]=ResponseBase.prototype[key]}return obj}ResponseBase.prototype.get=function(field){return this.header[field.toLowerCase()]};ResponseBase.prototype._setHeaderProperties=function(header){var ct=header["content-type"]||"";this.type=utils.type(ct);var params=utils.params(ct);for(var key in params)this[key]=params[key];this.links={};try{if(header.link){this.links=utils.parseLinks(header.link)}}catch(err){}};ResponseBase.prototype._setStatusProperties=function(status){var type=status/100|0;this.status=this.statusCode=status;this.statusType=type;this.info=1==type;this.ok=2==type;this.redirect=3==type;this.clientError=4==type;this.serverError=5==type;this.error=4==type||5==type?this.toError():false;this.accepted=202==status;this.noContent=204==status;this.badRequest=400==status;this.unauthorized=401==status;this.notAcceptable=406==status;this.forbidden=403==status;this.notFound=404==status}},{"./utils":15}],14:[function(require,module,exports){var ERROR_CODES=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];module.exports=function shouldRetry(err,res){if(err&&err.code&&~ERROR_CODES.indexOf(err.code))return true;if(res&&res.status&&res.status>=500)return true;if(err&&"timeout"in err&&err.code=="ECONNABORTED")return true;if(err&&"crossDomain"in err)return true;return false}},{}],15:[function(require,module,exports){exports.type=function(str){return str.split(/ *; */).shift()};exports.params=function(str){return str.split(/ *; */).reduce(function(obj,str){var parts=str.split(/ *= */);var key=parts.shift();var val=parts.shift();if(key&&val)obj[key]=val;return obj},{})};exports.parseLinks=function(str){return str.split(/ *, */).reduce(function(obj,str){var parts=str.split(/ *; */);var url=parts[0].slice(1,-1);var rel=parts[1].split(/ *= */)[1].slice(1,-1);obj[rel]=url;return obj},{})};exports.cleanHeader=function(header,shouldStripCookie){delete header["content-type"];delete header["content-length"];delete header["transfer-encoding"];delete header["host"];if(shouldStripCookie){delete header["cookie"]}return header}},{}],16:[function(require,module,exports){(function(Buffer){(function(root,factory){if(typeof define==="function"&&define.amd){define(["superagent","querystring"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("superagent"),require("querystring"))}else{if(!root.FlatApi){root.FlatApi={}}root.FlatApi.ApiClient=factory(root.superagent,root.querystring)}})(this,function(superagent,querystring){"use strict";var exports=function(){this.basePath="https://api.flat.io/v2".replace(/\/+$/,"");this.authentications={OAuth2:{type:"oauth2"}};this.defaultHeaders={};this.timeout=6e4;this.cache=true;this.enableCookies=false;if(typeof window==="undefined"){this.agent=new superagent.agent}this.requestAgent=null};exports.prototype.paramToString=function(param){if(param==undefined||param==null){return""}if(param instanceof Date){return param.toJSON()}return param.toString()};exports.prototype.buildUrl=function(path,pathParams){if(!path.match(/^\//)){path="/"+path}var url=this.basePath+path;var _this=this;url=url.replace(/\{([\w-]+)\}/g,function(fullMatch,key){var value;if(pathParams.hasOwnProperty(key)){value=_this.paramToString(pathParams[key])}else{value=fullMatch}return encodeURIComponent(value)});return url};exports.prototype.isJsonMime=function(contentType){return Boolean(contentType!=null&&contentType.match(/^application\/json(;.*)?$/i))};exports.prototype.jsonPreferredMime=function(contentTypes){for(var i=0;i setFlattenedQueryParams(urlSearchParams, item, key)); + } + else { + Object.keys(parameter).forEach(currentKey => + setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`) + ); + } + } + else { + if (urlSearchParams.has(key)) { + urlSearchParams.append(key, parameter); + } + else { + urlSearchParams.set(key, parameter); + } + } +} + +/** + * + * @export + */ +export const setSearchParams = function (url: URL, ...objects: any[]) { + const searchParams = new URLSearchParams(url.search); + setFlattenedQueryParams(searchParams, objects); + 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: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url}; + return axios.request(axiosRequestArgs); + }; +} diff --git a/configuration.ts b/configuration.ts new file mode 100644 index 0000000..b9ca9f2 --- /dev/null +++ b/configuration.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Flat API + * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user\'s scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat\'s API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) + * + * The version of the OpenAPI document: 2.20.0 + * Contact: developers@flat.io + * + * 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; + serverIndex?: number; + 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; + /** + * override server index + * + * @type {number} + * @memberof Configuration + */ + serverIndex?: number; + /** + * 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.serverIndex = param.serverIndex; + 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/docs/AccountApi.md b/docs/AccountApi.md deleted file mode 100644 index cef5d61..0000000 --- a/docs/AccountApi.md +++ /dev/null @@ -1,54 +0,0 @@ -# FlatApi.AccountApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getAuthenticatedUser**](AccountApi.md#getAuthenticatedUser) | **GET** /me | Get current user profile - - - -# **getAuthenticatedUser** -> UserDetails getAuthenticatedUser() - -Get current user profile - -Get details about the current authenticated User. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.AccountApi(); - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getAuthenticatedUser(callback); -``` - -### Parameters -This endpoint does not need any parameter. - -### Return type - -[**UserDetails**](UserDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/Assignment.md b/docs/Assignment.md deleted file mode 100644 index e6a7ea3..0000000 --- a/docs/Assignment.md +++ /dev/null @@ -1,31 +0,0 @@ -# FlatApi.Assignment - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**state** | **String** | State of the assignment | [optional] -**title** | **String** | Title of the assignment | [optional] -**classroom** | **String** | The unique identifier of the class where this assignment was posted | [optional] -**description** | **String** | Description and content of the assignment | [optional] -**attachments** | [**[MediaAttachment]**](MediaAttachment.md) | | [optional] -**submissions** | [**[AssignmentSubmission]**](AssignmentSubmission.md) | | [optional] -**creator** | **String** | The User unique identifier of the creator of this assignment | [optional] -**creationDate** | **Date** | The creation date of this assignment | [optional] -**scheduledDate** | **Date** | The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. | [optional] -**dueDate** | **Date** | The due date of this assignment, late submissions will be marked as paste due. | [optional] -**googleClassroom** | [**GoogleClassroomCoursework**](GoogleClassroomCoursework.md) | | [optional] - - - -## Enum: StateEnum - - -* `draft` (value: `"draft"`) - -* `active` (value: `"active"`) - -* `archived` (value: `"archived"`) - - - - diff --git a/docs/AssignmentCopy.md b/docs/AssignmentCopy.md deleted file mode 100644 index 52c4d54..0000000 --- a/docs/AssignmentCopy.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.AssignmentCopy - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**classroom** | **String** | The destination classroom where the assignment will be copied | - - diff --git a/docs/AssignmentCreation.md b/docs/AssignmentCreation.md deleted file mode 100644 index 35bdb23..0000000 --- a/docs/AssignmentCreation.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.AssignmentCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | **String** | Title of the assignment | [optional] -**description** | **String** | Description and content of the assignment | [optional] -**attachments** | [**[ClassAttachmentCreation]**](ClassAttachmentCreation.md) | | [optional] -**dueDate** | **Date** | The due date of this assignment, late submissions will be marked as paste due. If not set, the assignment won't have a due date. | [optional] -**scheduledDate** | **Date** | The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. | [optional] - - diff --git a/docs/AssignmentSubmission.md b/docs/AssignmentSubmission.md deleted file mode 100644 index a9769df..0000000 --- a/docs/AssignmentSubmission.md +++ /dev/null @@ -1,19 +0,0 @@ -# FlatApi.AssignmentSubmission - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Unique identifier of the submission | [optional] -**classroom** | **String** | Unique identifier of the classroom where the assignment was posted | [optional] -**assignment** | **String** | Unique identifier of the assignment | [optional] -**creator** | **String** | The User identifier of the student who created the submission | [optional] -**creationDate** | **String** | The date when the submission was created | [optional] -**attachments** | [**[MediaAttachment]**](MediaAttachment.md) | | [optional] -**submissionDate** | **String** | The date when the student submitted his work | [optional] -**studentComment** | **String** | An optionnal comment sent by the student when submitting his work | [optional] -**returnDate** | **String** | The date when the teacher returned the work | [optional] -**returnFeedback** | **String** | The feedback associated with the return | [optional] -**returnCreator** | **String** | The User unique identifier of the teacher who returned the submission | [optional] -**googleClassroom** | [**GoogleClassroomSubmission**](GoogleClassroomSubmission.md) | | [optional] - - diff --git a/docs/AssignmentSubmissionUpdate.md b/docs/AssignmentSubmissionUpdate.md deleted file mode 100644 index 96b01ab..0000000 --- a/docs/AssignmentSubmissionUpdate.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.AssignmentSubmissionUpdate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**attachments** | [**[ClassAttachmentCreation]**](ClassAttachmentCreation.md) | | [optional] -**studentComment** | **String** | An optionnal comment sent by the student when submitting his work | [optional] -**submit** | **Boolean** | If `true`, the submission will be marked as done | [optional] -**returnFeedback** | **String** | The feedback associated with the return | [optional] - - diff --git a/docs/ClassApi.md b/docs/ClassApi.md deleted file mode 100644 index 01db8e0..0000000 --- a/docs/ClassApi.md +++ /dev/null @@ -1,1034 +0,0 @@ -# FlatApi.ClassApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**activateClass**](ClassApi.md#activateClass) | **POST** /classes/{class}/activate | Activate the class -[**addClassUser**](ClassApi.md#addClassUser) | **PUT** /classes/{class}/users/{user} | Add a user to the class -[**archiveClass**](ClassApi.md#archiveClass) | **POST** /classes/{class}/archive | Archive the class -[**copyAssignment**](ClassApi.md#copyAssignment) | **POST** /classes/{class}/assignments/{assignment}/copy | Copy an assignment -[**createAssignment**](ClassApi.md#createAssignment) | **POST** /classes/{class}/assignments | Assignment creation -[**createClass**](ClassApi.md#createClass) | **POST** /classes | Create a new class -[**createSubmission**](ClassApi.md#createSubmission) | **PUT** /classes/{class}/assignments/{assignment}/submissions | Create or edit a submission -[**deleteClassUser**](ClassApi.md#deleteClassUser) | **DELETE** /classes/{class}/users/{user} | Remove a user from the class -[**editSubmission**](ClassApi.md#editSubmission) | **PUT** /classes/{class}/assignments/{assignment}/submissions/{submission} | Edit a submission -[**enrollClass**](ClassApi.md#enrollClass) | **POST** /classes/enroll/{enrollmentCode} | Join a class -[**getClass**](ClassApi.md#getClass) | **GET** /classes/{class} | Get the details of a single class -[**getScoreSubmissions**](ClassApi.md#getScoreSubmissions) | **GET** /scores/{score}/submissions | List submissions related to the score -[**getSubmission**](ClassApi.md#getSubmission) | **GET** /classes/{class}/assignments/{assignment}/submissions/{submission} | Get a student submission -[**getSubmissions**](ClassApi.md#getSubmissions) | **GET** /classes/{class}/assignments/{assignment}/submissions | List the students' submissions -[**listAssignments**](ClassApi.md#listAssignments) | **GET** /classes/{class}/assignments | Assignments listing -[**listClassStudentSubmissions**](ClassApi.md#listClassStudentSubmissions) | **GET** /classes/{class}/students/{user}/submissions | List the submissions for a student -[**listClasses**](ClassApi.md#listClasses) | **GET** /classes | List the classes available for the current user -[**unarchiveClass**](ClassApi.md#unarchiveClass) | **DELETE** /classes/{class}/archive | Unarchive the class -[**updateClass**](ClassApi.md#updateClass) | **PUT** /classes/{class} | Update the class - - - -# **activateClass** -> ClassDetails activateClass(_class) - -Activate the class - -Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.activateClass(_class, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **addClassUser** -> addClassUser(_class, user) - -Add a user to the class - -This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var user = "user_example"; // String | Unique identifier of the user - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.addClassUser(_class, user, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **user** | **String**| Unique identifier of the user | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **archiveClass** -> ClassDetails archiveClass(_class) - -Archive the class - -Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.archiveClass(_class, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **copyAssignment** -> Assignment copyAssignment(_class, assignment, body) - -Copy an assignment - -Copy an assignment to a specified class. If the original assignment has a due date in the past, this new assingment will be created without a due date. If the new class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var assignment = "assignment_example"; // String | Unique identifier of the assignment - -var body = new FlatApi.AssignmentCopy(); // AssignmentCopy | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.copyAssignment(_class, assignment, body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **assignment** | **String**| Unique identifier of the assignment | - **body** | [**AssignmentCopy**](AssignmentCopy.md)| | - -### Return type - -[**Assignment**](Assignment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createAssignment** -> Assignment createAssignment(_class, opts) - -Assignment creation - -Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var opts = { - 'body': new FlatApi.AssignmentCreation() // AssignmentCreation | -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createAssignment(_class, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **body** | [**AssignmentCreation**](AssignmentCreation.md)| | [optional] - -### Return type - -[**Assignment**](Assignment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createClass** -> ClassDetails createClass(body) - -Create a new class - -Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `POST /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var body = new FlatApi.ClassCreation(); // ClassCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createClass(body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**ClassCreation**](ClassCreation.md)| | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createSubmission** -> AssignmentSubmission createSubmission(_class, assignment, body) - -Create or edit a submission - -Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments`, `studentComment` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var assignment = "assignment_example"; // String | Unique identifier of the assignment - -var body = new FlatApi.AssignmentSubmissionUpdate(); // AssignmentSubmissionUpdate | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createSubmission(_class, assignment, body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **assignment** | **String**| Unique identifier of the assignment | - **body** | [**AssignmentSubmissionUpdate**](AssignmentSubmissionUpdate.md)| | - -### Return type - -[**AssignmentSubmission**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteClassUser** -> deleteClassUser(_class, user) - -Remove a user from the class - -This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var user = "user_example"; // String | Unique identifier of the user - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteClassUser(_class, user, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **user** | **String**| Unique identifier of the user | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **editSubmission** -> AssignmentSubmission editSubmission(_class, assignment, submission, body) - -Edit a submission - -Use this method as a teacher to update the different submission and give feedback. Teachers can only set `returnFeedback` - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var assignment = "assignment_example"; // String | Unique identifier of the assignment - -var submission = "submission_example"; // String | Unique identifier of the submission - -var body = new FlatApi.AssignmentSubmissionUpdate(); // AssignmentSubmissionUpdate | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.editSubmission(_class, assignment, submission, body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **assignment** | **String**| Unique identifier of the assignment | - **submission** | **String**| Unique identifier of the submission | - **body** | [**AssignmentSubmissionUpdate**](AssignmentSubmissionUpdate.md)| | - -### Return type - -[**AssignmentSubmission**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **enrollClass** -> ClassDetails enrollClass(enrollmentCode) - -Join a class - -Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var enrollmentCode = "enrollmentCode_example"; // String | The enrollment code, available to the teacher in `ClassDetails` - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.enrollClass(enrollmentCode, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enrollmentCode** | **String**| The enrollment code, available to the teacher in `ClassDetails` | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getClass** -> ClassDetails getClass(_class) - -Get the details of a single class - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getClass(_class, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreSubmissions** -> [AssignmentSubmission] getScoreSubmissions(score) - -List submissions related to the score - -This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreSubmissions(score, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - -### Return type - -[**[AssignmentSubmission]**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getSubmission** -> AssignmentSubmission getSubmission(_class, assignment, submission) - -Get a student submission - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var assignment = "assignment_example"; // String | Unique identifier of the assignment - -var submission = "submission_example"; // String | Unique identifier of the submission - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getSubmission(_class, assignment, submission, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **assignment** | **String**| Unique identifier of the assignment | - **submission** | **String**| Unique identifier of the submission | - -### Return type - -[**AssignmentSubmission**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getSubmissions** -> [AssignmentSubmission] getSubmissions(_class, assignment) - -List the students' submissions - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var assignment = "assignment_example"; // String | Unique identifier of the assignment - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getSubmissions(_class, assignment, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **assignment** | **String**| Unique identifier of the assignment | - -### Return type - -[**[AssignmentSubmission]**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listAssignments** -> [Assignment] listAssignments(_class) - -Assignments listing - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listAssignments(_class, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - -### Return type - -[**[Assignment]**](Assignment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listClassStudentSubmissions** -> [AssignmentSubmission] listClassStudentSubmissions(_class, user) - -List the submissions for a student - -Use this method as a teacher to list all the assignment submissions sent by a student of the class - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var user = "user_example"; // String | Unique identifier of the user - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listClassStudentSubmissions(_class, user, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **user** | **String**| Unique identifier of the user | - -### Return type - -[**[AssignmentSubmission]**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listClasses** -> [ClassDetails] listClasses(opts) - -List the classes available for the current user - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var opts = { - 'state': "active" // String | Filter the classes by state -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listClasses(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **state** | **String**| Filter the classes by state | [optional] [default to active] - -### Return type - -[**[ClassDetails]**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **unarchiveClass** -> ClassDetails unarchiveClass(_class) - -Unarchive the class - -Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.unarchiveClass(_class, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **updateClass** -> ClassDetails updateClass(_class, opts) - -Update the class - -Update the meta information of the class - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ClassApi(); - -var _class = "_class_example"; // String | Unique identifier of the class - -var opts = { - 'body': new FlatApi.ClassUpdate() // ClassUpdate | Details of the Class -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.updateClass(_class, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **_class** | **String**| Unique identifier of the class | - **body** | [**ClassUpdate**](ClassUpdate.md)| Details of the Class | [optional] - -### Return type - -[**ClassDetails**](ClassDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/ClassAttachmentCreation.md b/docs/ClassAttachmentCreation.md deleted file mode 100644 index 3e1c5db..0000000 --- a/docs/ClassAttachmentCreation.md +++ /dev/null @@ -1,23 +0,0 @@ -# FlatApi.ClassAttachmentCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **String** | The type of the attachment posted | [optional] -**score** | **String** | A unique Flat score identifier. The user creating the assignment must at least have read access to the document. If the user has admin rights, new group permissions will be automatically added for the teachers and students of the class. | [optional] -**url** | **String** | The URL of the attachment. | [optional] - - - -## Enum: TypeEnum - - -* `flat` (value: `"flat"`) - -* `link` (value: `"link"`) - -* `exercise` (value: `"exercise"`) - - - - diff --git a/docs/ClassCreation.md b/docs/ClassCreation.md deleted file mode 100644 index 37a30e8..0000000 --- a/docs/ClassCreation.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.ClassCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **String** | The name of the new class | -**section** | **String** | The section of the new class | [optional] - - diff --git a/docs/ClassDetails.md b/docs/ClassDetails.md deleted file mode 100644 index f6e94a7..0000000 --- a/docs/ClassDetails.md +++ /dev/null @@ -1,25 +0,0 @@ -# FlatApi.ClassDetails - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the class | [optional] -**state** | [**ClassState**](ClassState.md) | | [optional] -**name** | **String** | The name of the class | [optional] -**section** | **String** | The section of the class | [optional] -**description** | **String** | An optionnal description for this class | [optional] -**organization** | **String** | The unique identifier of the Organization owning this class | [optional] -**owner** | **String** | The unique identifier of the User owning this class | [optional] -**creationDate** | **Date** | The date when the class was create | [optional] -**enrollmentCode** | **String** | [Teachers only] The enrollment code that can be used by the students to join the class | [optional] -**theme** | **String** | The theme identifier using in Flat User Interface | [optional] -**assignmentsCount** | **Number** | The number of assignments created in the class | [optional] -**studentsGroup** | [**GroupDetails**](GroupDetails.md) | | [optional] -**teachersGroup** | [**GroupDetails**](GroupDetails.md) | | [optional] -**googleClassroom** | [**ClassDetailsGoogleClassroom**](ClassDetailsGoogleClassroom.md) | | [optional] -**googleDrive** | [**ClassDetailsGoogleDrive**](ClassDetailsGoogleDrive.md) | | [optional] -**lti** | [**ClassDetailsLti**](ClassDetailsLti.md) | | [optional] -**canvas** | [**ClassDetailsCanvas**](ClassDetailsCanvas.md) | | [optional] -**clever** | [**ClassDetailsClever**](ClassDetailsClever.md) | | [optional] - - diff --git a/docs/ClassDetailsCanvas.md b/docs/ClassDetailsCanvas.md deleted file mode 100644 index 4f07b0b..0000000 --- a/docs/ClassDetailsCanvas.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.ClassDetailsCanvas - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Unique identifier of the course on Canvas | [optional] -**domain** | **String** | Canvas instance domain (e.g. \"canvas.instructure.com\") | [optional] - - diff --git a/docs/ClassDetailsClever.md b/docs/ClassDetailsClever.md deleted file mode 100644 index a14f731..0000000 --- a/docs/ClassDetailsClever.md +++ /dev/null @@ -1,43 +0,0 @@ -# FlatApi.ClassDetailsClever - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Clever section unique identifier | [optional] -**creationDate** | **Date** | The creation date of the section on clever | [optional] -**modificationDate** | **Date** | The last modification date of the section on clever | [optional] -**subject** | **String** | Normalized subject of the course | [optional] -**termName** | **String** | Name of the term when this course happens | [optional] -**termStartDate** | **Date** | Beginning date of the term | [optional] -**termEndDate** | **Date** | End date of the term | [optional] - - - -## Enum: SubjectEnum - - -* `english/language arts` (value: `"english/language arts"`) - -* `math` (value: `"math"`) - -* `science` (value: `"science"`) - -* `social studies` (value: `"social studies"`) - -* `language` (value: `"language"`) - -* `homeroom/advisory` (value: `"homeroom/advisory"`) - -* `interventions/online learning` (value: `"interventions/online learning"`) - -* `technology and engineering` (value: `"technology and engineering"`) - -* `PE and health` (value: `"PE and health"`) - -* `arts and music` (value: `"arts and music"`) - -* `other` (value: `"other"`) - - - - diff --git a/docs/ClassDetailsGoogleClassroom.md b/docs/ClassDetailsGoogleClassroom.md deleted file mode 100644 index f199643..0000000 --- a/docs/ClassDetailsGoogleClassroom.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.ClassDetailsGoogleClassroom - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The course identifier on Google Classroom | [optional] -**alternateLink** | **String** | Absolute link to this course in the Classroom web UI | [optional] -**name** | **String** | The name of the course on Google Classroom | [optional] -**section** | **String** | The section of the course on Google Classroom | [optional] - - diff --git a/docs/ClassDetailsGoogleDrive.md b/docs/ClassDetailsGoogleDrive.md deleted file mode 100644 index 4ae2798..0000000 --- a/docs/ClassDetailsGoogleDrive.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.ClassDetailsGoogleDrive - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**teacherFolderId** | **String** | [Teachers only] The Drive directory identifier of the teachers' folder | [optional] -**teacherFolderAlternateLink** | **String** | [Teachers only] The Drive URL of the teachers' folder | [optional] - - diff --git a/docs/ClassDetailsLti.md b/docs/ClassDetailsLti.md deleted file mode 100644 index c023508..0000000 --- a/docs/ClassDetailsLti.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.ClassDetailsLti - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**contextId** | **String** | Unique context identifier provided | [optional] -**contextTitle** | **String** | Context title | [optional] -**contextLabel** | **String** | Context label | [optional] - - diff --git a/docs/ClassRoles.md b/docs/ClassRoles.md deleted file mode 100644 index 5f480ef..0000000 --- a/docs/ClassRoles.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.ClassRoles - -## Enum - - -* `teacher` (value: `"teacher"`) - -* `student` (value: `"student"`) - - diff --git a/docs/ClassState.md b/docs/ClassState.md deleted file mode 100644 index 30e8f7e..0000000 --- a/docs/ClassState.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.ClassState - -## Enum - - -* `active` (value: `"active"`) - -* `inactive` (value: `"inactive"`) - -* `archived` (value: `"archived"`) - - diff --git a/docs/ClassUpdate.md b/docs/ClassUpdate.md deleted file mode 100644 index 4b39337..0000000 --- a/docs/ClassUpdate.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.ClassUpdate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **String** | The name of the class | [optional] -**section** | **String** | The section of the class | [optional] - - diff --git a/docs/Collection.md b/docs/Collection.md deleted file mode 100644 index d7f1909..0000000 --- a/docs/Collection.md +++ /dev/null @@ -1,18 +0,0 @@ -# FlatApi.Collection - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Unique identifier of the collection | [optional] -**title** | [**CollectionTitle**](CollectionTitle.md) | | [optional] -**htmlUrl** | **String** | The url where the collection can be viewed in a web browser | [optional] -**type** | [**CollectionType**](CollectionType.md) | | [optional] -**privacy** | [**CollectionPrivacy**](CollectionPrivacy.md) | | [optional] -**sharingKey** | **String** | The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`) | [optional] -**app** | **String** | If this directory is dedicated to an app, the unique idenfier of this app | [optional] -**user** | [**UserPublicSummary**](UserPublicSummary.md) | | [optional] -**rights** | [**ResourceRights**](ResourceRights.md) | | [optional] -**collaborators** | [**[ResourceCollaborator]**](ResourceCollaborator.md) | The list of the collaborators of the collection | [optional] -**capabilities** | [**CollectionCapabilities**](CollectionCapabilities.md) | | [optional] - - diff --git a/docs/CollectionApi.md b/docs/CollectionApi.md deleted file mode 100644 index a0dd5f8..0000000 --- a/docs/CollectionApi.md +++ /dev/null @@ -1,515 +0,0 @@ -# FlatApi.CollectionApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**addScoreToCollection**](CollectionApi.md#addScoreToCollection) | **PUT** /collections/{collection}/scores/{score} | Add a score to the collection -[**createCollection**](CollectionApi.md#createCollection) | **POST** /collections | Create a new collection -[**deleteCollection**](CollectionApi.md#deleteCollection) | **DELETE** /collections/{collection} | Delete the collection -[**deleteScoreFromCollection**](CollectionApi.md#deleteScoreFromCollection) | **DELETE** /collections/{collection}/scores/{score} | Delete a score from the collection -[**editCollection**](CollectionApi.md#editCollection) | **PUT** /collections/{collection} | Update a collection's metadata -[**getCollection**](CollectionApi.md#getCollection) | **GET** /collections/{collection} | Get collection details -[**listCollectionScores**](CollectionApi.md#listCollectionScores) | **GET** /collections/{collection}/scores | List the scores contained in a collection -[**listCollections**](CollectionApi.md#listCollections) | **GET** /collections | List the collections -[**untrashCollection**](CollectionApi.md#untrashCollection) | **POST** /collections/{collection}/untrash | Untrash a collection - - - -# **addScoreToCollection** -> ScoreDetails addScoreToCollection(collection, score, opts) - -Add a score to the collection - -This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.addScoreToCollection(collection, score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreDetails**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createCollection** -> Collection createCollection(body) - -Create a new collection - -This method will create a new collection and add it to your `root` collection. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var body = new FlatApi.CollectionCreation(); // CollectionCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createCollection(body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**CollectionCreation**](CollectionCreation.md)| | - -### Return type - -[**Collection**](Collection.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteCollection** -> deleteCollection(collection, ) - -Delete the collection - -This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteCollection(collection, , callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteScoreFromCollection** -> deleteScoreFromCollection(collection, score) - -Delete a score from the collection - -This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteScoreFromCollection(collection, score, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **editCollection** -> Collection editCollection(collection, , opts) - -Update a collection's metadata - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - -var opts = { - 'body': new FlatApi.CollectionModification() // CollectionModification | -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.editCollection(collection, , opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - **body** | [**CollectionModification**](CollectionModification.md)| | [optional] - -### Return type - -[**Collection**](Collection.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getCollection** -> Collection getCollection(collection, , opts) - -Get collection details - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getCollection(collection, , opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**Collection**](Collection.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listCollectionScores** -> [ScoreDetails] listCollectionScores(collection, , opts) - -List the scores contained in a collection - -Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - 'sort': "sort_example", // String | Sort - 'direction': "direction_example", // String | Sort direction - 'limit': 25, // Number | This is the maximum number of objects that may be returned - 'next': "next_example", // String | An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - 'previous': "previous_example" // String | An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listCollectionScores(collection, , opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - **sort** | **String**| Sort | [optional] - **direction** | **String**| Sort direction | [optional] - **limit** | **Number**| This is the maximum number of objects that may be returned | [optional] [default to 25] - **next** | **String**| An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - **previous** | **String**| An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listCollections** -> [Collection] listCollections(opts) - -List the collections - -Use this method to list the user's collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var opts = { - 'parent': "root", // String | List the collection contained in this `parent` collection. This option doesn't provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. - 'sort': "sort_example", // String | Sort - 'direction': "direction_example", // String | Sort direction - 'limit': 25, // Number | This is the maximum number of objects that may be returned - 'next': "next_example", // String | An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - 'previous': "previous_example" // String | An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listCollections(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **parent** | **String**| List the collection contained in this `parent` collection. This option doesn't provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. | [optional] [default to root] - **sort** | **String**| Sort | [optional] - **direction** | **String**| Sort direction | [optional] - **limit** | **Number**| This is the maximum number of objects that may be returned | [optional] [default to 25] - **next** | **String**| An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - **previous** | **String**| An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - -### Return type - -[**[Collection]**](Collection.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **untrashCollection** -> untrashCollection(collection, ) - -Untrash a collection - -This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.CollectionApi(); - -var collection = "collection_example"; // String | Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.untrashCollection(collection, , callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **collection** | **String**| Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/CollectionCapabilities.md b/docs/CollectionCapabilities.md deleted file mode 100644 index bd59481..0000000 --- a/docs/CollectionCapabilities.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.CollectionCapabilities - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**canEdit** | **Boolean** | Whether the current user can modify the metadata for the collection | [optional] -**canShare** | **Boolean** | Whether the current user can modify the sharing settings for the collection | [optional] -**canDelete** | **Boolean** | Whether the current user can delete the collection | [optional] -**canAddScores** | **Boolean** | Whether the current user can add scores to the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `DELETE /v2/scores/{score}` to trash a score. | [optional] -**canDeleteScores** | **Boolean** | Whether the current user can delete scores from the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `POST /v2/scores/{score}/untrash` to restore a score. | [optional] - - diff --git a/docs/CollectionCreation.md b/docs/CollectionCreation.md deleted file mode 100644 index 605c4f4..0000000 --- a/docs/CollectionCreation.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.CollectionCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | [**CollectionTitle**](CollectionTitle.md) | | - - diff --git a/docs/CollectionModification.md b/docs/CollectionModification.md deleted file mode 100644 index 4263570..0000000 --- a/docs/CollectionModification.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.CollectionModification - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | [**CollectionTitle**](CollectionTitle.md) | | [optional] - - diff --git a/docs/CollectionPrivacy.md b/docs/CollectionPrivacy.md deleted file mode 100644 index 5b38f19..0000000 --- a/docs/CollectionPrivacy.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.CollectionPrivacy - -## Enum - - -* `private` (value: `"private"`) - - diff --git a/docs/CollectionTitle.md b/docs/CollectionTitle.md deleted file mode 100644 index bc5ff6c..0000000 --- a/docs/CollectionTitle.md +++ /dev/null @@ -1,7 +0,0 @@ -# FlatApi.CollectionTitle - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - - diff --git a/docs/CollectionType.md b/docs/CollectionType.md deleted file mode 100644 index aedd18c..0000000 --- a/docs/CollectionType.md +++ /dev/null @@ -1,16 +0,0 @@ -# FlatApi.CollectionType - -## Enum - - -* `root` (value: `"root"`) - -* `regular` (value: `"regular"`) - -* `sharedWithMe` (value: `"sharedWithMe"`) - -* `sharedWithGroup` (value: `"sharedWithGroup"`) - -* `trash` (value: `"trash"`) - - diff --git a/docs/FlatErrorResponse.md b/docs/FlatErrorResponse.md deleted file mode 100644 index 4c94fc0..0000000 --- a/docs/FlatErrorResponse.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.FlatErrorResponse - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**code** | **String** | A corresponding code for this error | [optional] -**message** | **String** | A printable message for this message | [optional] -**id** | **String** | An unique error identifier generated for the request | [optional] -**param** | **String** | The related parameter that caused the error | [optional] - - diff --git a/docs/FlatLocales.md b/docs/FlatLocales.md deleted file mode 100644 index 8b87f17..0000000 --- a/docs/FlatLocales.md +++ /dev/null @@ -1,20 +0,0 @@ -# FlatApi.FlatLocales - -## Enum - - -* `en` (value: `"en"`) - -* `es` (value: `"es"`) - -* `fr` (value: `"fr"`) - -* `it` (value: `"it"`) - -* `pl` (value: `"pl"`) - -* `ro` (value: `"ro"`) - -* `nl` (value: `"nl"`) - - diff --git a/docs/GoogleClassroomCoursework.md b/docs/GoogleClassroomCoursework.md deleted file mode 100644 index b77b31e..0000000 --- a/docs/GoogleClassroomCoursework.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.GoogleClassroomCoursework - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Identifier of the coursework assigned by Classroom | [optional] -**state** | **String** | State of the coursework | [optional] -**alternateLink** | **String** | Absolute link to this coursework in the Classroom web UI | [optional] - - diff --git a/docs/GoogleClassroomSubmission.md b/docs/GoogleClassroomSubmission.md deleted file mode 100644 index 6481982..0000000 --- a/docs/GoogleClassroomSubmission.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.GoogleClassroomSubmission - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Identifier of the coursework submission assigned by Classroom | [optional] -**state** | **String** | State of the submission on Google Classroom | [optional] -**alternateLink** | **String** | Absolute link to this coursework in the Classroom web UI | [optional] - - diff --git a/docs/Group.md b/docs/Group.md deleted file mode 100644 index b9f6fb0..0000000 --- a/docs/Group.md +++ /dev/null @@ -1,27 +0,0 @@ -# FlatApi.Group - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the group | [optional] -**name** | **String** | The display name of the group | [optional] -**type** | **String** | The type of the group: * `generic`: A group created by a Flat user * `classTeachers`: A group created automaticaly by Flat that contains the teachers of a class * `classStudents`: A group created automaticaly by Flat that contains the studnets of a class | [optional] -**usersCount** | **Number** | The number of users in this group | [optional] -**readOnly** | **Boolean** | `True` if the group is set in read-only | [optional] -**organization** | **String** | If the group is related to an organization, this field will contain the unique identifier of the organization | [optional] -**creationDate** | **Date** | The creation date of the group | [optional] - - - -## Enum: TypeEnum - - -* `generic` (value: `"generic"`) - -* `classTeachers` (value: `"classTeachers"`) - -* `classStudents` (value: `"classStudents"`) - - - - diff --git a/docs/GroupApi.md b/docs/GroupApi.md deleted file mode 100644 index d6301cc..0000000 --- a/docs/GroupApi.md +++ /dev/null @@ -1,164 +0,0 @@ -# FlatApi.GroupApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getGroupDetails**](GroupApi.md#getGroupDetails) | **GET** /groups/{group} | Get group information -[**getGroupScores**](GroupApi.md#getGroupScores) | **GET** /groups/{group}/scores | List group's scores -[**listGroupUsers**](GroupApi.md#listGroupUsers) | **GET** /groups/{group}/users | List group's users - - - -# **getGroupDetails** -> GroupDetails getGroupDetails(group) - -Get group information - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.GroupApi(); - -var group = "group_example"; // String | Unique identifier of a Flat group - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getGroupDetails(group, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **group** | **String**| Unique identifier of a Flat group | - -### Return type - -[**GroupDetails**](GroupDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getGroupScores** -> [ScoreDetails] getGroupScores(group, opts) - -List group's scores - -Get the list of scores shared with a group. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.GroupApi(); - -var group = "group_example"; // String | Unique identifier of a Flat group - -var opts = { - 'parent': "parent_example" // String | Filter the score forked from the score id `parent` -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getGroupScores(group, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **group** | **String**| Unique identifier of a Flat group | - **parent** | **String**| Filter the score forked from the score id `parent` | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listGroupUsers** -> [UserPublic] listGroupUsers(group) - -List group's users - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.GroupApi(); - -var group = "group_example"; // String | Unique identifier of a Flat group - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listGroupUsers(group, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **group** | **String**| Unique identifier of a Flat group | - -### Return type - -[**[UserPublic]**](UserPublic.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/GroupDetails.md b/docs/GroupDetails.md deleted file mode 100644 index 2bb99a3..0000000 --- a/docs/GroupDetails.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.GroupDetails - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the group | [optional] -**name** | **String** | The displayable name of the group | [optional] -**type** | [**GroupType**](GroupType.md) | | [optional] -**organization** | **String** | The unique identifier of the Organization owning the group | [optional] -**creationDate** | **Date** | The date when the group was create | [optional] -**usersCount** | **Number** | The number of students in this group | [optional] -**readOnly** | **Boolean** | `true` if the properties and members of this group are in in read-only | [optional] - - diff --git a/docs/GroupType.md b/docs/GroupType.md deleted file mode 100644 index 096acdd..0000000 --- a/docs/GroupType.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.GroupType - -## Enum - - -* `generic` (value: `"generic"`) - -* `classTeachers` (value: `"classTeachers"`) - -* `classStudents` (value: `"classStudents"`) - - diff --git a/docs/LicenseMode.md b/docs/LicenseMode.md deleted file mode 100644 index 49e1982..0000000 --- a/docs/LicenseMode.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.LicenseMode - -## Enum - - -* `credit` (value: `"credit"`) - -* `site` (value: `"site"`) - - diff --git a/docs/LicenseSources.md b/docs/LicenseSources.md deleted file mode 100644 index e887b11..0000000 --- a/docs/LicenseSources.md +++ /dev/null @@ -1,16 +0,0 @@ -# FlatApi.LicenseSources - -## Enum - - -* `order` (value: `"order"`) - -* `trial` (value: `"trial"`) - -* `voucher` (value: `"voucher"`) - -* `distributor` (value: `"distributor"`) - -* `subscription` (value: `"subscription"`) - - diff --git a/docs/LmsName.md b/docs/LmsName.md deleted file mode 100644 index f773c28..0000000 --- a/docs/LmsName.md +++ /dev/null @@ -1,20 +0,0 @@ -# FlatApi.LmsName - -## Enum - - -* `canvas` (value: `"canvas"`) - -* `moodle` (value: `"moodle"`) - -* `schoology` (value: `"schoology"`) - -* `blackboard` (value: `"blackboard"`) - -* `desire2learn` (value: `"desire2learn"`) - -* `sakai` (value: `"sakai"`) - -* `other` (value: `"other"`) - - diff --git a/docs/LtiCredentials.md b/docs/LtiCredentials.md deleted file mode 100644 index 401729f..0000000 --- a/docs/LtiCredentials.md +++ /dev/null @@ -1,16 +0,0 @@ -# FlatApi.LtiCredentials - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of this couple of credentials | [optional] -**name** | **String** | Name of the couple of credentials | [optional] -**lms** | [**LmsName**](LmsName.md) | | [optional] -**organization** | **String** | The unique identifier of the Organization associated to these credentials | [optional] -**creator** | **String** | Unique identifier of the user who created these credentials | [optional] -**creationDate** | **Date** | The creation date of thse credentials | [optional] -**lastUsage** | **Date** | The last time these credentials were used | [optional] -**consumerKey** | **String** | OAuth 1 Consumer Key | [optional] -**consumerSecret** | **String** | OAuth 1 Consumer Secret | [optional] - - diff --git a/docs/LtiCredentialsCreation.md b/docs/LtiCredentialsCreation.md deleted file mode 100644 index bfb367f..0000000 --- a/docs/LtiCredentialsCreation.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.LtiCredentialsCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **String** | Name of the couple of credentials | -**lms** | [**LmsName**](LmsName.md) | | - - diff --git a/docs/MediaAttachment.md b/docs/MediaAttachment.md deleted file mode 100644 index e530649..0000000 --- a/docs/MediaAttachment.md +++ /dev/null @@ -1,42 +0,0 @@ -# FlatApi.MediaAttachment - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **String** | The type of the assignment resolved: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property. | [optional] -**score** | **String** | An unique Flat score identifier | [optional] -**revision** | **String** | An unique revision identifier of a score | [optional] -**correct** | **Boolean** | If the attachment is an exercise question, this state will describe if it is correct or not.For exercise assignments only. | [optional] -**sharingMode** | [**MediaScoreSharingMode**](MediaScoreSharingMode.md) | | [optional] -**title** | **String** | The resolved title of the attachment | [optional] -**description** | **String** | The resolved description of the attachment | [optional] -**html** | **String** | If the attachment type is `rich` or `video`, the HTML code of the media to display | [optional] -**htmlWidth** | **String** | If the `html` is available, the width of the widget | [optional] -**htmlHeight** | **String** | If the `html` is available, the height of the widget | [optional] -**url** | **String** | The url of the attachment | [optional] -**thumbnailUrl** | **String** | If the attachment type is `rich`, `video`, `photo` or `link`, a displayable thumbnail for this attachment | [optional] -**thumbnailWidth** | **String** | If the `thumbnailUrl` is available, the width of the thumbnail | [optional] -**thumbnailHeight** | **String** | If the `thumbnailUrl` is available, the width of the thumbnail | [optional] -**authorName** | **String** | The resolved author name of the attachment | [optional] -**authorUrl** | **String** | The resolved author url of the attachment | [optional] - - - -## Enum: TypeEnum - - -* `rich` (value: `"rich"`) - -* `photo` (value: `"photo"`) - -* `video` (value: `"video"`) - -* `link` (value: `"link"`) - -* `flat` (value: `"flat"`) - -* `exercise` (value: `"exercise"`) - - - - diff --git a/docs/MediaScoreSharingMode.md b/docs/MediaScoreSharingMode.md deleted file mode 100644 index 9f5fc81..0000000 --- a/docs/MediaScoreSharingMode.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.MediaScoreSharingMode - -## Enum - - -* `read` (value: `"read"`) - -* `write` (value: `"write"`) - -* `copy` (value: `"copy"`) - - diff --git a/docs/OrganizationApi.md b/docs/OrganizationApi.md deleted file mode 100644 index 2d51b57..0000000 --- a/docs/OrganizationApi.md +++ /dev/null @@ -1,531 +0,0 @@ -# FlatApi.OrganizationApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**createLtiCredentials**](OrganizationApi.md#createLtiCredentials) | **POST** /organizations/lti/credentials | Create a new couple of LTI 1.x credentials -[**createOrganizationInvitation**](OrganizationApi.md#createOrganizationInvitation) | **POST** /organizations/invitations | Create a new invitation to join the organization -[**createOrganizationUser**](OrganizationApi.md#createOrganizationUser) | **POST** /organizations/users | Create a new user account -[**listLtiCredentials**](OrganizationApi.md#listLtiCredentials) | **GET** /organizations/lti/credentials | List LTI 1.x credentials -[**listOrganizationInvitations**](OrganizationApi.md#listOrganizationInvitations) | **GET** /organizations/invitations | List the organization invitations -[**listOrganizationUsers**](OrganizationApi.md#listOrganizationUsers) | **GET** /organizations/users | List the organization users -[**removeOrganizationInvitation**](OrganizationApi.md#removeOrganizationInvitation) | **DELETE** /organizations/invitations/{invitation} | Remove an organization invitation -[**removeOrganizationUser**](OrganizationApi.md#removeOrganizationUser) | **DELETE** /organizations/users/{user} | Remove an account from Flat -[**revokeLtiCredentials**](OrganizationApi.md#revokeLtiCredentials) | **DELETE** /organizations/lti/credentials/{credentials} | Revoke LTI 1.x credentials -[**updateOrganizationUser**](OrganizationApi.md#updateOrganizationUser) | **PUT** /organizations/users/{user} | Update account information - - - -# **createLtiCredentials** -> LtiCredentials createLtiCredentials(body) - -Create a new couple of LTI 1.x credentials - -Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var body = new FlatApi.LtiCredentialsCreation(); // LtiCredentialsCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createLtiCredentials(body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**LtiCredentialsCreation**](LtiCredentialsCreation.md)| | - -### Return type - -[**LtiCredentials**](LtiCredentials.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createOrganizationInvitation** -> OrganizationInvitation createOrganizationInvitation(opts) - -Create a new invitation to join the organization - -This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won't send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var opts = { - 'body': new FlatApi.OrganizationInvitationCreation() // OrganizationInvitationCreation | -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createOrganizationInvitation(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**OrganizationInvitationCreation**](OrganizationInvitationCreation.md)| | [optional] - -### Return type - -[**OrganizationInvitation**](OrganizationInvitation.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createOrganizationUser** -> UserDetailsAdmin createOrganizationUser(opts) - -Create a new user account - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var opts = { - 'body': new FlatApi.UserCreation() // UserCreation | -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createOrganizationUser(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**UserCreation**](UserCreation.md)| | [optional] - -### Return type - -[**UserDetailsAdmin**](UserDetailsAdmin.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listLtiCredentials** -> [LtiCredentials] listLtiCredentials() - -List LTI 1.x credentials - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listLtiCredentials(callback); -``` - -### Parameters -This endpoint does not need any parameter. - -### Return type - -[**[LtiCredentials]**](LtiCredentials.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listOrganizationInvitations** -> [OrganizationInvitation] listOrganizationInvitations(opts) - -List the organization invitations - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var opts = { - 'role': "role_example", // String | Filter users by role - 'limit': 50, // Number | This is the maximum number of objects that may be returned - 'next': "next_example", // String | An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - 'previous': "previous_example" // String | An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listOrganizationInvitations(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **role** | **String**| Filter users by role | [optional] - **limit** | **Number**| This is the maximum number of objects that may be returned | [optional] [default to 50] - **next** | **String**| An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - **previous** | **String**| An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - -### Return type - -[**[OrganizationInvitation]**](OrganizationInvitation.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listOrganizationUsers** -> [UserDetailsAdmin] listOrganizationUsers(opts) - -List the organization users - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var opts = { - 'role': "role_example", // String | Filter users by role - 'limit': 50, // Number | This is the maximum number of objects that may be returned - 'next': "next_example", // String | An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - 'previous': "previous_example" // String | An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listOrganizationUsers(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **role** | **String**| Filter users by role | [optional] - **limit** | **Number**| This is the maximum number of objects that may be returned | [optional] [default to 50] - **next** | **String**| An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - **previous** | **String**| An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. | [optional] - -### Return type - -[**[UserDetailsAdmin]**](UserDetailsAdmin.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **removeOrganizationInvitation** -> removeOrganizationInvitation(invitation) - -Remove an organization invitation - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var invitation = "invitation_example"; // String | Unique identifier of the invitation - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.removeOrganizationInvitation(invitation, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **invitation** | **String**| Unique identifier of the invitation | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **removeOrganizationUser** -> removeOrganizationUser(user, opts) - -Remove an account from Flat - -This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var user = "user_example"; // String | Unique identifier of the Flat account - -var opts = { - 'convertToIndividual': true // Boolean | If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.removeOrganizationUser(user, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of the Flat account | - **convertToIndividual** | **Boolean**| If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. | [optional] - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **revokeLtiCredentials** -> revokeLtiCredentials(credentials) - -Revoke LTI 1.x credentials - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var credentials = "credentials_example"; // String | Credentials unique identifier - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.revokeLtiCredentials(credentials, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **credentials** | **String**| Credentials unique identifier | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **updateOrganizationUser** -> UserDetailsAdmin updateOrganizationUser(userbody) - -Update account information - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.OrganizationApi(); - -var user = "user_example"; // String | Unique identifier of the Flat account - -var body = new FlatApi.UserAdminUpdate(); // UserAdminUpdate | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.updateOrganizationUser(userbody, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of the Flat account | - **body** | [**UserAdminUpdate**](UserAdminUpdate.md)| | - -### Return type - -[**UserDetailsAdmin**](UserDetailsAdmin.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/OrganizationInvitation.md b/docs/OrganizationInvitation.md deleted file mode 100644 index 683525d..0000000 --- a/docs/OrganizationInvitation.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.OrganizationInvitation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The invitation unique identifier | [optional] -**organization** | **String** | The unique identifier of the Organization owning this class | [optional] -**organizationRole** | [**OrganizationRoles**](OrganizationRoles.md) | | [optional] -**customCode** | **String** | Enrollment code to use when joining this organization | [optional] -**email** | **String** | The email address this invitation was sent to | [optional] -**invitedBy** | **String** | The unique identifier of the User who created this invitation | [optional] -**usedBy** | **String** | The unique identifier of the User who used this invitation | [optional] - - diff --git a/docs/OrganizationInvitationCreation.md b/docs/OrganizationInvitationCreation.md deleted file mode 100644 index 1603117..0000000 --- a/docs/OrganizationInvitationCreation.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.OrganizationInvitationCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **String** | The email address you want to send the invitation to | [optional] -**organizationRole** | [**OrganizationRoles**](OrganizationRoles.md) | | [optional] - - diff --git a/docs/OrganizationRoles.md b/docs/OrganizationRoles.md deleted file mode 100644 index 428edff..0000000 --- a/docs/OrganizationRoles.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.OrganizationRoles - -## Enum - - -* `admin` (value: `"admin"`) - -* `billing` (value: `"billing"`) - -* `teacher` (value: `"teacher"`) - -* `user` (value: `"user"`) - - diff --git a/docs/ResourceCollaborator.md b/docs/ResourceCollaborator.md deleted file mode 100644 index 0dd35d1..0000000 --- a/docs/ResourceCollaborator.md +++ /dev/null @@ -1,13 +0,0 @@ -# FlatApi.ResourceCollaborator - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the permission | [optional] -**score** | **String** | If this object is a permission of a score, this property will contain the unique identifier of the score | [optional] -**collection** | **String** | If this object is a permission of a collection, this property will contain the unique identifier of the collection | [optional] -**user** | [**UserPublic**](UserPublic.md) | | [optional] -**group** | [**Group**](Group.md) | | [optional] -**userEmail** | **String** | If the collaborator is not a user of Flat yet, this field will contain his email. | [optional] - - diff --git a/docs/ResourceCollaboratorCreation.md b/docs/ResourceCollaboratorCreation.md deleted file mode 100644 index 62a253f..0000000 --- a/docs/ResourceCollaboratorCreation.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ResourceCollaboratorCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**user** | **String** | The unique identifier of a Flat user | [optional] -**group** | **String** | The unique identifier of a Flat group | [optional] -**userEmail** | **String** | Fill this field to invite an individual user by email. | [optional] -**userToken** | **String** | Token received in an invitation to join the score. | [optional] -**aclRead** | **Boolean** | `True` if the related user can read the score. (probably true if the user has a permission on the document). | [optional] [default to true] -**aclWrite** | **Boolean** | `True` if the related user can modify the score. | [optional] [default to false] -**aclAdmin** | **Boolean** | `True` if the related user can can manage the current document, i.e. changing the document permissions and deleting the document | [optional] [default to false] - - diff --git a/docs/ResourceRights.md b/docs/ResourceRights.md deleted file mode 100644 index 268365e..0000000 --- a/docs/ResourceRights.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.ResourceRights - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**aclRead** | **Boolean** | `True` if the current user can read the current document | [optional] [default to false] -**aclWrite** | **Boolean** | `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. | [optional] [default to false] -**aclAdmin** | **Boolean** | `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. | [optional] [default to false] - - diff --git a/docs/ResourceSharingKey.md b/docs/ResourceSharingKey.md deleted file mode 100644 index 1f2098b..0000000 --- a/docs/ResourceSharingKey.md +++ /dev/null @@ -1,7 +0,0 @@ -# FlatApi.ResourceSharingKey - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - - diff --git a/docs/ScoreApi.md b/docs/ScoreApi.md deleted file mode 100644 index 986cc97..0000000 --- a/docs/ScoreApi.md +++ /dev/null @@ -1,1636 +0,0 @@ -# FlatApi.ScoreApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**addScoreCollaborator**](ScoreApi.md#addScoreCollaborator) | **POST** /scores/{score}/collaborators | Add a new collaborator -[**addScoreTrack**](ScoreApi.md#addScoreTrack) | **POST** /scores/{score}/tracks | Add a new video or audio track to the score -[**createScore**](ScoreApi.md#createScore) | **POST** /scores | Create a new score -[**createScoreRevision**](ScoreApi.md#createScoreRevision) | **POST** /scores/{score}/revisions | Create a new revision -[**deleteScore**](ScoreApi.md#deleteScore) | **DELETE** /scores/{score} | Delete a score -[**deleteScoreComment**](ScoreApi.md#deleteScoreComment) | **DELETE** /scores/{score}/comments/{comment} | Delete a comment -[**deleteScoreTrack**](ScoreApi.md#deleteScoreTrack) | **DELETE** /scores/{score}/tracks/{track} | Remove an audio or video track linked to the score -[**editScore**](ScoreApi.md#editScore) | **PUT** /scores/{score} | Edit a score's metadata -[**forkScore**](ScoreApi.md#forkScore) | **POST** /scores/{score}/fork | Fork a score -[**gerUserLikes**](ScoreApi.md#gerUserLikes) | **GET** /users/{user}/likes | List liked scores -[**getGroupScores**](ScoreApi.md#getGroupScores) | **GET** /groups/{group}/scores | List group's scores -[**getScore**](ScoreApi.md#getScore) | **GET** /scores/{score} | Get a score's metadata -[**getScoreCollaborator**](ScoreApi.md#getScoreCollaborator) | **GET** /scores/{score}/collaborators/{collaborator} | Get a collaborator -[**getScoreCollaborators**](ScoreApi.md#getScoreCollaborators) | **GET** /scores/{score}/collaborators | List the collaborators -[**getScoreComments**](ScoreApi.md#getScoreComments) | **GET** /scores/{score}/comments | List comments -[**getScoreRevision**](ScoreApi.md#getScoreRevision) | **GET** /scores/{score}/revisions/{revision} | Get a score revision -[**getScoreRevisionData**](ScoreApi.md#getScoreRevisionData) | **GET** /scores/{score}/revisions/{revision}/{format} | Get a score revision data -[**getScoreRevisions**](ScoreApi.md#getScoreRevisions) | **GET** /scores/{score}/revisions | List the revisions -[**getScoreSubmissions**](ScoreApi.md#getScoreSubmissions) | **GET** /scores/{score}/submissions | List submissions related to the score -[**getScoreTrack**](ScoreApi.md#getScoreTrack) | **GET** /scores/{score}/tracks/{track} | Retrieve the details of an audio or video track linked to a score -[**getUserScores**](ScoreApi.md#getUserScores) | **GET** /users/{user}/scores | List user's scores -[**listScoreTracks**](ScoreApi.md#listScoreTracks) | **GET** /scores/{score}/tracks | List the audio or video tracks linked to a score -[**markScoreCommentResolved**](ScoreApi.md#markScoreCommentResolved) | **PUT** /scores/{score}/comments/{comment}/resolved | Mark the comment as resolved -[**markScoreCommentUnresolved**](ScoreApi.md#markScoreCommentUnresolved) | **DELETE** /scores/{score}/comments/{comment}/resolved | Mark the comment as unresolved -[**postScoreComment**](ScoreApi.md#postScoreComment) | **POST** /scores/{score}/comments | Post a new comment -[**removeScoreCollaborator**](ScoreApi.md#removeScoreCollaborator) | **DELETE** /scores/{score}/collaborators/{collaborator} | Delete a collaborator -[**untrashScore**](ScoreApi.md#untrashScore) | **POST** /scores/{score}/untrash | Untrash a score -[**updateScoreComment**](ScoreApi.md#updateScoreComment) | **PUT** /scores/{score}/comments/{comment} | Update an existing comment -[**updateScoreTrack**](ScoreApi.md#updateScoreTrack) | **PUT** /scores/{score}/tracks/{track} | Update an audio or video track linked to a score - - - -# **addScoreCollaborator** -> ResourceCollaborator addScoreCollaborator(scorebody) - -Add a new collaborator - -Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var body = new FlatApi.ResourceCollaboratorCreation(); // ResourceCollaboratorCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.addScoreCollaborator(scorebody, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ResourceCollaboratorCreation**](ResourceCollaboratorCreation.md)| | - -### Return type - -[**ResourceCollaborator**](ResourceCollaborator.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **addScoreTrack** -> ScoreTrack addScoreTrack(scorebody) - -Add a new video or audio track to the score - -Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var body = new FlatApi.ScoreTrackCreation(); // ScoreTrackCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.addScoreTrack(scorebody, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ScoreTrackCreation**](ScoreTrackCreation.md)| | - -### Return type - -[**ScoreTrack**](ScoreTrack.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createScore** -> ScoreDetails createScore(body) - -Create a new score - -Use this API method to **create a new music score in the current User account**. You will need a MusicXML 3 (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`) or a MIDI (`audio/midi`) file to create the new Flat document. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. This can be the `root` collection or a different collection based on the user's settings or API authentication method. If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var body = new FlatApi.ScoreCreation(); // ScoreCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createScore(body, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | [**ScoreCreation**](ScoreCreation.md)| | - -### Return type - -[**ScoreDetails**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **createScoreRevision** -> ScoreRevision createScoreRevision(scorebody) - -Create a new revision - -Update a score by uploading a new revision for this one. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var body = new FlatApi.ScoreRevisionCreation(); // ScoreRevisionCreation | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.createScoreRevision(scorebody, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ScoreRevisionCreation**](ScoreRevisionCreation.md)| | - -### Return type - -[**ScoreRevision**](ScoreRevision.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteScore** -> deleteScore(score) - -Delete a score - -This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won't be accessible anymore after calling this method and the user's quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteScore(score, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteScoreComment** -> deleteScoreComment(scorecomment, opts) - -Delete a comment - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var comment = "comment_example"; // String | Unique identifier of a sheet music comment - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteScoreComment(scorecomment, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **comment** | **String**| Unique identifier of a sheet music comment | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **deleteScoreTrack** -> deleteScoreTrack(scoretrack) - -Remove an audio or video track linked to the score - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var track = "track_example"; // String | Unique identifier of a score audio track - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.deleteScoreTrack(scoretrack, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **track** | **String**| Unique identifier of a score audio track | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **editScore** -> ScoreDetails editScore(score, opts) - -Edit a score's metadata - -This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title` of the score, the API metadata are updated directly when calling this method, unlike the data itself. The title in the score data will be \"lazy\" updated at the next score save with the editor or our internal save. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'body': new FlatApi.ScoreModification() // ScoreModification | -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.editScore(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ScoreModification**](ScoreModification.md)| | [optional] - -### Return type - -[**ScoreDetails**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **forkScore** -> ScoreDetails forkScore(scorebody, opts) - -Fork a score - -This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var body = new FlatApi.ScoreFork(); // ScoreFork | - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.forkScore(scorebody, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ScoreFork**](ScoreFork.md)| | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreDetails**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **gerUserLikes** -> [ScoreDetails] gerUserLikes(user, opts) - -List liked scores - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var user = "user_example"; // String | Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - -var opts = { - 'ids': true // Boolean | Return only the identifiers of the scores -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.gerUserLikes(user, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. | - **ids** | **Boolean**| Return only the identifiers of the scores | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getGroupScores** -> [ScoreDetails] getGroupScores(group, opts) - -List group's scores - -Get the list of scores shared with a group. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var group = "group_example"; // String | Unique identifier of a Flat group - -var opts = { - 'parent': "parent_example" // String | Filter the score forked from the score id `parent` -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getGroupScores(group, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **group** | **String**| Unique identifier of a Flat group | - **parent** | **String**| Filter the score forked from the score id `parent` | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScore** -> ScoreDetails getScore(score, opts) - -Get a score's metadata - -Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScore(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreDetails**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreCollaborator** -> ResourceCollaborator getScoreCollaborator(scorecollaborator, opts) - -Get a collaborator - -Get the information about a collaborator (User or Group). - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var collaborator = "collaborator_example"; // String | Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreCollaborator(scorecollaborator, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **collaborator** | **String**| Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ResourceCollaborator**](ResourceCollaborator.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreCollaborators** -> [ResourceCollaborator] getScoreCollaborators(score, opts) - -List the collaborators - -This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreCollaborators(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**[ResourceCollaborator]**](ResourceCollaborator.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreComments** -> [ScoreComment] getScoreComments(score, opts) - -List comments - -This method lists the different comments added on a music score (documents and inline) sorted by their post dates. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - 'type': "type_example", // String | Filter the comments by type - 'sort': "sort_example", // String | Sort - 'direction': "direction_example", // String | Sort direction -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreComments(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - **type** | **String**| Filter the comments by type | [optional] - **sort** | **String**| Sort | [optional] - **direction** | **String**| Sort direction | [optional] - -### Return type - -[**[ScoreComment]**](ScoreComment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreRevision** -> ScoreRevision getScoreRevision(scorerevision, , opts) - -Get a score revision - -When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var revision = "revision_example"; // String | Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreRevision(scorerevision, , opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **revision** | **String**| Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreRevision**](ScoreRevision.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreRevisionData** -> 'Blob' getScoreRevisionData(scorerevision, format, opts) - -Get a score revision data - -Retrieve the file corresponding to a score revision (the following formats are available: Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, or a tumbnail of the first page `thumbnail.png`). - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var revision = "revision_example"; // String | Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - -var format = "format_example"; // String | The format of the file you will retrieve - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - 'parts': "parts_example", // String | An optional a set of parts to be exported. This parameter must be specified with a list of integers. For example \"1,2,5\". - 'onlyCached': true // Boolean | Only return files already generated and cached in Flat's production cache. If the file is not availabe, a 404 will be returned -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreRevisionData(scorerevision, format, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **revision** | **String**| Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. | - **format** | **String**| The format of the file you will retrieve | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - **parts** | **String**| An optional a set of parts to be exported. This parameter must be specified with a list of integers. For example \"1,2,5\". | [optional] - **onlyCached** | **Boolean**| Only return files already generated and cached in Flat's production cache. If the file is not availabe, a 404 will be returned | [optional] - -### Return type - -**'Blob'** - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json, application/vnd.recordare.musicxml+xml, application/vnd.recordare.musicxml, audio/mp3, audio/wav, audio/midi, image/png - - -# **getScoreRevisions** -> [ScoreRevision] getScoreRevisions(score, opts) - -List the revisions - -When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreRevisions(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**[ScoreRevision]**](ScoreRevision.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreSubmissions** -> [AssignmentSubmission] getScoreSubmissions(score) - -List submissions related to the score - -This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreSubmissions(score, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - -### Return type - -[**[AssignmentSubmission]**](AssignmentSubmission.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getScoreTrack** -> ScoreTrack getScoreTrack(scoretrack, opts) - -Retrieve the details of an audio or video track linked to a score - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var track = "track_example"; // String | Unique identifier of a score audio track - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getScoreTrack(scoretrack, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **track** | **String**| Unique identifier of a score audio track | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreTrack**](ScoreTrack.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getUserScores** -> [ScoreDetails] getUserScores(user, opts) - -List user's scores - -Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var user = "user_example"; // String | Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - -var opts = { - 'parent': "parent_example" // String | Filter the score forked from the score id `parent` -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getUserScores(user, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. | - **parent** | **String**| Filter the score forked from the score id `parent` | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **listScoreTracks** -> [ScoreTrack] listScoreTracks(score, opts) - -List the audio or video tracks linked to a score - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.listScoreTracks(score, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**[ScoreTrack]**](ScoreTrack.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **markScoreCommentResolved** -> markScoreCommentResolved(scorecomment, opts) - -Mark the comment as resolved - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var comment = "comment_example"; // String | Unique identifier of a sheet music comment - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.markScoreCommentResolved(scorecomment, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **comment** | **String**| Unique identifier of a sheet music comment | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **markScoreCommentUnresolved** -> markScoreCommentUnresolved(scorecomment, opts) - -Mark the comment as unresolved - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var comment = "comment_example"; // String | Unique identifier of a sheet music comment - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.markScoreCommentUnresolved(scorecomment, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **comment** | **String**| Unique identifier of a sheet music comment | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **postScoreComment** -> ScoreComment postScoreComment(scorebody, opts) - -Post a new comment - -Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don't guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var body = new FlatApi.ScoreCommentCreation(); // ScoreCommentCreation | - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.postScoreComment(scorebody, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **body** | [**ScoreCommentCreation**](ScoreCommentCreation.md)| | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreComment**](ScoreComment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **removeScoreCollaborator** -> removeScoreCollaborator(scorecollaborator) - -Delete a collaborator - -Remove the specified collaborator from the score - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var collaborator = "collaborator_example"; // String | Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.removeScoreCollaborator(scorecollaborator, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **collaborator** | **String**| Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** | - -### Return type - -null (empty response body) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **untrashScore** -> untrashScore(score) - -Untrash a score - -This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. - -### Example -```javascript -var FlatApi = require('flat-api'); - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -apiInstance.untrashScore(score, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - -### Return type - -null (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **updateScoreComment** -> ScoreComment updateScoreComment(scorecommentbody, opts) - -Update an existing comment - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var comment = "comment_example"; // String | Unique identifier of a sheet music comment - -var body = new FlatApi.ScoreCommentUpdate(); // ScoreCommentUpdate | - -var opts = { - 'sharingKey': "sharingKey_example" // String | This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.updateScoreComment(scorecommentbody, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **comment** | **String**| Unique identifier of a sheet music comment | - **body** | [**ScoreCommentUpdate**](ScoreCommentUpdate.md)| | - **sharingKey** | **String**| This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. | [optional] - -### Return type - -[**ScoreComment**](ScoreComment.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **updateScoreTrack** -> ScoreTrack updateScoreTrack(scoretrackbody) - -Update an audio or video track linked to a score - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.ScoreApi(); - -var score = "score_example"; // String | Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - -var track = "track_example"; // String | Unique identifier of a score audio track - -var body = new FlatApi.ScoreTrackUpdate(); // ScoreTrackUpdate | - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.updateScoreTrack(scoretrackbody, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **score** | **String**| Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). | - **track** | **String**| Unique identifier of a score audio track | - **body** | [**ScoreTrackUpdate**](ScoreTrackUpdate.md)| | - -### Return type - -[**ScoreTrack**](ScoreTrack.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/ScoreComment.md b/docs/ScoreComment.md deleted file mode 100644 index 110f4b3..0000000 --- a/docs/ScoreComment.md +++ /dev/null @@ -1,33 +0,0 @@ -# FlatApi.ScoreComment - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The comment unique identifier | [optional] -**type** | **String** | The type of the comment | [optional] -**user** | **String** | The author unique identifier | [optional] -**score** | **String** | The unique identifier of the score where the comment was posted | [optional] -**revision** | **String** | The unique identifier of revision the comment was posted | [optional] -**replyTo** | **String** | When the comment is a reply to another comment, the unique identifier of the parent comment | [optional] -**_date** | **Date** | The date when the comment was posted | [optional] -**modificationDate** | **Date** | The date of the last comment modification | [optional] -**comment** | **String** | The comment text that can includes mentions using the following format: `@[id:username]`. | [optional] -**rawComment** | **String** | A raw version of the comment, that can be displayed without parsing the mentions. | [optional] -**context** | [**ScoreCommentContext**](ScoreCommentContext.md) | | [optional] -**mentions** | **[String]** | The list of user identifier mentioned on the score | [optional] -**resolved** | **Boolean** | For inline comments, the comment can be marked as resolved and will be hidden in the future responses | [optional] -**resolvedBy** | **String** | If the user is marked as resolved, this will contain the unique identifier of the User who marked this comment as resolved | [optional] -**spam** | **Boolean** | `true if the message has been detected as spam and hidden from other users | [optional] - - - -## Enum: TypeEnum - - -* `document` (value: `"document"`) - -* `inline` (value: `"inline"`) - - - - diff --git a/docs/ScoreCommentContext.md b/docs/ScoreCommentContext.md deleted file mode 100644 index 333861f..0000000 --- a/docs/ScoreCommentContext.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScoreCommentContext - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**partUuid** | **String** | The unique identifier (UUID) of the score part | -**staffIdx** | **Number** | The identififer of the staff | -**measureUuids** | **[String]** | The list of measure UUIds | -**startTimePos** | **Number** | | -**stopTimePos** | **Number** | | -**startDpq** | **Number** | | -**stopDpq** | **Number** | | - - diff --git a/docs/ScoreCommentCreation.md b/docs/ScoreCommentCreation.md deleted file mode 100644 index f9152c6..0000000 --- a/docs/ScoreCommentCreation.md +++ /dev/null @@ -1,13 +0,0 @@ -# FlatApi.ScoreCommentCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**revision** | **String** | The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. | [optional] -**comment** | **String** | The comment text that can includes mentions using the following format: `@[id:username]`. | -**rawComment** | **String** | A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. | [optional] -**mentions** | **[String]** | The list of user identifiers mentioned in this comment | [optional] -**replyTo** | **String** | When the comment is a reply to another comment, the unique identifier of the parent comment | [optional] -**context** | [**ScoreCommentContext**](ScoreCommentContext.md) | | [optional] - - diff --git a/docs/ScoreCommentUpdate.md b/docs/ScoreCommentUpdate.md deleted file mode 100644 index d30f1e2..0000000 --- a/docs/ScoreCommentUpdate.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.ScoreCommentUpdate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**revision** | **String** | The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. | [optional] -**comment** | **String** | The comment text that can includes mentions using the following format: `@[id:username]`. | [optional] -**rawComment** | **String** | A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. | [optional] -**context** | [**ScoreCommentContext**](ScoreCommentContext.md) | | [optional] - - diff --git a/docs/ScoreCommentsCounts.md b/docs/ScoreCommentsCounts.md deleted file mode 100644 index 0b218c3..0000000 --- a/docs/ScoreCommentsCounts.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.ScoreCommentsCounts - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**total** | **Number** | The total number of comments added on the score | [optional] -**unique** | **Number** | The unique (1/user) number of comments added on the score | [optional] -**weekly** | **Number** | The weekly unique number of comments added on the score | [optional] -**monthly** | **Number** | The monthly unique number of comments added on the score | [optional] - - diff --git a/docs/ScoreCreation.md b/docs/ScoreCreation.md deleted file mode 100644 index 70b7dcb..0000000 --- a/docs/ScoreCreation.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScoreCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | **String** | The title of the new score. If the title is too long, the API may trim this one. If this title is not specified, the API will try to (in this order): - Use the name of the file for files from a specified `source` (e.g. Google Drive) - Use the title contained in the file (e.g. [`movement-title`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-movement-title.htm) or [`credit-words`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-credit-words.htm) for [MusicXML](http://www.musicxml.com/) files). - Set a default title (e.g. \"New Music Score\") | [optional] -**privacy** | [**ScorePrivacy**](ScorePrivacy.md) | | -**data** | [**ScoreData**](ScoreData.md) | | [optional] -**dataEncoding** | [**ScoreDataEncoding**](ScoreDataEncoding.md) | | [optional] -**source** | [**ScoreSource**](ScoreSource.md) | | [optional] -**collection** | **String** | Unique identifier of a collection where the score will be created. If no collection identifier is provided, the score will be stored in the `root` directory. | [optional] -**googleDriveFolder** | **String** | If the user uses Google Drive and this properties is specified, the file will be created in this directory. The currently user creating the file must be granted to write in this directory. | [optional] - - diff --git a/docs/ScoreCreationType.md b/docs/ScoreCreationType.md deleted file mode 100644 index 5254b63..0000000 --- a/docs/ScoreCreationType.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.ScoreCreationType - -## Enum - - -* `original` (value: `"original"`) - -* `arrangement` (value: `"arrangement"`) - -* `other` (value: `"other"`) - - diff --git a/docs/ScoreData.md b/docs/ScoreData.md deleted file mode 100644 index ede7eeb..0000000 --- a/docs/ScoreData.md +++ /dev/null @@ -1,7 +0,0 @@ -# FlatApi.ScoreData - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - - diff --git a/docs/ScoreDataEncoding.md b/docs/ScoreDataEncoding.md deleted file mode 100644 index 9dd026f..0000000 --- a/docs/ScoreDataEncoding.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.ScoreDataEncoding - -## Enum - - -* `base64` (value: `"base64"`) - - diff --git a/docs/ScoreDetails.md b/docs/ScoreDetails.md deleted file mode 100644 index 9b3a84e..0000000 --- a/docs/ScoreDetails.md +++ /dev/null @@ -1,30 +0,0 @@ -# FlatApi.ScoreDetails - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**subtitle** | **String** | Subtitle of the score | [optional] -**lyricist** | **String** | Lyricist of the score | [optional] -**composer** | **String** | Composer of the score | [optional] -**description** | **String** | Description of the creation | [optional] -**tags** | **[String]** | Tags describing the score | [optional] -**creationType** | [**ScoreCreationType**](ScoreCreationType.md) | | [optional] -**license** | [**ScoreLicense**](ScoreLicense.md) | | [optional] -**licenseText** | **String** | Additional license text written on the exported/printed score | [optional] -**durationTime** | **Number** | In seconds, an approximative duration of the score | [optional] -**numberMeasures** | **Number** | The number of measures in the score | [optional] -**mainTempoQpm** | **Number** | The main tempo of the score (in QPM) | [optional] -**rights** | [**ResourceRights**](ResourceRights.md) | | [optional] -**collaborators** | [**[ResourceCollaborator]**](ResourceCollaborator.md) | The list of the collaborators of the score | [optional] -**creationDate** | **Date** | The date when the score was created | [optional] -**modificationDate** | **Date** | The date of the last revision of the score | [optional] -**publicationDate** | **Date** | The date when the score was published on Flat | [optional] -**organization** | **String** | If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`. | [optional] -**parentScore** | **String** | If the score has been forked, the unique identifier of the parent score. | [optional] -**instruments** | **[String]** | An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. | [optional] -**googleDriveFileId** | **String** | If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}` | [optional] -**likes** | [**ScoreLikesCounts**](ScoreLikesCounts.md) | | [optional] -**comments** | [**ScoreCommentsCounts**](ScoreCommentsCounts.md) | | [optional] -**views** | [**ScoreViewsCounts**](ScoreViewsCounts.md) | | [optional] - - diff --git a/docs/ScoreFork.md b/docs/ScoreFork.md deleted file mode 100644 index 0887bcb..0000000 --- a/docs/ScoreFork.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.ScoreFork - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**collection** | **String** | Unique identifier of a collection where the score will be copied. If no collection identifier is provided, the score will be stored in the `root` directory. | [optional] - - diff --git a/docs/ScoreLicense.md b/docs/ScoreLicense.md deleted file mode 100644 index 12ce557..0000000 --- a/docs/ScoreLicense.md +++ /dev/null @@ -1,22 +0,0 @@ -# FlatApi.ScoreLicense - -## Enum - - -* `copyright` (value: `"copyright"`) - -* `cc0` (value: `"cc0"`) - -* `cc-by` (value: `"cc-by"`) - -* `cc-by-sa` (value: `"cc-by-sa"`) - -* `cc-by-nd` (value: `"cc-by-nd"`) - -* `cc-by-nc` (value: `"cc-by-nc"`) - -* `cc-by-nc-sa` (value: `"cc-by-nc-sa"`) - -* `cc-by-nc-nd` (value: `"cc-by-nc-nd"`) - - diff --git a/docs/ScoreLikesCounts.md b/docs/ScoreLikesCounts.md deleted file mode 100644 index 37c0ac8..0000000 --- a/docs/ScoreLikesCounts.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.ScoreLikesCounts - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**total** | **Number** | The total number of likes of the score | [optional] -**weekly** | **Number** | The number of new likes during the last week | [optional] -**monthly** | **Number** | The number of new likes during the last month | [optional] - - diff --git a/docs/ScoreModification.md b/docs/ScoreModification.md deleted file mode 100644 index a0c3904..0000000 --- a/docs/ScoreModification.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScoreModification - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | **String** | The title of the score | [optional] -**privacy** | [**ScorePrivacy**](ScorePrivacy.md) | | [optional] -**sharingKey** | [**ResourceSharingKey**](ResourceSharingKey.md) | | [optional] -**description** | **String** | Description of the creation | [optional] -**tags** | **[String]** | Tags describing the score | [optional] -**creationType** | [**ScoreCreationType**](ScoreCreationType.md) | | [optional] -**license** | [**ScoreLicense**](ScoreLicense.md) | | [optional] - - diff --git a/docs/ScorePrivacy.md b/docs/ScorePrivacy.md deleted file mode 100644 index 68d6afd..0000000 --- a/docs/ScorePrivacy.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScorePrivacy - -## Enum - - -* `public` (value: `"public"`) - -* `private` (value: `"private"`) - -* `organizationPublic` (value: `"organizationPublic"`) - -* `privateLink` (value: `"privateLink"`) - - diff --git a/docs/ScoreRevision.md b/docs/ScoreRevision.md deleted file mode 100644 index 6449964..0000000 --- a/docs/ScoreRevision.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScoreRevision - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the revision. | [optional] -**user** | **String** | The user identifier who created the revision | [optional] -**collaborators** | **[String]** | | [optional] -**creationDate** | **Date** | The date when this revision was created | [optional] -**description** | **String** | A description associated to the revision | [optional] -**autosave** | **Boolean** | True if this revision was automatically generated by Flat and not on purpose by the user. | [optional] -**statistics** | [**ScoreRevisionStatistics**](ScoreRevisionStatistics.md) | | [optional] - - diff --git a/docs/ScoreRevisionCreation.md b/docs/ScoreRevisionCreation.md deleted file mode 100644 index 7cf27c0..0000000 --- a/docs/ScoreRevisionCreation.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.ScoreRevisionCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**ScoreData**](ScoreData.md) | | -**dataEncoding** | [**ScoreDataEncoding**](ScoreDataEncoding.md) | | [optional] -**autosave** | **Boolean** | Must be set to `true` if the revision was created automatically. | [optional] -**description** | **String** | A description associated to the revision | [optional] - - diff --git a/docs/ScoreRevisionStatistics.md b/docs/ScoreRevisionStatistics.md deleted file mode 100644 index 203d64e..0000000 --- a/docs/ScoreRevisionStatistics.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.ScoreRevisionStatistics - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**additions** | **Number** | The number of additions operations in the last revision | [optional] -**deletions** | **Number** | The number of deletions operations in the last revision | [optional] - - diff --git a/docs/ScoreSource.md b/docs/ScoreSource.md deleted file mode 100644 index 3e3430c..0000000 --- a/docs/ScoreSource.md +++ /dev/null @@ -1,8 +0,0 @@ -# FlatApi.ScoreSource - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**googleDrive** | **String** | If the score is a file on Google Drive, this field property must contain its identifier. To use this method, the Drive file must be public or the Flat Drive App must have access to the file. | [optional] - - diff --git a/docs/ScoreSummary.md b/docs/ScoreSummary.md deleted file mode 100644 index 45a3df0..0000000 --- a/docs/ScoreSummary.md +++ /dev/null @@ -1,13 +0,0 @@ -# FlatApi.ScoreSummary - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the score | [optional] -**sharingKey** | **String** | The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) | [optional] -**title** | **String** | The title of the score | [optional] -**privacy** | [**ScorePrivacy**](ScorePrivacy.md) | | [optional] -**user** | [**UserPublicSummary**](UserPublicSummary.md) | | [optional] -**htmlUrl** | **String** | The url where the score can be viewed in a web browser | [optional] - - diff --git a/docs/ScoreTrack.md b/docs/ScoreTrack.md deleted file mode 100644 index 476ac8c..0000000 --- a/docs/ScoreTrack.md +++ /dev/null @@ -1,19 +0,0 @@ -# FlatApi.ScoreTrack - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The unique identifier of the score track | [optional] -**title** | **String** | Title of the track | [optional] -**score** | **String** | The unique identifier of the score | [optional] -**creator** | **String** | The unique identifier of the track creator | [optional] -**creationDate** | **Date** | The creation date of the track | [optional] -**modificationDate** | **Date** | The modification date of the track | [optional] -**_default** | **Boolean** | True if the track should be used as default audio source | [optional] -**state** | [**ScoreTrackState**](ScoreTrackState.md) | | [optional] -**type** | [**ScoreTrackType**](ScoreTrackType.md) | | [optional] -**url** | **String** | The URL of the track | [optional] -**mediaId** | **String** | The unique identifier of the track when hosted on an external service. For example, if the url is `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, `mediaId` will be `dQw4w9WgXcQ` | [optional] -**synchronizationPoints** | [**[ScoreTrackPoint]**](ScoreTrackPoint.md) | | [optional] - - diff --git a/docs/ScoreTrackCreation.md b/docs/ScoreTrackCreation.md deleted file mode 100644 index 613d020..0000000 --- a/docs/ScoreTrackCreation.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.ScoreTrackCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | **String** | Title of the track | [optional] -**_default** | **Boolean** | True if the track should be used as default audio source | [optional] -**state** | [**ScoreTrackState**](ScoreTrackState.md) | | [optional] -**url** | **String** | The URL of the track | [optional] -**synchronizationPoints** | [**[ScoreTrackPoint]**](ScoreTrackPoint.md) | | [optional] - - diff --git a/docs/ScoreTrackPoint.md b/docs/ScoreTrackPoint.md deleted file mode 100644 index a46b3c2..0000000 --- a/docs/ScoreTrackPoint.md +++ /dev/null @@ -1,21 +0,0 @@ -# FlatApi.ScoreTrackPoint - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **String** | The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` | -**measureUuid** | **String** | The measure unique identifier | [optional] -**time** | **Number** | The corresponding time in seconds | - - - -## Enum: TypeEnum - - -* `measure` (value: `"measure"`) - -* `end` (value: `"end"`) - - - - diff --git a/docs/ScoreTrackState.md b/docs/ScoreTrackState.md deleted file mode 100644 index 635f83f..0000000 --- a/docs/ScoreTrackState.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.ScoreTrackState - -## Enum - - -* `draft` (value: `"draft"`) - -* `completed` (value: `"completed"`) - -* `deleted` (value: `"deleted"`) - - diff --git a/docs/ScoreTrackType.md b/docs/ScoreTrackType.md deleted file mode 100644 index e5fb60b..0000000 --- a/docs/ScoreTrackType.md +++ /dev/null @@ -1,14 +0,0 @@ -# FlatApi.ScoreTrackType - -## Enum - - -* `audio` (value: `"audio"`) - -* `soundcloud` (value: `"soundcloud"`) - -* `youtube` (value: `"youtube"`) - -* `vimeo` (value: `"vimeo"`) - - diff --git a/docs/ScoreTrackUpdate.md b/docs/ScoreTrackUpdate.md deleted file mode 100644 index ac2a4dc..0000000 --- a/docs/ScoreTrackUpdate.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.ScoreTrackUpdate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**title** | **String** | Title of the track | [optional] -**_default** | **Boolean** | True if the track should be used as default audio source | [optional] -**state** | [**ScoreTrackState**](ScoreTrackState.md) | | [optional] -**synchronizationPoints** | [**[ScoreTrackPoint]**](ScoreTrackPoint.md) | | [optional] - - diff --git a/docs/ScoreViewsCounts.md b/docs/ScoreViewsCounts.md deleted file mode 100644 index 91193f0..0000000 --- a/docs/ScoreViewsCounts.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.ScoreViewsCounts - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**total** | **Number** | The total number of views of the score | [optional] -**weekly** | **Number** | The weekly number of views of the score | [optional] -**monthly** | **Number** | The monthly number of views of the score | [optional] - - diff --git a/docs/UserAdminUpdate.md b/docs/UserAdminUpdate.md deleted file mode 100644 index 0ccc5e9..0000000 --- a/docs/UserAdminUpdate.md +++ /dev/null @@ -1,9 +0,0 @@ -# FlatApi.UserAdminUpdate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**password** | **String** | Password of the new account | [optional] -**organizationRole** | [**OrganizationRoles**](OrganizationRoles.md) | | [optional] - - diff --git a/docs/UserApi.md b/docs/UserApi.md deleted file mode 100644 index 9c2373d..0000000 --- a/docs/UserApi.md +++ /dev/null @@ -1,170 +0,0 @@ -# FlatApi.UserApi - -All URIs are relative to *https://api.flat.io/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**gerUserLikes**](UserApi.md#gerUserLikes) | **GET** /users/{user}/likes | List liked scores -[**getUser**](UserApi.md#getUser) | **GET** /users/{user} | Get a public user profile -[**getUserScores**](UserApi.md#getUserScores) | **GET** /users/{user}/scores | List user's scores - - - -# **gerUserLikes** -> [ScoreDetails] gerUserLikes(user, opts) - -List liked scores - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.UserApi(); - -var user = "user_example"; // String | Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - -var opts = { - 'ids': true // Boolean | Return only the identifiers of the scores -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.gerUserLikes(user, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. | - **ids** | **Boolean**| Return only the identifiers of the scores | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getUser** -> UserPublic getUser(user) - -Get a public user profile - -Get a public profile of a Flat User. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.UserApi(); - -var user = "user_example"; // String | This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getUser(user, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. | - -### Return type - -[**UserPublic**](UserPublic.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -# **getUserScores** -> [ScoreDetails] getUserScores(user, opts) - -List user's scores - -Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - -### Example -```javascript -var FlatApi = require('flat-api'); -var defaultClient = FlatApi.ApiClient.instance; - -// Configure OAuth2 access token for authorization: OAuth2 -var OAuth2 = defaultClient.authentications['OAuth2']; -OAuth2.accessToken = 'YOUR ACCESS TOKEN'; - -var apiInstance = new FlatApi.UserApi(); - -var user = "user_example"; // String | Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - -var opts = { - 'parent': "parent_example" // String | Filter the score forked from the score id `parent` -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.getUserScores(user, opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | **String**| Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. | - **parent** | **String**| Filter the score forked from the score id `parent` | [optional] - -### Return type - -[**[ScoreDetails]**](ScoreDetails.md) - -### Authorization - -[OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - diff --git a/docs/UserBasics.md b/docs/UserBasics.md deleted file mode 100644 index c73e8c5..0000000 --- a/docs/UserBasics.md +++ /dev/null @@ -1,13 +0,0 @@ -# FlatApi.UserBasics - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | The user unique identifier | [optional] -**username** | **String** | The user name (unique for the organization) | [optional] -**name** | **String** | A displayable name for the user | [optional] -**printableName** | **String** | The name that can be directly printed (name or username) | [optional] -**picture** | **String** | User pictue | [optional] -**isPowerUser** | **Boolean** | User license status. 'True' if user is an individual Power user | [optional] - - diff --git a/docs/UserCreation.md b/docs/UserCreation.md deleted file mode 100644 index 07cb54a..0000000 --- a/docs/UserCreation.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.UserCreation - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**username** | **String** | Username of the new account | -**email** | **String** | Email of the new account | [optional] -**password** | **String** | Password of the new account | -**locale** | [**FlatLocales**](FlatLocales.md) | | [optional] - - diff --git a/docs/UserDetails.md b/docs/UserDetails.md deleted file mode 100644 index a0478d0..0000000 --- a/docs/UserDetails.md +++ /dev/null @@ -1,22 +0,0 @@ -# FlatApi.UserDetails - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | Identifier of the user | [optional] -**type** | **String** | The type of account | [optional] -**privateProfile** | **Boolean** | Tell either this user profile is private or not (individual accounts only) | [optional] -**locale** | [**FlatLocales**](FlatLocales.md) | | [optional] - - - -## Enum: TypeEnum - - -* `user` (value: `"user"`) - -* `guest` (value: `"guest"`) - - - - diff --git a/docs/UserDetailsAdmin.md b/docs/UserDetailsAdmin.md deleted file mode 100644 index 3261ca9..0000000 --- a/docs/UserDetailsAdmin.md +++ /dev/null @@ -1,10 +0,0 @@ -# FlatApi.UserDetailsAdmin - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **String** | Email of the user | [optional] -**lastActivityDate** | **Date** | Date of the last user activity | [optional] -**license** | [**UserDetailsAdminLicense**](UserDetailsAdminLicense.md) | | [optional] - - diff --git a/docs/UserDetailsAdminLicense.md b/docs/UserDetailsAdminLicense.md deleted file mode 100644 index 270b568..0000000 --- a/docs/UserDetailsAdminLicense.md +++ /dev/null @@ -1,12 +0,0 @@ -# FlatApi.UserDetailsAdminLicense - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | ID of the current license | [optional] -**expirationDate** | **Date** | Date when the license expires | [optional] -**source** | [**LicenseSources**](LicenseSources.md) | | [optional] -**mode** | [**LicenseMode**](LicenseMode.md) | | [optional] -**active** | **Boolean** | ID of the current license | [optional] - - diff --git a/docs/UserInstruments.md b/docs/UserInstruments.md deleted file mode 100644 index f4c424c..0000000 --- a/docs/UserInstruments.md +++ /dev/null @@ -1,7 +0,0 @@ -# FlatApi.UserInstruments - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - - diff --git a/docs/UserPublic.md b/docs/UserPublic.md deleted file mode 100644 index 0a7a136..0000000 --- a/docs/UserPublic.md +++ /dev/null @@ -1,15 +0,0 @@ -# FlatApi.UserPublic - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**bio** | **String** | User's biography | [optional] -**registrationDate** | **Date** | Date the user signed up | [optional] -**likedScoresCount** | **Number** | Number of the scores liked by the user | [optional] -**followersCount** | **Number** | Number of followers the user have | [optional] -**followingCount** | **Number** | Number of people the user follow | [optional] -**ownedPublicScoresCount** | **Number** | Number of public scores the user have | [optional] -**profileTheme** | **String** | Theme (background) for the profile | [optional] -**instruments** | [**UserInstruments**](UserInstruments.md) | | [optional] - - diff --git a/docs/UserPublicSummary.md b/docs/UserPublicSummary.md deleted file mode 100644 index 8ae2eae..0000000 --- a/docs/UserPublicSummary.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlatApi.UserPublicSummary - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**organization** | **String** | Organization ID (for Edu users only) | [optional] -**organizationRole** | [**OrganizationRoles**](OrganizationRoles.md) | | [optional] -**classRole** | [**ClassRoles**](ClassRoles.md) | | [optional] -**htmlUrl** | **String** | Link to user profile (for Indiv. users only) | [optional] - - diff --git a/git_push.sh b/git_push.sh new file mode 100644 index 0000000..f31df41 --- /dev/null +++ b/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="FlatIO" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="api-client-js" + 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/index.ts b/index.ts new file mode 100644 index 0000000..d7ab1b3 --- /dev/null +++ b/index.ts @@ -0,0 +1,18 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Flat API + * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user\'s scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat\'s API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) + * + * The version of the OpenAPI document: 2.20.0 + * Contact: developers@flat.io + * + * 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/mocha.opts b/mocha.opts deleted file mode 100644 index 9070118..0000000 --- a/mocha.opts +++ /dev/null @@ -1 +0,0 @@ ---timeout 10000 diff --git a/package.json b/package.json index bbcda3c..b1fa1fa 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,36 @@ { "name": "flat-api", - "version": "0.6.0", - "description": "JavaScript Client for Flat REST API (https://flat.io)", - "license": "Apache-2.0", - "repository": "https://github.com/FlatIO/api-client-js.git", - "main": "src/index.js", + "version": "0.7.0", + "description": "OpenAPI client for flat-api", + "author": "OpenAPI-Generator Contributors", + "repository": { + "type": "git", + "url": "https://github.com/FlatIO/api-client-js.git" + }, + "keywords": [ + "axios", + "typescript", + "openapi-client", + "openapi-generator", + "flat-api" + ], + "license": "Unlicense", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "module": "./dist/esm/index.js", + "sideEffects": false, "scripts": { - "test": "./node_modules/.bin/mocha --recursive", - "build": "./node_modules/.bin/browserify src/index.js > build/flat-api.js && cd build && ../node_modules/.bin/uglifyjs flat-api.js --source-map flat-api.js.map > flat-api.min.js", - "prepublish": "npm build" + "build": "tsc && tsc -p tsconfig.esm.json", + "prepare": "npm run build" }, "dependencies": { - "superagent": "5.2.2", - "uglify-js": "^3.1.3" + "axios": "^1.6.1" }, "devDependencies": { - "browserify": "^16.0.0", - "expect.js": "~0.3.1", - "mocha": "~6.2.0", - "sinon": "10.0.1" + "@types/node": "^12.11.5", + "typescript": "^4.0" + }, + "publishConfig": { + "registry": "https://github.com/flatio/api-client-js" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..737cfaa --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,91 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + axios: + specifier: ^1.6.1 + version: 1.6.7 + +devDependencies: + '@types/node': + specifier: ^12.11.5 + version: 12.20.55 + typescript: + specifier: ^4.0 + version: 4.9.5 + +packages: + + /@types/node@12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true diff --git a/src/ApiClient.js b/src/ApiClient.js deleted file mode 100644 index 73a96dd..0000000 --- a/src/ApiClient.js +++ /dev/null @@ -1,598 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['superagent', 'querystring'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('superagent'), require('querystring')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ApiClient = factory(root.superagent, root.querystring); - } -}(this, function(superagent, querystring) { - 'use strict'; - - /** - * @module ApiClient - * @version 2.6.0 - */ - - /** - * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an - * application to use this class directly - the *Api and model classes provide the public API for the service. The - * contents of this file should be regarded as internal but are documented for completeness. - * @alias module:ApiClient - * @class - */ - var exports = function() { - /** - * The base URL against which to resolve every API call's (relative) path. - * @type {String} - * @default https://api.flat.io/v2 - */ - this.basePath = 'https://api.flat.io/v2'.replace(/\/+$/, ''); - - /** - * The authentication methods to be included for all API calls. - * @type {Array.} - */ - this.authentications = { - 'OAuth2': {type: 'oauth2'} - }; - /** - * The default HTTP headers to be included for all API calls. - * @type {Array.} - * @default {} - */ - this.defaultHeaders = {}; - - /** - * The default HTTP timeout for all API calls. - * @type {Number} - * @default 60000 - */ - this.timeout = 60000; - - /** - * If set to false an additional timestamp parameter is added to all API GET calls to - * prevent browser caching - * @type {Boolean} - * @default true - */ - this.cache = true; - - /** - * If set to true, the client will save the cookies from each server - * response, and return them in the next request. - * @default false - */ - this.enableCookies = false; - - /* - * Used to save and return cookies in a node.js (non-browser) setting, - * if this.enableCookies is set to true. - */ - if (typeof window === 'undefined') { - this.agent = new superagent.agent(); - } - - /* - * Allow user to override superagent agent - */ - this.requestAgent = null; - }; - - /** - * Returns a string representation for an actual parameter. - * @param param The actual parameter. - * @returns {String} The string representation of param. - */ - exports.prototype.paramToString = function(param) { - if (param == undefined || param == null) { - return ''; - } - if (param instanceof Date) { - return param.toJSON(); - } - return param.toString(); - }; - - /** - * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values. - * NOTE: query parameters are not handled here. - * @param {String} path The path to append to the base URL. - * @param {Object} pathParams The parameter values to append. - * @returns {String} The encoded path with parameter values substituted. - */ - exports.prototype.buildUrl = function(path, pathParams) { - if (!path.match(/^\//)) { - path = '/' + path; - } - var url = this.basePath + path; - var _this = this; - url = url.replace(/\{([\w-]+)\}/g, function(fullMatch, key) { - var value; - if (pathParams.hasOwnProperty(key)) { - value = _this.paramToString(pathParams[key]); - } else { - value = fullMatch; - } - return encodeURIComponent(value); - }); - return url; - }; - - /** - * Checks whether the given content type represents JSON.
- * JSON content type examples:
- *
    - *
  • application/json
  • - *
  • application/json; charset=UTF8
  • - *
  • APPLICATION/JSON
  • - *
- * @param {String} contentType The MIME content type to check. - * @returns {Boolean} true if contentType represents JSON, otherwise false. - */ - exports.prototype.isJsonMime = function(contentType) { - return Boolean(contentType != null && contentType.match(/^application\/json(;.*)?$/i)); - }; - - /** - * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first. - * @param {Array.} contentTypes - * @returns {String} The chosen content type, preferring JSON. - */ - exports.prototype.jsonPreferredMime = function(contentTypes) { - for (var i = 0; i < contentTypes.length; i++) { - if (this.isJsonMime(contentTypes[i])) { - return contentTypes[i]; - } - } - return contentTypes[0]; - }; - - /** - * Checks whether the given parameter value represents file-like content. - * @param param The parameter to check. - * @returns {Boolean} true if param represents a file. - */ - exports.prototype.isFileParam = function(param) { - // fs.ReadStream in Node.js and Electron (but not in runtime like browserify) - if (typeof require === 'function') { - var fs; - try { - fs = require('fs'); - } catch (err) {} - if (fs && fs.ReadStream && param instanceof fs.ReadStream) { - return true; - } - } - // Buffer in Node.js - if (typeof Buffer === 'function' && param instanceof Buffer) { - return true; - } - // Blob in browser - if (typeof Blob === 'function' && param instanceof Blob) { - return true; - } - // File in browser (it seems File object is also instance of Blob, but keep this for safe) - if (typeof File === 'function' && param instanceof File) { - return true; - } - return false; - }; - - /** - * Normalizes parameter values: - *
    - *
  • remove nils
  • - *
  • keep files and arrays
  • - *
  • format to string with `paramToString` for other cases
  • - *
- * @param {Object.} params The parameters as object properties. - * @returns {Object.} normalized parameters. - */ - exports.prototype.normalizeParams = function(params) { - var newParams = {}; - for (var key in params) { - if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) { - var value = params[key]; - if (this.isFileParam(value) || Array.isArray(value)) { - newParams[key] = value; - } else { - newParams[key] = this.paramToString(value); - } - } - } - return newParams; - }; - - /** - * Enumeration of collection format separator strategies. - * @enum {String} - * @readonly - */ - exports.CollectionFormatEnum = { - /** - * Comma-separated values. Value: csv - * @const - */ - CSV: ',', - /** - * Space-separated values. Value: ssv - * @const - */ - SSV: ' ', - /** - * Tab-separated values. Value: tsv - * @const - */ - TSV: '\t', - /** - * Pipe(|)-separated values. Value: pipes - * @const - */ - PIPES: '|', - /** - * Native array. Value: multi - * @const - */ - MULTI: 'multi' - }; - - /** - * Builds a string representation of an array-type actual parameter, according to the given collection format. - * @param {Array} param An array parameter. - * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy. - * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns - * param as is if collectionFormat is multi. - */ - exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) { - if (param == null) { - return null; - } - switch (collectionFormat) { - case 'csv': - return param.map(this.paramToString).join(','); - case 'ssv': - return param.map(this.paramToString).join(' '); - case 'tsv': - return param.map(this.paramToString).join('\t'); - case 'pipes': - return param.map(this.paramToString).join('|'); - case 'multi': - // return the array directly as SuperAgent will handle it as expected - return param.map(this.paramToString); - default: - throw new Error('Unknown collection format: ' + collectionFormat); - } - }; - - /** - * Applies authentication headers to the request. - * @param {Object} request The request object created by a superagent() call. - * @param {Array.} authNames An array of authentication method names. - */ - exports.prototype.applyAuthToRequest = function(request, authNames) { - var _this = this; - authNames.forEach(function(authName) { - var auth = _this.authentications[authName]; - switch (auth.type) { - case 'basic': - if (auth.username || auth.password) { - request.auth(auth.username || '', auth.password || ''); - } - break; - case 'apiKey': - if (auth.apiKey) { - var data = {}; - if (auth.apiKeyPrefix) { - data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey; - } else { - data[auth.name] = auth.apiKey; - } - if (auth['in'] === 'header') { - request.set(data); - } else { - request.query(data); - } - } - break; - case 'oauth2': - if (auth.accessToken) { - request.set({'Authorization': 'Bearer ' + auth.accessToken}); - } - break; - default: - throw new Error('Unknown authentication type: ' + auth.type); - } - }); - }; - - /** - * Deserializes an HTTP response body into a value of the specified type. - * @param {Object} response A SuperAgent response object. - * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types - * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To - * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: - * all properties on data will be converted to this type. - * @returns A value of the specified type. - */ - exports.prototype.deserialize = function deserialize(response, returnType) { - if (response == null || returnType == null || response.status == 204) { - return null; - } - // Rely on SuperAgent for parsing response body. - // See http://visionmedia.github.io/superagent/#parsing-response-bodies - var data = response.body; - if (data == null || (typeof data === 'object' && typeof data.length === 'undefined' && !Object.keys(data).length)) { - // SuperAgent does not always produce a body; use the unparsed response as a fallback - data = response.text; - } - return exports.convertToType(data, returnType); - }; - - /** - * Callback function to receive the result of the operation. - * @callback module:ApiClient~callApiCallback - * @param {String} error Error message, if any. - * @param data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Invokes the REST service using the supplied settings and parameters. - * @param {String} path The base URL to invoke. - * @param {String} httpMethod The HTTP method to use. - * @param {Object.} pathParams A map of path parameters and their values. - * @param {Object.} queryParams A map of query parameters and their values. - * @param {Object.} collectionQueryParams A map of collection query parameters and their values. - * @param {Object.} headerParams A map of header parameters and their values. - * @param {Object.} formParams A map of form parameters and their values. - * @param {Object} bodyParam The value to pass as the request body. - * @param {Array.} authNames An array of authentication type names. - * @param {Array.} contentTypes An array of request MIME types. - * @param {Array.} accepts An array of acceptable response MIME types. - * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the - * constructor for a complex type. - * @param {module:ApiClient~callApiCallback} callback The callback function. - * @returns {Object} The SuperAgent request object. - */ - exports.prototype.callApi = function callApi(path, httpMethod, pathParams, - queryParams, collectionQueryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts, - returnType, callback) { - - var _this = this; - var url = this.buildUrl(path, pathParams); - var request = superagent(httpMethod, url); - - // apply authentications - this.applyAuthToRequest(request, authNames); - - // set collection query parameters - for (var key in collectionQueryParams) { - if (collectionQueryParams.hasOwnProperty(key)) { - var param = collectionQueryParams[key]; - if (param.collectionFormat === 'csv') { - // SuperAgent normally percent-encodes all reserved characters in a query parameter. However, - // commas are used as delimiters for the 'csv' collectionFormat so they must not be encoded. We - // must therefore construct and encode 'csv' collection query parameters manually. - if (param.value != null) { - var value = param.value.map(this.paramToString).map(encodeURIComponent).join(','); - request.query(encodeURIComponent(key) + "=" + value); - } - } else { - // All other collection query parameters should be treated as ordinary query parameters. - queryParams[key] = this.buildCollectionParam(param.value, param.collectionFormat); - } - } - } - - // set query parameters - if (httpMethod.toUpperCase() === 'GET' && this.cache === false) { - queryParams['_'] = new Date().getTime(); - } - request.query(this.normalizeParams(queryParams)); - - // set header parameters - request.set(this.defaultHeaders).set(this.normalizeParams(headerParams)); - - - // set requestAgent if it is set by user - if (this.requestAgent) { - request.agent(this.requestAgent); - } - - // set request timeout - request.timeout(this.timeout); - - var contentType = this.jsonPreferredMime(contentTypes); - if (contentType) { - // Issue with superagent and multipart/form-data (https://github.com/visionmedia/superagent/issues/746) - if(contentType != 'multipart/form-data') { - request.type(contentType); - } - } else if (!request.header['Content-Type']) { - request.type('application/json'); - } - - if (contentType === 'application/x-www-form-urlencoded') { - request.send(querystring.stringify(this.normalizeParams(formParams))); - } else if (contentType == 'multipart/form-data') { - var _formParams = this.normalizeParams(formParams); - for (var key in _formParams) { - if (_formParams.hasOwnProperty(key)) { - if (this.isFileParam(_formParams[key])) { - // file field - request.attach(key, _formParams[key]); - } else { - request.field(key, _formParams[key]); - } - } - } - } else if (bodyParam) { - request.send(bodyParam); - } - - var accept = this.jsonPreferredMime(accepts); - if (accept) { - request.accept(accept); - } - - if (returnType === 'Blob') { - request.responseType('blob'); - } else if (returnType === 'String') { - request.responseType('string'); - } - - // Attach previously saved cookies, if enabled - if (this.enableCookies){ - if (typeof window === 'undefined') { - this.agent.attachCookies(request); - } - else { - request.withCredentials(); - } - } - - - request.end(function(error, response) { - if (callback) { - var data = null; - if (!error) { - try { - data = _this.deserialize(response, returnType); - if (_this.enableCookies && typeof window === 'undefined'){ - _this.agent.saveCookies(response); - } - } catch (err) { - error = err; - } - } - callback(error, data, response); - } - }); - - return request; - }; - - /** - * Parses an ISO-8601 string representation of a date value. - * @param {String} str The date value as a string. - * @returns {Date} The parsed date object. - */ - exports.parseDate = function(str) { - return new Date(str.replace(/T/i, ' ')); - }; - - /** - * Converts a value to the specified type. - * @param {(String|Object)} data The data to convert, as a string or object. - * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types - * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To - * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: - * all properties on data will be converted to this type. - * @returns An instance of the specified type or null or undefined if data is null or undefined. - */ - exports.convertToType = function(data, type) { - if (data === null || data === undefined) - return data - - switch (type) { - case 'Boolean': - return Boolean(data); - case 'Integer': - return parseInt(data, 10); - case 'Number': - return parseFloat(data); - case 'String': - return String(data); - case 'Date': - return this.parseDate(String(data)); - case 'Blob': - return data; - default: - if (type === Object) { - // generic object, return directly - return data; - } else if (typeof type === 'function') { - // for model type like: User - return type.constructFromObject(data); - } else if (Array.isArray(type)) { - // for array type like: ['String'] - var itemType = type[0]; - return data.map(function(item) { - return exports.convertToType(item, itemType); - }); - } else if (typeof type === 'object') { - // for plain object type like: {'String': 'Integer'} - var keyType, valueType; - for (var k in type) { - if (type.hasOwnProperty(k)) { - keyType = k; - valueType = type[k]; - break; - } - } - var result = {}; - for (var k in data) { - if (data.hasOwnProperty(k)) { - var key = exports.convertToType(k, keyType); - var value = exports.convertToType(data[k], valueType); - result[key] = value; - } - } - return result; - } else { - // for unknown type, return the data directly - return data; - } - } - }; - - /** - * Constructs a new map or array model from REST data. - * @param data {Object|Array} The REST data. - * @param obj {Object|Array} The target object or array. - */ - exports.constructFromObject = function(data, obj, itemType) { - if (Array.isArray(data)) { - for (var i = 0; i < data.length; i++) { - if (data.hasOwnProperty(i)) - obj[i] = exports.convertToType(data[i], itemType); - } - } else { - for (var k in data) { - if (data.hasOwnProperty(k)) - obj[k] = exports.convertToType(data[k], itemType); - } - } - }; - - /** - * The default API client implementation. - * @type {module:ApiClient} - */ - exports.instance = new exports(); - - return exports; -})); diff --git a/src/api/AccountApi.js b/src/api/AccountApi.js deleted file mode 100644 index a499686..0000000 --- a/src/api/AccountApi.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/UserDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/UserDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AccountApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.UserDetails); - } -}(this, function(ApiClient, FlatErrorResponse, UserDetails) { - 'use strict'; - - /** - * Account service. - * @module api/AccountApi - * @version 2.6.0 - */ - - /** - * Constructs a new AccountApi. - * @alias module:api/AccountApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the getAuthenticatedUser operation. - * @callback module:api/AccountApi~getAuthenticatedUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get current user profile - * Get details about the current authenticated User. - * @param {module:api/AccountApi~getAuthenticatedUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetails} - */ - this.getAuthenticatedUser = function(callback) { - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetails; - - return this.apiClient.callApi( - '/me', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/ClassApi.js b/src/api/ClassApi.js deleted file mode 100644 index 485228e..0000000 --- a/src/api/ClassApi.js +++ /dev/null @@ -1,1048 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Assignment', 'model/AssignmentCopy', 'model/AssignmentCreation', 'model/AssignmentSubmission', 'model/AssignmentSubmissionUpdate', 'model/ClassCreation', 'model/ClassDetails', 'model/ClassUpdate', 'model/FlatErrorResponse'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/Assignment'), require('../model/AssignmentCopy'), require('../model/AssignmentCreation'), require('../model/AssignmentSubmission'), require('../model/AssignmentSubmissionUpdate'), require('../model/ClassCreation'), require('../model/ClassDetails'), require('../model/ClassUpdate'), require('../model/FlatErrorResponse')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassApi = factory(root.FlatApi.ApiClient, root.FlatApi.Assignment, root.FlatApi.AssignmentCopy, root.FlatApi.AssignmentCreation, root.FlatApi.AssignmentSubmission, root.FlatApi.AssignmentSubmissionUpdate, root.FlatApi.ClassCreation, root.FlatApi.ClassDetails, root.FlatApi.ClassUpdate, root.FlatApi.FlatErrorResponse); - } -}(this, function(ApiClient, Assignment, AssignmentCopy, AssignmentCreation, AssignmentSubmission, AssignmentSubmissionUpdate, ClassCreation, ClassDetails, ClassUpdate, FlatErrorResponse) { - 'use strict'; - - /** - * Class service. - * @module api/ClassApi - * @version 2.6.0 - */ - - /** - * Constructs a new ClassApi. - * @alias module:api/ClassApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the activateClass operation. - * @callback module:api/ClassApi~activateClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Activate the class - * Mark the class as `active`. This is mainly used for classes synchronized from Clever that are initially with an `inactive` state and hidden in the UI. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~activateClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.activateClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling activateClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/activate', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the addClassUser operation. - * @callback module:api/ClassApi~addClassUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a user to the class - * This method can be used by a teacher of the class to enroll another Flat user into the class. Only users that are part of your Organization can be enrolled in a class of this same Organization. When enrolling a user in the class, Flat will automatically add this user to the corresponding Class group, based on this role in the Organization. - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~addClassUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.addClassUser = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling addClassUser"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling addClassUser"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/classes/{class}/users/{user}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the archiveClass operation. - * @callback module:api/ClassApi~archiveClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Archive the class - * Mark the class as `archived`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~archiveClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.archiveClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling archiveClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/archive', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the copyAssignment operation. - * @callback module:api/ClassApi~copyAssignmentCallback - * @param {String} error Error message, if any. - * @param {module:model/Assignment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Copy an assignment - * Copy an assignment to a specified class. If the original assignment has a due date in the past, this new assingment will be created without a due date. If the new class is synchronized with an external app (e.g. Google Classroom), the copied assignment will also be posted on the external app. - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:model/AssignmentCopy} body - * @param {module:api/ClassApi~copyAssignmentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Assignment} - */ - this.copyAssignment = function(_class, assignment, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling copyAssignment"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling copyAssignment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling copyAssignment"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Assignment; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/copy', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createAssignment operation. - * @callback module:api/ClassApi~createAssignmentCallback - * @param {String} error Error message, if any. - * @param {module:model/Assignment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Assignment creation - * Use this method as a teacher to create and post a new assignment to a class. If the class is synchronized with Google Classroom, the assignment will be automatically posted to your Classroom course. - * @param {String} _class Unique identifier of the class - * @param {Object} opts Optional parameters - * @param {module:model/AssignmentCreation} opts.body - * @param {module:api/ClassApi~createAssignmentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Assignment} - */ - this.createAssignment = function(_class, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling createAssignment"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Assignment; - - return this.apiClient.callApi( - '/classes/{class}/assignments', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createClass operation. - * @callback module:api/ClassApi~createClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new class - * Classrooms on Flat allow you to create activities with assignments and post content to a specific group. When creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group. If the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated. You can add users to this class using `POST /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response. - * @param {module:model/ClassCreation} body - * @param {module:api/ClassApi~createClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.createClass = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createClass"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createSubmission operation. - * @callback module:api/ClassApi~createSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create or edit a submission - * Use this method as a student to create, update and submit a submission related to an assignment. Students can only set `attachments`, `studentComment` and `submit`. Teachers can use `PUT /classes/{class}/assignments/{assignment}/submissions/{submission}` to update a submission by id. - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:model/AssignmentSubmissionUpdate} body - * @param {module:api/ClassApi~createSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.createSubmission = function(_class, assignment, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling createSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling createSubmission"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteClassUser operation. - * @callback module:api/ClassApi~deleteClassUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove a user from the class - * This method can be used by a teacher to remove a user from the class, or by a student to leave the classroom. Warning: Removing a user from the class will remove the associated resources, including the submissions and feedback related to these submissions. - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~deleteClassUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteClassUser = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling deleteClassUser"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling deleteClassUser"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/classes/{class}/users/{user}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editSubmission operation. - * @callback module:api/ClassApi~editSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Edit a submission - * Use this method as a teacher to update the different submission and give feedback. Teachers can only set `returnFeedback` - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {String} submission Unique identifier of the submission - * @param {module:model/AssignmentSubmissionUpdate} body - * @param {module:api/ClassApi~editSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.editSubmission = function(_class, assignment, submission, body, callback) { - var postBody = body; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling editSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling editSubmission"); - } - - // verify the required parameter 'submission' is set - if (submission === undefined || submission === null) { - throw new Error("Missing the required parameter 'submission' when calling editSubmission"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling editSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment, - 'submission': submission - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions/{submission}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the enrollClass operation. - * @callback module:api/ClassApi~enrollClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Join a class - * Use this method to join a class using an enrollment code given one of the teacher of this class. This code is also available in the `ClassDetails` returned to the teachers when creating the class or listing / fetching a specific class. Flat will automatically add the user to the corresponding class group based on this role in the organization. - * @param {String} enrollmentCode The enrollment code, available to the teacher in `ClassDetails` - * @param {module:api/ClassApi~enrollClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.enrollClass = function(enrollmentCode, callback) { - var postBody = null; - - // verify the required parameter 'enrollmentCode' is set - if (enrollmentCode === undefined || enrollmentCode === null) { - throw new Error("Missing the required parameter 'enrollmentCode' when calling enrollClass"); - } - - - var pathParams = { - 'enrollmentCode': enrollmentCode - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/enroll/{enrollmentCode}', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getClass operation. - * @callback module:api/ClassApi~getClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get the details of a single class - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~getClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.getClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreSubmissions operation. - * @callback module:api/ClassApi~getScoreSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List submissions related to the score - * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ClassApi~getScoreSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreSubmissions = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreSubmissions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/scores/{score}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getSubmission operation. - * @callback module:api/ClassApi~getSubmissionCallback - * @param {String} error Error message, if any. - * @param {module:model/AssignmentSubmission} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a student submission - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {String} submission Unique identifier of the submission - * @param {module:api/ClassApi~getSubmissionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/AssignmentSubmission} - */ - this.getSubmission = function(_class, assignment, submission, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getSubmission"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling getSubmission"); - } - - // verify the required parameter 'submission' is set - if (submission === undefined || submission === null) { - throw new Error("Missing the required parameter 'submission' when calling getSubmission"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment, - 'submission': submission - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = AssignmentSubmission; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions/{submission}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getSubmissions operation. - * @callback module:api/ClassApi~getSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the students' submissions - * @param {String} _class Unique identifier of the class - * @param {String} assignment Unique identifier of the assignment - * @param {module:api/ClassApi~getSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getSubmissions = function(_class, assignment, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling getSubmissions"); - } - - // verify the required parameter 'assignment' is set - if (assignment === undefined || assignment === null) { - throw new Error("Missing the required parameter 'assignment' when calling getSubmissions"); - } - - - var pathParams = { - 'class': _class, - 'assignment': assignment - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/classes/{class}/assignments/{assignment}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listAssignments operation. - * @callback module:api/ClassApi~listAssignmentsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Assignments listing - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~listAssignmentsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listAssignments = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling listAssignments"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [Assignment]; - - return this.apiClient.callApi( - '/classes/{class}/assignments', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listClassStudentSubmissions operation. - * @callback module:api/ClassApi~listClassStudentSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the submissions for a student - * Use this method as a teacher to list all the assignment submissions sent by a student of the class - * @param {String} _class Unique identifier of the class - * @param {String} user Unique identifier of the user - * @param {module:api/ClassApi~listClassStudentSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listClassStudentSubmissions = function(_class, user, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling listClassStudentSubmissions"); - } - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling listClassStudentSubmissions"); - } - - - var pathParams = { - 'class': _class, - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/classes/{class}/students/{user}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listClasses operation. - * @callback module:api/ClassApi~listClassesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the classes available for the current user - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.state Filter the classes by state (default to active) - * @param {module:api/ClassApi~listClassesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listClasses = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'state': opts['state'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ClassDetails]; - - return this.apiClient.callApi( - '/classes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the unarchiveClass operation. - * @callback module:api/ClassApi~unarchiveClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Unarchive the class - * Mark the class as `active`. When this course is synchronized with another app, like Google Classroom, this state will be automatically be updated. - * @param {String} _class Unique identifier of the class - * @param {module:api/ClassApi~unarchiveClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.unarchiveClass = function(_class, callback) { - var postBody = null; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling unarchiveClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}/archive', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateClass operation. - * @callback module:api/ClassApi~updateClassCallback - * @param {String} error Error message, if any. - * @param {module:model/ClassDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update the class - * Update the meta information of the class - * @param {String} _class Unique identifier of the class - * @param {Object} opts Optional parameters - * @param {module:model/ClassUpdate} opts.body Details of the Class - * @param {module:api/ClassApi~updateClassCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ClassDetails} - */ - this.updateClass = function(_class, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter '_class' is set - if (_class === undefined || _class === null) { - throw new Error("Missing the required parameter '_class' when calling updateClass"); - } - - - var pathParams = { - 'class': _class - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ClassDetails; - - return this.apiClient.callApi( - '/classes/{class}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/CollectionApi.js b/src/api/CollectionApi.js deleted file mode 100644 index 3caaaef..0000000 --- a/src/api/CollectionApi.js +++ /dev/null @@ -1,525 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Collection', 'model/CollectionCreation', 'model/CollectionModification', 'model/FlatErrorResponse', 'model/ScoreDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/Collection'), require('../model/CollectionCreation'), require('../model/CollectionModification'), require('../model/FlatErrorResponse'), require('../model/ScoreDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionApi = factory(root.FlatApi.ApiClient, root.FlatApi.Collection, root.FlatApi.CollectionCreation, root.FlatApi.CollectionModification, root.FlatApi.FlatErrorResponse, root.FlatApi.ScoreDetails); - } -}(this, function(ApiClient, Collection, CollectionCreation, CollectionModification, FlatErrorResponse, ScoreDetails) { - 'use strict'; - - /** - * Collection service. - * @module api/CollectionApi - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionApi. - * @alias module:api/CollectionApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the addScoreToCollection operation. - * @callback module:api/CollectionApi~addScoreToCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a score to the collection - * This operation will add a score to a collection. The default behavior will make the score available across multiple collections. You must have the capability `canAddScores` on the provided `collection` to perform the action. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/CollectionApi~addScoreToCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.addScoreToCollection = function(collection, score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling addScoreToCollection"); - } - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreToCollection"); - } - - - var pathParams = { - 'collection': collection, - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/collections/{collection}/scores/{score}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createCollection operation. - * @callback module:api/CollectionApi~createCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new collection - * This method will create a new collection and add it to your `root` collection. - * @param {module:model/CollectionCreation} body - * @param {module:api/CollectionApi~createCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.createCollection = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createCollection"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteCollection operation. - * @callback module:api/CollectionApi~deleteCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete the collection - * This method will schedule the deletion of the collection. Until deleted, the collection will be available in the `trash`. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {module:api/CollectionApi~deleteCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteCollection = function(collection, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling deleteCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreFromCollection operation. - * @callback module:api/CollectionApi~deleteScoreFromCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a score from the collection - * This method will delete a score from the collection. Unlike [`DELETE /scores/{score}`](#operation/deleteScore), this score will not remove the score from your account, but only from the collection. This can be used to *move* a score from one collection to another, or simply remove a score from one collection when this one is contained in multiple collections. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/CollectionApi~deleteScoreFromCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreFromCollection = function(collection, score, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling deleteScoreFromCollection"); - } - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreFromCollection"); - } - - - var pathParams = { - 'collection': collection, - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}/scores/{score}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editCollection operation. - * @callback module:api/CollectionApi~editCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update a collection's metadata - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {module:model/CollectionModification} opts.body - * @param {module:api/CollectionApi~editCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.editCollection = function(collection, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling editCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections/{collection}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getCollection operation. - * @callback module:api/CollectionApi~getCollectionCallback - * @param {String} error Error message, if any. - * @param {module:model/Collection} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get collection details - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/CollectionApi~getCollectionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/Collection} - */ - this.getCollection = function(collection, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling getCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = Collection; - - return this.apiClient.callApi( - '/collections/{collection}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listCollectionScores operation. - * @callback module:api/CollectionApi~listCollectionScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the scores contained in a collection - * Use this method to list the scores contained in a collection. If no sort option is provided, the scores are sorted by `modificationDate` `desc`. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 25) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/CollectionApi~listCollectionScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listCollectionScores = function(collection, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling listCollectionScores"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'sort': opts['sort'], - 'direction': opts['direction'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/collections/{collection}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listCollections operation. - * @callback module:api/CollectionApi~listCollectionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the collections - * Use this method to list the user's collections contained in `parent` (by default in the `root` collection). If no sort option is provided, the collections are sorted by `creationDate` `desc`. Note that this method will not include the `parent` collection in the listing. For example, if you need the details of the `root` collection, you can use `GET /v2/collections/root`. - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.parent List the collection contained in this `parent` collection. This option doesn't provide a complete multi-level collection support. When sharing a collection with someone, this one will have as `parent` `sharedWithMe`. (default to root) - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 25) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/CollectionApi~listCollectionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listCollections = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'parent': opts['parent'], - 'sort': opts['sort'], - 'direction': opts['direction'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [Collection]; - - return this.apiClient.callApi( - '/collections', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the untrashCollection operation. - * @callback module:api/CollectionApi~untrashCollectionCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Untrash a collection - * This method will restore the collection by removing it from the `trash` and add it back to the `root` collection. - * @param {String} collection Unique identifier of the collection. The following aliases are supported: - `root`: The root collection of the account - `sharedWithMe`: Automatically contains new resources that have been shared individually - `trash`: Automatically contains resources that have been deleted - * @param {module:api/CollectionApi~untrashCollectionCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.untrashCollection = function(collection, callback) { - var postBody = null; - - // verify the required parameter 'collection' is set - if (collection === undefined || collection === null) { - throw new Error("Missing the required parameter 'collection' when calling untrashCollection"); - } - - - var pathParams = { - 'collection': collection - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/collections/{collection}/untrash', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/GroupApi.js b/src/api/GroupApi.js deleted file mode 100644 index c5a733e..0000000 --- a/src/api/GroupApi.js +++ /dev/null @@ -1,199 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/GroupDetails', 'model/ScoreDetails', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/GroupDetails'), require('../model/ScoreDetails'), require('../model/UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.GroupDetails, root.FlatApi.ScoreDetails, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, FlatErrorResponse, GroupDetails, ScoreDetails, UserPublic) { - 'use strict'; - - /** - * Group service. - * @module api/GroupApi - * @version 2.6.0 - */ - - /** - * Constructs a new GroupApi. - * @alias module:api/GroupApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the getGroupDetails operation. - * @callback module:api/GroupApi~getGroupDetailsCallback - * @param {String} error Error message, if any. - * @param {module:model/GroupDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get group information - * @param {String} group Unique identifier of a Flat group - * @param {module:api/GroupApi~getGroupDetailsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/GroupDetails} - */ - this.getGroupDetails = function(group, callback) { - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupDetails"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = GroupDetails; - - return this.apiClient.callApi( - '/groups/{group}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getGroupScores operation. - * @callback module:api/GroupApi~getGroupScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's scores - * Get the list of scores shared with a group. - * @param {String} group Unique identifier of a Flat group - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/GroupApi~getGroupScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getGroupScores = function(group, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupScores"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/groups/{group}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listGroupUsers operation. - * @callback module:api/GroupApi~listGroupUsersCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's users - * @param {String} group Unique identifier of a Flat group - * @param {module:api/GroupApi~listGroupUsersCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listGroupUsers = function(group, callback) { - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling listGroupUsers"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [UserPublic]; - - return this.apiClient.callApi( - '/groups/{group}/users', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/OrganizationApi.js b/src/api/OrganizationApi.js deleted file mode 100644 index 34cd0de..0000000 --- a/src/api/OrganizationApi.js +++ /dev/null @@ -1,523 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/LtiCredentials', 'model/LtiCredentialsCreation', 'model/OrganizationInvitation', 'model/OrganizationInvitationCreation', 'model/UserAdminUpdate', 'model/UserCreation', 'model/UserDetailsAdmin'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/LtiCredentials'), require('../model/LtiCredentialsCreation'), require('../model/OrganizationInvitation'), require('../model/OrganizationInvitationCreation'), require('../model/UserAdminUpdate'), require('../model/UserCreation'), require('../model/UserDetailsAdmin')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.LtiCredentials, root.FlatApi.LtiCredentialsCreation, root.FlatApi.OrganizationInvitation, root.FlatApi.OrganizationInvitationCreation, root.FlatApi.UserAdminUpdate, root.FlatApi.UserCreation, root.FlatApi.UserDetailsAdmin); - } -}(this, function(ApiClient, FlatErrorResponse, LtiCredentials, LtiCredentialsCreation, OrganizationInvitation, OrganizationInvitationCreation, UserAdminUpdate, UserCreation, UserDetailsAdmin) { - 'use strict'; - - /** - * Organization service. - * @module api/OrganizationApi - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationApi. - * @alias module:api/OrganizationApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the createLtiCredentials operation. - * @callback module:api/OrganizationApi~createLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param {module:model/LtiCredentials} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new couple of LTI 1.x credentials - * Flat for Education is a Certified LTI Provider. You can use these API methods to automate the creation of LTI credentials. You can read more about our LTI implementation, supported components and LTI Endpoints in our [Developer Documentation](https://flat.io/developers/docs/lti/). - * @param {module:model/LtiCredentialsCreation} body - * @param {module:api/OrganizationApi~createLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/LtiCredentials} - */ - this.createLtiCredentials = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createLtiCredentials"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = LtiCredentials; - - return this.apiClient.callApi( - '/organizations/lti/credentials', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createOrganizationInvitation operation. - * @callback module:api/OrganizationApi~createOrganizationInvitationCallback - * @param {String} error Error message, if any. - * @param {module:model/OrganizationInvitation} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new invitation to join the organization - * This method creates and sends invitation for teachers and admins. Invitations can only be used by new Flat users or users who are not part of the organization yet. If the email of the user is already associated to a user of your organization, the API will simply update the role of the existing user and won't send an invitation. In this case, the property `usedBy` will be directly filled with the uniquer identifier of the corresponding user. - * @param {Object} opts Optional parameters - * @param {module:model/OrganizationInvitationCreation} opts.body - * @param {module:api/OrganizationApi~createOrganizationInvitationCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/OrganizationInvitation} - */ - this.createOrganizationInvitation = function(opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = OrganizationInvitation; - - return this.apiClient.callApi( - '/organizations/invitations', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createOrganizationUser operation. - * @callback module:api/OrganizationApi~createOrganizationUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetailsAdmin} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new user account - * @param {Object} opts Optional parameters - * @param {module:model/UserCreation} opts.body - * @param {module:api/OrganizationApi~createOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetailsAdmin} - */ - this.createOrganizationUser = function(opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetailsAdmin; - - return this.apiClient.callApi( - '/organizations/users', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listLtiCredentials operation. - * @callback module:api/OrganizationApi~listLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List LTI 1.x credentials - * @param {module:api/OrganizationApi~listLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listLtiCredentials = function(callback) { - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [LtiCredentials]; - - return this.apiClient.callApi( - '/organizations/lti/credentials', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listOrganizationInvitations operation. - * @callback module:api/OrganizationApi~listOrganizationInvitationsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the organization invitations - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.role Filter users by role - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 50) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/OrganizationApi~listOrganizationInvitationsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listOrganizationInvitations = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'role': opts['role'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [OrganizationInvitation]; - - return this.apiClient.callApi( - '/organizations/invitations', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listOrganizationUsers operation. - * @callback module:api/OrganizationApi~listOrganizationUsersCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the organization users - * @param {Object} opts Optional parameters - * @param {module:model/String} opts.role Filter users by role - * @param {Number} opts.limit This is the maximum number of objects that may be returned (default to 50) - * @param {String} opts.next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {String} opts.previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the `Link` header when requesting the API. These URLs will contain a `next` and `previous` cursor based on the available data. - * @param {module:api/OrganizationApi~listOrganizationUsersCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listOrganizationUsers = function(opts, callback) { - opts = opts || {}; - var postBody = null; - - - var pathParams = { - }; - var queryParams = { - 'role': opts['role'], - 'limit': opts['limit'], - 'next': opts['next'], - 'previous': opts['previous'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [UserDetailsAdmin]; - - return this.apiClient.callApi( - '/organizations/users', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeOrganizationInvitation operation. - * @callback module:api/OrganizationApi~removeOrganizationInvitationCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an organization invitation - * @param {String} invitation Unique identifier of the invitation - * @param {module:api/OrganizationApi~removeOrganizationInvitationCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeOrganizationInvitation = function(invitation, callback) { - var postBody = null; - - // verify the required parameter 'invitation' is set - if (invitation === undefined || invitation === null) { - throw new Error("Missing the required parameter 'invitation' when calling removeOrganizationInvitation"); - } - - - var pathParams = { - 'invitation': invitation - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/invitations/{invitation}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeOrganizationUser operation. - * @callback module:api/OrganizationApi~removeOrganizationUserCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an account from Flat - * This operation removes an account from Flat and its data, including: * The music scores created by this user (documents, history, comments, collaboration information) * Education related data (assignments and classroom information) - * @param {String} user Unique identifier of the Flat account - * @param {Object} opts Optional parameters - * @param {Boolean} opts.convertToIndividual If `true`, the account will be only removed from the organization and converted into an individual account on our public website, https://flat.io. This operation will remove the education-related data from the account. Before realizing this operation, you need to be sure that the user is at least 13 years old and that this one has read and agreed to the Individual Terms of Services of Flat available on https://flat.io/legal. - * @param {module:api/OrganizationApi~removeOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeOrganizationUser = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling removeOrganizationUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'convertToIndividual': opts['convertToIndividual'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/users/{user}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the revokeLtiCredentials operation. - * @callback module:api/OrganizationApi~revokeLtiCredentialsCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Revoke LTI 1.x credentials - * @param {String} credentials Credentials unique identifier - * @param {module:api/OrganizationApi~revokeLtiCredentialsCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.revokeLtiCredentials = function(credentials, callback) { - var postBody = null; - - // verify the required parameter 'credentials' is set - if (credentials === undefined || credentials === null) { - throw new Error("Missing the required parameter 'credentials' when calling revokeLtiCredentials"); - } - - - var pathParams = { - 'credentials': credentials - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/organizations/lti/credentials/{credentials}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateOrganizationUser operation. - * @callback module:api/OrganizationApi~updateOrganizationUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserDetailsAdmin} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update account information - * @param {String} user Unique identifier of the Flat account - * @param {module:model/UserAdminUpdate} body - * @param {module:api/OrganizationApi~updateOrganizationUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserDetailsAdmin} - */ - this.updateOrganizationUser = function(user, body, callback) { - var postBody = body; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling updateOrganizationUser"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateOrganizationUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserDetailsAdmin; - - return this.apiClient.callApi( - '/organizations/users/{user}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/ScoreApi.js b/src/api/ScoreApi.js deleted file mode 100644 index 2a50f9a..0000000 --- a/src/api/ScoreApi.js +++ /dev/null @@ -1,1639 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/AssignmentSubmission', 'model/FlatErrorResponse', 'model/ResourceCollaborator', 'model/ResourceCollaboratorCreation', 'model/ScoreComment', 'model/ScoreCommentCreation', 'model/ScoreCommentUpdate', 'model/ScoreCreation', 'model/ScoreDetails', 'model/ScoreFork', 'model/ScoreModification', 'model/ScoreRevision', 'model/ScoreRevisionCreation', 'model/ScoreTrack', 'model/ScoreTrackCreation', 'model/ScoreTrackUpdate'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/AssignmentSubmission'), require('../model/FlatErrorResponse'), require('../model/ResourceCollaborator'), require('../model/ResourceCollaboratorCreation'), require('../model/ScoreComment'), require('../model/ScoreCommentCreation'), require('../model/ScoreCommentUpdate'), require('../model/ScoreCreation'), require('../model/ScoreDetails'), require('../model/ScoreFork'), require('../model/ScoreModification'), require('../model/ScoreRevision'), require('../model/ScoreRevisionCreation'), require('../model/ScoreTrack'), require('../model/ScoreTrackCreation'), require('../model/ScoreTrackUpdate')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreApi = factory(root.FlatApi.ApiClient, root.FlatApi.AssignmentSubmission, root.FlatApi.FlatErrorResponse, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceCollaboratorCreation, root.FlatApi.ScoreComment, root.FlatApi.ScoreCommentCreation, root.FlatApi.ScoreCommentUpdate, root.FlatApi.ScoreCreation, root.FlatApi.ScoreDetails, root.FlatApi.ScoreFork, root.FlatApi.ScoreModification, root.FlatApi.ScoreRevision, root.FlatApi.ScoreRevisionCreation, root.FlatApi.ScoreTrack, root.FlatApi.ScoreTrackCreation, root.FlatApi.ScoreTrackUpdate); - } -}(this, function(ApiClient, AssignmentSubmission, FlatErrorResponse, ResourceCollaborator, ResourceCollaboratorCreation, ScoreComment, ScoreCommentCreation, ScoreCommentUpdate, ScoreCreation, ScoreDetails, ScoreFork, ScoreModification, ScoreRevision, ScoreRevisionCreation, ScoreTrack, ScoreTrackCreation, ScoreTrackUpdate) { - 'use strict'; - - /** - * Score service. - * @module api/ScoreApi - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreApi. - * @alias module:api/ScoreApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the addScoreCollaborator operation. - * @callback module:api/ScoreApi~addScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param {module:model/ResourceCollaborator} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a new collaborator - * Share a score with a single user or a group. This API call allows to add, invite and update the collaborators of a resource. - To add an existing Flat user to the resource, specify its unique identifier in the `user` property. - To invite an external user to the resource, specify its email in the `userEmail` property. - To add a Flat group to the resource, specify its unique identifier in the `group` property. - To update an existing collaborator, process the same request with different rights. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ResourceCollaboratorCreation} body - * @param {module:api/ScoreApi~addScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ResourceCollaborator} - */ - this.addScoreCollaborator = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreCollaborator"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling addScoreCollaborator"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ResourceCollaborator; - - return this.apiClient.callApi( - '/scores/{score}/collaborators', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the addScoreTrack operation. - * @callback module:api/ScoreApi~addScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Add a new video or audio track to the score - * Use this method to add new track to the score. This track can then be played on flat.io or in an embedded score. This API method support medias hosted on SoundCloud, YouTube and Vimeo. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreTrackCreation} body - * @param {module:api/ScoreApi~addScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.addScoreTrack = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling addScoreTrack"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling addScoreTrack"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createScore operation. - * @callback module:api/ScoreApi~createScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new score - * Use this API method to **create a new music score in the current User account**. You will need a MusicXML 3 (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`) or a MIDI (`audio/midi`) file to create the new Flat document. This API call will automatically create the first revision of the document, the score can be modified by the using our web application or by uploading a new revision of this file (`POST /v2/scores/{score}/revisions/{revision}`). The currently authenticated user will be granted owner of the file and will be able to add other collaborators (users and groups). If no `collection` is specified, the API will create the score in the most appropriate collection. This can be the `root` collection or a different collection based on the user's settings or API authentication method. If a `collection` is specified and this one has more public privacy settings than the score (e.g. `public` vs `private` for the score), the privacy settings of the created score will be adjusted to the collection ones. You can check the adjusted privacy settings in the returned score `privacy`, and optionally adjust these settings if needed using `PUT /scores/{score}`. - * @param {module:model/ScoreCreation} body - * @param {module:api/ScoreApi~createScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.createScore = function(body, callback) { - var postBody = body; - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createScore"); - } - - - var pathParams = { - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the createScoreRevision operation. - * @callback module:api/ScoreApi~createScoreRevisionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreRevision} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Create a new revision - * Update a score by uploading a new revision for this one. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreRevisionCreation} body - * @param {module:api/ScoreApi~createScoreRevisionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreRevision} - */ - this.createScoreRevision = function(score, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling createScoreRevision"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling createScoreRevision"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreRevision; - - return this.apiClient.callApi( - '/scores/{score}/revisions', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScore operation. - * @callback module:api/ScoreApi~deleteScoreCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a score - * This method can be used by the owner/admin (`aclAdmin` rights) of a score as well as regular collaborators. When called by an owner/admin, it will schedule the deletion of the score, its revisions, and complete history. The score won't be accessible anymore after calling this method and the user's quota will directly be updated. When called by a regular collaborator (`aclRead` / `aclWrite`), the score will be unshared (i.e. removed from the account & own collections). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~deleteScoreCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScore = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreComment operation. - * @callback module:api/ScoreApi~deleteScoreCommentCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a comment - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~deleteScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreComment = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreComment"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling deleteScoreComment"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the deleteScoreTrack operation. - * @callback module:api/ScoreApi~deleteScoreTrackCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Remove an audio or video track linked to the score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {module:api/ScoreApi~deleteScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.deleteScoreTrack = function(score, track, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling deleteScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling deleteScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the editScore operation. - * @callback module:api/ScoreApi~editScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Edit a score's metadata - * This API method allows you to change the metadata of a score document (e.g. its `title` or `privacy`), all the properties are optional. To edit the file itself, create a new revision using the appropriate method (`POST /v2/scores/{score}/revisions/{revision}`). When editing the `title` of the score, the API metadata are updated directly when calling this method, unlike the data itself. The title in the score data will be \"lazy\" updated at the next score save with the editor or our internal save. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {module:model/ScoreModification} opts.body - * @param {module:api/ScoreApi~editScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.editScore = function(score, opts, callback) { - opts = opts || {}; - var postBody = opts['body']; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling editScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the forkScore operation. - * @callback module:api/ScoreApi~forkScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Fork a score - * This API call will make a copy of the last revision of the specified score and create a new score. The copy of the score will have a privacy set to `private`. When using a [Flat for Education](https://flat.io/edu) account, the inline and contextualized comments will be accessible in the child document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreFork} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~forkScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.forkScore = function(score, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling forkScore"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling forkScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}/fork', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the gerUserLikes operation. - * @callback module:api/ScoreApi~gerUserLikesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List liked scores - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {Boolean} opts.ids Return only the identifiers of the scores - * @param {module:api/ScoreApi~gerUserLikesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.gerUserLikes = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling gerUserLikes"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'ids': opts['ids'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/likes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getGroupScores operation. - * @callback module:api/ScoreApi~getGroupScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List group's scores - * Get the list of scores shared with a group. - * @param {String} group Unique identifier of a Flat group - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/ScoreApi~getGroupScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getGroupScores = function(group, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'group' is set - if (group === undefined || group === null) { - throw new Error("Missing the required parameter 'group' when calling getGroupScores"); - } - - - var pathParams = { - 'group': group - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/groups/{group}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScore operation. - * @callback module:api/ScoreApi~getScoreCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreDetails} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score's metadata - * Get the details of a score identified by the `score` parameter in the URL. The currently authenticated user must have at least a read access to the document to use this API call. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreDetails} - */ - this.getScore = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreDetails; - - return this.apiClient.callApi( - '/scores/{score}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreCollaborator operation. - * @callback module:api/ScoreApi~getScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param {module:model/ResourceCollaborator} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a collaborator - * Get the information about a collaborator (User or Group). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ResourceCollaborator} - */ - this.getScoreCollaborator = function(score, collaborator, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreCollaborator"); - } - - // verify the required parameter 'collaborator' is set - if (collaborator === undefined || collaborator === null) { - throw new Error("Missing the required parameter 'collaborator' when calling getScoreCollaborator"); - } - - - var pathParams = { - 'score': score, - 'collaborator': collaborator - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ResourceCollaborator; - - return this.apiClient.callApi( - '/scores/{score}/collaborators/{collaborator}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreCollaborators operation. - * @callback module:api/ScoreApi~getScoreCollaboratorsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the collaborators - * This API call will list the different collaborators of a score and their rights on the document. The returned list will at least contain the owner of the document. Collaborators can be a single user (the object `user` will be populated) or a group (the object `group` will be populated). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreCollaboratorsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreCollaborators = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreCollaborators"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ResourceCollaborator]; - - return this.apiClient.callApi( - '/scores/{score}/collaborators', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreComments operation. - * @callback module:api/ScoreApi~getScoreCommentsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List comments - * This method lists the different comments added on a music score (documents and inline) sorted by their post dates. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:model/String} opts.type Filter the comments by type - * @param {module:model/String} opts.sort Sort - * @param {module:model/String} opts.direction Sort direction - * @param {module:api/ScoreApi~getScoreCommentsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreComments = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreComments"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'type': opts['type'], - 'sort': opts['sort'], - 'direction': opts['direction'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreComment]; - - return this.apiClient.callApi( - '/scores/{score}/comments', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevision operation. - * @callback module:api/ScoreApi~getScoreRevisionCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreRevision} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score revision - * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to get a specific revision metadata. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreRevisionCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreRevision} - */ - this.getScoreRevision = function(score, revision, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevision"); - } - - // verify the required parameter 'revision' is set - if (revision === undefined || revision === null) { - throw new Error("Missing the required parameter 'revision' when calling getScoreRevision"); - } - - - var pathParams = { - 'score': score, - 'revision': revision - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreRevision; - - return this.apiClient.callApi( - '/scores/{score}/revisions/{revision}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevisionData operation. - * @callback module:api/ScoreApi~getScoreRevisionDataCallback - * @param {String} error Error message, if any. - * @param {'Blob'} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a score revision data - * Retrieve the file corresponding to a score revision (the following formats are available: Flat JSON/Adagio JSON `json`, MusicXML `mxl`/`xml`, MP3 `mp3`, WAV `wav`, MIDI `midi`, or a tumbnail of the first page `thumbnail.png`). - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} revision Unique identifier of a score revision. You can use `last` to fetch the information related to the last version created. - * @param {module:model/String} format The format of the file you will retrieve - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {String} opts.parts An optional a set of parts to be exported. This parameter must be specified with a list of integers. For example \"1,2,5\". - * @param {Boolean} opts.onlyCached Only return files already generated and cached in Flat's production cache. If the file is not availabe, a 404 will be returned - * @param {module:api/ScoreApi~getScoreRevisionDataCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link 'Blob'} - */ - this.getScoreRevisionData = function(score, revision, format, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevisionData"); - } - - // verify the required parameter 'revision' is set - if (revision === undefined || revision === null) { - throw new Error("Missing the required parameter 'revision' when calling getScoreRevisionData"); - } - - // verify the required parameter 'format' is set - if (format === undefined || format === null) { - throw new Error("Missing the required parameter 'format' when calling getScoreRevisionData"); - } - - - var pathParams = { - 'score': score, - 'revision': revision, - 'format': format - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - 'parts': opts['parts'], - 'onlyCached': opts['onlyCached'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json', 'application/vnd.recordare.musicxml+xml', 'application/vnd.recordare.musicxml', 'audio/mp3', 'audio/wav', 'audio/midi', 'image/png']; - var returnType = 'Blob'; - - return this.apiClient.callApi( - '/scores/{score}/revisions/{revision}/{format}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreRevisions operation. - * @callback module:api/ScoreApi~getScoreRevisionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the revisions - * When creating a score or saving a new version of a score, a revision is created in our storage. This method allows you to list all of them, sorted by last modification. Depending the plan of the account, this list can be trunked to the few last revisions. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreRevisionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreRevisions = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreRevisions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreRevision]; - - return this.apiClient.callApi( - '/scores/{score}/revisions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreSubmissions operation. - * @callback module:api/ScoreApi~getScoreSubmissionsCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List submissions related to the score - * This API call will list the different assignments submissions where the score is attached. This method can be used by anyone that are part of the organization and have at least read access to the document. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~getScoreSubmissionsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getScoreSubmissions = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreSubmissions"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [AssignmentSubmission]; - - return this.apiClient.callApi( - '/scores/{score}/submissions', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getScoreTrack operation. - * @callback module:api/ScoreApi~getScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Retrieve the details of an audio or video track linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~getScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.getScoreTrack = function(score, track, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling getScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling getScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUserScores operation. - * @callback module:api/ScoreApi~getUserScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List user's scores - * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/ScoreApi~getUserScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getUserScores = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUserScores"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the listScoreTracks operation. - * @callback module:api/ScoreApi~listScoreTracksCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List the audio or video tracks linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~listScoreTracksCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.listScoreTracks = function(score, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling listScoreTracks"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreTrack]; - - return this.apiClient.callApi( - '/scores/{score}/tracks', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the markScoreCommentResolved operation. - * @callback module:api/ScoreApi~markScoreCommentResolvedCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Mark the comment as resolved - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~markScoreCommentResolvedCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.markScoreCommentResolved = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling markScoreCommentResolved"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling markScoreCommentResolved"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}/resolved', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the markScoreCommentUnresolved operation. - * @callback module:api/ScoreApi~markScoreCommentUnresolvedCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Mark the comment as unresolved - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~markScoreCommentUnresolvedCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.markScoreCommentUnresolved = function(score, comment, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling markScoreCommentUnresolved"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling markScoreCommentUnresolved"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}/resolved', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the postScoreComment operation. - * @callback module:api/ScoreApi~postScoreCommentCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreComment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Post a new comment - * Post a document or a contextualized comment on a document. Please note that this method includes an anti-spam system for public scores. We don't guarantee that your comments will be accepted and displayed to end-user. Comments are be blocked by returning a `403` HTTP error and hidden from other users when the `spam` property is `true`. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:model/ScoreCommentCreation} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~postScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreComment} - */ - this.postScoreComment = function(score, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling postScoreComment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling postScoreComment"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreComment; - - return this.apiClient.callApi( - '/scores/{score}/comments', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeScoreCollaborator operation. - * @callback module:api/ScoreApi~removeScoreCollaboratorCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Delete a collaborator - * Remove the specified collaborator from the score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} collaborator Unique identifier of a **collaborator permission**, or unique identifier of a **User**, or unique identifier of a **Group** - * @param {module:api/ScoreApi~removeScoreCollaboratorCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.removeScoreCollaborator = function(score, collaborator, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling removeScoreCollaborator"); - } - - // verify the required parameter 'collaborator' is set - if (collaborator === undefined || collaborator === null) { - throw new Error("Missing the required parameter 'collaborator' when calling removeScoreCollaborator"); - } - - - var pathParams = { - 'score': score, - 'collaborator': collaborator - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/collaborators/{collaborator}', 'DELETE', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the untrashScore operation. - * @callback module:api/ScoreApi~untrashScoreCallback - * @param {String} error Error message, if any. - * @param data This operation does not return a value. - * @param {String} response The complete HTTP response. - */ - - /** - * Untrash a score - * This method will remove the score from the `trash` collection and from the deletion queue, and add it back to the original collections. - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {module:api/ScoreApi~untrashScoreCallback} callback The callback function, accepting three arguments: error, data, response - */ - this.untrashScore = function(score, callback) { - var postBody = null; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling untrashScore"); - } - - - var pathParams = { - 'score': score - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = []; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = null; - - return this.apiClient.callApi( - '/scores/{score}/untrash', 'POST', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateScoreComment operation. - * @callback module:api/ScoreApi~updateScoreCommentCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreComment} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update an existing comment - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} comment Unique identifier of a sheet music comment - * @param {module:model/ScoreCommentUpdate} body - * @param {Object} opts Optional parameters - * @param {String} opts.sharingKey This sharing key must be specified to access to a score or collection with a `privacy` mode set to `privateLink` and the current user is not a collaborator of the document. - * @param {module:api/ScoreApi~updateScoreCommentCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreComment} - */ - this.updateScoreComment = function(score, comment, body, opts, callback) { - opts = opts || {}; - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling updateScoreComment"); - } - - // verify the required parameter 'comment' is set - if (comment === undefined || comment === null) { - throw new Error("Missing the required parameter 'comment' when calling updateScoreComment"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateScoreComment"); - } - - - var pathParams = { - 'score': score, - 'comment': comment - }; - var queryParams = { - 'sharingKey': opts['sharingKey'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreComment; - - return this.apiClient.callApi( - '/scores/{score}/comments/{comment}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the updateScoreTrack operation. - * @callback module:api/ScoreApi~updateScoreTrackCallback - * @param {String} error Error message, if any. - * @param {module:model/ScoreTrack} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Update an audio or video track linked to a score - * @param {String} score Unique identifier of the score document. This can be a Flat Score unique identifier (i.e. `ScoreDetails.id`) or, if the score is also a Google Drive file, the Drive file unique identifier prefixed with `drive-` (e.g. `drive-0B000000000`). - * @param {String} track Unique identifier of a score audio track - * @param {module:model/ScoreTrackUpdate} body - * @param {module:api/ScoreApi~updateScoreTrackCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/ScoreTrack} - */ - this.updateScoreTrack = function(score, track, body, callback) { - var postBody = body; - - // verify the required parameter 'score' is set - if (score === undefined || score === null) { - throw new Error("Missing the required parameter 'score' when calling updateScoreTrack"); - } - - // verify the required parameter 'track' is set - if (track === undefined || track === null) { - throw new Error("Missing the required parameter 'track' when calling updateScoreTrack"); - } - - // verify the required parameter 'body' is set - if (body === undefined || body === null) { - throw new Error("Missing the required parameter 'body' when calling updateScoreTrack"); - } - - - var pathParams = { - 'score': score, - 'track': track - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = ScoreTrack; - - return this.apiClient.callApi( - '/scores/{score}/tracks/{track}', 'PUT', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/api/UserApi.js b/src/api/UserApi.js deleted file mode 100644 index 1d711a6..0000000 --- a/src/api/UserApi.js +++ /dev/null @@ -1,204 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatErrorResponse', 'model/ScoreDetails', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('../model/FlatErrorResponse'), require('../model/ScoreDetails'), require('../model/UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserApi = factory(root.FlatApi.ApiClient, root.FlatApi.FlatErrorResponse, root.FlatApi.ScoreDetails, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, FlatErrorResponse, ScoreDetails, UserPublic) { - 'use strict'; - - /** - * User service. - * @module api/UserApi - * @version 2.6.0 - */ - - /** - * Constructs a new UserApi. - * @alias module:api/UserApi - * @class - * @param {module:ApiClient} [apiClient] Optional API client implementation to use, - * default to {@link module:ApiClient#instance} if unspecified. - */ - var exports = function(apiClient) { - this.apiClient = apiClient || ApiClient.instance; - - - /** - * Callback function to receive the result of the gerUserLikes operation. - * @callback module:api/UserApi~gerUserLikesCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List liked scores - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {Boolean} opts.ids Return only the identifiers of the scores - * @param {module:api/UserApi~gerUserLikesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.gerUserLikes = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling gerUserLikes"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'ids': opts['ids'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/likes', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUser operation. - * @callback module:api/UserApi~getUserCallback - * @param {String} error Error message, if any. - * @param {module:model/UserPublic} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * Get a public user profile - * Get a public profile of a Flat User. - * @param {String} user This route parameter is the unique identifier of the user. You can specify an email instead of an unique identifier. If you are executing this request authenticated, you can use `me` as a value instead of the current User unique identifier to work on the current authenticated user. - * @param {module:api/UserApi~getUserCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link module:model/UserPublic} - */ - this.getUser = function(user, callback) { - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUser"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = UserPublic; - - return this.apiClient.callApi( - '/users/{user}', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the getUserScores operation. - * @callback module:api/UserApi~getUserScoresCallback - * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * List user's scores - * Get the list of public scores owned by a User. **DEPRECATED**: Please note that the current behavior will be deprecrated on **2019-01-01**. This method will no longer list private and shared scores, but only public scores of a Flat account. If you want to access to private scores, please use the [Collections API](#tag/Collection) instead. - * @param {String} user Unique identifier of a Flat user. If you authenticated, you can use `me` to refer to the current user. - * @param {Object} opts Optional parameters - * @param {String} opts.parent Filter the score forked from the score id `parent` - * @param {module:api/UserApi~getUserScoresCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {@link Array.} - */ - this.getUserScores = function(user, opts, callback) { - opts = opts || {}; - var postBody = null; - - // verify the required parameter 'user' is set - if (user === undefined || user === null) { - throw new Error("Missing the required parameter 'user' when calling getUserScores"); - } - - - var pathParams = { - 'user': user - }; - var queryParams = { - 'parent': opts['parent'], - }; - var collectionQueryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['OAuth2']; - var contentTypes = ['application/json']; - var accepts = ['application/json']; - var returnType = [ScoreDetails]; - - return this.apiClient.callApi( - '/users/{user}/scores', 'GET', - pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - }; - - return exports; -})); diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 01c6ddf..0000000 --- a/src/index.js +++ /dev/null @@ -1,503 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Assignment', 'model/AssignmentCopy', 'model/AssignmentCreation', 'model/AssignmentSubmission', 'model/AssignmentSubmissionUpdate', 'model/ClassAttachmentCreation', 'model/ClassCreation', 'model/ClassDetails', 'model/ClassDetailsCanvas', 'model/ClassDetailsClever', 'model/ClassDetailsGoogleClassroom', 'model/ClassDetailsGoogleDrive', 'model/ClassDetailsLti', 'model/ClassRoles', 'model/ClassState', 'model/ClassUpdate', 'model/Collection', 'model/CollectionCapabilities', 'model/CollectionCreation', 'model/CollectionModification', 'model/CollectionPrivacy', 'model/CollectionTitle', 'model/CollectionType', 'model/FlatErrorResponse', 'model/FlatLocales', 'model/GoogleClassroomCoursework', 'model/GoogleClassroomSubmission', 'model/Group', 'model/GroupDetails', 'model/GroupType', 'model/LicenseMode', 'model/LicenseSources', 'model/LmsName', 'model/LtiCredentials', 'model/LtiCredentialsCreation', 'model/MediaAttachment', 'model/MediaScoreSharingMode', 'model/OrganizationInvitation', 'model/OrganizationInvitationCreation', 'model/OrganizationRoles', 'model/ResourceCollaboratorCreation', 'model/ResourceRights', 'model/ResourceSharingKey', 'model/ScoreComment', 'model/ScoreCommentContext', 'model/ScoreCommentCreation', 'model/ScoreCommentUpdate', 'model/ScoreCommentsCounts', 'model/ScoreCreation', 'model/ScoreCreationType', 'model/ScoreData', 'model/ScoreDataEncoding', 'model/ScoreFork', 'model/ScoreLicense', 'model/ScoreLikesCounts', 'model/ScoreModification', 'model/ScorePrivacy', 'model/ScoreRevision', 'model/ScoreRevisionCreation', 'model/ScoreRevisionStatistics', 'model/ScoreSource', 'model/ScoreSummary', 'model/ScoreTrack', 'model/ScoreTrackCreation', 'model/ScoreTrackPoint', 'model/ScoreTrackState', 'model/ScoreTrackType', 'model/ScoreTrackUpdate', 'model/ScoreViewsCounts', 'model/UserAdminUpdate', 'model/UserBasics', 'model/UserCreation', 'model/UserDetailsAdminLicense', 'model/UserInstruments', 'model/ResourceCollaborator', 'model/ScoreDetails', 'model/UserPublicSummary', 'model/UserDetailsAdmin', 'model/UserPublic', 'model/UserDetails', 'api/AccountApi', 'api/ClassApi', 'api/CollectionApi', 'api/GroupApi', 'api/OrganizationApi', 'api/ScoreApi', 'api/UserApi'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('./ApiClient'), require('./model/Assignment'), require('./model/AssignmentCopy'), require('./model/AssignmentCreation'), require('./model/AssignmentSubmission'), require('./model/AssignmentSubmissionUpdate'), require('./model/ClassAttachmentCreation'), require('./model/ClassCreation'), require('./model/ClassDetails'), require('./model/ClassDetailsCanvas'), require('./model/ClassDetailsClever'), require('./model/ClassDetailsGoogleClassroom'), require('./model/ClassDetailsGoogleDrive'), require('./model/ClassDetailsLti'), require('./model/ClassRoles'), require('./model/ClassState'), require('./model/ClassUpdate'), require('./model/Collection'), require('./model/CollectionCapabilities'), require('./model/CollectionCreation'), require('./model/CollectionModification'), require('./model/CollectionPrivacy'), require('./model/CollectionTitle'), require('./model/CollectionType'), require('./model/FlatErrorResponse'), require('./model/FlatLocales'), require('./model/GoogleClassroomCoursework'), require('./model/GoogleClassroomSubmission'), require('./model/Group'), require('./model/GroupDetails'), require('./model/GroupType'), require('./model/LicenseMode'), require('./model/LicenseSources'), require('./model/LmsName'), require('./model/LtiCredentials'), require('./model/LtiCredentialsCreation'), require('./model/MediaAttachment'), require('./model/MediaScoreSharingMode'), require('./model/OrganizationInvitation'), require('./model/OrganizationInvitationCreation'), require('./model/OrganizationRoles'), require('./model/ResourceCollaboratorCreation'), require('./model/ResourceRights'), require('./model/ResourceSharingKey'), require('./model/ScoreComment'), require('./model/ScoreCommentContext'), require('./model/ScoreCommentCreation'), require('./model/ScoreCommentUpdate'), require('./model/ScoreCommentsCounts'), require('./model/ScoreCreation'), require('./model/ScoreCreationType'), require('./model/ScoreData'), require('./model/ScoreDataEncoding'), require('./model/ScoreFork'), require('./model/ScoreLicense'), require('./model/ScoreLikesCounts'), require('./model/ScoreModification'), require('./model/ScorePrivacy'), require('./model/ScoreRevision'), require('./model/ScoreRevisionCreation'), require('./model/ScoreRevisionStatistics'), require('./model/ScoreSource'), require('./model/ScoreSummary'), require('./model/ScoreTrack'), require('./model/ScoreTrackCreation'), require('./model/ScoreTrackPoint'), require('./model/ScoreTrackState'), require('./model/ScoreTrackType'), require('./model/ScoreTrackUpdate'), require('./model/ScoreViewsCounts'), require('./model/UserAdminUpdate'), require('./model/UserBasics'), require('./model/UserCreation'), require('./model/UserDetailsAdminLicense'), require('./model/UserInstruments'), require('./model/ResourceCollaborator'), require('./model/ScoreDetails'), require('./model/UserPublicSummary'), require('./model/UserDetailsAdmin'), require('./model/UserPublic'), require('./model/UserDetails'), require('./api/AccountApi'), require('./api/ClassApi'), require('./api/CollectionApi'), require('./api/GroupApi'), require('./api/OrganizationApi'), require('./api/ScoreApi'), require('./api/UserApi')); - } -}(function(ApiClient, Assignment, AssignmentCopy, AssignmentCreation, AssignmentSubmission, AssignmentSubmissionUpdate, ClassAttachmentCreation, ClassCreation, ClassDetails, ClassDetailsCanvas, ClassDetailsClever, ClassDetailsGoogleClassroom, ClassDetailsGoogleDrive, ClassDetailsLti, ClassRoles, ClassState, ClassUpdate, Collection, CollectionCapabilities, CollectionCreation, CollectionModification, CollectionPrivacy, CollectionTitle, CollectionType, FlatErrorResponse, FlatLocales, GoogleClassroomCoursework, GoogleClassroomSubmission, Group, GroupDetails, GroupType, LicenseMode, LicenseSources, LmsName, LtiCredentials, LtiCredentialsCreation, MediaAttachment, MediaScoreSharingMode, OrganizationInvitation, OrganizationInvitationCreation, OrganizationRoles, ResourceCollaboratorCreation, ResourceRights, ResourceSharingKey, ScoreComment, ScoreCommentContext, ScoreCommentCreation, ScoreCommentUpdate, ScoreCommentsCounts, ScoreCreation, ScoreCreationType, ScoreData, ScoreDataEncoding, ScoreFork, ScoreLicense, ScoreLikesCounts, ScoreModification, ScorePrivacy, ScoreRevision, ScoreRevisionCreation, ScoreRevisionStatistics, ScoreSource, ScoreSummary, ScoreTrack, ScoreTrackCreation, ScoreTrackPoint, ScoreTrackState, ScoreTrackType, ScoreTrackUpdate, ScoreViewsCounts, UserAdminUpdate, UserBasics, UserCreation, UserDetailsAdminLicense, UserInstruments, ResourceCollaborator, ScoreDetails, UserPublicSummary, UserDetailsAdmin, UserPublic, UserDetails, AccountApi, ClassApi, CollectionApi, GroupApi, OrganizationApi, ScoreApi, UserApi) { - 'use strict'; - - /** - * JavaScript Client for Flat REST API (https://flat.io).
- * The index module provides access to constructors for all the classes which comprise the public API. - *

- * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: - *

-   * var FlatApi = require('index'); // See note below*.
-   * var xxxSvc = new FlatApi.XxxApi(); // Allocate the API class we're going to use.
-   * var yyyModel = new FlatApi.Yyy(); // Construct a model instance.
-   * yyyModel.someProperty = 'someValue';
-   * ...
-   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
-   * ...
-   * 
- * *NOTE: For a top-level AMD script, use require(['index'], function(){...}) - * and put the application logic within the callback function. - *

- *

- * A non-AMD browser application (discouraged) might do something like this: - *

-   * var xxxSvc = new FlatApi.XxxApi(); // Allocate the API class we're going to use.
-   * var yyy = new FlatApi.Yyy(); // Construct a model instance.
-   * yyyModel.someProperty = 'someValue';
-   * ...
-   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
-   * ...
-   * 
- *

- * @module index - * @version 2.6.0 - */ - var exports = { - /** - * The ApiClient constructor. - * @property {module:ApiClient} - */ - ApiClient: ApiClient, - /** - * The Assignment model constructor. - * @property {module:model/Assignment} - */ - Assignment: Assignment, - /** - * The AssignmentCopy model constructor. - * @property {module:model/AssignmentCopy} - */ - AssignmentCopy: AssignmentCopy, - /** - * The AssignmentCreation model constructor. - * @property {module:model/AssignmentCreation} - */ - AssignmentCreation: AssignmentCreation, - /** - * The AssignmentSubmission model constructor. - * @property {module:model/AssignmentSubmission} - */ - AssignmentSubmission: AssignmentSubmission, - /** - * The AssignmentSubmissionUpdate model constructor. - * @property {module:model/AssignmentSubmissionUpdate} - */ - AssignmentSubmissionUpdate: AssignmentSubmissionUpdate, - /** - * The ClassAttachmentCreation model constructor. - * @property {module:model/ClassAttachmentCreation} - */ - ClassAttachmentCreation: ClassAttachmentCreation, - /** - * The ClassCreation model constructor. - * @property {module:model/ClassCreation} - */ - ClassCreation: ClassCreation, - /** - * The ClassDetails model constructor. - * @property {module:model/ClassDetails} - */ - ClassDetails: ClassDetails, - /** - * The ClassDetailsCanvas model constructor. - * @property {module:model/ClassDetailsCanvas} - */ - ClassDetailsCanvas: ClassDetailsCanvas, - /** - * The ClassDetailsClever model constructor. - * @property {module:model/ClassDetailsClever} - */ - ClassDetailsClever: ClassDetailsClever, - /** - * The ClassDetailsGoogleClassroom model constructor. - * @property {module:model/ClassDetailsGoogleClassroom} - */ - ClassDetailsGoogleClassroom: ClassDetailsGoogleClassroom, - /** - * The ClassDetailsGoogleDrive model constructor. - * @property {module:model/ClassDetailsGoogleDrive} - */ - ClassDetailsGoogleDrive: ClassDetailsGoogleDrive, - /** - * The ClassDetailsLti model constructor. - * @property {module:model/ClassDetailsLti} - */ - ClassDetailsLti: ClassDetailsLti, - /** - * The ClassRoles model constructor. - * @property {module:model/ClassRoles} - */ - ClassRoles: ClassRoles, - /** - * The ClassState model constructor. - * @property {module:model/ClassState} - */ - ClassState: ClassState, - /** - * The ClassUpdate model constructor. - * @property {module:model/ClassUpdate} - */ - ClassUpdate: ClassUpdate, - /** - * The Collection model constructor. - * @property {module:model/Collection} - */ - Collection: Collection, - /** - * The CollectionCapabilities model constructor. - * @property {module:model/CollectionCapabilities} - */ - CollectionCapabilities: CollectionCapabilities, - /** - * The CollectionCreation model constructor. - * @property {module:model/CollectionCreation} - */ - CollectionCreation: CollectionCreation, - /** - * The CollectionModification model constructor. - * @property {module:model/CollectionModification} - */ - CollectionModification: CollectionModification, - /** - * The CollectionPrivacy model constructor. - * @property {module:model/CollectionPrivacy} - */ - CollectionPrivacy: CollectionPrivacy, - /** - * The CollectionTitle model constructor. - * @property {module:model/CollectionTitle} - */ - CollectionTitle: CollectionTitle, - /** - * The CollectionType model constructor. - * @property {module:model/CollectionType} - */ - CollectionType: CollectionType, - /** - * The FlatErrorResponse model constructor. - * @property {module:model/FlatErrorResponse} - */ - FlatErrorResponse: FlatErrorResponse, - /** - * The FlatLocales model constructor. - * @property {module:model/FlatLocales} - */ - FlatLocales: FlatLocales, - /** - * The GoogleClassroomCoursework model constructor. - * @property {module:model/GoogleClassroomCoursework} - */ - GoogleClassroomCoursework: GoogleClassroomCoursework, - /** - * The GoogleClassroomSubmission model constructor. - * @property {module:model/GoogleClassroomSubmission} - */ - GoogleClassroomSubmission: GoogleClassroomSubmission, - /** - * The Group model constructor. - * @property {module:model/Group} - */ - Group: Group, - /** - * The GroupDetails model constructor. - * @property {module:model/GroupDetails} - */ - GroupDetails: GroupDetails, - /** - * The GroupType model constructor. - * @property {module:model/GroupType} - */ - GroupType: GroupType, - /** - * The LicenseMode model constructor. - * @property {module:model/LicenseMode} - */ - LicenseMode: LicenseMode, - /** - * The LicenseSources model constructor. - * @property {module:model/LicenseSources} - */ - LicenseSources: LicenseSources, - /** - * The LmsName model constructor. - * @property {module:model/LmsName} - */ - LmsName: LmsName, - /** - * The LtiCredentials model constructor. - * @property {module:model/LtiCredentials} - */ - LtiCredentials: LtiCredentials, - /** - * The LtiCredentialsCreation model constructor. - * @property {module:model/LtiCredentialsCreation} - */ - LtiCredentialsCreation: LtiCredentialsCreation, - /** - * The MediaAttachment model constructor. - * @property {module:model/MediaAttachment} - */ - MediaAttachment: MediaAttachment, - /** - * The MediaScoreSharingMode model constructor. - * @property {module:model/MediaScoreSharingMode} - */ - MediaScoreSharingMode: MediaScoreSharingMode, - /** - * The OrganizationInvitation model constructor. - * @property {module:model/OrganizationInvitation} - */ - OrganizationInvitation: OrganizationInvitation, - /** - * The OrganizationInvitationCreation model constructor. - * @property {module:model/OrganizationInvitationCreation} - */ - OrganizationInvitationCreation: OrganizationInvitationCreation, - /** - * The OrganizationRoles model constructor. - * @property {module:model/OrganizationRoles} - */ - OrganizationRoles: OrganizationRoles, - /** - * The ResourceCollaboratorCreation model constructor. - * @property {module:model/ResourceCollaboratorCreation} - */ - ResourceCollaboratorCreation: ResourceCollaboratorCreation, - /** - * The ResourceRights model constructor. - * @property {module:model/ResourceRights} - */ - ResourceRights: ResourceRights, - /** - * The ResourceSharingKey model constructor. - * @property {module:model/ResourceSharingKey} - */ - ResourceSharingKey: ResourceSharingKey, - /** - * The ScoreComment model constructor. - * @property {module:model/ScoreComment} - */ - ScoreComment: ScoreComment, - /** - * The ScoreCommentContext model constructor. - * @property {module:model/ScoreCommentContext} - */ - ScoreCommentContext: ScoreCommentContext, - /** - * The ScoreCommentCreation model constructor. - * @property {module:model/ScoreCommentCreation} - */ - ScoreCommentCreation: ScoreCommentCreation, - /** - * The ScoreCommentUpdate model constructor. - * @property {module:model/ScoreCommentUpdate} - */ - ScoreCommentUpdate: ScoreCommentUpdate, - /** - * The ScoreCommentsCounts model constructor. - * @property {module:model/ScoreCommentsCounts} - */ - ScoreCommentsCounts: ScoreCommentsCounts, - /** - * The ScoreCreation model constructor. - * @property {module:model/ScoreCreation} - */ - ScoreCreation: ScoreCreation, - /** - * The ScoreCreationType model constructor. - * @property {module:model/ScoreCreationType} - */ - ScoreCreationType: ScoreCreationType, - /** - * The ScoreData model constructor. - * @property {module:model/ScoreData} - */ - ScoreData: ScoreData, - /** - * The ScoreDataEncoding model constructor. - * @property {module:model/ScoreDataEncoding} - */ - ScoreDataEncoding: ScoreDataEncoding, - /** - * The ScoreFork model constructor. - * @property {module:model/ScoreFork} - */ - ScoreFork: ScoreFork, - /** - * The ScoreLicense model constructor. - * @property {module:model/ScoreLicense} - */ - ScoreLicense: ScoreLicense, - /** - * The ScoreLikesCounts model constructor. - * @property {module:model/ScoreLikesCounts} - */ - ScoreLikesCounts: ScoreLikesCounts, - /** - * The ScoreModification model constructor. - * @property {module:model/ScoreModification} - */ - ScoreModification: ScoreModification, - /** - * The ScorePrivacy model constructor. - * @property {module:model/ScorePrivacy} - */ - ScorePrivacy: ScorePrivacy, - /** - * The ScoreRevision model constructor. - * @property {module:model/ScoreRevision} - */ - ScoreRevision: ScoreRevision, - /** - * The ScoreRevisionCreation model constructor. - * @property {module:model/ScoreRevisionCreation} - */ - ScoreRevisionCreation: ScoreRevisionCreation, - /** - * The ScoreRevisionStatistics model constructor. - * @property {module:model/ScoreRevisionStatistics} - */ - ScoreRevisionStatistics: ScoreRevisionStatistics, - /** - * The ScoreSource model constructor. - * @property {module:model/ScoreSource} - */ - ScoreSource: ScoreSource, - /** - * The ScoreSummary model constructor. - * @property {module:model/ScoreSummary} - */ - ScoreSummary: ScoreSummary, - /** - * The ScoreTrack model constructor. - * @property {module:model/ScoreTrack} - */ - ScoreTrack: ScoreTrack, - /** - * The ScoreTrackCreation model constructor. - * @property {module:model/ScoreTrackCreation} - */ - ScoreTrackCreation: ScoreTrackCreation, - /** - * The ScoreTrackPoint model constructor. - * @property {module:model/ScoreTrackPoint} - */ - ScoreTrackPoint: ScoreTrackPoint, - /** - * The ScoreTrackState model constructor. - * @property {module:model/ScoreTrackState} - */ - ScoreTrackState: ScoreTrackState, - /** - * The ScoreTrackType model constructor. - * @property {module:model/ScoreTrackType} - */ - ScoreTrackType: ScoreTrackType, - /** - * The ScoreTrackUpdate model constructor. - * @property {module:model/ScoreTrackUpdate} - */ - ScoreTrackUpdate: ScoreTrackUpdate, - /** - * The ScoreViewsCounts model constructor. - * @property {module:model/ScoreViewsCounts} - */ - ScoreViewsCounts: ScoreViewsCounts, - /** - * The UserAdminUpdate model constructor. - * @property {module:model/UserAdminUpdate} - */ - UserAdminUpdate: UserAdminUpdate, - /** - * The UserBasics model constructor. - * @property {module:model/UserBasics} - */ - UserBasics: UserBasics, - /** - * The UserCreation model constructor. - * @property {module:model/UserCreation} - */ - UserCreation: UserCreation, - /** - * The UserDetailsAdminLicense model constructor. - * @property {module:model/UserDetailsAdminLicense} - */ - UserDetailsAdminLicense: UserDetailsAdminLicense, - /** - * The UserInstruments model constructor. - * @property {module:model/UserInstruments} - */ - UserInstruments: UserInstruments, - /** - * The ResourceCollaborator model constructor. - * @property {module:model/ResourceCollaborator} - */ - ResourceCollaborator: ResourceCollaborator, - /** - * The ScoreDetails model constructor. - * @property {module:model/ScoreDetails} - */ - ScoreDetails: ScoreDetails, - /** - * The UserPublicSummary model constructor. - * @property {module:model/UserPublicSummary} - */ - UserPublicSummary: UserPublicSummary, - /** - * The UserDetailsAdmin model constructor. - * @property {module:model/UserDetailsAdmin} - */ - UserDetailsAdmin: UserDetailsAdmin, - /** - * The UserPublic model constructor. - * @property {module:model/UserPublic} - */ - UserPublic: UserPublic, - /** - * The UserDetails model constructor. - * @property {module:model/UserDetails} - */ - UserDetails: UserDetails, - /** - * The AccountApi service constructor. - * @property {module:api/AccountApi} - */ - AccountApi: AccountApi, - /** - * The ClassApi service constructor. - * @property {module:api/ClassApi} - */ - ClassApi: ClassApi, - /** - * The CollectionApi service constructor. - * @property {module:api/CollectionApi} - */ - CollectionApi: CollectionApi, - /** - * The GroupApi service constructor. - * @property {module:api/GroupApi} - */ - GroupApi: GroupApi, - /** - * The OrganizationApi service constructor. - * @property {module:api/OrganizationApi} - */ - OrganizationApi: OrganizationApi, - /** - * The ScoreApi service constructor. - * @property {module:api/ScoreApi} - */ - ScoreApi: ScoreApi, - /** - * The UserApi service constructor. - * @property {module:api/UserApi} - */ - UserApi: UserApi - }; - - return exports; -})); diff --git a/src/model/Assignment.js b/src/model/Assignment.js deleted file mode 100644 index 14151c5..0000000 --- a/src/model/Assignment.js +++ /dev/null @@ -1,193 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/AssignmentSubmission', 'model/GoogleClassroomCoursework', 'model/MediaAttachment'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./AssignmentSubmission'), require('./GoogleClassroomCoursework'), require('./MediaAttachment')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Assignment = factory(root.FlatApi.ApiClient, root.FlatApi.AssignmentSubmission, root.FlatApi.GoogleClassroomCoursework, root.FlatApi.MediaAttachment); - } -}(this, function(ApiClient, AssignmentSubmission, GoogleClassroomCoursework, MediaAttachment) { - 'use strict'; - - - - - /** - * The Assignment model module. - * @module model/Assignment - * @version 2.6.0 - */ - - /** - * Constructs a new Assignment. - * Assignment details - * @alias module:model/Assignment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - }; - - /** - * Constructs a Assignment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Assignment} obj Optional instance to populate. - * @return {module:model/Assignment} The populated Assignment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [MediaAttachment]); - } - if (data.hasOwnProperty('submissions')) { - obj['submissions'] = ApiClient.convertToType(data['submissions'], [AssignmentSubmission]); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('scheduledDate')) { - obj['scheduledDate'] = ApiClient.convertToType(data['scheduledDate'], 'Date'); - } - if (data.hasOwnProperty('dueDate')) { - obj['dueDate'] = ApiClient.convertToType(data['dueDate'], 'Date'); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = GoogleClassroomCoursework.constructFromObject(data['googleClassroom']); - } - } - return obj; - } - - /** - * State of the assignment - * @member {module:model/Assignment.StateEnum} state - */ - exports.prototype['state'] = undefined; - /** - * Title of the assignment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The unique identifier of the class where this assignment was posted - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - /** - * Description and content of the assignment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * @member {Array.} submissions - */ - exports.prototype['submissions'] = undefined; - /** - * The User unique identifier of the creator of this assignment - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of this assignment - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. - * @member {Date} scheduledDate - */ - exports.prototype['scheduledDate'] = undefined; - /** - * The due date of this assignment, late submissions will be marked as paste due. - * @member {Date} dueDate - */ - exports.prototype['dueDate'] = undefined; - /** - * @member {module:model/GoogleClassroomCoursework} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - - - /** - * Allowed values for the state property. - * @enum {String} - * @readonly - */ - exports.StateEnum = { - /** - * value: "draft" - * @const - */ - "draft": "draft", - /** - * value: "active" - * @const - */ - "active": "active", - /** - * value: "archived" - * @const - */ - "archived": "archived" }; - - - return exports; -})); - - diff --git a/src/model/AssignmentCopy.js b/src/model/AssignmentCopy.js deleted file mode 100644 index 08b083d..0000000 --- a/src/model/AssignmentCopy.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentCopy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The AssignmentCopy model module. - * @module model/AssignmentCopy - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentCopy. - * Assignment copy operation - * @alias module:model/AssignmentCopy - * @class - * @param classroom {String} The destination classroom where the assignment will be copied - */ - var exports = function(classroom) { - var _this = this; - - _this['classroom'] = classroom; - }; - - /** - * Constructs a AssignmentCopy from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentCopy} obj Optional instance to populate. - * @return {module:model/AssignmentCopy} The populated AssignmentCopy instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - } - return obj; - } - - /** - * The destination classroom where the assignment will be copied - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/AssignmentCreation.js b/src/model/AssignmentCreation.js deleted file mode 100644 index 5816b15..0000000 --- a/src/model/AssignmentCreation.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassAttachmentCreation'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassAttachmentCreation')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ClassAttachmentCreation); - } -}(this, function(ApiClient, ClassAttachmentCreation) { - 'use strict'; - - - - - /** - * The AssignmentCreation model module. - * @module model/AssignmentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentCreation. - * Assignment creation details - * @alias module:model/AssignmentCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a AssignmentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentCreation} obj Optional instance to populate. - * @return {module:model/AssignmentCreation} The populated AssignmentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [ClassAttachmentCreation]); - } - if (data.hasOwnProperty('dueDate')) { - obj['dueDate'] = ApiClient.convertToType(data['dueDate'], 'Date'); - } - if (data.hasOwnProperty('scheduledDate')) { - obj['scheduledDate'] = ApiClient.convertToType(data['scheduledDate'], 'Date'); - } - } - return obj; - } - - /** - * Title of the assignment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * Description and content of the assignment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * The due date of this assignment, late submissions will be marked as paste due. If not set, the assignment won't have a due date. - * @member {Date} dueDate - */ - exports.prototype['dueDate'] = undefined; - /** - * The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class. - * @member {Date} scheduledDate - */ - exports.prototype['scheduledDate'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/AssignmentSubmission.js b/src/model/AssignmentSubmission.js deleted file mode 100644 index ce82072..0000000 --- a/src/model/AssignmentSubmission.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/GoogleClassroomSubmission', 'model/MediaAttachment'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./GoogleClassroomSubmission'), require('./MediaAttachment')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentSubmission = factory(root.FlatApi.ApiClient, root.FlatApi.GoogleClassroomSubmission, root.FlatApi.MediaAttachment); - } -}(this, function(ApiClient, GoogleClassroomSubmission, MediaAttachment) { - 'use strict'; - - - - - /** - * The AssignmentSubmission model module. - * @module model/AssignmentSubmission - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentSubmission. - * Assignment Submission - * @alias module:model/AssignmentSubmission - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - }; - - /** - * Constructs a AssignmentSubmission from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentSubmission} obj Optional instance to populate. - * @return {module:model/AssignmentSubmission} The populated AssignmentSubmission instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('classroom')) { - obj['classroom'] = ApiClient.convertToType(data['classroom'], 'String'); - } - if (data.hasOwnProperty('assignment')) { - obj['assignment'] = ApiClient.convertToType(data['assignment'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'String'); - } - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [MediaAttachment]); - } - if (data.hasOwnProperty('submissionDate')) { - obj['submissionDate'] = ApiClient.convertToType(data['submissionDate'], 'String'); - } - if (data.hasOwnProperty('studentComment')) { - obj['studentComment'] = ApiClient.convertToType(data['studentComment'], 'String'); - } - if (data.hasOwnProperty('returnDate')) { - obj['returnDate'] = ApiClient.convertToType(data['returnDate'], 'String'); - } - if (data.hasOwnProperty('returnFeedback')) { - obj['returnFeedback'] = ApiClient.convertToType(data['returnFeedback'], 'String'); - } - if (data.hasOwnProperty('returnCreator')) { - obj['returnCreator'] = ApiClient.convertToType(data['returnCreator'], 'String'); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = GoogleClassroomSubmission.constructFromObject(data['googleClassroom']); - } - } - return obj; - } - - /** - * Unique identifier of the submission - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Unique identifier of the classroom where the assignment was posted - * @member {String} classroom - */ - exports.prototype['classroom'] = undefined; - /** - * Unique identifier of the assignment - * @member {String} assignment - */ - exports.prototype['assignment'] = undefined; - /** - * The User identifier of the student who created the submission - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The date when the submission was created - * @member {String} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * The date when the student submitted his work - * @member {String} submissionDate - */ - exports.prototype['submissionDate'] = undefined; - /** - * An optionnal comment sent by the student when submitting his work - * @member {String} studentComment - */ - exports.prototype['studentComment'] = undefined; - /** - * The date when the teacher returned the work - * @member {String} returnDate - */ - exports.prototype['returnDate'] = undefined; - /** - * The feedback associated with the return - * @member {String} returnFeedback - */ - exports.prototype['returnFeedback'] = undefined; - /** - * The User unique identifier of the teacher who returned the submission - * @member {String} returnCreator - */ - exports.prototype['returnCreator'] = undefined; - /** - * @member {module:model/GoogleClassroomSubmission} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/AssignmentSubmissionUpdate.js b/src/model/AssignmentSubmissionUpdate.js deleted file mode 100644 index 6f2949b..0000000 --- a/src/model/AssignmentSubmissionUpdate.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassAttachmentCreation'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassAttachmentCreation')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.AssignmentSubmissionUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ClassAttachmentCreation); - } -}(this, function(ApiClient, ClassAttachmentCreation) { - 'use strict'; - - - - - /** - * The AssignmentSubmissionUpdate model module. - * @module model/AssignmentSubmissionUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new AssignmentSubmissionUpdate. - * Assignment Submission creation - * @alias module:model/AssignmentSubmissionUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a AssignmentSubmissionUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AssignmentSubmissionUpdate} obj Optional instance to populate. - * @return {module:model/AssignmentSubmissionUpdate} The populated AssignmentSubmissionUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('attachments')) { - obj['attachments'] = ApiClient.convertToType(data['attachments'], [ClassAttachmentCreation]); - } - if (data.hasOwnProperty('studentComment')) { - obj['studentComment'] = ApiClient.convertToType(data['studentComment'], 'String'); - } - if (data.hasOwnProperty('submit')) { - obj['submit'] = ApiClient.convertToType(data['submit'], 'Boolean'); - } - if (data.hasOwnProperty('returnFeedback')) { - obj['returnFeedback'] = ApiClient.convertToType(data['returnFeedback'], 'String'); - } - } - return obj; - } - - /** - * @member {Array.} attachments - */ - exports.prototype['attachments'] = undefined; - /** - * An optionnal comment sent by the student when submitting his work - * @member {String} studentComment - */ - exports.prototype['studentComment'] = undefined; - /** - * If `true`, the submission will be marked as done - * @member {Boolean} submit - */ - exports.prototype['submit'] = undefined; - /** - * The feedback associated with the return - * @member {String} returnFeedback - */ - exports.prototype['returnFeedback'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassAttachmentCreation.js b/src/model/ClassAttachmentCreation.js deleted file mode 100644 index df40d21..0000000 --- a/src/model/ClassAttachmentCreation.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassAttachmentCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassAttachmentCreation model module. - * @module model/ClassAttachmentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ClassAttachmentCreation. - * Attachment creation for an assignment or stream post. This attachment must contain a `score` or an `url`, all the details of this one will be resolved and returned as `ClassAttachment` once the assignment or stream post is created. - * @alias module:model/ClassAttachmentCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ClassAttachmentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassAttachmentCreation} obj Optional instance to populate. - * @return {module:model/ClassAttachmentCreation} The populated ClassAttachmentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - } - return obj; - } - - /** - * The type of the attachment posted - * @member {module:model/ClassAttachmentCreation.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * A unique Flat score identifier. The user creating the assignment must at least have read access to the document. If the user has admin rights, new group permissions will be automatically added for the teachers and students of the class. - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The URL of the attachment. - * @member {String} url - */ - exports.prototype['url'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "flat" - * @const - */ - "flat": "flat", - /** - * value: "link" - * @const - */ - "link": "link", - /** - * value: "exercise" - * @const - */ - "exercise": "exercise" }; - - - return exports; -})); - - diff --git a/src/model/ClassCreation.js b/src/model/ClassCreation.js deleted file mode 100644 index 2cab43f..0000000 --- a/src/model/ClassCreation.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassCreation model module. - * @module model/ClassCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ClassCreation. - * Creation of a classroom - * @alias module:model/ClassCreation - * @class - * @param name {String} The name of the new class - */ - var exports = function(name) { - var _this = this; - - _this['name'] = name; - - }; - - /** - * Constructs a ClassCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassCreation} obj Optional instance to populate. - * @return {module:model/ClassCreation} The populated ClassCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The name of the new class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the new class - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassDetails.js b/src/model/ClassDetails.js deleted file mode 100644 index 297a511..0000000 --- a/src/model/ClassDetails.js +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassDetailsCanvas', 'model/ClassDetailsClever', 'model/ClassDetailsGoogleClassroom', 'model/ClassDetailsGoogleDrive', 'model/ClassDetailsLti', 'model/ClassState', 'model/GroupDetails'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassDetailsCanvas'), require('./ClassDetailsClever'), require('./ClassDetailsGoogleClassroom'), require('./ClassDetailsGoogleDrive'), require('./ClassDetailsLti'), require('./ClassState'), require('./GroupDetails')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ClassDetailsCanvas, root.FlatApi.ClassDetailsClever, root.FlatApi.ClassDetailsGoogleClassroom, root.FlatApi.ClassDetailsGoogleDrive, root.FlatApi.ClassDetailsLti, root.FlatApi.ClassState, root.FlatApi.GroupDetails); - } -}(this, function(ApiClient, ClassDetailsCanvas, ClassDetailsClever, ClassDetailsGoogleClassroom, ClassDetailsGoogleDrive, ClassDetailsLti, ClassState, GroupDetails) { - 'use strict'; - - - - - /** - * The ClassDetails model module. - * @module model/ClassDetails - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetails. - * A classroom - * @alias module:model/ClassDetails - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ClassDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetails} obj Optional instance to populate. - * @return {module:model/ClassDetails} The populated ClassDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ClassState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('owner')) { - obj['owner'] = ApiClient.convertToType(data['owner'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('enrollmentCode')) { - obj['enrollmentCode'] = ApiClient.convertToType(data['enrollmentCode'], 'String'); - } - if (data.hasOwnProperty('theme')) { - obj['theme'] = ApiClient.convertToType(data['theme'], 'String'); - } - if (data.hasOwnProperty('assignmentsCount')) { - obj['assignmentsCount'] = ApiClient.convertToType(data['assignmentsCount'], 'Number'); - } - if (data.hasOwnProperty('studentsGroup')) { - obj['studentsGroup'] = GroupDetails.constructFromObject(data['studentsGroup']); - } - if (data.hasOwnProperty('teachersGroup')) { - obj['teachersGroup'] = GroupDetails.constructFromObject(data['teachersGroup']); - } - if (data.hasOwnProperty('googleClassroom')) { - obj['googleClassroom'] = ClassDetailsGoogleClassroom.constructFromObject(data['googleClassroom']); - } - if (data.hasOwnProperty('googleDrive')) { - obj['googleDrive'] = ClassDetailsGoogleDrive.constructFromObject(data['googleDrive']); - } - if (data.hasOwnProperty('lti')) { - obj['lti'] = ClassDetailsLti.constructFromObject(data['lti']); - } - if (data.hasOwnProperty('canvas')) { - obj['canvas'] = ClassDetailsCanvas.constructFromObject(data['canvas']); - } - if (data.hasOwnProperty('clever')) { - obj['clever'] = ClassDetailsClever.constructFromObject(data['clever']); - } - } - return obj; - } - - /** - * The unique identifier of the class - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * @member {module:model/ClassState} state - */ - exports.prototype['state'] = undefined; - /** - * The name of the class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the class - * @member {String} section - */ - exports.prototype['section'] = undefined; - /** - * An optionnal description for this class - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * The unique identifier of the Organization owning this class - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The unique identifier of the User owning this class - * @member {String} owner - */ - exports.prototype['owner'] = undefined; - /** - * The date when the class was create - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * [Teachers only] The enrollment code that can be used by the students to join the class - * @member {String} enrollmentCode - */ - exports.prototype['enrollmentCode'] = undefined; - /** - * The theme identifier using in Flat User Interface - * @member {String} theme - */ - exports.prototype['theme'] = undefined; - /** - * The number of assignments created in the class - * @member {Number} assignmentsCount - */ - exports.prototype['assignmentsCount'] = undefined; - /** - * @member {module:model/GroupDetails} studentsGroup - */ - exports.prototype['studentsGroup'] = undefined; - /** - * @member {module:model/GroupDetails} teachersGroup - */ - exports.prototype['teachersGroup'] = undefined; - /** - * @member {module:model/ClassDetailsGoogleClassroom} googleClassroom - */ - exports.prototype['googleClassroom'] = undefined; - /** - * @member {module:model/ClassDetailsGoogleDrive} googleDrive - */ - exports.prototype['googleDrive'] = undefined; - /** - * @member {module:model/ClassDetailsLti} lti - */ - exports.prototype['lti'] = undefined; - /** - * @member {module:model/ClassDetailsCanvas} canvas - */ - exports.prototype['canvas'] = undefined; - /** - * @member {module:model/ClassDetailsClever} clever - */ - exports.prototype['clever'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassDetailsCanvas.js b/src/model/ClassDetailsCanvas.js deleted file mode 100644 index d7c6170..0000000 --- a/src/model/ClassDetailsCanvas.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsCanvas = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsCanvas model module. - * @module model/ClassDetailsCanvas - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsCanvas. - * Meta information provided by Canvs LMS - * @alias module:model/ClassDetailsCanvas - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassDetailsCanvas from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsCanvas} obj Optional instance to populate. - * @return {module:model/ClassDetailsCanvas} The populated ClassDetailsCanvas instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('domain')) { - obj['domain'] = ApiClient.convertToType(data['domain'], 'String'); - } - } - return obj; - } - - /** - * Unique identifier of the course on Canvas - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Canvas instance domain (e.g. \"canvas.instructure.com\") - * @member {String} domain - */ - exports.prototype['domain'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassDetailsClever.js b/src/model/ClassDetailsClever.js deleted file mode 100644 index d70f42e..0000000 --- a/src/model/ClassDetailsClever.js +++ /dev/null @@ -1,200 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsClever = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsClever model module. - * @module model/ClassDetailsClever - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsClever. - * Clever.com section-related information - * @alias module:model/ClassDetailsClever - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ClassDetailsClever from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsClever} obj Optional instance to populate. - * @return {module:model/ClassDetailsClever} The populated ClassDetailsClever instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('subject')) { - obj['subject'] = ApiClient.convertToType(data['subject'], 'String'); - } - if (data.hasOwnProperty('termName')) { - obj['termName'] = ApiClient.convertToType(data['termName'], 'String'); - } - if (data.hasOwnProperty('termStartDate')) { - obj['termStartDate'] = ApiClient.convertToType(data['termStartDate'], 'Date'); - } - if (data.hasOwnProperty('termEndDate')) { - obj['termEndDate'] = ApiClient.convertToType(data['termEndDate'], 'Date'); - } - } - return obj; - } - - /** - * Clever section unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The creation date of the section on clever - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The last modification date of the section on clever - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * Normalized subject of the course - * @member {module:model/ClassDetailsClever.SubjectEnum} subject - */ - exports.prototype['subject'] = undefined; - /** - * Name of the term when this course happens - * @member {String} termName - */ - exports.prototype['termName'] = undefined; - /** - * Beginning date of the term - * @member {Date} termStartDate - */ - exports.prototype['termStartDate'] = undefined; - /** - * End date of the term - * @member {Date} termEndDate - */ - exports.prototype['termEndDate'] = undefined; - - - /** - * Allowed values for the subject property. - * @enum {String} - * @readonly - */ - exports.SubjectEnum = { - /** - * value: "english/language arts" - * @const - */ - "english/language arts": "english/language arts", - /** - * value: "math" - * @const - */ - "math": "math", - /** - * value: "science" - * @const - */ - "science": "science", - /** - * value: "social studies" - * @const - */ - "social studies": "social studies", - /** - * value: "language" - * @const - */ - "language": "language", - /** - * value: "homeroom/advisory" - * @const - */ - "homeroom/advisory": "homeroom/advisory", - /** - * value: "interventions/online learning" - * @const - */ - "interventions/online learning": "interventions/online learning", - /** - * value: "technology and engineering" - * @const - */ - "technology and engineering": "technology and engineering", - /** - * value: "PE and health" - * @const - */ - "PE and health": "PE and health", - /** - * value: "arts and music" - * @const - */ - "arts and music": "arts and music", - /** - * value: "other" - * @const - */ - "other": "other" }; - - - return exports; -})); - - diff --git a/src/model/ClassDetailsGoogleClassroom.js b/src/model/ClassDetailsGoogleClassroom.js deleted file mode 100644 index d46877b..0000000 --- a/src/model/ClassDetailsGoogleClassroom.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsGoogleClassroom = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsGoogleClassroom model module. - * @module model/ClassDetailsGoogleClassroom - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsGoogleClassroom. - * Google Classroom course-related information - * @alias module:model/ClassDetailsGoogleClassroom - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ClassDetailsGoogleClassroom from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsGoogleClassroom} obj Optional instance to populate. - * @return {module:model/ClassDetailsGoogleClassroom} The populated ClassDetailsGoogleClassroom instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The course identifier on Google Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Absolute link to this course in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - /** - * The name of the course on Google Classroom - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the course on Google Classroom - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassDetailsGoogleDrive.js b/src/model/ClassDetailsGoogleDrive.js deleted file mode 100644 index b01ae43..0000000 --- a/src/model/ClassDetailsGoogleDrive.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsGoogleDrive = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsGoogleDrive model module. - * @module model/ClassDetailsGoogleDrive - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsGoogleDrive. - * Google Drive course-related information provided by Google Classroom - * @alias module:model/ClassDetailsGoogleDrive - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassDetailsGoogleDrive from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsGoogleDrive} obj Optional instance to populate. - * @return {module:model/ClassDetailsGoogleDrive} The populated ClassDetailsGoogleDrive instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('teacherFolderId')) { - obj['teacherFolderId'] = ApiClient.convertToType(data['teacherFolderId'], 'String'); - } - if (data.hasOwnProperty('teacherFolderAlternateLink')) { - obj['teacherFolderAlternateLink'] = ApiClient.convertToType(data['teacherFolderAlternateLink'], 'String'); - } - } - return obj; - } - - /** - * [Teachers only] The Drive directory identifier of the teachers' folder - * @member {String} teacherFolderId - */ - exports.prototype['teacherFolderId'] = undefined; - /** - * [Teachers only] The Drive URL of the teachers' folder - * @member {String} teacherFolderAlternateLink - */ - exports.prototype['teacherFolderAlternateLink'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassDetailsLti.js b/src/model/ClassDetailsLti.js deleted file mode 100644 index 56c7885..0000000 --- a/src/model/ClassDetailsLti.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassDetailsLti = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassDetailsLti model module. - * @module model/ClassDetailsLti - * @version 2.6.0 - */ - - /** - * Constructs a new ClassDetailsLti. - * Meta information provided by the LTI consumer - * @alias module:model/ClassDetailsLti - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ClassDetailsLti from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassDetailsLti} obj Optional instance to populate. - * @return {module:model/ClassDetailsLti} The populated ClassDetailsLti instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('contextId')) { - obj['contextId'] = ApiClient.convertToType(data['contextId'], 'String'); - } - if (data.hasOwnProperty('contextTitle')) { - obj['contextTitle'] = ApiClient.convertToType(data['contextTitle'], 'String'); - } - if (data.hasOwnProperty('contextLabel')) { - obj['contextLabel'] = ApiClient.convertToType(data['contextLabel'], 'String'); - } - } - return obj; - } - - /** - * Unique context identifier provided - * @member {String} contextId - */ - exports.prototype['contextId'] = undefined; - /** - * Context title - * @member {String} contextTitle - */ - exports.prototype['contextTitle'] = undefined; - /** - * Context label - * @member {String} contextLabel - */ - exports.prototype['contextLabel'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ClassRoles.js b/src/model/ClassRoles.js deleted file mode 100644 index 4f0081b..0000000 --- a/src/model/ClassRoles.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassRoles = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ClassRoles. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "teacher" - * @const - */ - "teacher": "teacher", - /** - * value: "student" - * @const - */ - "student": "student" }; - - /** - * Returns a ClassRoles enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ClassRoles} The enum ClassRoles value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ClassState.js b/src/model/ClassState.js deleted file mode 100644 index 3f01118..0000000 --- a/src/model/ClassState.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassState = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ClassState. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "active" - * @const - */ - "active": "active", - /** - * value: "inactive" - * @const - */ - "inactive": "inactive", - /** - * value: "archived" - * @const - */ - "archived": "archived" }; - - /** - * Returns a ClassState enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ClassState} The enum ClassState value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ClassUpdate.js b/src/model/ClassUpdate.js deleted file mode 100644 index 095b3c7..0000000 --- a/src/model/ClassUpdate.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ClassUpdate = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ClassUpdate model module. - * @module model/ClassUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ClassUpdate. - * Update of a classroom - * @alias module:model/ClassUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ClassUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ClassUpdate} obj Optional instance to populate. - * @return {module:model/ClassUpdate} The populated ClassUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('section')) { - obj['section'] = ApiClient.convertToType(data['section'], 'String'); - } - } - return obj; - } - - /** - * The name of the class - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The section of the class - * @member {String} section - */ - exports.prototype['section'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/Collection.js b/src/model/Collection.js deleted file mode 100644 index 29c3e98..0000000 --- a/src/model/Collection.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionCapabilities', 'model/CollectionPrivacy', 'model/CollectionTitle', 'model/CollectionType', 'model/ResourceCollaborator', 'model/ResourceRights', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionCapabilities'), require('./CollectionPrivacy'), require('./CollectionTitle'), require('./CollectionType'), require('./ResourceCollaborator'), require('./ResourceRights'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Collection = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionCapabilities, root.FlatApi.CollectionPrivacy, root.FlatApi.CollectionTitle, root.FlatApi.CollectionType, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceRights, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, CollectionCapabilities, CollectionPrivacy, CollectionTitle, CollectionType, ResourceCollaborator, ResourceRights, UserPublicSummary) { - 'use strict'; - - - - - /** - * The Collection model module. - * @module model/Collection - * @version 2.6.0 - */ - - /** - * Constructs a new Collection. - * Collection of scores - * @alias module:model/Collection - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - }; - - /** - * Constructs a Collection from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Collection} obj Optional instance to populate. - * @return {module:model/Collection} The populated Collection instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = CollectionType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = CollectionPrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ApiClient.convertToType(data['sharingKey'], 'String'); - } - if (data.hasOwnProperty('app')) { - obj['app'] = ApiClient.convertToType(data['app'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublicSummary.constructFromObject(data['user']); - } - if (data.hasOwnProperty('rights')) { - obj['rights'] = ResourceRights.constructFromObject(data['rights']); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], [ResourceCollaborator]); - } - if (data.hasOwnProperty('capabilities')) { - obj['capabilities'] = CollectionCapabilities.constructFromObject(data['capabilities']); - } - } - return obj; - } - - /** - * Unique identifier of the collection - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - /** - * The url where the collection can be viewed in a web browser - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - /** - * @member {module:model/CollectionType} type - */ - exports.prototype['type'] = undefined; - /** - * @member {module:model/CollectionPrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * If this directory is dedicated to an app, the unique idenfier of this app - * @member {String} app - */ - exports.prototype['app'] = undefined; - /** - * @member {module:model/UserPublicSummary} user - */ - exports.prototype['user'] = undefined; - /** - * @member {module:model/ResourceRights} rights - */ - exports.prototype['rights'] = undefined; - /** - * The list of the collaborators of the collection - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * @member {module:model/CollectionCapabilities} capabilities - */ - exports.prototype['capabilities'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/CollectionCapabilities.js b/src/model/CollectionCapabilities.js deleted file mode 100644 index 4aaf44f..0000000 --- a/src/model/CollectionCapabilities.js +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionCapabilities = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The CollectionCapabilities model module. - * @module model/CollectionCapabilities - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionCapabilities. - * Capabilities the current user has on this collection. Each capability corresponds to a fine-grained action that a user may take. - * @alias module:model/CollectionCapabilities - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a CollectionCapabilities from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionCapabilities} obj Optional instance to populate. - * @return {module:model/CollectionCapabilities} The populated CollectionCapabilities instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('canEdit')) { - obj['canEdit'] = ApiClient.convertToType(data['canEdit'], 'Boolean'); - } - if (data.hasOwnProperty('canShare')) { - obj['canShare'] = ApiClient.convertToType(data['canShare'], 'Boolean'); - } - if (data.hasOwnProperty('canDelete')) { - obj['canDelete'] = ApiClient.convertToType(data['canDelete'], 'Boolean'); - } - if (data.hasOwnProperty('canAddScores')) { - obj['canAddScores'] = ApiClient.convertToType(data['canAddScores'], 'Boolean'); - } - if (data.hasOwnProperty('canDeleteScores')) { - obj['canDeleteScores'] = ApiClient.convertToType(data['canDeleteScores'], 'Boolean'); - } - } - return obj; - } - - /** - * Whether the current user can modify the metadata for the collection - * @member {Boolean} canEdit - */ - exports.prototype['canEdit'] = undefined; - /** - * Whether the current user can modify the sharing settings for the collection - * @member {Boolean} canShare - */ - exports.prototype['canShare'] = undefined; - /** - * Whether the current user can delete the collection - * @member {Boolean} canDelete - */ - exports.prototype['canDelete'] = undefined; - /** - * Whether the current user can add scores to the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `DELETE /v2/scores/{score}` to trash a score. - * @member {Boolean} canAddScores - */ - exports.prototype['canAddScores'] = undefined; - /** - * Whether the current user can delete scores from the collection If this collection has the `type` `trash`, this property will be set to `false`. Use `POST /v2/scores/{score}/untrash` to restore a score. - * @member {Boolean} canDeleteScores - */ - exports.prototype['canDeleteScores'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/CollectionCreation.js b/src/model/CollectionCreation.js deleted file mode 100644 index 941e539..0000000 --- a/src/model/CollectionCreation.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionTitle'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionTitle')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionCreation = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionTitle); - } -}(this, function(ApiClient, CollectionTitle) { - 'use strict'; - - - - - /** - * The CollectionCreation model module. - * @module model/CollectionCreation - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionCreation. - * @alias module:model/CollectionCreation - * @class - * @param title {module:model/CollectionTitle} - */ - var exports = function(title) { - var _this = this; - - _this['title'] = title; - }; - - /** - * Constructs a CollectionCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionCreation} obj Optional instance to populate. - * @return {module:model/CollectionCreation} The populated CollectionCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - } - return obj; - } - - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/CollectionModification.js b/src/model/CollectionModification.js deleted file mode 100644 index f5284e9..0000000 --- a/src/model/CollectionModification.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/CollectionTitle'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./CollectionTitle')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionModification = factory(root.FlatApi.ApiClient, root.FlatApi.CollectionTitle); - } -}(this, function(ApiClient, CollectionTitle) { - 'use strict'; - - - - - /** - * The CollectionModification model module. - * @module model/CollectionModification - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionModification. - * Edit the collection metadata - * @alias module:model/CollectionModification - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a CollectionModification from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionModification} obj Optional instance to populate. - * @return {module:model/CollectionModification} The populated CollectionModification instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = CollectionTitle.constructFromObject(data['title']); - } - } - return obj; - } - - /** - * @member {module:model/CollectionTitle} title - */ - exports.prototype['title'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/CollectionPrivacy.js b/src/model/CollectionPrivacy.js deleted file mode 100644 index c1d69ff..0000000 --- a/src/model/CollectionPrivacy.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionPrivacy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class CollectionPrivacy. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "private" - * @const - */ - "private": "private" }; - - /** - * Returns a CollectionPrivacy enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/CollectionPrivacy} The enum CollectionPrivacy value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/CollectionTitle.js b/src/model/CollectionTitle.js deleted file mode 100644 index dc1b146..0000000 --- a/src/model/CollectionTitle.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionTitle = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The CollectionTitle model module. - * @module model/CollectionTitle - * @version 2.6.0 - */ - - /** - * Constructs a new CollectionTitle. - * The title of the collection - * @alias module:model/CollectionTitle - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a CollectionTitle from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/CollectionTitle} obj Optional instance to populate. - * @return {module:model/CollectionTitle} The populated CollectionTitle instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - diff --git a/src/model/CollectionType.js b/src/model/CollectionType.js deleted file mode 100644 index 1cf08bf..0000000 --- a/src/model/CollectionType.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.CollectionType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class CollectionType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "root" - * @const - */ - "root": "root", - /** - * value: "regular" - * @const - */ - "regular": "regular", - /** - * value: "sharedWithMe" - * @const - */ - "sharedWithMe": "sharedWithMe", - /** - * value: "sharedWithGroup" - * @const - */ - "sharedWithGroup": "sharedWithGroup", - /** - * value: "trash" - * @const - */ - "trash": "trash" }; - - /** - * Returns a CollectionType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/CollectionType} The enum CollectionType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/FlatErrorResponse.js b/src/model/FlatErrorResponse.js deleted file mode 100644 index 6ee164e..0000000 --- a/src/model/FlatErrorResponse.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.FlatErrorResponse = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The FlatErrorResponse model module. - * @module model/FlatErrorResponse - * @version 2.6.0 - */ - - /** - * Constructs a new FlatErrorResponse. - * @alias module:model/FlatErrorResponse - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a FlatErrorResponse from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/FlatErrorResponse} obj Optional instance to populate. - * @return {module:model/FlatErrorResponse} The populated FlatErrorResponse instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('code')) { - obj['code'] = ApiClient.convertToType(data['code'], 'String'); - } - if (data.hasOwnProperty('message')) { - obj['message'] = ApiClient.convertToType(data['message'], 'String'); - } - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('param')) { - obj['param'] = ApiClient.convertToType(data['param'], 'String'); - } - } - return obj; - } - - /** - * A corresponding code for this error - * @member {String} code - */ - exports.prototype['code'] = undefined; - /** - * A printable message for this message - * @member {String} message - */ - exports.prototype['message'] = undefined; - /** - * An unique error identifier generated for the request - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The related parameter that caused the error - * @member {String} param - */ - exports.prototype['param'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/FlatLocales.js b/src/model/FlatLocales.js deleted file mode 100644 index 65aa101..0000000 --- a/src/model/FlatLocales.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.FlatLocales = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class FlatLocales. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "en" - * @const - */ - "en": "en", - /** - * value: "es" - * @const - */ - "es": "es", - /** - * value: "fr" - * @const - */ - "fr": "fr", - /** - * value: "it" - * @const - */ - "it": "it", - /** - * value: "pl" - * @const - */ - "pl": "pl", - /** - * value: "ro" - * @const - */ - "ro": "ro", - /** - * value: "nl" - * @const - */ - "nl": "nl" }; - - /** - * Returns a FlatLocales enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/FlatLocales} The enum FlatLocales value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/GoogleClassroomCoursework.js b/src/model/GoogleClassroomCoursework.js deleted file mode 100644 index cee1856..0000000 --- a/src/model/GoogleClassroomCoursework.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GoogleClassroomCoursework = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The GoogleClassroomCoursework model module. - * @module model/GoogleClassroomCoursework - * @version 2.6.0 - */ - - /** - * Constructs a new GoogleClassroomCoursework. - * A coursework on Google Classroom - * @alias module:model/GoogleClassroomCoursework - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a GoogleClassroomCoursework from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GoogleClassroomCoursework} obj Optional instance to populate. - * @return {module:model/GoogleClassroomCoursework} The populated GoogleClassroomCoursework instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - } - return obj; - } - - /** - * Identifier of the coursework assigned by Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * State of the coursework - * @member {String} state - */ - exports.prototype['state'] = undefined; - /** - * Absolute link to this coursework in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/GoogleClassroomSubmission.js b/src/model/GoogleClassroomSubmission.js deleted file mode 100644 index 6dc6aa8..0000000 --- a/src/model/GoogleClassroomSubmission.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GoogleClassroomSubmission = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The GoogleClassroomSubmission model module. - * @module model/GoogleClassroomSubmission - * @version 2.6.0 - */ - - /** - * Constructs a new GoogleClassroomSubmission. - * A coursework submission on Google Classroom - * @alias module:model/GoogleClassroomSubmission - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a GoogleClassroomSubmission from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GoogleClassroomSubmission} obj Optional instance to populate. - * @return {module:model/GoogleClassroomSubmission} The populated GoogleClassroomSubmission instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ApiClient.convertToType(data['state'], 'String'); - } - if (data.hasOwnProperty('alternateLink')) { - obj['alternateLink'] = ApiClient.convertToType(data['alternateLink'], 'String'); - } - } - return obj; - } - - /** - * Identifier of the coursework submission assigned by Classroom - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * State of the submission on Google Classroom - * @member {String} state - */ - exports.prototype['state'] = undefined; - /** - * Absolute link to this coursework in the Classroom web UI - * @member {String} alternateLink - */ - exports.prototype['alternateLink'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/Group.js b/src/model/Group.js deleted file mode 100644 index 5bc72df..0000000 --- a/src/model/Group.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.Group = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The Group model module. - * @module model/Group - * @version 2.6.0 - */ - - /** - * Constructs a new Group. - * A group of users - * @alias module:model/Group - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a Group from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/Group} obj Optional instance to populate. - * @return {module:model/Group} The populated Group instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('usersCount')) { - obj['usersCount'] = ApiClient.convertToType(data['usersCount'], 'Number'); - } - if (data.hasOwnProperty('readOnly')) { - obj['readOnly'] = ApiClient.convertToType(data['readOnly'], 'Boolean'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - } - return obj; - } - - /** - * The unique identifier of the group - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The display name of the group - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The type of the group: * `generic`: A group created by a Flat user * `classTeachers`: A group created automaticaly by Flat that contains the teachers of a class * `classStudents`: A group created automaticaly by Flat that contains the studnets of a class - * @member {module:model/Group.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The number of users in this group - * @member {Number} usersCount - */ - exports.prototype['usersCount'] = undefined; - /** - * `True` if the group is set in read-only - * @member {Boolean} readOnly - */ - exports.prototype['readOnly'] = undefined; - /** - * If the group is related to an organization, this field will contain the unique identifier of the organization - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The creation date of the group - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "generic" - * @const - */ - "generic": "generic", - /** - * value: "classTeachers" - * @const - */ - "classTeachers": "classTeachers", - /** - * value: "classStudents" - * @const - */ - "classStudents": "classStudents" }; - - - return exports; -})); - - diff --git a/src/model/GroupDetails.js b/src/model/GroupDetails.js deleted file mode 100644 index 9531d95..0000000 --- a/src/model/GroupDetails.js +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/GroupType'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./GroupType')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupDetails = factory(root.FlatApi.ApiClient, root.FlatApi.GroupType); - } -}(this, function(ApiClient, GroupType) { - 'use strict'; - - - - - /** - * The GroupDetails model module. - * @module model/GroupDetails - * @version 2.6.0 - */ - - /** - * Constructs a new GroupDetails. - * The details of a group - * @alias module:model/GroupDetails - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a GroupDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/GroupDetails} obj Optional instance to populate. - * @return {module:model/GroupDetails} The populated GroupDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = GroupType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('usersCount')) { - obj['usersCount'] = ApiClient.convertToType(data['usersCount'], 'Number'); - } - if (data.hasOwnProperty('readOnly')) { - obj['readOnly'] = ApiClient.convertToType(data['readOnly'], 'Boolean'); - } - } - return obj; - } - - /** - * The unique identifier of the group - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The displayable name of the group - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/GroupType} type - */ - exports.prototype['type'] = undefined; - /** - * The unique identifier of the Organization owning the group - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * The date when the group was create - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The number of students in this group - * @member {Number} usersCount - */ - exports.prototype['usersCount'] = undefined; - /** - * `true` if the properties and members of this group are in in read-only - * @member {Boolean} readOnly - */ - exports.prototype['readOnly'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/GroupType.js b/src/model/GroupType.js deleted file mode 100644 index b97b753..0000000 --- a/src/model/GroupType.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.GroupType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class GroupType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "generic" - * @const - */ - "generic": "generic", - /** - * value: "classTeachers" - * @const - */ - "classTeachers": "classTeachers", - /** - * value: "classStudents" - * @const - */ - "classStudents": "classStudents" }; - - /** - * Returns a GroupType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/GroupType} The enum GroupType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/LicenseMode.js b/src/model/LicenseMode.js deleted file mode 100644 index c62b433..0000000 --- a/src/model/LicenseMode.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LicenseMode = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LicenseMode. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "credit" - * @const - */ - "credit": "credit", - /** - * value: "site" - * @const - */ - "site": "site" }; - - /** - * Returns a LicenseMode enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LicenseMode} The enum LicenseMode value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/LicenseSources.js b/src/model/LicenseSources.js deleted file mode 100644 index b6646ae..0000000 --- a/src/model/LicenseSources.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LicenseSources = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LicenseSources. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "order" - * @const - */ - "order": "order", - /** - * value: "trial" - * @const - */ - "trial": "trial", - /** - * value: "voucher" - * @const - */ - "voucher": "voucher", - /** - * value: "distributor" - * @const - */ - "distributor": "distributor", - /** - * value: "subscription" - * @const - */ - "subscription": "subscription" }; - - /** - * Returns a LicenseSources enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LicenseSources} The enum LicenseSources value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/LmsName.js b/src/model/LmsName.js deleted file mode 100644 index 45f23f1..0000000 --- a/src/model/LmsName.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LmsName = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class LmsName. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "canvas" - * @const - */ - "canvas": "canvas", - /** - * value: "moodle" - * @const - */ - "moodle": "moodle", - /** - * value: "schoology" - * @const - */ - "schoology": "schoology", - /** - * value: "blackboard" - * @const - */ - "blackboard": "blackboard", - /** - * value: "desire2learn" - * @const - */ - "desire2learn": "desire2learn", - /** - * value: "sakai" - * @const - */ - "sakai": "sakai", - /** - * value: "other" - * @const - */ - "other": "other" }; - - /** - * Returns a LmsName enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/LmsName} The enum LmsName value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/LtiCredentials.js b/src/model/LtiCredentials.js deleted file mode 100644 index 3983c8c..0000000 --- a/src/model/LtiCredentials.js +++ /dev/null @@ -1,155 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LmsName'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LmsName')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LtiCredentials = factory(root.FlatApi.ApiClient, root.FlatApi.LmsName); - } -}(this, function(ApiClient, LmsName) { - 'use strict'; - - - - - /** - * The LtiCredentials model module. - * @module model/LtiCredentials - * @version 2.6.0 - */ - - /** - * Constructs a new LtiCredentials. - * A couple of LTI 1.x OAuth credentials - * @alias module:model/LtiCredentials - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - }; - - /** - * Constructs a LtiCredentials from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/LtiCredentials} obj Optional instance to populate. - * @return {module:model/LtiCredentials} The populated LtiCredentials instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('lms')) { - obj['lms'] = LmsName.constructFromObject(data['lms']); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('lastUsage')) { - obj['lastUsage'] = ApiClient.convertToType(data['lastUsage'], 'Date'); - } - if (data.hasOwnProperty('consumerKey')) { - obj['consumerKey'] = ApiClient.convertToType(data['consumerKey'], 'String'); - } - if (data.hasOwnProperty('consumerSecret')) { - obj['consumerSecret'] = ApiClient.convertToType(data['consumerSecret'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of this couple of credentials - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Name of the couple of credentials - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/LmsName} lms - */ - exports.prototype['lms'] = undefined; - /** - * The unique identifier of the Organization associated to these credentials - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * Unique identifier of the user who created these credentials - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of thse credentials - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The last time these credentials were used - * @member {Date} lastUsage - */ - exports.prototype['lastUsage'] = undefined; - /** - * OAuth 1 Consumer Key - * @member {String} consumerKey - */ - exports.prototype['consumerKey'] = undefined; - /** - * OAuth 1 Consumer Secret - * @member {String} consumerSecret - */ - exports.prototype['consumerSecret'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/LtiCredentialsCreation.js b/src/model/LtiCredentialsCreation.js deleted file mode 100644 index 0b52c32..0000000 --- a/src/model/LtiCredentialsCreation.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LmsName'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LmsName')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.LtiCredentialsCreation = factory(root.FlatApi.ApiClient, root.FlatApi.LmsName); - } -}(this, function(ApiClient, LmsName) { - 'use strict'; - - - - - /** - * The LtiCredentialsCreation model module. - * @module model/LtiCredentialsCreation - * @version 2.6.0 - */ - - /** - * Constructs a new LtiCredentialsCreation. - * Creation of a couple of LTI 1.x OAuth credentials - * @alias module:model/LtiCredentialsCreation - * @class - * @param name {String} Name of the couple of credentials - * @param lms {module:model/LmsName} - */ - var exports = function(name, lms) { - var _this = this; - - _this['name'] = name; - _this['lms'] = lms; - }; - - /** - * Constructs a LtiCredentialsCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/LtiCredentialsCreation} obj Optional instance to populate. - * @return {module:model/LtiCredentialsCreation} The populated LtiCredentialsCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('lms')) { - obj['lms'] = LmsName.constructFromObject(data['lms']); - } - } - return obj; - } - - /** - * Name of the couple of credentials - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * @member {module:model/LmsName} lms - */ - exports.prototype['lms'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/MediaAttachment.js b/src/model/MediaAttachment.js deleted file mode 100644 index 4efdc4f..0000000 --- a/src/model/MediaAttachment.js +++ /dev/null @@ -1,255 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/MediaScoreSharingMode'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./MediaScoreSharingMode')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.MediaAttachment = factory(root.FlatApi.ApiClient, root.FlatApi.MediaScoreSharingMode); - } -}(this, function(ApiClient, MediaScoreSharingMode) { - 'use strict'; - - - - - /** - * The MediaAttachment model module. - * @module model/MediaAttachment - * @version 2.6.0 - */ - - /** - * Constructs a new MediaAttachment. - * Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object - * @alias module:model/MediaAttachment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a MediaAttachment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/MediaAttachment} obj Optional instance to populate. - * @return {module:model/MediaAttachment} The populated MediaAttachment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('correct')) { - obj['correct'] = ApiClient.convertToType(data['correct'], 'Boolean'); - } - if (data.hasOwnProperty('sharingMode')) { - obj['sharingMode'] = MediaScoreSharingMode.constructFromObject(data['sharingMode']); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('html')) { - obj['html'] = ApiClient.convertToType(data['html'], 'String'); - } - if (data.hasOwnProperty('htmlWidth')) { - obj['htmlWidth'] = ApiClient.convertToType(data['htmlWidth'], 'String'); - } - if (data.hasOwnProperty('htmlHeight')) { - obj['htmlHeight'] = ApiClient.convertToType(data['htmlHeight'], 'String'); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('thumbnailUrl')) { - obj['thumbnailUrl'] = ApiClient.convertToType(data['thumbnailUrl'], 'String'); - } - if (data.hasOwnProperty('thumbnailWidth')) { - obj['thumbnailWidth'] = ApiClient.convertToType(data['thumbnailWidth'], 'String'); - } - if (data.hasOwnProperty('thumbnailHeight')) { - obj['thumbnailHeight'] = ApiClient.convertToType(data['thumbnailHeight'], 'String'); - } - if (data.hasOwnProperty('authorName')) { - obj['authorName'] = ApiClient.convertToType(data['authorName'], 'String'); - } - if (data.hasOwnProperty('authorUrl')) { - obj['authorUrl'] = ApiClient.convertToType(data['authorUrl'], 'String'); - } - } - return obj; - } - - /** - * The type of the assignment resolved: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property. - * @member {module:model/MediaAttachment.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * An unique Flat score identifier - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * An unique revision identifier of a score - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * If the attachment is an exercise question, this state will describe if it is correct or not.For exercise assignments only. - * @member {Boolean} correct - */ - exports.prototype['correct'] = undefined; - /** - * @member {module:model/MediaScoreSharingMode} sharingMode - */ - exports.prototype['sharingMode'] = undefined; - /** - * The resolved title of the attachment - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The resolved description of the attachment - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * If the attachment type is `rich` or `video`, the HTML code of the media to display - * @member {String} html - */ - exports.prototype['html'] = undefined; - /** - * If the `html` is available, the width of the widget - * @member {String} htmlWidth - */ - exports.prototype['htmlWidth'] = undefined; - /** - * If the `html` is available, the height of the widget - * @member {String} htmlHeight - */ - exports.prototype['htmlHeight'] = undefined; - /** - * The url of the attachment - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * If the attachment type is `rich`, `video`, `photo` or `link`, a displayable thumbnail for this attachment - * @member {String} thumbnailUrl - */ - exports.prototype['thumbnailUrl'] = undefined; - /** - * If the `thumbnailUrl` is available, the width of the thumbnail - * @member {String} thumbnailWidth - */ - exports.prototype['thumbnailWidth'] = undefined; - /** - * If the `thumbnailUrl` is available, the width of the thumbnail - * @member {String} thumbnailHeight - */ - exports.prototype['thumbnailHeight'] = undefined; - /** - * The resolved author name of the attachment - * @member {String} authorName - */ - exports.prototype['authorName'] = undefined; - /** - * The resolved author url of the attachment - * @member {String} authorUrl - */ - exports.prototype['authorUrl'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "rich" - * @const - */ - "rich": "rich", - /** - * value: "photo" - * @const - */ - "photo": "photo", - /** - * value: "video" - * @const - */ - "video": "video", - /** - * value: "link" - * @const - */ - "link": "link", - /** - * value: "flat" - * @const - */ - "flat": "flat", - /** - * value: "exercise" - * @const - */ - "exercise": "exercise" }; - - - return exports; -})); - - diff --git a/src/model/MediaScoreSharingMode.js b/src/model/MediaScoreSharingMode.js deleted file mode 100644 index 585ba98..0000000 --- a/src/model/MediaScoreSharingMode.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.MediaScoreSharingMode = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class MediaScoreSharingMode. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "read" - * @const - */ - "read": "read", - /** - * value: "write" - * @const - */ - "write": "write", - /** - * value: "copy" - * @const - */ - "copy": "copy" }; - - /** - * Returns a MediaScoreSharingMode enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/MediaScoreSharingMode} The enum MediaScoreSharingMode value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/OrganizationInvitation.js b/src/model/OrganizationInvitation.js deleted file mode 100644 index 9789d52..0000000 --- a/src/model/OrganizationInvitation.js +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationInvitation = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The OrganizationInvitation model module. - * @module model/OrganizationInvitation - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationInvitation. - * Details of an invitation to join an organization - * @alias module:model/OrganizationInvitation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a OrganizationInvitation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/OrganizationInvitation} obj Optional instance to populate. - * @return {module:model/OrganizationInvitation} The populated OrganizationInvitation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - if (data.hasOwnProperty('customCode')) { - obj['customCode'] = ApiClient.convertToType(data['customCode'], 'String'); - } - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('invitedBy')) { - obj['invitedBy'] = ApiClient.convertToType(data['invitedBy'], 'String'); - } - if (data.hasOwnProperty('usedBy')) { - obj['usedBy'] = ApiClient.convertToType(data['usedBy'], 'String'); - } - } - return obj; - } - - /** - * The invitation unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The unique identifier of the Organization owning this class - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - /** - * Enrollment code to use when joining this organization - * @member {String} customCode - */ - exports.prototype['customCode'] = undefined; - /** - * The email address this invitation was sent to - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * The unique identifier of the User who created this invitation - * @member {String} invitedBy - */ - exports.prototype['invitedBy'] = undefined; - /** - * The unique identifier of the User who used this invitation - * @member {String} usedBy - */ - exports.prototype['usedBy'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/OrganizationInvitationCreation.js b/src/model/OrganizationInvitationCreation.js deleted file mode 100644 index 3129016..0000000 --- a/src/model/OrganizationInvitationCreation.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationInvitationCreation = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The OrganizationInvitationCreation model module. - * @module model/OrganizationInvitationCreation - * @version 2.6.0 - */ - - /** - * Constructs a new OrganizationInvitationCreation. - * The parameters to create an organization invitation - * @alias module:model/OrganizationInvitationCreation - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a OrganizationInvitationCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/OrganizationInvitationCreation} obj Optional instance to populate. - * @return {module:model/OrganizationInvitationCreation} The populated OrganizationInvitationCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - } - return obj; - } - - /** - * The email address you want to send the invitation to - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/OrganizationRoles.js b/src/model/OrganizationRoles.js deleted file mode 100644 index 53a77c0..0000000 --- a/src/model/OrganizationRoles.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.OrganizationRoles = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class OrganizationRoles. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "admin" - * @const - */ - "admin": "admin", - /** - * value: "billing" - * @const - */ - "billing": "billing", - /** - * value: "teacher" - * @const - */ - "teacher": "teacher", - /** - * value: "user" - * @const - */ - "user": "user" }; - - /** - * Returns a OrganizationRoles enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/OrganizationRoles} The enum OrganizationRoles value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ResourceCollaborator.js b/src/model/ResourceCollaborator.js deleted file mode 100644 index 74b19c4..0000000 --- a/src/model/ResourceCollaborator.js +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/Group', 'model/ResourceRights', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./Group'), require('./ResourceRights'), require('./UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceCollaborator = factory(root.FlatApi.ApiClient, root.FlatApi.Group, root.FlatApi.ResourceRights, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, Group, ResourceRights, UserPublic) { - 'use strict'; - - - - - /** - * The ResourceCollaborator model module. - * @module model/ResourceCollaborator - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceCollaborator. - * A collaborator of a score. The `userEmail` and `group` are only available if the requesting user is a collaborator of the related score (in this case these permissions will eventualy not be listed and exposed publicly). - * @alias module:model/ResourceCollaborator - * @class - * @implements module:model/ResourceRights - */ - var exports = function() { - var _this = this; - - ResourceRights.call(_this); - - - - - - - }; - - /** - * Constructs a ResourceCollaborator from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceCollaborator} obj Optional instance to populate. - * @return {module:model/ResourceCollaborator} The populated ResourceCollaborator instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - ResourceRights.constructFromObject(data, obj); - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublic.constructFromObject(data['user']); - } - if (data.hasOwnProperty('group')) { - obj['group'] = Group.constructFromObject(data['group']); - } - if (data.hasOwnProperty('userEmail')) { - obj['userEmail'] = ApiClient.convertToType(data['userEmail'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of the permission - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * If this object is a permission of a score, this property will contain the unique identifier of the score - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * If this object is a permission of a collection, this property will contain the unique identifier of the collection - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - /** - * @member {module:model/UserPublic} user - */ - exports.prototype['user'] = undefined; - /** - * @member {module:model/Group} group - */ - exports.prototype['group'] = undefined; - /** - * If the collaborator is not a user of Flat yet, this field will contain his email. - * @member {String} userEmail - */ - exports.prototype['userEmail'] = undefined; - - // Implement ResourceRights interface: - /** - * `True` if the current user can read the current document - * @member {Boolean} aclRead - * @default false - */ -exports.prototype['aclRead'] = false; - - /** - * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclWrite - * @default false - */ -exports.prototype['aclWrite'] = false; - - /** - * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclAdmin - * @default false - */ -exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - diff --git a/src/model/ResourceCollaboratorCreation.js b/src/model/ResourceCollaboratorCreation.js deleted file mode 100644 index 62a5819..0000000 --- a/src/model/ResourceCollaboratorCreation.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceCollaboratorCreation = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceCollaboratorCreation model module. - * @module model/ResourceCollaboratorCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceCollaboratorCreation. - * Add a collaborator to a resource. - * @alias module:model/ResourceCollaboratorCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ResourceCollaboratorCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceCollaboratorCreation} obj Optional instance to populate. - * @return {module:model/ResourceCollaboratorCreation} The populated ResourceCollaboratorCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('group')) { - obj['group'] = ApiClient.convertToType(data['group'], 'String'); - } - if (data.hasOwnProperty('userEmail')) { - obj['userEmail'] = ApiClient.convertToType(data['userEmail'], 'String'); - } - if (data.hasOwnProperty('userToken')) { - obj['userToken'] = ApiClient.convertToType(data['userToken'], 'String'); - } - if (data.hasOwnProperty('aclRead')) { - obj['aclRead'] = ApiClient.convertToType(data['aclRead'], 'Boolean'); - } - if (data.hasOwnProperty('aclWrite')) { - obj['aclWrite'] = ApiClient.convertToType(data['aclWrite'], 'Boolean'); - } - if (data.hasOwnProperty('aclAdmin')) { - obj['aclAdmin'] = ApiClient.convertToType(data['aclAdmin'], 'Boolean'); - } - } - return obj; - } - - /** - * The unique identifier of a Flat user - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * The unique identifier of a Flat group - * @member {String} group - */ - exports.prototype['group'] = undefined; - /** - * Fill this field to invite an individual user by email. - * @member {String} userEmail - */ - exports.prototype['userEmail'] = undefined; - /** - * Token received in an invitation to join the score. - * @member {String} userToken - */ - exports.prototype['userToken'] = undefined; - /** - * `True` if the related user can read the score. (probably true if the user has a permission on the document). - * @member {Boolean} aclRead - * @default true - */ - exports.prototype['aclRead'] = true; - /** - * `True` if the related user can modify the score. - * @member {Boolean} aclWrite - * @default false - */ - exports.prototype['aclWrite'] = false; - /** - * `True` if the related user can can manage the current document, i.e. changing the document permissions and deleting the document - * @member {Boolean} aclAdmin - * @default false - */ - exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - diff --git a/src/model/ResourceRights.js b/src/model/ResourceRights.js deleted file mode 100644 index 0991bcb..0000000 --- a/src/model/ResourceRights.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceRights = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceRights model module. - * @module model/ResourceRights - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceRights. - * The rights of the current user on a score or collection - * @alias module:model/ResourceRights - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ResourceRights from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceRights} obj Optional instance to populate. - * @return {module:model/ResourceRights} The populated ResourceRights instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('aclRead')) { - obj['aclRead'] = ApiClient.convertToType(data['aclRead'], 'Boolean'); - } - if (data.hasOwnProperty('aclWrite')) { - obj['aclWrite'] = ApiClient.convertToType(data['aclWrite'], 'Boolean'); - } - if (data.hasOwnProperty('aclAdmin')) { - obj['aclAdmin'] = ApiClient.convertToType(data['aclAdmin'], 'Boolean'); - } - } - return obj; - } - - /** - * `True` if the current user can read the current document - * @member {Boolean} aclRead - * @default false - */ - exports.prototype['aclRead'] = false; - /** - * `True` if the current user can modify the current document. If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclWrite - * @default false - */ - exports.prototype['aclWrite'] = false; - /** - * `True` if the current user can manage the current document (i.e. share, delete) If this is a right of a Collection, the capabilities of the associated user can be lower than this permission, check out the `capabilities` property as the end-user to have the complete possibilities with the collection. - * @member {Boolean} aclAdmin - * @default false - */ - exports.prototype['aclAdmin'] = false; - - - - return exports; -})); - - diff --git a/src/model/ResourceSharingKey.js b/src/model/ResourceSharingKey.js deleted file mode 100644 index 29b86b0..0000000 --- a/src/model/ResourceSharingKey.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ResourceSharingKey = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ResourceSharingKey model module. - * @module model/ResourceSharingKey - * @version 2.6.0 - */ - - /** - * Constructs a new ResourceSharingKey. - * When using the `privacy` mode `privateLink`, this property can be used to set a custom sharing key, otherwise a new key will be generated. - * @alias module:model/ResourceSharingKey - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a ResourceSharingKey from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ResourceSharingKey} obj Optional instance to populate. - * @return {module:model/ResourceSharingKey} The populated ResourceSharingKey instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - diff --git a/src/model/ScoreComment.js b/src/model/ScoreComment.js deleted file mode 100644 index 7dba2e3..0000000 --- a/src/model/ScoreComment.js +++ /dev/null @@ -1,226 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreComment = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreComment model module. - * @module model/ScoreComment - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreComment. - * Comment added on a sheet music - * @alias module:model/ScoreComment - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreComment from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreComment} obj Optional instance to populate. - * @return {module:model/ScoreComment} The populated ScoreComment instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('replyTo')) { - obj['replyTo'] = ApiClient.convertToType(data['replyTo'], 'String'); - } - if (data.hasOwnProperty('date')) { - obj['date'] = ApiClient.convertToType(data['date'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - if (data.hasOwnProperty('mentions')) { - obj['mentions'] = ApiClient.convertToType(data['mentions'], ['String']); - } - if (data.hasOwnProperty('resolved')) { - obj['resolved'] = ApiClient.convertToType(data['resolved'], 'Boolean'); - } - if (data.hasOwnProperty('resolvedBy')) { - obj['resolvedBy'] = ApiClient.convertToType(data['resolvedBy'], 'String'); - } - if (data.hasOwnProperty('spam')) { - obj['spam'] = ApiClient.convertToType(data['spam'], 'Boolean'); - } - } - return obj; - } - - /** - * The comment unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The type of the comment - * @member {module:model/ScoreComment.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The author unique identifier - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * The unique identifier of the score where the comment was posted - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The unique identifier of revision the comment was posted - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * When the comment is a reply to another comment, the unique identifier of the parent comment - * @member {String} replyTo - */ - exports.prototype['replyTo'] = undefined; - /** - * The date when the comment was posted - * @member {Date} date - */ - exports.prototype['date'] = undefined; - /** - * The date of the last comment modification - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without parsing the mentions. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - /** - * The list of user identifier mentioned on the score - * @member {Array.} mentions - */ - exports.prototype['mentions'] = undefined; - /** - * For inline comments, the comment can be marked as resolved and will be hidden in the future responses - * @member {Boolean} resolved - */ - exports.prototype['resolved'] = undefined; - /** - * If the user is marked as resolved, this will contain the unique identifier of the User who marked this comment as resolved - * @member {String} resolvedBy - */ - exports.prototype['resolvedBy'] = undefined; - /** - * `true if the message has been detected as spam and hidden from other users - * @member {Boolean} spam - */ - exports.prototype['spam'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "document" - * @const - */ - "document": "document", - /** - * value: "inline" - * @const - */ - "inline": "inline" }; - - - return exports; -})); - - diff --git a/src/model/ScoreCommentContext.js b/src/model/ScoreCommentContext.js deleted file mode 100644 index 618aced..0000000 --- a/src/model/ScoreCommentContext.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentContext = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreCommentContext model module. - * @module model/ScoreCommentContext - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentContext. - * The context of the comment (for inline/contextualized comments). A context will include all the information related to the location of the comment (i.e. score parts, range of measure, time position). - * @alias module:model/ScoreCommentContext - * @class - * @param partUuid {String} The unique identifier (UUID) of the score part - * @param staffIdx {Number} The identififer of the staff - * @param measureUuids {Array.} The list of measure UUIds - * @param startTimePos {Number} - * @param stopTimePos {Number} - * @param startDpq {Number} - * @param stopDpq {Number} - */ - var exports = function(partUuid, staffIdx, measureUuids, startTimePos, stopTimePos, startDpq, stopDpq) { - var _this = this; - - _this['partUuid'] = partUuid; - _this['staffIdx'] = staffIdx; - _this['measureUuids'] = measureUuids; - _this['startTimePos'] = startTimePos; - _this['stopTimePos'] = stopTimePos; - _this['startDpq'] = startDpq; - _this['stopDpq'] = stopDpq; - }; - - /** - * Constructs a ScoreCommentContext from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentContext} obj Optional instance to populate. - * @return {module:model/ScoreCommentContext} The populated ScoreCommentContext instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('partUuid')) { - obj['partUuid'] = ApiClient.convertToType(data['partUuid'], 'String'); - } - if (data.hasOwnProperty('staffIdx')) { - obj['staffIdx'] = ApiClient.convertToType(data['staffIdx'], 'Number'); - } - if (data.hasOwnProperty('measureUuids')) { - obj['measureUuids'] = ApiClient.convertToType(data['measureUuids'], ['String']); - } - if (data.hasOwnProperty('startTimePos')) { - obj['startTimePos'] = ApiClient.convertToType(data['startTimePos'], 'Number'); - } - if (data.hasOwnProperty('stopTimePos')) { - obj['stopTimePos'] = ApiClient.convertToType(data['stopTimePos'], 'Number'); - } - if (data.hasOwnProperty('startDpq')) { - obj['startDpq'] = ApiClient.convertToType(data['startDpq'], 'Number'); - } - if (data.hasOwnProperty('stopDpq')) { - obj['stopDpq'] = ApiClient.convertToType(data['stopDpq'], 'Number'); - } - } - return obj; - } - - /** - * The unique identifier (UUID) of the score part - * @member {String} partUuid - */ - exports.prototype['partUuid'] = undefined; - /** - * The identififer of the staff - * @member {Number} staffIdx - */ - exports.prototype['staffIdx'] = undefined; - /** - * The list of measure UUIds - * @member {Array.} measureUuids - */ - exports.prototype['measureUuids'] = undefined; - /** - * @member {Number} startTimePos - */ - exports.prototype['startTimePos'] = undefined; - /** - * @member {Number} stopTimePos - */ - exports.prototype['stopTimePos'] = undefined; - /** - * @member {Number} startDpq - */ - exports.prototype['startDpq'] = undefined; - /** - * @member {Number} stopDpq - */ - exports.prototype['stopDpq'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreCommentCreation.js b/src/model/ScoreCommentCreation.js deleted file mode 100644 index 65bfb9d..0000000 --- a/src/model/ScoreCommentCreation.js +++ /dev/null @@ -1,129 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreCommentCreation model module. - * @module model/ScoreCommentCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentCreation. - * Creation of a comment - * @alias module:model/ScoreCommentCreation - * @class - * @param comment {String} The comment text that can includes mentions using the following format: `@[id:username]`. - */ - var exports = function(comment) { - var _this = this; - - - _this['comment'] = comment; - - - - - }; - - /** - * Constructs a ScoreCommentCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentCreation} obj Optional instance to populate. - * @return {module:model/ScoreCommentCreation} The populated ScoreCommentCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('mentions')) { - obj['mentions'] = ApiClient.convertToType(data['mentions'], ['String']); - } - if (data.hasOwnProperty('replyTo')) { - obj['replyTo'] = ApiClient.convertToType(data['replyTo'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - } - return obj; - } - - /** - * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * The list of user identifiers mentioned in this comment - * @member {Array.} mentions - */ - exports.prototype['mentions'] = undefined; - /** - * When the comment is a reply to another comment, the unique identifier of the parent comment - * @member {String} replyTo - */ - exports.prototype['replyTo'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreCommentUpdate.js b/src/model/ScoreCommentUpdate.js deleted file mode 100644 index d7c25cb..0000000 --- a/src/model/ScoreCommentUpdate.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreCommentContext'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreCommentContext')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreCommentContext); - } -}(this, function(ApiClient, ScoreCommentContext) { - 'use strict'; - - - - - /** - * The ScoreCommentUpdate model module. - * @module model/ScoreCommentUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentUpdate. - * Update of a comment - * @alias module:model/ScoreCommentUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreCommentUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentUpdate} obj Optional instance to populate. - * @return {module:model/ScoreCommentUpdate} The populated ScoreCommentUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('revision')) { - obj['revision'] = ApiClient.convertToType(data['revision'], 'String'); - } - if (data.hasOwnProperty('comment')) { - obj['comment'] = ApiClient.convertToType(data['comment'], 'String'); - } - if (data.hasOwnProperty('rawComment')) { - obj['rawComment'] = ApiClient.convertToType(data['rawComment'], 'String'); - } - if (data.hasOwnProperty('context')) { - obj['context'] = ScoreCommentContext.constructFromObject(data['context']); - } - } - return obj; - } - - /** - * The unique indentifier of the revision of the score where the comment was added. If this property is unspecified or contains \"last\", the API will automatically take the last revision created. - * @member {String} revision - */ - exports.prototype['revision'] = undefined; - /** - * The comment text that can includes mentions using the following format: `@[id:username]`. - * @member {String} comment - */ - exports.prototype['comment'] = undefined; - /** - * A raw version of the comment, that can be displayed without the mentions. If you use mentions, this property must be set. - * @member {String} rawComment - */ - exports.prototype['rawComment'] = undefined; - /** - * @member {module:model/ScoreCommentContext} context - */ - exports.prototype['context'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreCommentsCounts.js b/src/model/ScoreCommentsCounts.js deleted file mode 100644 index 0432f9f..0000000 --- a/src/model/ScoreCommentsCounts.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCommentsCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreCommentsCounts model module. - * @module model/ScoreCommentsCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCommentsCounts. - * A computed version of the total, unique, weekly and monthly number of comments added on the documents (this doesn't include inline comments). - * @alias module:model/ScoreCommentsCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreCommentsCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCommentsCounts} obj Optional instance to populate. - * @return {module:model/ScoreCommentsCounts} The populated ScoreCommentsCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('unique')) { - obj['unique'] = ApiClient.convertToType(data['unique'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of comments added on the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The unique (1/user) number of comments added on the score - * @member {Number} unique - */ - exports.prototype['unique'] = undefined; - /** - * The weekly unique number of comments added on the score - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The monthly unique number of comments added on the score - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreCreation.js b/src/model/ScoreCreation.js deleted file mode 100644 index b68d019..0000000 --- a/src/model/ScoreCreation.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreData', 'model/ScoreDataEncoding', 'model/ScorePrivacy', 'model/ScoreSource'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreData'), require('./ScoreDataEncoding'), require('./ScorePrivacy'), require('./ScoreSource')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreData, root.FlatApi.ScoreDataEncoding, root.FlatApi.ScorePrivacy, root.FlatApi.ScoreSource); - } -}(this, function(ApiClient, ScoreData, ScoreDataEncoding, ScorePrivacy, ScoreSource) { - 'use strict'; - - - - - /** - * The ScoreCreation model module. - * @module model/ScoreCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreCreation. - * A new created score - * @alias module:model/ScoreCreation - * @class - * @param privacy {module:model/ScorePrivacy} - */ - var exports = function(privacy) { - var _this = this; - - - _this['privacy'] = privacy; - - - - - - }; - - /** - * Constructs a ScoreCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreCreation} obj Optional instance to populate. - * @return {module:model/ScoreCreation} The populated ScoreCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('data')) { - obj['data'] = ScoreData.constructFromObject(data['data']); - } - if (data.hasOwnProperty('dataEncoding')) { - obj['dataEncoding'] = ScoreDataEncoding.constructFromObject(data['dataEncoding']); - } - if (data.hasOwnProperty('source')) { - obj['source'] = ScoreSource.constructFromObject(data['source']); - } - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - if (data.hasOwnProperty('googleDriveFolder')) { - obj['googleDriveFolder'] = ApiClient.convertToType(data['googleDriveFolder'], 'String'); - } - } - return obj; - } - - /** - * The title of the new score. If the title is too long, the API may trim this one. If this title is not specified, the API will try to (in this order): - Use the name of the file for files from a specified `source` (e.g. Google Drive) - Use the title contained in the file (e.g. [`movement-title`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-movement-title.htm) or [`credit-words`](https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-credit-words.htm) for [MusicXML](http://www.musicxml.com/) files). - Set a default title (e.g. \"New Music Score\") - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/ScoreData} data - */ - exports.prototype['data'] = undefined; - /** - * @member {module:model/ScoreDataEncoding} dataEncoding - */ - exports.prototype['dataEncoding'] = undefined; - /** - * @member {module:model/ScoreSource} source - */ - exports.prototype['source'] = undefined; - /** - * Unique identifier of a collection where the score will be created. If no collection identifier is provided, the score will be stored in the `root` directory. - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - /** - * If the user uses Google Drive and this properties is specified, the file will be created in this directory. The currently user creating the file must be granted to write in this directory. - * @member {String} googleDriveFolder - */ - exports.prototype['googleDriveFolder'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreCreationType.js b/src/model/ScoreCreationType.js deleted file mode 100644 index 122862b..0000000 --- a/src/model/ScoreCreationType.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreCreationType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreCreationType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "original" - * @const - */ - "original": "original", - /** - * value: "arrangement" - * @const - */ - "arrangement": "arrangement", - /** - * value: "other" - * @const - */ - "other": "other" }; - - /** - * Returns a ScoreCreationType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreCreationType} The enum ScoreCreationType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreData.js b/src/model/ScoreData.js deleted file mode 100644 index 7918c2b..0000000 --- a/src/model/ScoreData.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreData = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreData model module. - * @module model/ScoreData - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreData. - * The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request. - * @alias module:model/ScoreData - * @class - */ - var exports = function() { - var _this = this; - - }; - - /** - * Constructs a ScoreData from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreData} obj Optional instance to populate. - * @return {module:model/ScoreData} The populated ScoreData instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - } - return obj; - } - - - - - return exports; -})); - - diff --git a/src/model/ScoreDataEncoding.js b/src/model/ScoreDataEncoding.js deleted file mode 100644 index 25550f5..0000000 --- a/src/model/ScoreDataEncoding.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreDataEncoding = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreDataEncoding. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "base64" - * @const - */ - "base64": "base64" }; - - /** - * Returns a ScoreDataEncoding enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreDataEncoding} The enum ScoreDataEncoding value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreDetails.js b/src/model/ScoreDetails.js deleted file mode 100644 index d1e5309..0000000 --- a/src/model/ScoreDetails.js +++ /dev/null @@ -1,314 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ResourceCollaborator', 'model/ResourceRights', 'model/ScoreCommentsCounts', 'model/ScoreCreationType', 'model/ScoreLicense', 'model/ScoreLikesCounts', 'model/ScorePrivacy', 'model/ScoreSummary', 'model/ScoreViewsCounts', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ResourceCollaborator'), require('./ResourceRights'), require('./ScoreCommentsCounts'), require('./ScoreCreationType'), require('./ScoreLicense'), require('./ScoreLikesCounts'), require('./ScorePrivacy'), require('./ScoreSummary'), require('./ScoreViewsCounts'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ResourceCollaborator, root.FlatApi.ResourceRights, root.FlatApi.ScoreCommentsCounts, root.FlatApi.ScoreCreationType, root.FlatApi.ScoreLicense, root.FlatApi.ScoreLikesCounts, root.FlatApi.ScorePrivacy, root.FlatApi.ScoreSummary, root.FlatApi.ScoreViewsCounts, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ResourceCollaborator, ResourceRights, ScoreCommentsCounts, ScoreCreationType, ScoreLicense, ScoreLikesCounts, ScorePrivacy, ScoreSummary, ScoreViewsCounts, UserPublicSummary) { - 'use strict'; - - - - - /** - * The ScoreDetails model module. - * @module model/ScoreDetails - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreDetails. - * The score and all its details - * @alias module:model/ScoreDetails - * @class - * @implements module:model/ScoreSummary - */ - var exports = function() { - var _this = this; - - ScoreSummary.call(_this); - - - - - - - - - - - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreDetails} obj Optional instance to populate. - * @return {module:model/ScoreDetails} The populated ScoreDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - ScoreSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('subtitle')) { - obj['subtitle'] = ApiClient.convertToType(data['subtitle'], 'String'); - } - if (data.hasOwnProperty('lyricist')) { - obj['lyricist'] = ApiClient.convertToType(data['lyricist'], 'String'); - } - if (data.hasOwnProperty('composer')) { - obj['composer'] = ApiClient.convertToType(data['composer'], 'String'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('tags')) { - obj['tags'] = ApiClient.convertToType(data['tags'], ['String']); - } - if (data.hasOwnProperty('creationType')) { - obj['creationType'] = ScoreCreationType.constructFromObject(data['creationType']); - } - if (data.hasOwnProperty('license')) { - obj['license'] = ScoreLicense.constructFromObject(data['license']); - } - if (data.hasOwnProperty('licenseText')) { - obj['licenseText'] = ApiClient.convertToType(data['licenseText'], 'String'); - } - if (data.hasOwnProperty('durationTime')) { - obj['durationTime'] = ApiClient.convertToType(data['durationTime'], 'Number'); - } - if (data.hasOwnProperty('numberMeasures')) { - obj['numberMeasures'] = ApiClient.convertToType(data['numberMeasures'], 'Number'); - } - if (data.hasOwnProperty('mainTempoQpm')) { - obj['mainTempoQpm'] = ApiClient.convertToType(data['mainTempoQpm'], 'Number'); - } - if (data.hasOwnProperty('rights')) { - obj['rights'] = ResourceRights.constructFromObject(data['rights']); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], [ResourceCollaborator]); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('publicationDate')) { - obj['publicationDate'] = ApiClient.convertToType(data['publicationDate'], 'Date'); - } - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('parentScore')) { - obj['parentScore'] = ApiClient.convertToType(data['parentScore'], 'String'); - } - if (data.hasOwnProperty('instruments')) { - obj['instruments'] = ApiClient.convertToType(data['instruments'], ['String']); - } - if (data.hasOwnProperty('googleDriveFileId')) { - obj['googleDriveFileId'] = ApiClient.convertToType(data['googleDriveFileId'], 'String'); - } - if (data.hasOwnProperty('likes')) { - obj['likes'] = ScoreLikesCounts.constructFromObject(data['likes']); - } - if (data.hasOwnProperty('comments')) { - obj['comments'] = ScoreCommentsCounts.constructFromObject(data['comments']); - } - if (data.hasOwnProperty('views')) { - obj['views'] = ScoreViewsCounts.constructFromObject(data['views']); - } - } - return obj; - } - - /** - * Subtitle of the score - * @member {String} subtitle - */ - exports.prototype['subtitle'] = undefined; - /** - * Lyricist of the score - * @member {String} lyricist - */ - exports.prototype['lyricist'] = undefined; - /** - * Composer of the score - * @member {String} composer - */ - exports.prototype['composer'] = undefined; - /** - * Description of the creation - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * Tags describing the score - * @member {Array.} tags - */ - exports.prototype['tags'] = undefined; - /** - * @member {module:model/ScoreCreationType} creationType - */ - exports.prototype['creationType'] = undefined; - /** - * @member {module:model/ScoreLicense} license - */ - exports.prototype['license'] = undefined; - /** - * Additional license text written on the exported/printed score - * @member {String} licenseText - */ - exports.prototype['licenseText'] = undefined; - /** - * In seconds, an approximative duration of the score - * @member {Number} durationTime - */ - exports.prototype['durationTime'] = undefined; - /** - * The number of measures in the score - * @member {Number} numberMeasures - */ - exports.prototype['numberMeasures'] = undefined; - /** - * The main tempo of the score (in QPM) - * @member {Number} mainTempoQpm - */ - exports.prototype['mainTempoQpm'] = undefined; - /** - * @member {module:model/ResourceRights} rights - */ - exports.prototype['rights'] = undefined; - /** - * The list of the collaborators of the score - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * The date when the score was created - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The date of the last revision of the score - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * The date when the score was published on Flat - * @member {Date} publicationDate - */ - exports.prototype['publicationDate'] = undefined; - /** - * If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`. - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * If the score has been forked, the unique identifier of the parent score. - * @member {String} parentScore - */ - exports.prototype['parentScore'] = undefined; - /** - * An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. - * @member {Array.} instruments - */ - exports.prototype['instruments'] = undefined; - /** - * If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}` - * @member {String} googleDriveFileId - */ - exports.prototype['googleDriveFileId'] = undefined; - /** - * @member {module:model/ScoreLikesCounts} likes - */ - exports.prototype['likes'] = undefined; - /** - * @member {module:model/ScoreCommentsCounts} comments - */ - exports.prototype['comments'] = undefined; - /** - * @member {module:model/ScoreViewsCounts} views - */ - exports.prototype['views'] = undefined; - - // Implement ScoreSummary interface: - /** - * The unique identifier of the score - * @member {String} id - */ -exports.prototype['id'] = undefined; - - /** - * The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ -exports.prototype['sharingKey'] = undefined; - - /** - * The title of the score - * @member {String} title - */ -exports.prototype['title'] = undefined; - - /** - * @member {module:model/ScorePrivacy} privacy - */ -exports.prototype['privacy'] = undefined; - - /** - * @member {module:model/UserPublicSummary} user - */ -exports.prototype['user'] = undefined; - - /** - * The url where the score can be viewed in a web browser - * @member {String} htmlUrl - */ -exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreFork.js b/src/model/ScoreFork.js deleted file mode 100644 index 2a81e14..0000000 --- a/src/model/ScoreFork.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreFork = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreFork model module. - * @module model/ScoreFork - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreFork. - * Options to fork the score - * @alias module:model/ScoreFork - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a ScoreFork from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreFork} obj Optional instance to populate. - * @return {module:model/ScoreFork} The populated ScoreFork instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('collection')) { - obj['collection'] = ApiClient.convertToType(data['collection'], 'String'); - } - } - return obj; - } - - /** - * Unique identifier of a collection where the score will be copied. If no collection identifier is provided, the score will be stored in the `root` directory. - * @member {String} collection - */ - exports.prototype['collection'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreLicense.js b/src/model/ScoreLicense.js deleted file mode 100644 index b8bd94c..0000000 --- a/src/model/ScoreLicense.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreLicense = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreLicense. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "copyright" - * @const - */ - "copyright": "copyright", - /** - * value: "cc0" - * @const - */ - "cc0": "cc0", - /** - * value: "cc-by" - * @const - */ - "cc-by": "cc-by", - /** - * value: "cc-by-sa" - * @const - */ - "cc-by-sa": "cc-by-sa", - /** - * value: "cc-by-nd" - * @const - */ - "cc-by-nd": "cc-by-nd", - /** - * value: "cc-by-nc" - * @const - */ - "cc-by-nc": "cc-by-nc", - /** - * value: "cc-by-nc-sa" - * @const - */ - "cc-by-nc-sa": "cc-by-nc-sa", - /** - * value: "cc-by-nc-nd" - * @const - */ - "cc-by-nc-nd": "cc-by-nc-nd" }; - - /** - * Returns a ScoreLicense enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreLicense} The enum ScoreLicense value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreLikesCounts.js b/src/model/ScoreLikesCounts.js deleted file mode 100644 index 98d59d4..0000000 --- a/src/model/ScoreLikesCounts.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreLikesCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreLikesCounts model module. - * @module model/ScoreLikesCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreLikesCounts. - * A computed version of the weekly, monthly and total of number of likes for a score - * @alias module:model/ScoreLikesCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ScoreLikesCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreLikesCounts} obj Optional instance to populate. - * @return {module:model/ScoreLikesCounts} The populated ScoreLikesCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of likes of the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The number of new likes during the last week - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The number of new likes during the last month - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreModification.js b/src/model/ScoreModification.js deleted file mode 100644 index 22ba5cf..0000000 --- a/src/model/ScoreModification.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ResourceSharingKey', 'model/ScoreCreationType', 'model/ScoreLicense', 'model/ScorePrivacy'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ResourceSharingKey'), require('./ScoreCreationType'), require('./ScoreLicense'), require('./ScorePrivacy')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreModification = factory(root.FlatApi.ApiClient, root.FlatApi.ResourceSharingKey, root.FlatApi.ScoreCreationType, root.FlatApi.ScoreLicense, root.FlatApi.ScorePrivacy); - } -}(this, function(ApiClient, ResourceSharingKey, ScoreCreationType, ScoreLicense, ScorePrivacy) { - 'use strict'; - - - - - /** - * The ScoreModification model module. - * @module model/ScoreModification - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreModification. - * Edit the score metadata - * @alias module:model/ScoreModification - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ScoreModification from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreModification} obj Optional instance to populate. - * @return {module:model/ScoreModification} The populated ScoreModification instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ResourceSharingKey.constructFromObject(data['sharingKey']); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('tags')) { - obj['tags'] = ApiClient.convertToType(data['tags'], ['String']); - } - if (data.hasOwnProperty('creationType')) { - obj['creationType'] = ScoreCreationType.constructFromObject(data['creationType']); - } - if (data.hasOwnProperty('license')) { - obj['license'] = ScoreLicense.constructFromObject(data['license']); - } - } - return obj; - } - - /** - * The title of the score - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/ResourceSharingKey} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * Description of the creation - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * Tags describing the score - * @member {Array.} tags - */ - exports.prototype['tags'] = undefined; - /** - * @member {module:model/ScoreCreationType} creationType - */ - exports.prototype['creationType'] = undefined; - /** - * @member {module:model/ScoreLicense} license - */ - exports.prototype['license'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScorePrivacy.js b/src/model/ScorePrivacy.js deleted file mode 100644 index 543d28b..0000000 --- a/src/model/ScorePrivacy.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScorePrivacy = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScorePrivacy. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "public" - * @const - */ - "public": "public", - /** - * value: "private" - * @const - */ - "private": "private", - /** - * value: "organizationPublic" - * @const - */ - "organizationPublic": "organizationPublic", - /** - * value: "privateLink" - * @const - */ - "privateLink": "privateLink" }; - - /** - * Returns a ScorePrivacy enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScorePrivacy} The enum ScorePrivacy value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreRevision.js b/src/model/ScoreRevision.js deleted file mode 100644 index a25c325..0000000 --- a/src/model/ScoreRevision.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreRevisionStatistics'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreRevisionStatistics')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevision = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreRevisionStatistics); - } -}(this, function(ApiClient, ScoreRevisionStatistics) { - 'use strict'; - - - - - /** - * The ScoreRevision model module. - * @module model/ScoreRevision - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevision. - * A score revision metadata - * @alias module:model/ScoreRevision - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - }; - - /** - * Constructs a ScoreRevision from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevision} obj Optional instance to populate. - * @return {module:model/ScoreRevision} The populated ScoreRevision instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('user')) { - obj['user'] = ApiClient.convertToType(data['user'], 'String'); - } - if (data.hasOwnProperty('collaborators')) { - obj['collaborators'] = ApiClient.convertToType(data['collaborators'], ['String']); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - if (data.hasOwnProperty('autosave')) { - obj['autosave'] = ApiClient.convertToType(data['autosave'], 'Boolean'); - } - if (data.hasOwnProperty('statistics')) { - obj['statistics'] = ScoreRevisionStatistics.constructFromObject(data['statistics']); - } - } - return obj; - } - - /** - * The unique identifier of the revision. - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The user identifier who created the revision - * @member {String} user - */ - exports.prototype['user'] = undefined; - /** - * @member {Array.} collaborators - */ - exports.prototype['collaborators'] = undefined; - /** - * The date when this revision was created - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * A description associated to the revision - * @member {String} description - */ - exports.prototype['description'] = undefined; - /** - * True if this revision was automatically generated by Flat and not on purpose by the user. - * @member {Boolean} autosave - */ - exports.prototype['autosave'] = undefined; - /** - * @member {module:model/ScoreRevisionStatistics} statistics - */ - exports.prototype['statistics'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreRevisionCreation.js b/src/model/ScoreRevisionCreation.js deleted file mode 100644 index c3159ce..0000000 --- a/src/model/ScoreRevisionCreation.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreData', 'model/ScoreDataEncoding'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreData'), require('./ScoreDataEncoding')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevisionCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreData, root.FlatApi.ScoreDataEncoding); - } -}(this, function(ApiClient, ScoreData, ScoreDataEncoding) { - 'use strict'; - - - - - /** - * The ScoreRevisionCreation model module. - * @module model/ScoreRevisionCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevisionCreation. - * A new created revision - * @alias module:model/ScoreRevisionCreation - * @class - * @param data {module:model/ScoreData} - */ - var exports = function(data) { - var _this = this; - - _this['data'] = data; - - - - }; - - /** - * Constructs a ScoreRevisionCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevisionCreation} obj Optional instance to populate. - * @return {module:model/ScoreRevisionCreation} The populated ScoreRevisionCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('data')) { - obj['data'] = ScoreData.constructFromObject(data['data']); - } - if (data.hasOwnProperty('dataEncoding')) { - obj['dataEncoding'] = ScoreDataEncoding.constructFromObject(data['dataEncoding']); - } - if (data.hasOwnProperty('autosave')) { - obj['autosave'] = ApiClient.convertToType(data['autosave'], 'Boolean'); - } - if (data.hasOwnProperty('description')) { - obj['description'] = ApiClient.convertToType(data['description'], 'String'); - } - } - return obj; - } - - /** - * @member {module:model/ScoreData} data - */ - exports.prototype['data'] = undefined; - /** - * @member {module:model/ScoreDataEncoding} dataEncoding - */ - exports.prototype['dataEncoding'] = undefined; - /** - * Must be set to `true` if the revision was created automatically. - * @member {Boolean} autosave - */ - exports.prototype['autosave'] = undefined; - /** - * A description associated to the revision - * @member {String} description - */ - exports.prototype['description'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreRevisionStatistics.js b/src/model/ScoreRevisionStatistics.js deleted file mode 100644 index 7204f09..0000000 --- a/src/model/ScoreRevisionStatistics.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreRevisionStatistics = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreRevisionStatistics model module. - * @module model/ScoreRevisionStatistics - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreRevisionStatistics. - * The statistics related to the score revision (additions and deletions) - * @alias module:model/ScoreRevisionStatistics - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a ScoreRevisionStatistics from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreRevisionStatistics} obj Optional instance to populate. - * @return {module:model/ScoreRevisionStatistics} The populated ScoreRevisionStatistics instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('additions')) { - obj['additions'] = ApiClient.convertToType(data['additions'], 'Number'); - } - if (data.hasOwnProperty('deletions')) { - obj['deletions'] = ApiClient.convertToType(data['deletions'], 'Number'); - } - } - return obj; - } - - /** - * The number of additions operations in the last revision - * @member {Number} additions - */ - exports.prototype['additions'] = undefined; - /** - * The number of deletions operations in the last revision - * @member {Number} deletions - */ - exports.prototype['deletions'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreSource.js b/src/model/ScoreSource.js deleted file mode 100644 index 0f143ae..0000000 --- a/src/model/ScoreSource.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreSource = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreSource model module. - * @module model/ScoreSource - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreSource. - * @alias module:model/ScoreSource - * @class - */ - var exports = function() { - var _this = this; - - - }; - - /** - * Constructs a ScoreSource from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreSource} obj Optional instance to populate. - * @return {module:model/ScoreSource} The populated ScoreSource instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('googleDrive')) { - obj['googleDrive'] = ApiClient.convertToType(data['googleDrive'], 'String'); - } - } - return obj; - } - - /** - * If the score is a file on Google Drive, this field property must contain its identifier. To use this method, the Drive file must be public or the Flat Drive App must have access to the file. - * @member {String} googleDrive - */ - exports.prototype['googleDrive'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreSummary.js b/src/model/ScoreSummary.js deleted file mode 100644 index fff09c3..0000000 --- a/src/model/ScoreSummary.js +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScorePrivacy', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScorePrivacy'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreSummary = factory(root.FlatApi.ApiClient, root.FlatApi.ScorePrivacy, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ScorePrivacy, UserPublicSummary) { - 'use strict'; - - - - - /** - * The ScoreSummary model module. - * @module model/ScoreSummary - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreSummary. - * A summary of the score details - * @alias module:model/ScoreSummary - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - }; - - /** - * Constructs a ScoreSummary from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreSummary} obj Optional instance to populate. - * @return {module:model/ScoreSummary} The populated ScoreSummary instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('sharingKey')) { - obj['sharingKey'] = ApiClient.convertToType(data['sharingKey'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('privacy')) { - obj['privacy'] = ScorePrivacy.constructFromObject(data['privacy']); - } - if (data.hasOwnProperty('user')) { - obj['user'] = UserPublicSummary.constructFromObject(data['user']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - } - return obj; - } - - /** - * The unique identifier of the score - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The private sharing key of the score (available when the `privacy` mode is set to `privateLink`) - * @member {String} sharingKey - */ - exports.prototype['sharingKey'] = undefined; - /** - * The title of the score - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * @member {module:model/ScorePrivacy} privacy - */ - exports.prototype['privacy'] = undefined; - /** - * @member {module:model/UserPublicSummary} user - */ - exports.prototype['user'] = undefined; - /** - * The url where the score can be viewed in a web browser - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreTrack.js b/src/model/ScoreTrack.js deleted file mode 100644 index 489b186..0000000 --- a/src/model/ScoreTrack.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState', 'model/ScoreTrackType'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState'), require('./ScoreTrackType')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrack = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState, root.FlatApi.ScoreTrackType); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState, ScoreTrackType) { - 'use strict'; - - - - - /** - * The ScoreTrack model module. - * @module model/ScoreTrack - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrack. - * An audio track for a score - * @alias module:model/ScoreTrack - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - - - - - - - }; - - /** - * Constructs a ScoreTrack from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrack} obj Optional instance to populate. - * @return {module:model/ScoreTrack} The populated ScoreTrack instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('score')) { - obj['score'] = ApiClient.convertToType(data['score'], 'String'); - } - if (data.hasOwnProperty('creator')) { - obj['creator'] = ApiClient.convertToType(data['creator'], 'String'); - } - if (data.hasOwnProperty('creationDate')) { - obj['creationDate'] = ApiClient.convertToType(data['creationDate'], 'Date'); - } - if (data.hasOwnProperty('modificationDate')) { - obj['modificationDate'] = ApiClient.convertToType(data['modificationDate'], 'Date'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ScoreTrackType.constructFromObject(data['type']); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('mediaId')) { - obj['mediaId'] = ApiClient.convertToType(data['mediaId'], 'String'); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * The unique identifier of the score track - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * The unique identifier of the score - * @member {String} score - */ - exports.prototype['score'] = undefined; - /** - * The unique identifier of the track creator - * @member {String} creator - */ - exports.prototype['creator'] = undefined; - /** - * The creation date of the track - * @member {Date} creationDate - */ - exports.prototype['creationDate'] = undefined; - /** - * The modification date of the track - * @member {Date} modificationDate - */ - exports.prototype['modificationDate'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * @member {module:model/ScoreTrackType} type - */ - exports.prototype['type'] = undefined; - /** - * The URL of the track - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * The unique identifier of the track when hosted on an external service. For example, if the url is `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, `mediaId` will be `dQw4w9WgXcQ` - * @member {String} mediaId - */ - exports.prototype['mediaId'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreTrackCreation.js b/src/model/ScoreTrackCreation.js deleted file mode 100644 index 1ea18ca..0000000 --- a/src/model/ScoreTrackCreation.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackCreation = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState) { - 'use strict'; - - - - - /** - * The ScoreTrackCreation model module. - * @module model/ScoreTrackCreation - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackCreation. - * Creation of a new track. This one must contain the URL of the track or the corresponding file - * @alias module:model/ScoreTrackCreation - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a ScoreTrackCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackCreation} obj Optional instance to populate. - * @return {module:model/ScoreTrackCreation} The populated ScoreTrackCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('url')) { - obj['url'] = ApiClient.convertToType(data['url'], 'String'); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * The URL of the track - * @member {String} url - */ - exports.prototype['url'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreTrackPoint.js b/src/model/ScoreTrackPoint.js deleted file mode 100644 index f549ec8..0000000 --- a/src/model/ScoreTrackPoint.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackPoint = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreTrackPoint model module. - * @module model/ScoreTrackPoint - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackPoint. - * A track synchronization point - * @alias module:model/ScoreTrackPoint - * @class - * @param type {module:model/ScoreTrackPoint.TypeEnum} The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` - * @param time {Number} The corresponding time in seconds - */ - var exports = function(type, time) { - var _this = this; - - _this['type'] = type; - - _this['time'] = time; - }; - - /** - * Constructs a ScoreTrackPoint from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackPoint} obj Optional instance to populate. - * @return {module:model/ScoreTrackPoint} The populated ScoreTrackPoint instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('measureUuid')) { - obj['measureUuid'] = ApiClient.convertToType(data['measureUuid'], 'String'); - } - if (data.hasOwnProperty('time')) { - obj['time'] = ApiClient.convertToType(data['time'], 'Number'); - } - } - return obj; - } - - /** - * The type of the synchronization point. If the type is `measure`, the measure uuid must be present in `measureUuid` - * @member {module:model/ScoreTrackPoint.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * The measure unique identifier - * @member {String} measureUuid - */ - exports.prototype['measureUuid'] = undefined; - /** - * The corresponding time in seconds - * @member {Number} time - */ - exports.prototype['time'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "measure" - * @const - */ - "measure": "measure", - /** - * value: "end" - * @const - */ - "end": "end" }; - - - return exports; -})); - - diff --git a/src/model/ScoreTrackState.js b/src/model/ScoreTrackState.js deleted file mode 100644 index 4f472f2..0000000 --- a/src/model/ScoreTrackState.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackState = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreTrackState. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "draft" - * @const - */ - "draft": "draft", - /** - * value: "completed" - * @const - */ - "completed": "completed", - /** - * value: "deleted" - * @const - */ - "deleted": "deleted" }; - - /** - * Returns a ScoreTrackState enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreTrackState} The enum ScoreTrackState value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreTrackType.js b/src/model/ScoreTrackType.js deleted file mode 100644 index 1a8a70f..0000000 --- a/src/model/ScoreTrackType.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackType = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - /** - * Enum class ScoreTrackType. - * @enum {} - * @readonly - */ - var exports = { - /** - * value: "audio" - * @const - */ - "audio": "audio", - /** - * value: "soundcloud" - * @const - */ - "soundcloud": "soundcloud", - /** - * value: "youtube" - * @const - */ - "youtube": "youtube", - /** - * value: "vimeo" - * @const - */ - "vimeo": "vimeo" }; - - /** - * Returns a ScoreTrackType enum value from a Javascript object name. - * @param {Object} data The plain JavaScript object containing the name of the enum value. - * @return {module:model/ScoreTrackType} The enum ScoreTrackType value. - */ - exports.constructFromObject = function(object) { - return object; - } - - return exports; -})); - - diff --git a/src/model/ScoreTrackUpdate.js b/src/model/ScoreTrackUpdate.js deleted file mode 100644 index 48bd657..0000000 --- a/src/model/ScoreTrackUpdate.js +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ScoreTrackPoint', 'model/ScoreTrackState'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ScoreTrackPoint'), require('./ScoreTrackState')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreTrackUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.ScoreTrackPoint, root.FlatApi.ScoreTrackState); - } -}(this, function(ApiClient, ScoreTrackPoint, ScoreTrackState) { - 'use strict'; - - - - - /** - * The ScoreTrackUpdate model module. - * @module model/ScoreTrackUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreTrackUpdate. - * Update an existing track. - * @alias module:model/ScoreTrackUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - - - }; - - /** - * Constructs a ScoreTrackUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreTrackUpdate} obj Optional instance to populate. - * @return {module:model/ScoreTrackUpdate} The populated ScoreTrackUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('title')) { - obj['title'] = ApiClient.convertToType(data['title'], 'String'); - } - if (data.hasOwnProperty('default')) { - obj['default'] = ApiClient.convertToType(data['default'], 'Boolean'); - } - if (data.hasOwnProperty('state')) { - obj['state'] = ScoreTrackState.constructFromObject(data['state']); - } - if (data.hasOwnProperty('synchronizationPoints')) { - obj['synchronizationPoints'] = ApiClient.convertToType(data['synchronizationPoints'], [ScoreTrackPoint]); - } - } - return obj; - } - - /** - * Title of the track - * @member {String} title - */ - exports.prototype['title'] = undefined; - /** - * True if the track should be used as default audio source - * @member {Boolean} default - */ - exports.prototype['default'] = undefined; - /** - * @member {module:model/ScoreTrackState} state - */ - exports.prototype['state'] = undefined; - /** - * @member {Array.} synchronizationPoints - */ - exports.prototype['synchronizationPoints'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/ScoreViewsCounts.js b/src/model/ScoreViewsCounts.js deleted file mode 100644 index 955c964..0000000 --- a/src/model/ScoreViewsCounts.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.ScoreViewsCounts = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The ScoreViewsCounts model module. - * @module model/ScoreViewsCounts - * @version 2.6.0 - */ - - /** - * Constructs a new ScoreViewsCounts. - * A computed version of the total, weekly, and monthly number of views of the score - * @alias module:model/ScoreViewsCounts - * @class - */ - var exports = function() { - var _this = this; - - - - - }; - - /** - * Constructs a ScoreViewsCounts from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/ScoreViewsCounts} obj Optional instance to populate. - * @return {module:model/ScoreViewsCounts} The populated ScoreViewsCounts instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('total')) { - obj['total'] = ApiClient.convertToType(data['total'], 'Number'); - } - if (data.hasOwnProperty('weekly')) { - obj['weekly'] = ApiClient.convertToType(data['weekly'], 'Number'); - } - if (data.hasOwnProperty('monthly')) { - obj['monthly'] = ApiClient.convertToType(data['monthly'], 'Number'); - } - } - return obj; - } - - /** - * The total number of views of the score - * @member {Number} total - */ - exports.prototype['total'] = undefined; - /** - * The weekly number of views of the score - * @member {Number} weekly - */ - exports.prototype['weekly'] = undefined; - /** - * The monthly number of views of the score - * @member {Number} monthly - */ - exports.prototype['monthly'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserAdminUpdate.js b/src/model/UserAdminUpdate.js deleted file mode 100644 index 50dab65..0000000 --- a/src/model/UserAdminUpdate.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/OrganizationRoles'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./OrganizationRoles')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserAdminUpdate = factory(root.FlatApi.ApiClient, root.FlatApi.OrganizationRoles); - } -}(this, function(ApiClient, OrganizationRoles) { - 'use strict'; - - - - - /** - * The UserAdminUpdate model module. - * @module model/UserAdminUpdate - * @version 2.6.0 - */ - - /** - * Constructs a new UserAdminUpdate. - * User update as an organization admin - * @alias module:model/UserAdminUpdate - * @class - */ - var exports = function() { - var _this = this; - - - - }; - - /** - * Constructs a UserAdminUpdate from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserAdminUpdate} obj Optional instance to populate. - * @return {module:model/UserAdminUpdate} The populated UserAdminUpdate instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('password')) { - obj['password'] = ApiClient.convertToType(data['password'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - } - return obj; - } - - /** - * Password of the new account - * @member {String} password - */ - exports.prototype['password'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserBasics.js b/src/model/UserBasics.js deleted file mode 100644 index 7296d9c..0000000 --- a/src/model/UserBasics.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserBasics = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The UserBasics model module. - * @module model/UserBasics - * @version 2.6.0 - */ - - /** - * Constructs a new UserBasics. - * @alias module:model/UserBasics - * @class - */ - var exports = function() { - var _this = this; - - - - - - - - }; - - /** - * Constructs a UserBasics from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserBasics} obj Optional instance to populate. - * @return {module:model/UserBasics} The populated UserBasics instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('username')) { - obj['username'] = ApiClient.convertToType(data['username'], 'String'); - } - if (data.hasOwnProperty('name')) { - obj['name'] = ApiClient.convertToType(data['name'], 'String'); - } - if (data.hasOwnProperty('printableName')) { - obj['printableName'] = ApiClient.convertToType(data['printableName'], 'String'); - } - if (data.hasOwnProperty('picture')) { - obj['picture'] = ApiClient.convertToType(data['picture'], 'String'); - } - if (data.hasOwnProperty('isPowerUser')) { - obj['isPowerUser'] = ApiClient.convertToType(data['isPowerUser'], 'Boolean'); - } - } - return obj; - } - - /** - * The user unique identifier - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The user name (unique for the organization) - * @member {String} username - */ - exports.prototype['username'] = undefined; - /** - * A displayable name for the user - * @member {String} name - */ - exports.prototype['name'] = undefined; - /** - * The name that can be directly printed (name or username) - * @member {String} printableName - */ - exports.prototype['printableName'] = undefined; - /** - * User pictue - * @member {String} picture - */ - exports.prototype['picture'] = undefined; - /** - * User license status. 'True' if user is an individual Power user - * @member {Boolean} isPowerUser - */ - exports.prototype['isPowerUser'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserCreation.js b/src/model/UserCreation.js deleted file mode 100644 index c24758f..0000000 --- a/src/model/UserCreation.js +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/FlatLocales'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./FlatLocales')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserCreation = factory(root.FlatApi.ApiClient, root.FlatApi.FlatLocales); - } -}(this, function(ApiClient, FlatLocales) { - 'use strict'; - - - - - /** - * The UserCreation model module. - * @module model/UserCreation - * @version 2.6.0 - */ - - /** - * Constructs a new UserCreation. - * User creation - * @alias module:model/UserCreation - * @class - * @param username {String} Username of the new account - * @param password {String} Password of the new account - */ - var exports = function(username, password) { - var _this = this; - - _this['username'] = username; - - _this['password'] = password; - - }; - - /** - * Constructs a UserCreation from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserCreation} obj Optional instance to populate. - * @return {module:model/UserCreation} The populated UserCreation instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('username')) { - obj['username'] = ApiClient.convertToType(data['username'], 'String'); - } - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('password')) { - obj['password'] = ApiClient.convertToType(data['password'], 'String'); - } - if (data.hasOwnProperty('locale')) { - obj['locale'] = FlatLocales.constructFromObject(data['locale']); - } - } - return obj; - } - - /** - * Username of the new account - * @member {String} username - */ - exports.prototype['username'] = undefined; - /** - * Email of the new account - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * Password of the new account - * @member {String} password - */ - exports.prototype['password'] = undefined; - /** - * @member {module:model/FlatLocales} locale - */ - exports.prototype['locale'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserDetails.js b/src/model/UserDetails.js deleted file mode 100644 index 781e682..0000000 --- a/src/model/UserDetails.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/FlatLocales', 'model/OrganizationRoles', 'model/UserInstruments', 'model/UserPublic'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./FlatLocales'), require('./OrganizationRoles'), require('./UserInstruments'), require('./UserPublic')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetails = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.FlatLocales, root.FlatApi.OrganizationRoles, root.FlatApi.UserInstruments, root.FlatApi.UserPublic); - } -}(this, function(ApiClient, ClassRoles, FlatLocales, OrganizationRoles, UserInstruments, UserPublic) { - 'use strict'; - - - - - /** - * The UserDetails model module. - * @module model/UserDetails - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetails. - * User details - * @alias module:model/UserDetails - * @class - * @extends module:model/UserPublic - */ - var exports = function() { - var _this = this; - UserPublic.call(_this); - - - - - }; - - /** - * Constructs a UserDetails from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetails} obj Optional instance to populate. - * @return {module:model/UserDetails} The populated UserDetails instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublic.constructFromObject(data, obj); - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('type')) { - obj['type'] = ApiClient.convertToType(data['type'], 'String'); - } - if (data.hasOwnProperty('privateProfile')) { - obj['privateProfile'] = ApiClient.convertToType(data['privateProfile'], 'Boolean'); - } - if (data.hasOwnProperty('locale')) { - obj['locale'] = FlatLocales.constructFromObject(data['locale']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublic.prototype); - exports.prototype.constructor = exports; - - /** - * Identifier of the user - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * The type of account - * @member {module:model/UserDetails.TypeEnum} type - */ - exports.prototype['type'] = undefined; - /** - * Tell either this user profile is private or not (individual accounts only) - * @member {Boolean} privateProfile - */ - exports.prototype['privateProfile'] = undefined; - /** - * @member {module:model/FlatLocales} locale - */ - exports.prototype['locale'] = undefined; - - - /** - * Allowed values for the type property. - * @enum {String} - * @readonly - */ - exports.TypeEnum = { - /** - * value: "user" - * @const - */ - "user": "user", - /** - * value: "guest" - * @const - */ - "guest": "guest" }; - - - return exports; -})); - - diff --git a/src/model/UserDetailsAdmin.js b/src/model/UserDetailsAdmin.js deleted file mode 100644 index 3d622ef..0000000 --- a/src/model/UserDetailsAdmin.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserDetailsAdminLicense', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserDetailsAdminLicense'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetailsAdmin = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserDetailsAdminLicense, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserDetailsAdminLicense, UserPublicSummary) { - 'use strict'; - - - - - /** - * The UserDetailsAdmin model module. - * @module model/UserDetailsAdmin - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetailsAdmin. - * User details (view for organization teacher / admin) - * @alias module:model/UserDetailsAdmin - * @class - * @extends module:model/UserPublicSummary - */ - var exports = function() { - var _this = this; - UserPublicSummary.call(_this); - - - - }; - - /** - * Constructs a UserDetailsAdmin from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetailsAdmin} obj Optional instance to populate. - * @return {module:model/UserDetailsAdmin} The populated UserDetailsAdmin instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublicSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('email')) { - obj['email'] = ApiClient.convertToType(data['email'], 'String'); - } - if (data.hasOwnProperty('lastActivityDate')) { - obj['lastActivityDate'] = ApiClient.convertToType(data['lastActivityDate'], 'Date'); - } - if (data.hasOwnProperty('license')) { - obj['license'] = UserDetailsAdminLicense.constructFromObject(data['license']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublicSummary.prototype); - exports.prototype.constructor = exports; - - /** - * Email of the user - * @member {String} email - */ - exports.prototype['email'] = undefined; - /** - * Date of the last user activity - * @member {Date} lastActivityDate - */ - exports.prototype['lastActivityDate'] = undefined; - /** - * @member {module:model/UserDetailsAdminLicense} license - */ - exports.prototype['license'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserDetailsAdminLicense.js b/src/model/UserDetailsAdminLicense.js deleted file mode 100644 index 42ea1c8..0000000 --- a/src/model/UserDetailsAdminLicense.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/LicenseMode', 'model/LicenseSources'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./LicenseMode'), require('./LicenseSources')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserDetailsAdminLicense = factory(root.FlatApi.ApiClient, root.FlatApi.LicenseMode, root.FlatApi.LicenseSources); - } -}(this, function(ApiClient, LicenseMode, LicenseSources) { - 'use strict'; - - - - - /** - * The UserDetailsAdminLicense model module. - * @module model/UserDetailsAdminLicense - * @version 2.6.0 - */ - - /** - * Constructs a new UserDetailsAdminLicense. - * Current active license of the user - * @alias module:model/UserDetailsAdminLicense - * @class - */ - var exports = function() { - var _this = this; - - - - - - - }; - - /** - * Constructs a UserDetailsAdminLicense from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserDetailsAdminLicense} obj Optional instance to populate. - * @return {module:model/UserDetailsAdminLicense} The populated UserDetailsAdminLicense instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - - if (data.hasOwnProperty('id')) { - obj['id'] = ApiClient.convertToType(data['id'], 'String'); - } - if (data.hasOwnProperty('expirationDate')) { - obj['expirationDate'] = ApiClient.convertToType(data['expirationDate'], 'Date'); - } - if (data.hasOwnProperty('source')) { - obj['source'] = LicenseSources.constructFromObject(data['source']); - } - if (data.hasOwnProperty('mode')) { - obj['mode'] = LicenseMode.constructFromObject(data['mode']); - } - if (data.hasOwnProperty('active')) { - obj['active'] = ApiClient.convertToType(data['active'], 'Boolean'); - } - } - return obj; - } - - /** - * ID of the current license - * @member {String} id - */ - exports.prototype['id'] = undefined; - /** - * Date when the license expires - * @member {Date} expirationDate - */ - exports.prototype['expirationDate'] = undefined; - /** - * @member {module:model/LicenseSources} source - */ - exports.prototype['source'] = undefined; - /** - * @member {module:model/LicenseMode} mode - */ - exports.prototype['mode'] = undefined; - /** - * ID of the current license - * @member {Boolean} active - */ - exports.prototype['active'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserInstruments.js b/src/model/UserInstruments.js deleted file mode 100644 index 857da62..0000000 --- a/src/model/UserInstruments.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserInstruments = factory(root.FlatApi.ApiClient); - } -}(this, function(ApiClient) { - 'use strict'; - - - - - /** - * The UserInstruments model module. - * @module model/UserInstruments - * @version 2.6.0 - */ - - /** - * Constructs a new UserInstruments. - * An array of the instrument identifiers that the user plays. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`. - * @alias module:model/UserInstruments - * @class - * @extends Array - */ - var exports = function() { - var _this = this; - _this = new Array(); - Object.setPrototypeOf(_this, exports); - - return _this; - }; - - /** - * Constructs a UserInstruments from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserInstruments} obj Optional instance to populate. - * @return {module:model/UserInstruments} The populated UserInstruments instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - ApiClient.constructFromObject(data, obj, 'String'); - - } - return obj; - } - - - - - return exports; -})); - - diff --git a/src/model/UserPublic.js b/src/model/UserPublic.js deleted file mode 100644 index 1d7b49b..0000000 --- a/src/model/UserPublic.js +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserInstruments', 'model/UserPublicSummary'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserInstruments'), require('./UserPublicSummary')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserPublic = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserInstruments, root.FlatApi.UserPublicSummary); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserInstruments, UserPublicSummary) { - 'use strict'; - - - - - /** - * The UserPublic model module. - * @module model/UserPublic - * @version 2.6.0 - */ - - /** - * Constructs a new UserPublic. - * Public User details - * @alias module:model/UserPublic - * @class - * @extends module:model/UserPublicSummary - */ - var exports = function() { - var _this = this; - UserPublicSummary.call(_this); - - - - - - - - - }; - - /** - * Constructs a UserPublic from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserPublic} obj Optional instance to populate. - * @return {module:model/UserPublic} The populated UserPublic instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserPublicSummary.constructFromObject(data, obj); - if (data.hasOwnProperty('bio')) { - obj['bio'] = ApiClient.convertToType(data['bio'], 'String'); - } - if (data.hasOwnProperty('registrationDate')) { - obj['registrationDate'] = ApiClient.convertToType(data['registrationDate'], 'Date'); - } - if (data.hasOwnProperty('likedScoresCount')) { - obj['likedScoresCount'] = ApiClient.convertToType(data['likedScoresCount'], 'Number'); - } - if (data.hasOwnProperty('followersCount')) { - obj['followersCount'] = ApiClient.convertToType(data['followersCount'], 'Number'); - } - if (data.hasOwnProperty('followingCount')) { - obj['followingCount'] = ApiClient.convertToType(data['followingCount'], 'Number'); - } - if (data.hasOwnProperty('ownedPublicScoresCount')) { - obj['ownedPublicScoresCount'] = ApiClient.convertToType(data['ownedPublicScoresCount'], 'Number'); - } - if (data.hasOwnProperty('profileTheme')) { - obj['profileTheme'] = ApiClient.convertToType(data['profileTheme'], 'String'); - } - if (data.hasOwnProperty('instruments')) { - obj['instruments'] = UserInstruments.constructFromObject(data['instruments']); - } - } - return obj; - } - - exports.prototype = Object.create(UserPublicSummary.prototype); - exports.prototype.constructor = exports; - - /** - * User's biography - * @member {String} bio - */ - exports.prototype['bio'] = undefined; - /** - * Date the user signed up - * @member {Date} registrationDate - */ - exports.prototype['registrationDate'] = undefined; - /** - * Number of the scores liked by the user - * @member {Number} likedScoresCount - */ - exports.prototype['likedScoresCount'] = undefined; - /** - * Number of followers the user have - * @member {Number} followersCount - */ - exports.prototype['followersCount'] = undefined; - /** - * Number of people the user follow - * @member {Number} followingCount - */ - exports.prototype['followingCount'] = undefined; - /** - * Number of public scores the user have - * @member {Number} ownedPublicScoresCount - */ - exports.prototype['ownedPublicScoresCount'] = undefined; - /** - * Theme (background) for the profile - * @member {String} profileTheme - */ - exports.prototype['profileTheme'] = undefined; - /** - * @member {module:model/UserInstruments} instruments - */ - exports.prototype['instruments'] = undefined; - - - - return exports; -})); - - diff --git a/src/model/UserPublicSummary.js b/src/model/UserPublicSummary.js deleted file mode 100644 index caa61f4..0000000 --- a/src/model/UserPublicSummary.js +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['ApiClient', 'model/ClassRoles', 'model/OrganizationRoles', 'model/UserBasics'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - module.exports = factory(require('../ApiClient'), require('./ClassRoles'), require('./OrganizationRoles'), require('./UserBasics')); - } else { - // Browser globals (root is window) - if (!root.FlatApi) { - root.FlatApi = {}; - } - root.FlatApi.UserPublicSummary = factory(root.FlatApi.ApiClient, root.FlatApi.ClassRoles, root.FlatApi.OrganizationRoles, root.FlatApi.UserBasics); - } -}(this, function(ApiClient, ClassRoles, OrganizationRoles, UserBasics) { - 'use strict'; - - - - - /** - * The UserPublicSummary model module. - * @module model/UserPublicSummary - * @version 2.6.0 - */ - - /** - * Constructs a new UserPublicSummary. - * Public User details summary - * @alias module:model/UserPublicSummary - * @class - * @extends module:model/UserBasics - */ - var exports = function() { - var _this = this; - UserBasics.call(_this); - - - - - }; - - /** - * Constructs a UserPublicSummary from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/UserPublicSummary} obj Optional instance to populate. - * @return {module:model/UserPublicSummary} The populated UserPublicSummary instance. - */ - exports.constructFromObject = function(data, obj) { - if (data) { - obj = obj || new exports(); - UserBasics.constructFromObject(data, obj); - if (data.hasOwnProperty('organization')) { - obj['organization'] = ApiClient.convertToType(data['organization'], 'String'); - } - if (data.hasOwnProperty('organizationRole')) { - obj['organizationRole'] = OrganizationRoles.constructFromObject(data['organizationRole']); - } - if (data.hasOwnProperty('classRole')) { - obj['classRole'] = ClassRoles.constructFromObject(data['classRole']); - } - if (data.hasOwnProperty('htmlUrl')) { - obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String'); - } - } - return obj; - } - - exports.prototype = Object.create(UserBasics.prototype); - exports.prototype.constructor = exports; - - /** - * Organization ID (for Edu users only) - * @member {String} organization - */ - exports.prototype['organization'] = undefined; - /** - * @member {module:model/OrganizationRoles} organizationRole - */ - exports.prototype['organizationRole'] = undefined; - /** - * @member {module:model/ClassRoles} classRole - */ - exports.prototype['classRole'] = undefined; - /** - * Link to user profile (for Indiv. users only) - * @member {String} htmlUrl - */ - exports.prototype['htmlUrl'] = undefined; - - - - return exports; -})); - - diff --git a/test/api/AccountApi.spec.js b/test/api/AccountApi.spec.js deleted file mode 100644 index 6fd5716..0000000 --- a/test/api/AccountApi.spec.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.AccountApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('AccountApi', function() { - describe('getAuthenticatedUser', function() { - it('should call getAuthenticatedUser successfully', function(done) { - //uncomment below and update the code to test getAuthenticatedUser - //instance.getAuthenticatedUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/ClassApi.spec.js b/test/api/ClassApi.spec.js deleted file mode 100644 index 7932e3d..0000000 --- a/test/api/ClassApi.spec.js +++ /dev/null @@ -1,246 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassApi', function() { - describe('activateClass', function() { - it('should call activateClass successfully', function(done) { - //uncomment below and update the code to test activateClass - //instance.activateClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('addClassUser', function() { - it('should call addClassUser successfully', function(done) { - //uncomment below and update the code to test addClassUser - //instance.addClassUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('archiveClass', function() { - it('should call archiveClass successfully', function(done) { - //uncomment below and update the code to test archiveClass - //instance.archiveClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('copyAssignment', function() { - it('should call copyAssignment successfully', function(done) { - //uncomment below and update the code to test copyAssignment - //instance.copyAssignment(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createAssignment', function() { - it('should call createAssignment successfully', function(done) { - //uncomment below and update the code to test createAssignment - //instance.createAssignment(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createClass', function() { - it('should call createClass successfully', function(done) { - //uncomment below and update the code to test createClass - //instance.createClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createSubmission', function() { - it('should call createSubmission successfully', function(done) { - //uncomment below and update the code to test createSubmission - //instance.createSubmission(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteClassUser', function() { - it('should call deleteClassUser successfully', function(done) { - //uncomment below and update the code to test deleteClassUser - //instance.deleteClassUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('editSubmission', function() { - it('should call editSubmission successfully', function(done) { - //uncomment below and update the code to test editSubmission - //instance.editSubmission(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('enrollClass', function() { - it('should call enrollClass successfully', function(done) { - //uncomment below and update the code to test enrollClass - //instance.enrollClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getClass', function() { - it('should call getClass successfully', function(done) { - //uncomment below and update the code to test getClass - //instance.getClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreSubmissions', function() { - it('should call getScoreSubmissions successfully', function(done) { - //uncomment below and update the code to test getScoreSubmissions - //instance.getScoreSubmissions(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getSubmission', function() { - it('should call getSubmission successfully', function(done) { - //uncomment below and update the code to test getSubmission - //instance.getSubmission(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getSubmissions', function() { - it('should call getSubmissions successfully', function(done) { - //uncomment below and update the code to test getSubmissions - //instance.getSubmissions(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listAssignments', function() { - it('should call listAssignments successfully', function(done) { - //uncomment below and update the code to test listAssignments - //instance.listAssignments(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listClassStudentSubmissions', function() { - it('should call listClassStudentSubmissions successfully', function(done) { - //uncomment below and update the code to test listClassStudentSubmissions - //instance.listClassStudentSubmissions(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listClasses', function() { - it('should call listClasses successfully', function(done) { - //uncomment below and update the code to test listClasses - //instance.listClasses(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('unarchiveClass', function() { - it('should call unarchiveClass successfully', function(done) { - //uncomment below and update the code to test unarchiveClass - //instance.unarchiveClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('updateClass', function() { - it('should call updateClass successfully', function(done) { - //uncomment below and update the code to test updateClass - //instance.updateClass(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/CollectionApi.spec.js b/test/api/CollectionApi.spec.js deleted file mode 100644 index 73f934e..0000000 --- a/test/api/CollectionApi.spec.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.CollectionApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionApi', function() { - describe('addScoreToCollection', function() { - it('should call addScoreToCollection successfully', function(done) { - //uncomment below and update the code to test addScoreToCollection - //instance.addScoreToCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createCollection', function() { - it('should call createCollection successfully', function(done) { - //uncomment below and update the code to test createCollection - //instance.createCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteCollection', function() { - it('should call deleteCollection successfully', function(done) { - //uncomment below and update the code to test deleteCollection - //instance.deleteCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteScoreFromCollection', function() { - it('should call deleteScoreFromCollection successfully', function(done) { - //uncomment below and update the code to test deleteScoreFromCollection - //instance.deleteScoreFromCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('editCollection', function() { - it('should call editCollection successfully', function(done) { - //uncomment below and update the code to test editCollection - //instance.editCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getCollection', function() { - it('should call getCollection successfully', function(done) { - //uncomment below and update the code to test getCollection - //instance.getCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listCollectionScores', function() { - it('should call listCollectionScores successfully', function(done) { - //uncomment below and update the code to test listCollectionScores - //instance.listCollectionScores(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listCollections', function() { - it('should call listCollections successfully', function(done) { - //uncomment below and update the code to test listCollections - //instance.listCollections(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('untrashCollection', function() { - it('should call untrashCollection successfully', function(done) { - //uncomment below and update the code to test untrashCollection - //instance.untrashCollection(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/GroupApi.spec.js b/test/api/GroupApi.spec.js deleted file mode 100644 index f2da0af..0000000 --- a/test/api/GroupApi.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.GroupApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('GroupApi', function() { - describe('getGroupDetails', function() { - it('should call getGroupDetails successfully', function(done) { - //uncomment below and update the code to test getGroupDetails - //instance.getGroupDetails(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getGroupScores', function() { - it('should call getGroupScores successfully', function(done) { - //uncomment below and update the code to test getGroupScores - //instance.getGroupScores(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listGroupUsers', function() { - it('should call listGroupUsers successfully', function(done) { - //uncomment below and update the code to test listGroupUsers - //instance.listGroupUsers(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/OrganizationApi.spec.js b/test/api/OrganizationApi.spec.js deleted file mode 100644 index c255fa8..0000000 --- a/test/api/OrganizationApi.spec.js +++ /dev/null @@ -1,156 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.OrganizationApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('OrganizationApi', function() { - describe('createLtiCredentials', function() { - it('should call createLtiCredentials successfully', function(done) { - //uncomment below and update the code to test createLtiCredentials - //instance.createLtiCredentials(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createOrganizationInvitation', function() { - it('should call createOrganizationInvitation successfully', function(done) { - //uncomment below and update the code to test createOrganizationInvitation - //instance.createOrganizationInvitation(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createOrganizationUser', function() { - it('should call createOrganizationUser successfully', function(done) { - //uncomment below and update the code to test createOrganizationUser - //instance.createOrganizationUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listLtiCredentials', function() { - it('should call listLtiCredentials successfully', function(done) { - //uncomment below and update the code to test listLtiCredentials - //instance.listLtiCredentials(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listOrganizationInvitations', function() { - it('should call listOrganizationInvitations successfully', function(done) { - //uncomment below and update the code to test listOrganizationInvitations - //instance.listOrganizationInvitations(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listOrganizationUsers', function() { - it('should call listOrganizationUsers successfully', function(done) { - //uncomment below and update the code to test listOrganizationUsers - //instance.listOrganizationUsers(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('removeOrganizationInvitation', function() { - it('should call removeOrganizationInvitation successfully', function(done) { - //uncomment below and update the code to test removeOrganizationInvitation - //instance.removeOrganizationInvitation(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('removeOrganizationUser', function() { - it('should call removeOrganizationUser successfully', function(done) { - //uncomment below and update the code to test removeOrganizationUser - //instance.removeOrganizationUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('revokeLtiCredentials', function() { - it('should call revokeLtiCredentials successfully', function(done) { - //uncomment below and update the code to test revokeLtiCredentials - //instance.revokeLtiCredentials(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('updateOrganizationUser', function() { - it('should call updateOrganizationUser successfully', function(done) { - //uncomment below and update the code to test updateOrganizationUser - //instance.updateOrganizationUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/ScoreApi.spec.js b/test/api/ScoreApi.spec.js deleted file mode 100644 index 354977f..0000000 --- a/test/api/ScoreApi.spec.js +++ /dev/null @@ -1,346 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreApi', function() { - describe('addScoreCollaborator', function() { - it('should call addScoreCollaborator successfully', function(done) { - //uncomment below and update the code to test addScoreCollaborator - //instance.addScoreCollaborator(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('addScoreTrack', function() { - it('should call addScoreTrack successfully', function(done) { - //uncomment below and update the code to test addScoreTrack - //instance.addScoreTrack(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createScore', function() { - it('should call createScore successfully', function(done) { - //uncomment below and update the code to test createScore - //instance.createScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('createScoreRevision', function() { - it('should call createScoreRevision successfully', function(done) { - //uncomment below and update the code to test createScoreRevision - //instance.createScoreRevision(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteScore', function() { - it('should call deleteScore successfully', function(done) { - //uncomment below and update the code to test deleteScore - //instance.deleteScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteScoreComment', function() { - it('should call deleteScoreComment successfully', function(done) { - //uncomment below and update the code to test deleteScoreComment - //instance.deleteScoreComment(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('deleteScoreTrack', function() { - it('should call deleteScoreTrack successfully', function(done) { - //uncomment below and update the code to test deleteScoreTrack - //instance.deleteScoreTrack(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('editScore', function() { - it('should call editScore successfully', function(done) { - //uncomment below and update the code to test editScore - //instance.editScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('forkScore', function() { - it('should call forkScore successfully', function(done) { - //uncomment below and update the code to test forkScore - //instance.forkScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('gerUserLikes', function() { - it('should call gerUserLikes successfully', function(done) { - //uncomment below and update the code to test gerUserLikes - //instance.gerUserLikes(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getGroupScores', function() { - it('should call getGroupScores successfully', function(done) { - //uncomment below and update the code to test getGroupScores - //instance.getGroupScores(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScore', function() { - it('should call getScore successfully', function(done) { - //uncomment below and update the code to test getScore - //instance.getScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreCollaborator', function() { - it('should call getScoreCollaborator successfully', function(done) { - //uncomment below and update the code to test getScoreCollaborator - //instance.getScoreCollaborator(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreCollaborators', function() { - it('should call getScoreCollaborators successfully', function(done) { - //uncomment below and update the code to test getScoreCollaborators - //instance.getScoreCollaborators(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreComments', function() { - it('should call getScoreComments successfully', function(done) { - //uncomment below and update the code to test getScoreComments - //instance.getScoreComments(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreRevision', function() { - it('should call getScoreRevision successfully', function(done) { - //uncomment below and update the code to test getScoreRevision - //instance.getScoreRevision(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreRevisionData', function() { - it('should call getScoreRevisionData successfully', function(done) { - //uncomment below and update the code to test getScoreRevisionData - //instance.getScoreRevisionData(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreRevisions', function() { - it('should call getScoreRevisions successfully', function(done) { - //uncomment below and update the code to test getScoreRevisions - //instance.getScoreRevisions(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreSubmissions', function() { - it('should call getScoreSubmissions successfully', function(done) { - //uncomment below and update the code to test getScoreSubmissions - //instance.getScoreSubmissions(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getScoreTrack', function() { - it('should call getScoreTrack successfully', function(done) { - //uncomment below and update the code to test getScoreTrack - //instance.getScoreTrack(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getUserScores', function() { - it('should call getUserScores successfully', function(done) { - //uncomment below and update the code to test getUserScores - //instance.getUserScores(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('listScoreTracks', function() { - it('should call listScoreTracks successfully', function(done) { - //uncomment below and update the code to test listScoreTracks - //instance.listScoreTracks(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('markScoreCommentResolved', function() { - it('should call markScoreCommentResolved successfully', function(done) { - //uncomment below and update the code to test markScoreCommentResolved - //instance.markScoreCommentResolved(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('markScoreCommentUnresolved', function() { - it('should call markScoreCommentUnresolved successfully', function(done) { - //uncomment below and update the code to test markScoreCommentUnresolved - //instance.markScoreCommentUnresolved(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('postScoreComment', function() { - it('should call postScoreComment successfully', function(done) { - //uncomment below and update the code to test postScoreComment - //instance.postScoreComment(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('removeScoreCollaborator', function() { - it('should call removeScoreCollaborator successfully', function(done) { - //uncomment below and update the code to test removeScoreCollaborator - //instance.removeScoreCollaborator(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('untrashScore', function() { - it('should call untrashScore successfully', function(done) { - //uncomment below and update the code to test untrashScore - //instance.untrashScore(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('updateScoreComment', function() { - it('should call updateScoreComment successfully', function(done) { - //uncomment below and update the code to test updateScoreComment - //instance.updateScoreComment(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('updateScoreTrack', function() { - it('should call updateScoreTrack successfully', function(done) { - //uncomment below and update the code to test updateScoreTrack - //instance.updateScoreTrack(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/api/UserApi.spec.js b/test/api/UserApi.spec.js deleted file mode 100644 index 01a6612..0000000 --- a/test/api/UserApi.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserApi(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserApi', function() { - describe('gerUserLikes', function() { - it('should call gerUserLikes successfully', function(done) { - //uncomment below and update the code to test gerUserLikes - //instance.gerUserLikes(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getUser', function() { - it('should call getUser successfully', function(done) { - //uncomment below and update the code to test getUser - //instance.getUser(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('getUserScores', function() { - it('should call getUserScores successfully', function(done) { - //uncomment below and update the code to test getUserScores - //instance.getUserScores(function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - }); - -})); diff --git a/test/model/Assignment.spec.js b/test/model/Assignment.spec.js deleted file mode 100644 index 1db3f81..0000000 --- a/test/model/Assignment.spec.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.Assignment(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('Assignment', function() { - it('should create an instance of Assignment', function() { - // uncomment below and update the code to test Assignment - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be.a(FlatApi.Assignment); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property classroom (base name: "classroom")', function() { - // uncomment below and update the code to test the property classroom - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property attachments (base name: "attachments")', function() { - // uncomment below and update the code to test the property attachments - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property submissions (base name: "submissions")', function() { - // uncomment below and update the code to test the property submissions - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property creator (base name: "creator")', function() { - // uncomment below and update the code to test the property creator - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property scheduledDate (base name: "scheduledDate")', function() { - // uncomment below and update the code to test the property scheduledDate - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property dueDate (base name: "dueDate")', function() { - // uncomment below and update the code to test the property dueDate - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - it('should have the property googleClassroom (base name: "googleClassroom")', function() { - // uncomment below and update the code to test the property googleClassroom - //var instance = new FlatApi.Assignment(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/AssignmentCopy.spec.js b/test/model/AssignmentCopy.spec.js deleted file mode 100644 index 85cbd30..0000000 --- a/test/model/AssignmentCopy.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.AssignmentCopy(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('AssignmentCopy', function() { - it('should create an instance of AssignmentCopy', function() { - // uncomment below and update the code to test AssignmentCopy - //var instance = new FlatApi.AssignmentCopy(); - //expect(instance).to.be.a(FlatApi.AssignmentCopy); - }); - - it('should have the property classroom (base name: "classroom")', function() { - // uncomment below and update the code to test the property classroom - //var instance = new FlatApi.AssignmentCopy(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/AssignmentCreation.spec.js b/test/model/AssignmentCreation.spec.js deleted file mode 100644 index 2958c97..0000000 --- a/test/model/AssignmentCreation.spec.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.AssignmentCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('AssignmentCreation', function() { - it('should create an instance of AssignmentCreation', function() { - // uncomment below and update the code to test AssignmentCreation - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be.a(FlatApi.AssignmentCreation); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property attachments (base name: "attachments")', function() { - // uncomment below and update the code to test the property attachments - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property dueDate (base name: "dueDate")', function() { - // uncomment below and update the code to test the property dueDate - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property scheduledDate (base name: "scheduledDate")', function() { - // uncomment below and update the code to test the property scheduledDate - //var instance = new FlatApi.AssignmentCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/AssignmentSubmission.spec.js b/test/model/AssignmentSubmission.spec.js deleted file mode 100644 index e66f668..0000000 --- a/test/model/AssignmentSubmission.spec.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.AssignmentSubmission(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('AssignmentSubmission', function() { - it('should create an instance of AssignmentSubmission', function() { - // uncomment below and update the code to test AssignmentSubmission - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be.a(FlatApi.AssignmentSubmission); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property classroom (base name: "classroom")', function() { - // uncomment below and update the code to test the property classroom - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property assignment (base name: "assignment")', function() { - // uncomment below and update the code to test the property assignment - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property creator (base name: "creator")', function() { - // uncomment below and update the code to test the property creator - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property attachments (base name: "attachments")', function() { - // uncomment below and update the code to test the property attachments - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property submissionDate (base name: "submissionDate")', function() { - // uncomment below and update the code to test the property submissionDate - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property studentComment (base name: "studentComment")', function() { - // uncomment below and update the code to test the property studentComment - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property returnDate (base name: "returnDate")', function() { - // uncomment below and update the code to test the property returnDate - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property returnFeedback (base name: "returnFeedback")', function() { - // uncomment below and update the code to test the property returnFeedback - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property returnCreator (base name: "returnCreator")', function() { - // uncomment below and update the code to test the property returnCreator - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property googleClassroom (base name: "googleClassroom")', function() { - // uncomment below and update the code to test the property googleClassroom - //var instance = new FlatApi.AssignmentSubmission(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/AssignmentSubmissionUpdate.spec.js b/test/model/AssignmentSubmissionUpdate.spec.js deleted file mode 100644 index 4f05f49..0000000 --- a/test/model/AssignmentSubmissionUpdate.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.AssignmentSubmissionUpdate(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('AssignmentSubmissionUpdate', function() { - it('should create an instance of AssignmentSubmissionUpdate', function() { - // uncomment below and update the code to test AssignmentSubmissionUpdate - //var instance = new FlatApi.AssignmentSubmissionUpdate(); - //expect(instance).to.be.a(FlatApi.AssignmentSubmissionUpdate); - }); - - it('should have the property attachments (base name: "attachments")', function() { - // uncomment below and update the code to test the property attachments - //var instance = new FlatApi.AssignmentSubmissionUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property studentComment (base name: "studentComment")', function() { - // uncomment below and update the code to test the property studentComment - //var instance = new FlatApi.AssignmentSubmissionUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property submit (base name: "submit")', function() { - // uncomment below and update the code to test the property submit - //var instance = new FlatApi.AssignmentSubmissionUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property returnFeedback (base name: "returnFeedback")', function() { - // uncomment below and update the code to test the property returnFeedback - //var instance = new FlatApi.AssignmentSubmissionUpdate(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassAttachmentCreation.spec.js b/test/model/ClassAttachmentCreation.spec.js deleted file mode 100644 index da6e23d..0000000 --- a/test/model/ClassAttachmentCreation.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassAttachmentCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassAttachmentCreation', function() { - it('should create an instance of ClassAttachmentCreation', function() { - // uncomment below and update the code to test ClassAttachmentCreation - //var instance = new FlatApi.ClassAttachmentCreation(); - //expect(instance).to.be.a(FlatApi.ClassAttachmentCreation); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.ClassAttachmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property score (base name: "score")', function() { - // uncomment below and update the code to test the property score - //var instance = new FlatApi.ClassAttachmentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property url (base name: "url")', function() { - // uncomment below and update the code to test the property url - //var instance = new FlatApi.ClassAttachmentCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassCreation.spec.js b/test/model/ClassCreation.spec.js deleted file mode 100644 index 3c44f5e..0000000 --- a/test/model/ClassCreation.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassCreation', function() { - it('should create an instance of ClassCreation', function() { - // uncomment below and update the code to test ClassCreation - //var instance = new FlatApi.ClassCreation(); - //expect(instance).to.be.a(FlatApi.ClassCreation); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.ClassCreation(); - //expect(instance).to.be(); - }); - - it('should have the property section (base name: "section")', function() { - // uncomment below and update the code to test the property section - //var instance = new FlatApi.ClassCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetails.spec.js b/test/model/ClassDetails.spec.js deleted file mode 100644 index 9c2d192..0000000 --- a/test/model/ClassDetails.spec.js +++ /dev/null @@ -1,170 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetails(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetails', function() { - it('should create an instance of ClassDetails', function() { - // uncomment below and update the code to test ClassDetails - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be.a(FlatApi.ClassDetails); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property section (base name: "section")', function() { - // uncomment below and update the code to test the property section - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property owner (base name: "owner")', function() { - // uncomment below and update the code to test the property owner - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property enrollmentCode (base name: "enrollmentCode")', function() { - // uncomment below and update the code to test the property enrollmentCode - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property theme (base name: "theme")', function() { - // uncomment below and update the code to test the property theme - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property assignmentsCount (base name: "assignmentsCount")', function() { - // uncomment below and update the code to test the property assignmentsCount - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property studentsGroup (base name: "studentsGroup")', function() { - // uncomment below and update the code to test the property studentsGroup - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property teachersGroup (base name: "teachersGroup")', function() { - // uncomment below and update the code to test the property teachersGroup - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property googleClassroom (base name: "googleClassroom")', function() { - // uncomment below and update the code to test the property googleClassroom - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property googleDrive (base name: "googleDrive")', function() { - // uncomment below and update the code to test the property googleDrive - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property lti (base name: "lti")', function() { - // uncomment below and update the code to test the property lti - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property canvas (base name: "canvas")', function() { - // uncomment below and update the code to test the property canvas - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - it('should have the property clever (base name: "clever")', function() { - // uncomment below and update the code to test the property clever - //var instance = new FlatApi.ClassDetails(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetailsCanvas.spec.js b/test/model/ClassDetailsCanvas.spec.js deleted file mode 100644 index adf0213..0000000 --- a/test/model/ClassDetailsCanvas.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetailsCanvas(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetailsCanvas', function() { - it('should create an instance of ClassDetailsCanvas', function() { - // uncomment below and update the code to test ClassDetailsCanvas - //var instance = new FlatApi.ClassDetailsCanvas(); - //expect(instance).to.be.a(FlatApi.ClassDetailsCanvas); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ClassDetailsCanvas(); - //expect(instance).to.be(); - }); - - it('should have the property domain (base name: "domain")', function() { - // uncomment below and update the code to test the property domain - //var instance = new FlatApi.ClassDetailsCanvas(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetailsClever.spec.js b/test/model/ClassDetailsClever.spec.js deleted file mode 100644 index b26e5af..0000000 --- a/test/model/ClassDetailsClever.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetailsClever(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetailsClever', function() { - it('should create an instance of ClassDetailsClever', function() { - // uncomment below and update the code to test ClassDetailsClever - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be.a(FlatApi.ClassDetailsClever); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property modificationDate (base name: "modificationDate")', function() { - // uncomment below and update the code to test the property modificationDate - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property subject (base name: "subject")', function() { - // uncomment below and update the code to test the property subject - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property termName (base name: "termName")', function() { - // uncomment below and update the code to test the property termName - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property termStartDate (base name: "termStartDate")', function() { - // uncomment below and update the code to test the property termStartDate - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - it('should have the property termEndDate (base name: "termEndDate")', function() { - // uncomment below and update the code to test the property termEndDate - //var instance = new FlatApi.ClassDetailsClever(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetailsGoogleClassroom.spec.js b/test/model/ClassDetailsGoogleClassroom.spec.js deleted file mode 100644 index 536a66e..0000000 --- a/test/model/ClassDetailsGoogleClassroom.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetailsGoogleClassroom(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetailsGoogleClassroom', function() { - it('should create an instance of ClassDetailsGoogleClassroom', function() { - // uncomment below and update the code to test ClassDetailsGoogleClassroom - //var instance = new FlatApi.ClassDetailsGoogleClassroom(); - //expect(instance).to.be.a(FlatApi.ClassDetailsGoogleClassroom); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ClassDetailsGoogleClassroom(); - //expect(instance).to.be(); - }); - - it('should have the property alternateLink (base name: "alternateLink")', function() { - // uncomment below and update the code to test the property alternateLink - //var instance = new FlatApi.ClassDetailsGoogleClassroom(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.ClassDetailsGoogleClassroom(); - //expect(instance).to.be(); - }); - - it('should have the property section (base name: "section")', function() { - // uncomment below and update the code to test the property section - //var instance = new FlatApi.ClassDetailsGoogleClassroom(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetailsGoogleDrive.spec.js b/test/model/ClassDetailsGoogleDrive.spec.js deleted file mode 100644 index 4db39b2..0000000 --- a/test/model/ClassDetailsGoogleDrive.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetailsGoogleDrive(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetailsGoogleDrive', function() { - it('should create an instance of ClassDetailsGoogleDrive', function() { - // uncomment below and update the code to test ClassDetailsGoogleDrive - //var instance = new FlatApi.ClassDetailsGoogleDrive(); - //expect(instance).to.be.a(FlatApi.ClassDetailsGoogleDrive); - }); - - it('should have the property teacherFolderId (base name: "teacherFolderId")', function() { - // uncomment below and update the code to test the property teacherFolderId - //var instance = new FlatApi.ClassDetailsGoogleDrive(); - //expect(instance).to.be(); - }); - - it('should have the property teacherFolderAlternateLink (base name: "teacherFolderAlternateLink")', function() { - // uncomment below and update the code to test the property teacherFolderAlternateLink - //var instance = new FlatApi.ClassDetailsGoogleDrive(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassDetailsLti.spec.js b/test/model/ClassDetailsLti.spec.js deleted file mode 100644 index 81eebc4..0000000 --- a/test/model/ClassDetailsLti.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassDetailsLti(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassDetailsLti', function() { - it('should create an instance of ClassDetailsLti', function() { - // uncomment below and update the code to test ClassDetailsLti - //var instance = new FlatApi.ClassDetailsLti(); - //expect(instance).to.be.a(FlatApi.ClassDetailsLti); - }); - - it('should have the property contextId (base name: "contextId")', function() { - // uncomment below and update the code to test the property contextId - //var instance = new FlatApi.ClassDetailsLti(); - //expect(instance).to.be(); - }); - - it('should have the property contextTitle (base name: "contextTitle")', function() { - // uncomment below and update the code to test the property contextTitle - //var instance = new FlatApi.ClassDetailsLti(); - //expect(instance).to.be(); - }); - - it('should have the property contextLabel (base name: "contextLabel")', function() { - // uncomment below and update the code to test the property contextLabel - //var instance = new FlatApi.ClassDetailsLti(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ClassRoles.spec.js b/test/model/ClassRoles.spec.js deleted file mode 100644 index 4c53090..0000000 --- a/test/model/ClassRoles.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassRoles', function() { - it('should create an instance of ClassRoles', function() { - // uncomment below and update the code to test ClassRoles - //var instance = new FlatApi.ClassRoles(); - //expect(instance).to.be.a(FlatApi.ClassRoles); - }); - - }); - -})); diff --git a/test/model/ClassState.spec.js b/test/model/ClassState.spec.js deleted file mode 100644 index dc70a5b..0000000 --- a/test/model/ClassState.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassState', function() { - it('should create an instance of ClassState', function() { - // uncomment below and update the code to test ClassState - //var instance = new FlatApi.ClassState(); - //expect(instance).to.be.a(FlatApi.ClassState); - }); - - }); - -})); diff --git a/test/model/ClassUpdate.spec.js b/test/model/ClassUpdate.spec.js deleted file mode 100644 index 950986c..0000000 --- a/test/model/ClassUpdate.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ClassUpdate(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ClassUpdate', function() { - it('should create an instance of ClassUpdate', function() { - // uncomment below and update the code to test ClassUpdate - //var instance = new FlatApi.ClassUpdate(); - //expect(instance).to.be.a(FlatApi.ClassUpdate); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.ClassUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property section (base name: "section")', function() { - // uncomment below and update the code to test the property section - //var instance = new FlatApi.ClassUpdate(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/Collection.spec.js b/test/model/Collection.spec.js deleted file mode 100644 index 7c51705..0000000 --- a/test/model/Collection.spec.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.Collection(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('Collection', function() { - it('should create an instance of Collection', function() { - // uncomment below and update the code to test Collection - //var instance = new FlatApi.Collection(); - //expect(instance).to.be.a(FlatApi.Collection); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property htmlUrl (base name: "htmlUrl")', function() { - // uncomment below and update the code to test the property htmlUrl - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property privacy (base name: "privacy")', function() { - // uncomment below and update the code to test the property privacy - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property sharingKey (base name: "sharingKey")', function() { - // uncomment below and update the code to test the property sharingKey - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property app (base name: "app")', function() { - // uncomment below and update the code to test the property app - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property rights (base name: "rights")', function() { - // uncomment below and update the code to test the property rights - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property collaborators (base name: "collaborators")', function() { - // uncomment below and update the code to test the property collaborators - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - it('should have the property capabilities (base name: "capabilities")', function() { - // uncomment below and update the code to test the property capabilities - //var instance = new FlatApi.Collection(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/CollectionCapabilities.spec.js b/test/model/CollectionCapabilities.spec.js deleted file mode 100644 index de46b39..0000000 --- a/test/model/CollectionCapabilities.spec.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.CollectionCapabilities(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionCapabilities', function() { - it('should create an instance of CollectionCapabilities', function() { - // uncomment below and update the code to test CollectionCapabilities - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be.a(FlatApi.CollectionCapabilities); - }); - - it('should have the property canEdit (base name: "canEdit")', function() { - // uncomment below and update the code to test the property canEdit - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be(); - }); - - it('should have the property canShare (base name: "canShare")', function() { - // uncomment below and update the code to test the property canShare - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be(); - }); - - it('should have the property canDelete (base name: "canDelete")', function() { - // uncomment below and update the code to test the property canDelete - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be(); - }); - - it('should have the property canAddScores (base name: "canAddScores")', function() { - // uncomment below and update the code to test the property canAddScores - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be(); - }); - - it('should have the property canDeleteScores (base name: "canDeleteScores")', function() { - // uncomment below and update the code to test the property canDeleteScores - //var instance = new FlatApi.CollectionCapabilities(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/CollectionCreation.spec.js b/test/model/CollectionCreation.spec.js deleted file mode 100644 index 2f39fe3..0000000 --- a/test/model/CollectionCreation.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.CollectionCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionCreation', function() { - it('should create an instance of CollectionCreation', function() { - // uncomment below and update the code to test CollectionCreation - //var instance = new FlatApi.CollectionCreation(); - //expect(instance).to.be.a(FlatApi.CollectionCreation); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.CollectionCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/CollectionModification.spec.js b/test/model/CollectionModification.spec.js deleted file mode 100644 index f225fbd..0000000 --- a/test/model/CollectionModification.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.CollectionModification(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionModification', function() { - it('should create an instance of CollectionModification', function() { - // uncomment below and update the code to test CollectionModification - //var instance = new FlatApi.CollectionModification(); - //expect(instance).to.be.a(FlatApi.CollectionModification); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.CollectionModification(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/CollectionPrivacy.spec.js b/test/model/CollectionPrivacy.spec.js deleted file mode 100644 index 7f0f21f..0000000 --- a/test/model/CollectionPrivacy.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionPrivacy', function() { - it('should create an instance of CollectionPrivacy', function() { - // uncomment below and update the code to test CollectionPrivacy - //var instance = new FlatApi.CollectionPrivacy(); - //expect(instance).to.be.a(FlatApi.CollectionPrivacy); - }); - - }); - -})); diff --git a/test/model/CollectionTitle.spec.js b/test/model/CollectionTitle.spec.js deleted file mode 100644 index c4d831a..0000000 --- a/test/model/CollectionTitle.spec.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.CollectionTitle(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionTitle', function() { - it('should create an instance of CollectionTitle', function() { - // uncomment below and update the code to test CollectionTitle - //var instance = new FlatApi.CollectionTitle(); - //expect(instance).to.be.a(FlatApi.CollectionTitle); - }); - - }); - -})); diff --git a/test/model/CollectionType.spec.js b/test/model/CollectionType.spec.js deleted file mode 100644 index 4cf283f..0000000 --- a/test/model/CollectionType.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('CollectionType', function() { - it('should create an instance of CollectionType', function() { - // uncomment below and update the code to test CollectionType - //var instance = new FlatApi.CollectionType(); - //expect(instance).to.be.a(FlatApi.CollectionType); - }); - - }); - -})); diff --git a/test/model/FlatErrorResponse.spec.js b/test/model/FlatErrorResponse.spec.js deleted file mode 100644 index 2baafd3..0000000 --- a/test/model/FlatErrorResponse.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.FlatErrorResponse(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('FlatErrorResponse', function() { - it('should create an instance of FlatErrorResponse', function() { - // uncomment below and update the code to test FlatErrorResponse - //var instance = new FlatApi.FlatErrorResponse(); - //expect(instance).to.be.a(FlatApi.FlatErrorResponse); - }); - - it('should have the property code (base name: "code")', function() { - // uncomment below and update the code to test the property code - //var instance = new FlatApi.FlatErrorResponse(); - //expect(instance).to.be(); - }); - - it('should have the property message (base name: "message")', function() { - // uncomment below and update the code to test the property message - //var instance = new FlatApi.FlatErrorResponse(); - //expect(instance).to.be(); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.FlatErrorResponse(); - //expect(instance).to.be(); - }); - - it('should have the property param (base name: "param")', function() { - // uncomment below and update the code to test the property param - //var instance = new FlatApi.FlatErrorResponse(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/FlatLocales.spec.js b/test/model/FlatLocales.spec.js deleted file mode 100644 index 5f02a49..0000000 --- a/test/model/FlatLocales.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('FlatLocales', function() { - it('should create an instance of FlatLocales', function() { - // uncomment below and update the code to test FlatLocales - //var instance = new FlatApi.FlatLocales(); - //expect(instance).to.be.a(FlatApi.FlatLocales); - }); - - }); - -})); diff --git a/test/model/GoogleClassroomCoursework.spec.js b/test/model/GoogleClassroomCoursework.spec.js deleted file mode 100644 index 5eae790..0000000 --- a/test/model/GoogleClassroomCoursework.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.GoogleClassroomCoursework(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('GoogleClassroomCoursework', function() { - it('should create an instance of GoogleClassroomCoursework', function() { - // uncomment below and update the code to test GoogleClassroomCoursework - //var instance = new FlatApi.GoogleClassroomCoursework(); - //expect(instance).to.be.a(FlatApi.GoogleClassroomCoursework); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.GoogleClassroomCoursework(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.GoogleClassroomCoursework(); - //expect(instance).to.be(); - }); - - it('should have the property alternateLink (base name: "alternateLink")', function() { - // uncomment below and update the code to test the property alternateLink - //var instance = new FlatApi.GoogleClassroomCoursework(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/GoogleClassroomSubmission.spec.js b/test/model/GoogleClassroomSubmission.spec.js deleted file mode 100644 index 0c4d4e9..0000000 --- a/test/model/GoogleClassroomSubmission.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.GoogleClassroomSubmission(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('GoogleClassroomSubmission', function() { - it('should create an instance of GoogleClassroomSubmission', function() { - // uncomment below and update the code to test GoogleClassroomSubmission - //var instance = new FlatApi.GoogleClassroomSubmission(); - //expect(instance).to.be.a(FlatApi.GoogleClassroomSubmission); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.GoogleClassroomSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.GoogleClassroomSubmission(); - //expect(instance).to.be(); - }); - - it('should have the property alternateLink (base name: "alternateLink")', function() { - // uncomment below and update the code to test the property alternateLink - //var instance = new FlatApi.GoogleClassroomSubmission(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/Group.spec.js b/test/model/Group.spec.js deleted file mode 100644 index f641d34..0000000 --- a/test/model/Group.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.Group(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('Group', function() { - it('should create an instance of Group', function() { - // uncomment below and update the code to test Group - //var instance = new FlatApi.Group(); - //expect(instance).to.be.a(FlatApi.Group); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property usersCount (base name: "usersCount")', function() { - // uncomment below and update the code to test the property usersCount - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property readOnly (base name: "readOnly")', function() { - // uncomment below and update the code to test the property readOnly - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.Group(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/GroupDetails.spec.js b/test/model/GroupDetails.spec.js deleted file mode 100644 index 839abd8..0000000 --- a/test/model/GroupDetails.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.GroupDetails(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('GroupDetails', function() { - it('should create an instance of GroupDetails', function() { - // uncomment below and update the code to test GroupDetails - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be.a(FlatApi.GroupDetails); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property usersCount (base name: "usersCount")', function() { - // uncomment below and update the code to test the property usersCount - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - it('should have the property readOnly (base name: "readOnly")', function() { - // uncomment below and update the code to test the property readOnly - //var instance = new FlatApi.GroupDetails(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/GroupType.spec.js b/test/model/GroupType.spec.js deleted file mode 100644 index 98fe38b..0000000 --- a/test/model/GroupType.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('GroupType', function() { - it('should create an instance of GroupType', function() { - // uncomment below and update the code to test GroupType - //var instance = new FlatApi.GroupType(); - //expect(instance).to.be.a(FlatApi.GroupType); - }); - - }); - -})); diff --git a/test/model/LicenseMode.spec.js b/test/model/LicenseMode.spec.js deleted file mode 100644 index d700253..0000000 --- a/test/model/LicenseMode.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('LicenseMode', function() { - it('should create an instance of LicenseMode', function() { - // uncomment below and update the code to test LicenseMode - //var instance = new FlatApi.LicenseMode(); - //expect(instance).to.be.a(FlatApi.LicenseMode); - }); - - }); - -})); diff --git a/test/model/LicenseSources.spec.js b/test/model/LicenseSources.spec.js deleted file mode 100644 index 03a27df..0000000 --- a/test/model/LicenseSources.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('LicenseSources', function() { - it('should create an instance of LicenseSources', function() { - // uncomment below and update the code to test LicenseSources - //var instance = new FlatApi.LicenseSources(); - //expect(instance).to.be.a(FlatApi.LicenseSources); - }); - - }); - -})); diff --git a/test/model/LmsName.spec.js b/test/model/LmsName.spec.js deleted file mode 100644 index 7ef593a..0000000 --- a/test/model/LmsName.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('LmsName', function() { - it('should create an instance of LmsName', function() { - // uncomment below and update the code to test LmsName - //var instance = new FlatApi.LmsName(); - //expect(instance).to.be.a(FlatApi.LmsName); - }); - - }); - -})); diff --git a/test/model/LtiCredentials.spec.js b/test/model/LtiCredentials.spec.js deleted file mode 100644 index ac55d78..0000000 --- a/test/model/LtiCredentials.spec.js +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.LtiCredentials(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('LtiCredentials', function() { - it('should create an instance of LtiCredentials', function() { - // uncomment below and update the code to test LtiCredentials - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be.a(FlatApi.LtiCredentials); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property lms (base name: "lms")', function() { - // uncomment below and update the code to test the property lms - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property creator (base name: "creator")', function() { - // uncomment below and update the code to test the property creator - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property lastUsage (base name: "lastUsage")', function() { - // uncomment below and update the code to test the property lastUsage - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property consumerKey (base name: "consumerKey")', function() { - // uncomment below and update the code to test the property consumerKey - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - it('should have the property consumerSecret (base name: "consumerSecret")', function() { - // uncomment below and update the code to test the property consumerSecret - //var instance = new FlatApi.LtiCredentials(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/LtiCredentialsCreation.spec.js b/test/model/LtiCredentialsCreation.spec.js deleted file mode 100644 index 0a0f6b5..0000000 --- a/test/model/LtiCredentialsCreation.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.LtiCredentialsCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('LtiCredentialsCreation', function() { - it('should create an instance of LtiCredentialsCreation', function() { - // uncomment below and update the code to test LtiCredentialsCreation - //var instance = new FlatApi.LtiCredentialsCreation(); - //expect(instance).to.be.a(FlatApi.LtiCredentialsCreation); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.LtiCredentialsCreation(); - //expect(instance).to.be(); - }); - - it('should have the property lms (base name: "lms")', function() { - // uncomment below and update the code to test the property lms - //var instance = new FlatApi.LtiCredentialsCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/MediaAttachment.spec.js b/test/model/MediaAttachment.spec.js deleted file mode 100644 index 94cf988..0000000 --- a/test/model/MediaAttachment.spec.js +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.MediaAttachment(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('MediaAttachment', function() { - it('should create an instance of MediaAttachment', function() { - // uncomment below and update the code to test MediaAttachment - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be.a(FlatApi.MediaAttachment); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property score (base name: "score")', function() { - // uncomment below and update the code to test the property score - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property revision (base name: "revision")', function() { - // uncomment below and update the code to test the property revision - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property correct (base name: "correct")', function() { - // uncomment below and update the code to test the property correct - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property sharingMode (base name: "sharingMode")', function() { - // uncomment below and update the code to test the property sharingMode - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property html (base name: "html")', function() { - // uncomment below and update the code to test the property html - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property htmlWidth (base name: "htmlWidth")', function() { - // uncomment below and update the code to test the property htmlWidth - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property htmlHeight (base name: "htmlHeight")', function() { - // uncomment below and update the code to test the property htmlHeight - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property url (base name: "url")', function() { - // uncomment below and update the code to test the property url - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property thumbnailUrl (base name: "thumbnailUrl")', function() { - // uncomment below and update the code to test the property thumbnailUrl - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property thumbnailWidth (base name: "thumbnailWidth")', function() { - // uncomment below and update the code to test the property thumbnailWidth - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property thumbnailHeight (base name: "thumbnailHeight")', function() { - // uncomment below and update the code to test the property thumbnailHeight - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property authorName (base name: "authorName")', function() { - // uncomment below and update the code to test the property authorName - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - it('should have the property authorUrl (base name: "authorUrl")', function() { - // uncomment below and update the code to test the property authorUrl - //var instance = new FlatApi.MediaAttachment(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/MediaScoreSharingMode.spec.js b/test/model/MediaScoreSharingMode.spec.js deleted file mode 100644 index 87f417d..0000000 --- a/test/model/MediaScoreSharingMode.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('MediaScoreSharingMode', function() { - it('should create an instance of MediaScoreSharingMode', function() { - // uncomment below and update the code to test MediaScoreSharingMode - //var instance = new FlatApi.MediaScoreSharingMode(); - //expect(instance).to.be.a(FlatApi.MediaScoreSharingMode); - }); - - }); - -})); diff --git a/test/model/OrganizationInvitation.spec.js b/test/model/OrganizationInvitation.spec.js deleted file mode 100644 index 8e5e3a9..0000000 --- a/test/model/OrganizationInvitation.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.OrganizationInvitation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('OrganizationInvitation', function() { - it('should create an instance of OrganizationInvitation', function() { - // uncomment below and update the code to test OrganizationInvitation - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be.a(FlatApi.OrganizationInvitation); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property organizationRole (base name: "organizationRole")', function() { - // uncomment below and update the code to test the property organizationRole - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property customCode (base name: "customCode")', function() { - // uncomment below and update the code to test the property customCode - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property email (base name: "email")', function() { - // uncomment below and update the code to test the property email - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property invitedBy (base name: "invitedBy")', function() { - // uncomment below and update the code to test the property invitedBy - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - it('should have the property usedBy (base name: "usedBy")', function() { - // uncomment below and update the code to test the property usedBy - //var instance = new FlatApi.OrganizationInvitation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/OrganizationInvitationCreation.spec.js b/test/model/OrganizationInvitationCreation.spec.js deleted file mode 100644 index 193ef2a..0000000 --- a/test/model/OrganizationInvitationCreation.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.OrganizationInvitationCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('OrganizationInvitationCreation', function() { - it('should create an instance of OrganizationInvitationCreation', function() { - // uncomment below and update the code to test OrganizationInvitationCreation - //var instance = new FlatApi.OrganizationInvitationCreation(); - //expect(instance).to.be.a(FlatApi.OrganizationInvitationCreation); - }); - - it('should have the property email (base name: "email")', function() { - // uncomment below and update the code to test the property email - //var instance = new FlatApi.OrganizationInvitationCreation(); - //expect(instance).to.be(); - }); - - it('should have the property organizationRole (base name: "organizationRole")', function() { - // uncomment below and update the code to test the property organizationRole - //var instance = new FlatApi.OrganizationInvitationCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/OrganizationRoles.spec.js b/test/model/OrganizationRoles.spec.js deleted file mode 100644 index 539440e..0000000 --- a/test/model/OrganizationRoles.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('OrganizationRoles', function() { - it('should create an instance of OrganizationRoles', function() { - // uncomment below and update the code to test OrganizationRoles - //var instance = new FlatApi.OrganizationRoles(); - //expect(instance).to.be.a(FlatApi.OrganizationRoles); - }); - - }); - -})); diff --git a/test/model/ResourceCollaborator.spec.js b/test/model/ResourceCollaborator.spec.js deleted file mode 100644 index 8f4f5f0..0000000 --- a/test/model/ResourceCollaborator.spec.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ResourceCollaborator(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ResourceCollaborator', function() { - it('should create an instance of ResourceCollaborator', function() { - // uncomment below and update the code to test ResourceCollaborator - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be.a(FlatApi.ResourceCollaborator); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - it('should have the property score (base name: "score")', function() { - // uncomment below and update the code to test the property score - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - it('should have the property collection (base name: "collection")', function() { - // uncomment below and update the code to test the property collection - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - it('should have the property group (base name: "group")', function() { - // uncomment below and update the code to test the property group - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - it('should have the property userEmail (base name: "userEmail")', function() { - // uncomment below and update the code to test the property userEmail - //var instance = new FlatApi.ResourceCollaborator(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ResourceCollaboratorCreation.spec.js b/test/model/ResourceCollaboratorCreation.spec.js deleted file mode 100644 index cc2387e..0000000 --- a/test/model/ResourceCollaboratorCreation.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ResourceCollaboratorCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ResourceCollaboratorCreation', function() { - it('should create an instance of ResourceCollaboratorCreation', function() { - // uncomment below and update the code to test ResourceCollaboratorCreation - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be.a(FlatApi.ResourceCollaboratorCreation); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property group (base name: "group")', function() { - // uncomment below and update the code to test the property group - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property userEmail (base name: "userEmail")', function() { - // uncomment below and update the code to test the property userEmail - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property userToken (base name: "userToken")', function() { - // uncomment below and update the code to test the property userToken - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property aclRead (base name: "aclRead")', function() { - // uncomment below and update the code to test the property aclRead - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property aclWrite (base name: "aclWrite")', function() { - // uncomment below and update the code to test the property aclWrite - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - it('should have the property aclAdmin (base name: "aclAdmin")', function() { - // uncomment below and update the code to test the property aclAdmin - //var instance = new FlatApi.ResourceCollaboratorCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ResourceRights.spec.js b/test/model/ResourceRights.spec.js deleted file mode 100644 index f896631..0000000 --- a/test/model/ResourceRights.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ResourceRights(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ResourceRights', function() { - it('should create an instance of ResourceRights', function() { - // uncomment below and update the code to test ResourceRights - //var instance = new FlatApi.ResourceRights(); - //expect(instance).to.be.a(FlatApi.ResourceRights); - }); - - it('should have the property aclRead (base name: "aclRead")', function() { - // uncomment below and update the code to test the property aclRead - //var instance = new FlatApi.ResourceRights(); - //expect(instance).to.be(); - }); - - it('should have the property aclWrite (base name: "aclWrite")', function() { - // uncomment below and update the code to test the property aclWrite - //var instance = new FlatApi.ResourceRights(); - //expect(instance).to.be(); - }); - - it('should have the property aclAdmin (base name: "aclAdmin")', function() { - // uncomment below and update the code to test the property aclAdmin - //var instance = new FlatApi.ResourceRights(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ResourceSharingKey.spec.js b/test/model/ResourceSharingKey.spec.js deleted file mode 100644 index 36caeed..0000000 --- a/test/model/ResourceSharingKey.spec.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ResourceSharingKey(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ResourceSharingKey', function() { - it('should create an instance of ResourceSharingKey', function() { - // uncomment below and update the code to test ResourceSharingKey - //var instance = new FlatApi.ResourceSharingKey(); - //expect(instance).to.be.a(FlatApi.ResourceSharingKey); - }); - - }); - -})); diff --git a/test/model/ScoreComment.spec.js b/test/model/ScoreComment.spec.js deleted file mode 100644 index 6d58e02..0000000 --- a/test/model/ScoreComment.spec.js +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreComment(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreComment', function() { - it('should create an instance of ScoreComment', function() { - // uncomment below and update the code to test ScoreComment - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be.a(FlatApi.ScoreComment); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property score (base name: "score")', function() { - // uncomment below and update the code to test the property score - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property revision (base name: "revision")', function() { - // uncomment below and update the code to test the property revision - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property replyTo (base name: "replyTo")', function() { - // uncomment below and update the code to test the property replyTo - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property _date (base name: "date")', function() { - // uncomment below and update the code to test the property _date - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property modificationDate (base name: "modificationDate")', function() { - // uncomment below and update the code to test the property modificationDate - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property comment (base name: "comment")', function() { - // uncomment below and update the code to test the property comment - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property rawComment (base name: "rawComment")', function() { - // uncomment below and update the code to test the property rawComment - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property context (base name: "context")', function() { - // uncomment below and update the code to test the property context - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property mentions (base name: "mentions")', function() { - // uncomment below and update the code to test the property mentions - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property resolved (base name: "resolved")', function() { - // uncomment below and update the code to test the property resolved - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property resolvedBy (base name: "resolvedBy")', function() { - // uncomment below and update the code to test the property resolvedBy - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - it('should have the property spam (base name: "spam")', function() { - // uncomment below and update the code to test the property spam - //var instance = new FlatApi.ScoreComment(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCommentContext.spec.js b/test/model/ScoreCommentContext.spec.js deleted file mode 100644 index ee1738d..0000000 --- a/test/model/ScoreCommentContext.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreCommentContext(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCommentContext', function() { - it('should create an instance of ScoreCommentContext', function() { - // uncomment below and update the code to test ScoreCommentContext - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be.a(FlatApi.ScoreCommentContext); - }); - - it('should have the property partUuid (base name: "partUuid")', function() { - // uncomment below and update the code to test the property partUuid - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property staffIdx (base name: "staffIdx")', function() { - // uncomment below and update the code to test the property staffIdx - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property measureUuids (base name: "measureUuids")', function() { - // uncomment below and update the code to test the property measureUuids - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property startTimePos (base name: "startTimePos")', function() { - // uncomment below and update the code to test the property startTimePos - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property stopTimePos (base name: "stopTimePos")', function() { - // uncomment below and update the code to test the property stopTimePos - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property startDpq (base name: "startDpq")', function() { - // uncomment below and update the code to test the property startDpq - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - it('should have the property stopDpq (base name: "stopDpq")', function() { - // uncomment below and update the code to test the property stopDpq - //var instance = new FlatApi.ScoreCommentContext(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCommentCreation.spec.js b/test/model/ScoreCommentCreation.spec.js deleted file mode 100644 index ce07b27..0000000 --- a/test/model/ScoreCommentCreation.spec.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreCommentCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCommentCreation', function() { - it('should create an instance of ScoreCommentCreation', function() { - // uncomment below and update the code to test ScoreCommentCreation - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be.a(FlatApi.ScoreCommentCreation); - }); - - it('should have the property revision (base name: "revision")', function() { - // uncomment below and update the code to test the property revision - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property comment (base name: "comment")', function() { - // uncomment below and update the code to test the property comment - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property rawComment (base name: "rawComment")', function() { - // uncomment below and update the code to test the property rawComment - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property mentions (base name: "mentions")', function() { - // uncomment below and update the code to test the property mentions - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property replyTo (base name: "replyTo")', function() { - // uncomment below and update the code to test the property replyTo - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - it('should have the property context (base name: "context")', function() { - // uncomment below and update the code to test the property context - //var instance = new FlatApi.ScoreCommentCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCommentUpdate.spec.js b/test/model/ScoreCommentUpdate.spec.js deleted file mode 100644 index 1e6af93..0000000 --- a/test/model/ScoreCommentUpdate.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreCommentUpdate(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCommentUpdate', function() { - it('should create an instance of ScoreCommentUpdate', function() { - // uncomment below and update the code to test ScoreCommentUpdate - //var instance = new FlatApi.ScoreCommentUpdate(); - //expect(instance).to.be.a(FlatApi.ScoreCommentUpdate); - }); - - it('should have the property revision (base name: "revision")', function() { - // uncomment below and update the code to test the property revision - //var instance = new FlatApi.ScoreCommentUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property comment (base name: "comment")', function() { - // uncomment below and update the code to test the property comment - //var instance = new FlatApi.ScoreCommentUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property rawComment (base name: "rawComment")', function() { - // uncomment below and update the code to test the property rawComment - //var instance = new FlatApi.ScoreCommentUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property context (base name: "context")', function() { - // uncomment below and update the code to test the property context - //var instance = new FlatApi.ScoreCommentUpdate(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCommentsCounts.spec.js b/test/model/ScoreCommentsCounts.spec.js deleted file mode 100644 index 4a4f3b6..0000000 --- a/test/model/ScoreCommentsCounts.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreCommentsCounts(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCommentsCounts', function() { - it('should create an instance of ScoreCommentsCounts', function() { - // uncomment below and update the code to test ScoreCommentsCounts - //var instance = new FlatApi.ScoreCommentsCounts(); - //expect(instance).to.be.a(FlatApi.ScoreCommentsCounts); - }); - - it('should have the property total (base name: "total")', function() { - // uncomment below and update the code to test the property total - //var instance = new FlatApi.ScoreCommentsCounts(); - //expect(instance).to.be(); - }); - - it('should have the property unique (base name: "unique")', function() { - // uncomment below and update the code to test the property unique - //var instance = new FlatApi.ScoreCommentsCounts(); - //expect(instance).to.be(); - }); - - it('should have the property weekly (base name: "weekly")', function() { - // uncomment below and update the code to test the property weekly - //var instance = new FlatApi.ScoreCommentsCounts(); - //expect(instance).to.be(); - }); - - it('should have the property monthly (base name: "monthly")', function() { - // uncomment below and update the code to test the property monthly - //var instance = new FlatApi.ScoreCommentsCounts(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCreation.spec.js b/test/model/ScoreCreation.spec.js deleted file mode 100644 index efd3d7b..0000000 --- a/test/model/ScoreCreation.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCreation', function() { - it('should create an instance of ScoreCreation', function() { - // uncomment below and update the code to test ScoreCreation - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be.a(FlatApi.ScoreCreation); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property privacy (base name: "privacy")', function() { - // uncomment below and update the code to test the property privacy - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property data (base name: "data")', function() { - // uncomment below and update the code to test the property data - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property dataEncoding (base name: "dataEncoding")', function() { - // uncomment below and update the code to test the property dataEncoding - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property source (base name: "source")', function() { - // uncomment below and update the code to test the property source - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property collection (base name: "collection")', function() { - // uncomment below and update the code to test the property collection - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - it('should have the property googleDriveFolder (base name: "googleDriveFolder")', function() { - // uncomment below and update the code to test the property googleDriveFolder - //var instance = new FlatApi.ScoreCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreCreationType.spec.js b/test/model/ScoreCreationType.spec.js deleted file mode 100644 index c9f9ec5..0000000 --- a/test/model/ScoreCreationType.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreCreationType', function() { - it('should create an instance of ScoreCreationType', function() { - // uncomment below and update the code to test ScoreCreationType - //var instance = new FlatApi.ScoreCreationType(); - //expect(instance).to.be.a(FlatApi.ScoreCreationType); - }); - - }); - -})); diff --git a/test/model/ScoreData.spec.js b/test/model/ScoreData.spec.js deleted file mode 100644 index 125de96..0000000 --- a/test/model/ScoreData.spec.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreData(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreData', function() { - it('should create an instance of ScoreData', function() { - // uncomment below and update the code to test ScoreData - //var instance = new FlatApi.ScoreData(); - //expect(instance).to.be.a(FlatApi.ScoreData); - }); - - }); - -})); diff --git a/test/model/ScoreDataEncoding.spec.js b/test/model/ScoreDataEncoding.spec.js deleted file mode 100644 index fef9ec0..0000000 --- a/test/model/ScoreDataEncoding.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreDataEncoding', function() { - it('should create an instance of ScoreDataEncoding', function() { - // uncomment below and update the code to test ScoreDataEncoding - //var instance = new FlatApi.ScoreDataEncoding(); - //expect(instance).to.be.a(FlatApi.ScoreDataEncoding); - }); - - }); - -})); diff --git a/test/model/ScoreDetails.spec.js b/test/model/ScoreDetails.spec.js deleted file mode 100644 index 0f777e2..0000000 --- a/test/model/ScoreDetails.spec.js +++ /dev/null @@ -1,200 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreDetails(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreDetails', function() { - it('should create an instance of ScoreDetails', function() { - // uncomment below and update the code to test ScoreDetails - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be.a(FlatApi.ScoreDetails); - }); - - it('should have the property subtitle (base name: "subtitle")', function() { - // uncomment below and update the code to test the property subtitle - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property lyricist (base name: "lyricist")', function() { - // uncomment below and update the code to test the property lyricist - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property composer (base name: "composer")', function() { - // uncomment below and update the code to test the property composer - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property tags (base name: "tags")', function() { - // uncomment below and update the code to test the property tags - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property creationType (base name: "creationType")', function() { - // uncomment below and update the code to test the property creationType - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property license (base name: "license")', function() { - // uncomment below and update the code to test the property license - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property licenseText (base name: "licenseText")', function() { - // uncomment below and update the code to test the property licenseText - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property durationTime (base name: "durationTime")', function() { - // uncomment below and update the code to test the property durationTime - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property numberMeasures (base name: "numberMeasures")', function() { - // uncomment below and update the code to test the property numberMeasures - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property mainTempoQpm (base name: "mainTempoQpm")', function() { - // uncomment below and update the code to test the property mainTempoQpm - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property rights (base name: "rights")', function() { - // uncomment below and update the code to test the property rights - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property collaborators (base name: "collaborators")', function() { - // uncomment below and update the code to test the property collaborators - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property modificationDate (base name: "modificationDate")', function() { - // uncomment below and update the code to test the property modificationDate - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property publicationDate (base name: "publicationDate")', function() { - // uncomment below and update the code to test the property publicationDate - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property parentScore (base name: "parentScore")', function() { - // uncomment below and update the code to test the property parentScore - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property instruments (base name: "instruments")', function() { - // uncomment below and update the code to test the property instruments - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property googleDriveFileId (base name: "googleDriveFileId")', function() { - // uncomment below and update the code to test the property googleDriveFileId - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property likes (base name: "likes")', function() { - // uncomment below and update the code to test the property likes - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property comments (base name: "comments")', function() { - // uncomment below and update the code to test the property comments - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - it('should have the property views (base name: "views")', function() { - // uncomment below and update the code to test the property views - //var instance = new FlatApi.ScoreDetails(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreFork.spec.js b/test/model/ScoreFork.spec.js deleted file mode 100644 index f0a4400..0000000 --- a/test/model/ScoreFork.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreFork(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreFork', function() { - it('should create an instance of ScoreFork', function() { - // uncomment below and update the code to test ScoreFork - //var instance = new FlatApi.ScoreFork(); - //expect(instance).to.be.a(FlatApi.ScoreFork); - }); - - it('should have the property collection (base name: "collection")', function() { - // uncomment below and update the code to test the property collection - //var instance = new FlatApi.ScoreFork(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreLicense.spec.js b/test/model/ScoreLicense.spec.js deleted file mode 100644 index c723298..0000000 --- a/test/model/ScoreLicense.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreLicense', function() { - it('should create an instance of ScoreLicense', function() { - // uncomment below and update the code to test ScoreLicense - //var instance = new FlatApi.ScoreLicense(); - //expect(instance).to.be.a(FlatApi.ScoreLicense); - }); - - }); - -})); diff --git a/test/model/ScoreLikesCounts.spec.js b/test/model/ScoreLikesCounts.spec.js deleted file mode 100644 index f6c6778..0000000 --- a/test/model/ScoreLikesCounts.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreLikesCounts(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreLikesCounts', function() { - it('should create an instance of ScoreLikesCounts', function() { - // uncomment below and update the code to test ScoreLikesCounts - //var instance = new FlatApi.ScoreLikesCounts(); - //expect(instance).to.be.a(FlatApi.ScoreLikesCounts); - }); - - it('should have the property total (base name: "total")', function() { - // uncomment below and update the code to test the property total - //var instance = new FlatApi.ScoreLikesCounts(); - //expect(instance).to.be(); - }); - - it('should have the property weekly (base name: "weekly")', function() { - // uncomment below and update the code to test the property weekly - //var instance = new FlatApi.ScoreLikesCounts(); - //expect(instance).to.be(); - }); - - it('should have the property monthly (base name: "monthly")', function() { - // uncomment below and update the code to test the property monthly - //var instance = new FlatApi.ScoreLikesCounts(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreModification.spec.js b/test/model/ScoreModification.spec.js deleted file mode 100644 index 4c92efb..0000000 --- a/test/model/ScoreModification.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreModification(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreModification', function() { - it('should create an instance of ScoreModification', function() { - // uncomment below and update the code to test ScoreModification - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be.a(FlatApi.ScoreModification); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property privacy (base name: "privacy")', function() { - // uncomment below and update the code to test the property privacy - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property sharingKey (base name: "sharingKey")', function() { - // uncomment below and update the code to test the property sharingKey - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property tags (base name: "tags")', function() { - // uncomment below and update the code to test the property tags - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property creationType (base name: "creationType")', function() { - // uncomment below and update the code to test the property creationType - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - it('should have the property license (base name: "license")', function() { - // uncomment below and update the code to test the property license - //var instance = new FlatApi.ScoreModification(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScorePrivacy.spec.js b/test/model/ScorePrivacy.spec.js deleted file mode 100644 index fa67adc..0000000 --- a/test/model/ScorePrivacy.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScorePrivacy', function() { - it('should create an instance of ScorePrivacy', function() { - // uncomment below and update the code to test ScorePrivacy - //var instance = new FlatApi.ScorePrivacy(); - //expect(instance).to.be.a(FlatApi.ScorePrivacy); - }); - - }); - -})); diff --git a/test/model/ScoreRevision.spec.js b/test/model/ScoreRevision.spec.js deleted file mode 100644 index 8f6bfaa..0000000 --- a/test/model/ScoreRevision.spec.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreRevision(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreRevision', function() { - it('should create an instance of ScoreRevision', function() { - // uncomment below and update the code to test ScoreRevision - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be.a(FlatApi.ScoreRevision); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property collaborators (base name: "collaborators")', function() { - // uncomment below and update the code to test the property collaborators - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property autosave (base name: "autosave")', function() { - // uncomment below and update the code to test the property autosave - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - it('should have the property statistics (base name: "statistics")', function() { - // uncomment below and update the code to test the property statistics - //var instance = new FlatApi.ScoreRevision(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreRevisionCreation.spec.js b/test/model/ScoreRevisionCreation.spec.js deleted file mode 100644 index e701ebd..0000000 --- a/test/model/ScoreRevisionCreation.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreRevisionCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreRevisionCreation', function() { - it('should create an instance of ScoreRevisionCreation', function() { - // uncomment below and update the code to test ScoreRevisionCreation - //var instance = new FlatApi.ScoreRevisionCreation(); - //expect(instance).to.be.a(FlatApi.ScoreRevisionCreation); - }); - - it('should have the property data (base name: "data")', function() { - // uncomment below and update the code to test the property data - //var instance = new FlatApi.ScoreRevisionCreation(); - //expect(instance).to.be(); - }); - - it('should have the property dataEncoding (base name: "dataEncoding")', function() { - // uncomment below and update the code to test the property dataEncoding - //var instance = new FlatApi.ScoreRevisionCreation(); - //expect(instance).to.be(); - }); - - it('should have the property autosave (base name: "autosave")', function() { - // uncomment below and update the code to test the property autosave - //var instance = new FlatApi.ScoreRevisionCreation(); - //expect(instance).to.be(); - }); - - it('should have the property description (base name: "description")', function() { - // uncomment below and update the code to test the property description - //var instance = new FlatApi.ScoreRevisionCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreRevisionStatistics.spec.js b/test/model/ScoreRevisionStatistics.spec.js deleted file mode 100644 index c1169c7..0000000 --- a/test/model/ScoreRevisionStatistics.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreRevisionStatistics(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreRevisionStatistics', function() { - it('should create an instance of ScoreRevisionStatistics', function() { - // uncomment below and update the code to test ScoreRevisionStatistics - //var instance = new FlatApi.ScoreRevisionStatistics(); - //expect(instance).to.be.a(FlatApi.ScoreRevisionStatistics); - }); - - it('should have the property additions (base name: "additions")', function() { - // uncomment below and update the code to test the property additions - //var instance = new FlatApi.ScoreRevisionStatistics(); - //expect(instance).to.be(); - }); - - it('should have the property deletions (base name: "deletions")', function() { - // uncomment below and update the code to test the property deletions - //var instance = new FlatApi.ScoreRevisionStatistics(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreSource.spec.js b/test/model/ScoreSource.spec.js deleted file mode 100644 index 004a663..0000000 --- a/test/model/ScoreSource.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreSource(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreSource', function() { - it('should create an instance of ScoreSource', function() { - // uncomment below and update the code to test ScoreSource - //var instance = new FlatApi.ScoreSource(); - //expect(instance).to.be.a(FlatApi.ScoreSource); - }); - - it('should have the property googleDrive (base name: "googleDrive")', function() { - // uncomment below and update the code to test the property googleDrive - //var instance = new FlatApi.ScoreSource(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreSummary.spec.js b/test/model/ScoreSummary.spec.js deleted file mode 100644 index 4b383c5..0000000 --- a/test/model/ScoreSummary.spec.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreSummary(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreSummary', function() { - it('should create an instance of ScoreSummary', function() { - // uncomment below and update the code to test ScoreSummary - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be.a(FlatApi.ScoreSummary); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - it('should have the property sharingKey (base name: "sharingKey")', function() { - // uncomment below and update the code to test the property sharingKey - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - it('should have the property privacy (base name: "privacy")', function() { - // uncomment below and update the code to test the property privacy - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - it('should have the property user (base name: "user")', function() { - // uncomment below and update the code to test the property user - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - it('should have the property htmlUrl (base name: "htmlUrl")', function() { - // uncomment below and update the code to test the property htmlUrl - //var instance = new FlatApi.ScoreSummary(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreTrack.spec.js b/test/model/ScoreTrack.spec.js deleted file mode 100644 index 64c8195..0000000 --- a/test/model/ScoreTrack.spec.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreTrack(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrack', function() { - it('should create an instance of ScoreTrack', function() { - // uncomment below and update the code to test ScoreTrack - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be.a(FlatApi.ScoreTrack); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property score (base name: "score")', function() { - // uncomment below and update the code to test the property score - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property creator (base name: "creator")', function() { - // uncomment below and update the code to test the property creator - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property creationDate (base name: "creationDate")', function() { - // uncomment below and update the code to test the property creationDate - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property modificationDate (base name: "modificationDate")', function() { - // uncomment below and update the code to test the property modificationDate - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property _default (base name: "default")', function() { - // uncomment below and update the code to test the property _default - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property url (base name: "url")', function() { - // uncomment below and update the code to test the property url - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property mediaId (base name: "mediaId")', function() { - // uncomment below and update the code to test the property mediaId - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - it('should have the property synchronizationPoints (base name: "synchronizationPoints")', function() { - // uncomment below and update the code to test the property synchronizationPoints - //var instance = new FlatApi.ScoreTrack(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreTrackCreation.spec.js b/test/model/ScoreTrackCreation.spec.js deleted file mode 100644 index 435d307..0000000 --- a/test/model/ScoreTrackCreation.spec.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreTrackCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrackCreation', function() { - it('should create an instance of ScoreTrackCreation', function() { - // uncomment below and update the code to test ScoreTrackCreation - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be.a(FlatApi.ScoreTrackCreation); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be(); - }); - - it('should have the property _default (base name: "default")', function() { - // uncomment below and update the code to test the property _default - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be(); - }); - - it('should have the property url (base name: "url")', function() { - // uncomment below and update the code to test the property url - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be(); - }); - - it('should have the property synchronizationPoints (base name: "synchronizationPoints")', function() { - // uncomment below and update the code to test the property synchronizationPoints - //var instance = new FlatApi.ScoreTrackCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreTrackPoint.spec.js b/test/model/ScoreTrackPoint.spec.js deleted file mode 100644 index 6d69308..0000000 --- a/test/model/ScoreTrackPoint.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreTrackPoint(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrackPoint', function() { - it('should create an instance of ScoreTrackPoint', function() { - // uncomment below and update the code to test ScoreTrackPoint - //var instance = new FlatApi.ScoreTrackPoint(); - //expect(instance).to.be.a(FlatApi.ScoreTrackPoint); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.ScoreTrackPoint(); - //expect(instance).to.be(); - }); - - it('should have the property measureUuid (base name: "measureUuid")', function() { - // uncomment below and update the code to test the property measureUuid - //var instance = new FlatApi.ScoreTrackPoint(); - //expect(instance).to.be(); - }); - - it('should have the property time (base name: "time")', function() { - // uncomment below and update the code to test the property time - //var instance = new FlatApi.ScoreTrackPoint(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreTrackState.spec.js b/test/model/ScoreTrackState.spec.js deleted file mode 100644 index c618bba..0000000 --- a/test/model/ScoreTrackState.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrackState', function() { - it('should create an instance of ScoreTrackState', function() { - // uncomment below and update the code to test ScoreTrackState - //var instance = new FlatApi.ScoreTrackState(); - //expect(instance).to.be.a(FlatApi.ScoreTrackState); - }); - - }); - -})); diff --git a/test/model/ScoreTrackType.spec.js b/test/model/ScoreTrackType.spec.js deleted file mode 100644 index 2b8d651..0000000 --- a/test/model/ScoreTrackType.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrackType', function() { - it('should create an instance of ScoreTrackType', function() { - // uncomment below and update the code to test ScoreTrackType - //var instance = new FlatApi.ScoreTrackType(); - //expect(instance).to.be.a(FlatApi.ScoreTrackType); - }); - - }); - -})); diff --git a/test/model/ScoreTrackUpdate.spec.js b/test/model/ScoreTrackUpdate.spec.js deleted file mode 100644 index c5237fe..0000000 --- a/test/model/ScoreTrackUpdate.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreTrackUpdate(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreTrackUpdate', function() { - it('should create an instance of ScoreTrackUpdate', function() { - // uncomment below and update the code to test ScoreTrackUpdate - //var instance = new FlatApi.ScoreTrackUpdate(); - //expect(instance).to.be.a(FlatApi.ScoreTrackUpdate); - }); - - it('should have the property title (base name: "title")', function() { - // uncomment below and update the code to test the property title - //var instance = new FlatApi.ScoreTrackUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property _default (base name: "default")', function() { - // uncomment below and update the code to test the property _default - //var instance = new FlatApi.ScoreTrackUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property state (base name: "state")', function() { - // uncomment below and update the code to test the property state - //var instance = new FlatApi.ScoreTrackUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property synchronizationPoints (base name: "synchronizationPoints")', function() { - // uncomment below and update the code to test the property synchronizationPoints - //var instance = new FlatApi.ScoreTrackUpdate(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/ScoreViewsCounts.spec.js b/test/model/ScoreViewsCounts.spec.js deleted file mode 100644 index 3604804..0000000 --- a/test/model/ScoreViewsCounts.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.ScoreViewsCounts(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('ScoreViewsCounts', function() { - it('should create an instance of ScoreViewsCounts', function() { - // uncomment below and update the code to test ScoreViewsCounts - //var instance = new FlatApi.ScoreViewsCounts(); - //expect(instance).to.be.a(FlatApi.ScoreViewsCounts); - }); - - it('should have the property total (base name: "total")', function() { - // uncomment below and update the code to test the property total - //var instance = new FlatApi.ScoreViewsCounts(); - //expect(instance).to.be(); - }); - - it('should have the property weekly (base name: "weekly")', function() { - // uncomment below and update the code to test the property weekly - //var instance = new FlatApi.ScoreViewsCounts(); - //expect(instance).to.be(); - }); - - it('should have the property monthly (base name: "monthly")', function() { - // uncomment below and update the code to test the property monthly - //var instance = new FlatApi.ScoreViewsCounts(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserAdminUpdate.spec.js b/test/model/UserAdminUpdate.spec.js deleted file mode 100644 index 8f4b899..0000000 --- a/test/model/UserAdminUpdate.spec.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserAdminUpdate(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserAdminUpdate', function() { - it('should create an instance of UserAdminUpdate', function() { - // uncomment below and update the code to test UserAdminUpdate - //var instance = new FlatApi.UserAdminUpdate(); - //expect(instance).to.be.a(FlatApi.UserAdminUpdate); - }); - - it('should have the property password (base name: "password")', function() { - // uncomment below and update the code to test the property password - //var instance = new FlatApi.UserAdminUpdate(); - //expect(instance).to.be(); - }); - - it('should have the property organizationRole (base name: "organizationRole")', function() { - // uncomment below and update the code to test the property organizationRole - //var instance = new FlatApi.UserAdminUpdate(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserBasics.spec.js b/test/model/UserBasics.spec.js deleted file mode 100644 index ec8fc25..0000000 --- a/test/model/UserBasics.spec.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserBasics(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserBasics', function() { - it('should create an instance of UserBasics', function() { - // uncomment below and update the code to test UserBasics - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be.a(FlatApi.UserBasics); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - it('should have the property username (base name: "username")', function() { - // uncomment below and update the code to test the property username - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - it('should have the property name (base name: "name")', function() { - // uncomment below and update the code to test the property name - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - it('should have the property printableName (base name: "printableName")', function() { - // uncomment below and update the code to test the property printableName - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - it('should have the property picture (base name: "picture")', function() { - // uncomment below and update the code to test the property picture - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - it('should have the property isPowerUser (base name: "isPowerUser")', function() { - // uncomment below and update the code to test the property isPowerUser - //var instance = new FlatApi.UserBasics(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserCreation.spec.js b/test/model/UserCreation.spec.js deleted file mode 100644 index 47f2ea9..0000000 --- a/test/model/UserCreation.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserCreation(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserCreation', function() { - it('should create an instance of UserCreation', function() { - // uncomment below and update the code to test UserCreation - //var instance = new FlatApi.UserCreation(); - //expect(instance).to.be.a(FlatApi.UserCreation); - }); - - it('should have the property username (base name: "username")', function() { - // uncomment below and update the code to test the property username - //var instance = new FlatApi.UserCreation(); - //expect(instance).to.be(); - }); - - it('should have the property email (base name: "email")', function() { - // uncomment below and update the code to test the property email - //var instance = new FlatApi.UserCreation(); - //expect(instance).to.be(); - }); - - it('should have the property password (base name: "password")', function() { - // uncomment below and update the code to test the property password - //var instance = new FlatApi.UserCreation(); - //expect(instance).to.be(); - }); - - it('should have the property locale (base name: "locale")', function() { - // uncomment below and update the code to test the property locale - //var instance = new FlatApi.UserCreation(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserDetails.spec.js b/test/model/UserDetails.spec.js deleted file mode 100644 index 53bd1bc..0000000 --- a/test/model/UserDetails.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserDetails(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserDetails', function() { - it('should create an instance of UserDetails', function() { - // uncomment below and update the code to test UserDetails - //var instance = new FlatApi.UserDetails(); - //expect(instance).to.be.a(FlatApi.UserDetails); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.UserDetails(); - //expect(instance).to.be(); - }); - - it('should have the property type (base name: "type")', function() { - // uncomment below and update the code to test the property type - //var instance = new FlatApi.UserDetails(); - //expect(instance).to.be(); - }); - - it('should have the property privateProfile (base name: "privateProfile")', function() { - // uncomment below and update the code to test the property privateProfile - //var instance = new FlatApi.UserDetails(); - //expect(instance).to.be(); - }); - - it('should have the property locale (base name: "locale")', function() { - // uncomment below and update the code to test the property locale - //var instance = new FlatApi.UserDetails(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserDetailsAdmin.spec.js b/test/model/UserDetailsAdmin.spec.js deleted file mode 100644 index 80cd08d..0000000 --- a/test/model/UserDetailsAdmin.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserDetailsAdmin(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserDetailsAdmin', function() { - it('should create an instance of UserDetailsAdmin', function() { - // uncomment below and update the code to test UserDetailsAdmin - //var instance = new FlatApi.UserDetailsAdmin(); - //expect(instance).to.be.a(FlatApi.UserDetailsAdmin); - }); - - it('should have the property email (base name: "email")', function() { - // uncomment below and update the code to test the property email - //var instance = new FlatApi.UserDetailsAdmin(); - //expect(instance).to.be(); - }); - - it('should have the property lastActivityDate (base name: "lastActivityDate")', function() { - // uncomment below and update the code to test the property lastActivityDate - //var instance = new FlatApi.UserDetailsAdmin(); - //expect(instance).to.be(); - }); - - it('should have the property license (base name: "license")', function() { - // uncomment below and update the code to test the property license - //var instance = new FlatApi.UserDetailsAdmin(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserDetailsAdminLicense.spec.js b/test/model/UserDetailsAdminLicense.spec.js deleted file mode 100644 index b2086d9..0000000 --- a/test/model/UserDetailsAdminLicense.spec.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserDetailsAdminLicense(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserDetailsAdminLicense', function() { - it('should create an instance of UserDetailsAdminLicense', function() { - // uncomment below and update the code to test UserDetailsAdminLicense - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be.a(FlatApi.UserDetailsAdminLicense); - }); - - it('should have the property id (base name: "id")', function() { - // uncomment below and update the code to test the property id - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be(); - }); - - it('should have the property expirationDate (base name: "expirationDate")', function() { - // uncomment below and update the code to test the property expirationDate - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be(); - }); - - it('should have the property source (base name: "source")', function() { - // uncomment below and update the code to test the property source - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be(); - }); - - it('should have the property mode (base name: "mode")', function() { - // uncomment below and update the code to test the property mode - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be(); - }); - - it('should have the property active (base name: "active")', function() { - // uncomment below and update the code to test the property active - //var instance = new FlatApi.UserDetailsAdminLicense(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserInstruments.spec.js b/test/model/UserInstruments.spec.js deleted file mode 100644 index cce55f0..0000000 --- a/test/model/UserInstruments.spec.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserInstruments(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserInstruments', function() { - it('should create an instance of UserInstruments', function() { - // uncomment below and update the code to test UserInstruments - //var instance = new FlatApi.UserInstruments(); - //expect(instance).to.be.a(FlatApi.UserInstruments); - }); - - }); - -})); diff --git a/test/model/UserPublic.spec.js b/test/model/UserPublic.spec.js deleted file mode 100644 index 62a9732..0000000 --- a/test/model/UserPublic.spec.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserPublic(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserPublic', function() { - it('should create an instance of UserPublic', function() { - // uncomment below and update the code to test UserPublic - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be.a(FlatApi.UserPublic); - }); - - it('should have the property bio (base name: "bio")', function() { - // uncomment below and update the code to test the property bio - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property registrationDate (base name: "registrationDate")', function() { - // uncomment below and update the code to test the property registrationDate - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property likedScoresCount (base name: "likedScoresCount")', function() { - // uncomment below and update the code to test the property likedScoresCount - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property followersCount (base name: "followersCount")', function() { - // uncomment below and update the code to test the property followersCount - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property followingCount (base name: "followingCount")', function() { - // uncomment below and update the code to test the property followingCount - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property ownedPublicScoresCount (base name: "ownedPublicScoresCount")', function() { - // uncomment below and update the code to test the property ownedPublicScoresCount - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property profileTheme (base name: "profileTheme")', function() { - // uncomment below and update the code to test the property profileTheme - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - it('should have the property instruments (base name: "instruments")', function() { - // uncomment below and update the code to test the property instruments - //var instance = new FlatApi.UserPublic(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/test/model/UserPublicSummary.spec.js b/test/model/UserPublicSummary.spec.js deleted file mode 100644 index 680fbb9..0000000 --- a/test/model/UserPublicSummary.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flat API - * The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html) - * - * OpenAPI spec version: 2.6.0 - * Contact: developers@flat.io - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * - * Swagger Codegen version: 2.4.0-SNAPSHOT - * - * Do not edit the class manually. - * - */ - -(function(root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. - define(['expect.js', '../../src/index'], factory); - } else if (typeof module === 'object' && module.exports) { - // CommonJS-like environments that support module.exports, like Node. - factory(require('expect.js'), require('../../src/index')); - } else { - // Browser globals (root is window) - factory(root.expect, root.FlatApi); - } -}(this, function(expect, FlatApi) { - 'use strict'; - - var instance; - - beforeEach(function() { - instance = new FlatApi.UserPublicSummary(); - }); - - var getProperty = function(object, getter, property) { - // Use getter method if present; otherwise, get the property directly. - if (typeof object[getter] === 'function') - return object[getter](); - else - return object[property]; - } - - var setProperty = function(object, setter, property, value) { - // Use setter method if present; otherwise, set the property directly. - if (typeof object[setter] === 'function') - object[setter](value); - else - object[property] = value; - } - - describe('UserPublicSummary', function() { - it('should create an instance of UserPublicSummary', function() { - // uncomment below and update the code to test UserPublicSummary - //var instance = new FlatApi.UserPublicSummary(); - //expect(instance).to.be.a(FlatApi.UserPublicSummary); - }); - - it('should have the property organization (base name: "organization")', function() { - // uncomment below and update the code to test the property organization - //var instance = new FlatApi.UserPublicSummary(); - //expect(instance).to.be(); - }); - - it('should have the property organizationRole (base name: "organizationRole")', function() { - // uncomment below and update the code to test the property organizationRole - //var instance = new FlatApi.UserPublicSummary(); - //expect(instance).to.be(); - }); - - it('should have the property classRole (base name: "classRole")', function() { - // uncomment below and update the code to test the property classRole - //var instance = new FlatApi.UserPublicSummary(); - //expect(instance).to.be(); - }); - - it('should have the property htmlUrl (base name: "htmlUrl")', function() { - // uncomment below and update the code to test the property htmlUrl - //var instance = new FlatApi.UserPublicSummary(); - //expect(instance).to.be(); - }); - - }); - -})); diff --git a/tsconfig.esm.json b/tsconfig.esm.json new file mode 100644 index 0000000..2c0331c --- /dev/null +++ b/tsconfig.esm.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "esnext", + "outDir": "dist/esm" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..30dc264 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "declaration": true, + "target": "ES6", + "module": "commonjs", + "noImplicitAny": true, + "outDir": "dist", + "rootDir": ".", + "moduleResolution": "node", + "typeRoots": [ + "node_modules/@types" + ] + }, + "exclude": [ + "dist", + "node_modules" + ] +}