UNPKG

baqend

Version:

Baqend JavaScript SDK

1,766 lines (1,646 loc) 42.9 kB
/* DO NOT TOUCH THIS AUTO-GENERATED FILE */ /* eslint-disable max-len,@typescript-eslint/no-redeclare */ import { Message } from './connector'; import { Json as json } from './util'; interface ListAllResources { /** * Get the list of all available subresources */ new(): Message; } export const ListAllResources = Message.create<ListAllResources>({ method: 'GET', path: '/', status: [200], }); interface ApiVersion { /** * Get the API version of the Orestes-Server */ new(): Message; } export const ApiVersion = Message.create<ApiVersion>({ method: 'GET', path: '/version', status: [200], }); interface Specification { /** * The Swagger specification of the Orestes-Server */ new(): Message; } export const Specification = Message.create<Specification>({ method: 'GET', path: '/spec', status: [200], }); interface GetBloomFilter { /** * Returns all changed objects * * @param rules indicates whether the AssetFilter rules should be returned with the current BloomFilter */ new(rules?: boolean): Message; } export const GetBloomFilter = Message.create<GetBloomFilter>({ method: 'GET', path: '/bloomfilter?rules=false', status: [200], }); interface GetBloomFilterExpirations { /** * Returns all changed objects */ new(): Message; } export const GetBloomFilterExpirations = Message.create<GetBloomFilterExpirations>({ method: 'GET', path: '/bloomfilter/expirations', status: [200], }); interface DeleteBloomFilter { /** * Clears the Bloom filter (TTLs and stale entries) * * @param flush indeicates all maintained caches should also be flushed (CDN and SW Caches) */ new(flush?: boolean): Message; } export const DeleteBloomFilter = Message.create<DeleteBloomFilter>({ method: 'DELETE', path: '/bloomfilter?flush=true', status: [204], }); interface GetOrestesConfig { /** * Get the current Orestes config */ new(): Message; } export const GetOrestesConfig = Message.create<GetOrestesConfig>({ method: 'GET', path: '/config', status: [200], }); interface UpdateOrestesConfig { /** * Updates the current Orestes config * * @param body The massage Content */ new(body?: json): Message; } export const UpdateOrestesConfig = Message.create<UpdateOrestesConfig>({ method: 'PUT', path: '/config', status: [200, 202], }); interface Connect { /** * Connects a browser to this server */ new(): Message; } export const Connect = Message.create<Connect>({ method: 'GET', path: '/connect', status: [200], }); interface ConnectViaPost { /** * Connects a browser to this server via a post request */ new(): Message; } export const ConnectViaPost = Message.create<ConnectViaPost>({ method: 'POST', path: '/connect', status: [200], }); interface Status { /** * Gets the status of the server health */ new(): Message; } export const Status = Message.create<Status>({ method: 'GET', path: '/status', status: [200], }); interface BannedIp { /** * Determines whether the IP has exceeded its rate limit * * @param ip The ip to test */ new(ip: string): Message; } export const BannedIp = Message.create<BannedIp>({ method: 'GET', path: '/banned/:ip', status: [204], }); interface Banned { /** * Always returns banned status for proper CDN handling */ new(): Message; } export const Banned = Message.create<Banned>({ method: 'GET', path: '/banned', status: [], }); interface Unban { /** * Clears all rate-limiting information for all IPs */ new(): Message; } export const Unban = Message.create<Unban>({ method: 'DELETE', path: '/banned', status: [204], }); interface UnbanIp { /** * Clears rate-limiting information for given IPs * * @param ip The ip to reset */ new(ip: string): Message; } export const UnbanIp = Message.create<UnbanIp>({ method: 'DELETE', path: '/banned/:ip', status: [204], }); interface GetBucketNames { /** * List all bucket names * List all buckets */ new(): Message; } export const GetBucketNames = Message.create<GetBucketNames>({ method: 'GET', path: '/db', status: [200], }); interface GetBucketIds { /** * List objects in bucket * List all object ids of the given bucket * * @param bucket The bucket name * @param start The offset to skip * @param count The upper limit to return */ new(bucket: string, start?: number, count?: number): Message; } export const GetBucketIds = Message.create<GetBucketIds>({ method: 'GET', path: '/db/:bucket/ids?start=0&count=-1', status: [200], }); interface ExportBucket { /** * Dump objects of bucket * Exports the complete data set of the bucket * * @param bucket The bucket name */ new(bucket: string): Message; } export const ExportBucket = Message.create<ExportBucket>({ method: 'GET', path: '/db/:bucket', status: [200], }); interface ImportBucket { /** * Upload all objects to the bucket * Imports the complete data set. For large uploads, this call will always return the status code 200. * If failures occur, they will be returned in the response body. * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const ImportBucket = Message.create<ImportBucket>({ method: 'PUT', path: '/db/:bucket', status: [200], }); interface TruncateBucket { /** * Delete all objects in bucket * Delete all objects in the given bucket * * @param bucket The bucket name */ new(bucket: string): Message; } export const TruncateBucket = Message.create<TruncateBucket>({ method: 'DELETE', path: '/db/:bucket', status: [200], }); interface CreateObject { /** * Create object * Create the given object. * The created object will get a unique id. * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const CreateObject = Message.create<CreateObject>({ method: 'POST', path: '/db/:bucket', status: [201, 202], }); interface GetObject { /** * Get object * Returns the specified object. Each object has one unique identifier and therefore only one URL. * * @param bucket The bucket name * @param oid The unique object identifier */ new(bucket: string, oid: string): Message; } export const GetObject = Message.create<GetObject>({ method: 'GET', path: '/db/:bucket/:oid', status: [200, 304], }); interface ReplaceObject { /** * Replace object * Replace the current object with the updated one. * To update a specific version of the object a version can be provided in the If-Match header. * The update will only be accepted, if the current version matches the provided one, otherwise the update * will be rejected. * The * wildcard matches any existing object but prevents an insertion if the object does not exist. * * @param bucket The bucket name * @param oid The unique object identifier * @param body The massage Content */ new(bucket: string, oid: string, body?: json): Message; } export const ReplaceObject = Message.create<ReplaceObject>({ method: 'PUT', path: '/db/:bucket/:oid', status: [200, 202], }); interface DeleteObject { /** * Delete object * Deletes the object. The If-Match Header can be used to specify an expected version. The object will * only be deleted if the version matches the provided one. The * wildcard can be used to match any existing * version but results in an error if the object does not exist. * * @param bucket The bucket name * @param oid The unique object identifier */ new(bucket: string, oid: string): Message; } export const DeleteObject = Message.create<DeleteObject>({ method: 'DELETE', path: '/db/:bucket/:oid', status: [202, 204], }); interface GetAllSchemas { /** * Get all available class schemas * Gets the complete schema */ new(): Message; } export const GetAllSchemas = Message.create<GetAllSchemas>({ method: 'GET', path: '/schema', status: [200], }); interface UpdateAllSchemas { /** * Create new class schemas and update existing class schemas * Updates the complete schema, merge all changes, reject the schema update if the schema changes aren't compatible * * @param body The massage Content */ new(body?: json): Message; } export const UpdateAllSchemas = Message.create<UpdateAllSchemas>({ method: 'POST', path: '/schema', status: [200], }); interface ReplaceAllSchemas { /** * Replace all currently created schemas with the new ones * Replace the complete schema, with the new one. * * @param body The massage Content */ new(body?: json): Message; } export const ReplaceAllSchemas = Message.create<ReplaceAllSchemas>({ method: 'PUT', path: '/schema', status: [200], }); interface GetSchema { /** * Get the class schema * Returns the schema definition of the class * The class definition contains a link to its parent class and all persistable fields with there types of the class * * @param bucket The bucket name */ new(bucket: string): Message; } export const GetSchema = Message.create<GetSchema>({ method: 'GET', path: '/schema/:bucket', status: [200], }); interface UpdateSchema { /** * Update the class schema * Modify the schema definition of the class by adding all missing fields * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const UpdateSchema = Message.create<UpdateSchema>({ method: 'POST', path: '/schema/:bucket', status: [200], }); interface ReplaceSchema { /** * Replace the class schema * Replace the schema definition of the class * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const ReplaceSchema = Message.create<ReplaceSchema>({ method: 'PUT', path: '/schema/:bucket', status: [200], }); interface DeleteSchema { /** * Delete the class schema * Delete the schema definition of the class * * @param bucket The bucket name */ new(bucket: string): Message; } export const DeleteSchema = Message.create<DeleteSchema>({ method: 'DELETE', path: '/schema/:bucket', status: [204], }); interface AdhocQuery { /** * Executes a basic ad-hoc query * Executes the given query and returns a list of matching objects. * * @param bucket The bucket name * @param q The query * @param start The offset to start from * @param count The number of objects to list * @param sort The sort object * @param eager indicates if the query result should be sent back as ids or as objects * @param hinted indicates whether the query should be cached even when capacity limit is reached * @param triggeredBy indicating who or what that triggered the query * @param ttl The ttl for the athena query in a duration syntax. Can't be lower than 1m */ new(bucket: string, q: string, start?: number, count?: number, sort?: string, eager?: boolean, hinted?: boolean, triggeredBy?: string, ttl?: string): Message; } export const AdhocQuery = Message.create<AdhocQuery>({ method: 'GET', path: '/db/:bucket/query?q&start=0&count=-1&sort=&eager=&hinted=&triggeredBy=&ttl=', status: [200], }); interface AdhocQueryPOST { /** * Executes a basic ad-hoc query * Executes the given query and returns a list of matching objects. * * @param bucket The bucket name * @param start The offset to start from * @param count The number of objects to list * @param sort The sort object * @param triggeredBy Who or what that triggered the query * @param ttl The ttl for the athena query in a duration syntax. Can't be lower than 1m * @param body The massage Content */ new(bucket: string, start?: number, count?: number, sort?: string, triggeredBy?: string, ttl?: string, body?: string): Message; } export const AdhocQueryPOST = Message.create<AdhocQueryPOST>({ method: 'POST', path: '/db/:bucket/query?start=0&count=-1&sort=&triggeredBy=&ttl=', status: [200], }); interface AdhocCountQuery { /** * Executes a count query * Executes the given query and returns the number of objects that match the query * * @param bucket The bucket name * @param q The query */ new(bucket: string, q: string): Message; } export const AdhocCountQuery = Message.create<AdhocCountQuery>({ method: 'GET', path: '/db/:bucket/count?q', status: [200], }); interface AdhocCountQueryPOST { /** * Executes a count query * Executes the given query and returns the number of objects that match the query * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: string): Message; } export const AdhocCountQueryPOST = Message.create<AdhocCountQueryPOST>({ method: 'POST', path: '/db/:bucket/count', status: [200], }); interface ListQueryResources { /** * List all Query subresources */ new(): Message; } export const ListQueryResources = Message.create<ListQueryResources>({ method: 'GET', path: '/query', status: [200], }); interface CreateQuery { /** * Creates a prepared query * * @param body The massage Content */ new(body?: json): Message; } export const CreateQuery = Message.create<CreateQuery>({ method: 'POST', path: '/query', status: [201], }); interface ListThisQueryResources { /** * List all subresources of a query * * @param qid The query id */ new(qid: string): Message; } export const ListThisQueryResources = Message.create<ListThisQueryResources>({ method: 'GET', path: '/query/:qid', status: [200], }); interface GetQueryCode { /** * Get the query string * * @param qid The query id */ new(qid: string): Message; } export const GetQueryCode = Message.create<GetQueryCode>({ method: 'GET', path: '/query/:qid/source', status: [200], }); interface RunQuery { /** * Executes a prepared query * * @param qid The query id * @param start The offset from where to start from * @param count The number of objects to enlist */ new(qid: string, start?: number, count?: number): Message; } export const RunQuery = Message.create<RunQuery>({ method: 'GET', path: '/query/:qid/result?start=0&count=-1', status: [200], }); interface GetQueryParameters { /** * Get the declared query parameters * * @param qid The query id */ new(qid: string): Message; } export const GetQueryParameters = Message.create<GetQueryParameters>({ method: 'GET', path: '/query/:qid/parameters', status: [200], }); interface UpdatePartially { /** * Update the object * Executes the partial updates on the object. * To update an object an explicit version must be provided in the If-Match header. * If the version is not equal to the current object version the update will be aborted. * The version identifier Any (*) can be used to skip the version validation and therefore * the update will always be applied. * * @param bucket The bucket name * @param oid The unique object identifier * @param body The massage Content */ new(bucket: string, oid: string, body?: json): Message; } export const UpdatePartially = Message.create<UpdatePartially>({ method: 'POST', path: '/db/:bucket/:oid', status: [200], }); interface UpdateField { /** * Update the object field * Executes the partial update on a object field. * To update an object an explicit version must be provided in the If-Match header. * If the version is not equal to the current object version the update will be aborted. * The version identifier Any (*) can be used to skip the version validation and therefore * the update will always be applied. * * @param bucket The bucket name * @param oid The unique object identifier * @param field The field name * @param body The massage Content */ new(bucket: string, oid: string, field: string, body?: json): Message; } export const UpdateField = Message.create<UpdateField>({ method: 'POST', path: '/db/:bucket/:oid/:field', status: [200], }); interface Login { /** * Method to login a user * Log in a user by it's credentials * * @param body The massage Content */ new(body?: json): Message; } export const Login = Message.create<Login>({ method: 'POST', path: '/db/User/login', status: [200], }); interface Register { /** * Method to register a user * Register and creates a new user * * @param body The massage Content */ new(body?: json): Message; } export const Register = Message.create<Register>({ method: 'POST', path: '/db/User/register', status: [200, 204], }); interface Me { /** * Method to load the current user object * Gets the user object of the currently logged in user */ new(): Message; } export const Me = Message.create<Me>({ method: 'GET', path: '/db/User/me', status: [200], }); interface ValidateUser { /** * Method to validate a user token * Validates if a given token is still valid */ new(): Message; } export const ValidateUser = Message.create<ValidateUser>({ method: 'GET', path: '/db/User/validate', status: [200], }); interface Logout { /** * Method to remove token cookie * Log out a user by removing the cookie token */ new(): Message; } export const Logout = Message.create<Logout>({ method: 'GET', path: '/db/User/logout', status: [204], }); interface NewPassword { /** * Method to change the password * * @param body The massage Content */ new(body?: json): Message; } export const NewPassword = Message.create<NewPassword>({ method: 'POST', path: '/db/User/password', status: [200], }); interface ResetPassword { /** * Method to request a new password * * @param body The massage Content */ new(body?: json): Message; } export const ResetPassword = Message.create<ResetPassword>({ method: 'POST', path: '/db/User/reset', status: [200], }); interface Verify { /** * Method to verify user by a given token * * @param token Token to verify the user */ new(token?: string): Message; } export const Verify = Message.create<Verify>({ method: 'GET', path: '/db/User/verify?token=', status: [204], }); interface ChangeUsername { /** * Method to request a change of the username * * @param body The massage Content */ new(body?: json): Message; } export const ChangeUsername = Message.create<ChangeUsername>({ method: 'POST', path: '/db/User/changeUsername', status: [204], }); interface VerifyUsername { /** * Method to verify a username by a given token * * @param token Token to verify the user */ new(token?: string): Message; } export const VerifyUsername = Message.create<VerifyUsername>({ method: 'GET', path: '/db/User/verifyUsername?token=', status: [204], }); interface OAuth2 { /** * Method to register or login using an OAuth provider. * This resource is should be invoked by the provider with a redirect after the user granted permission. * * @param provider The OAuth provider * @param state Additional form encoded state. Can contain an optional redirect (url) that will be called after login with the user token attached as query parameter. * @param code The code written by the provider * @param oauth_verifier OAuth 1.0 code * @param oauth_token OAuth 1.0 identifier * @param error_description The error description of the oauth provider */ new(provider: string, state?: string, code?: string, oauth_verifier?: string, oauth_token?: string, error_description?: string): Message; } export const OAuth2 = Message.create<OAuth2>({ method: 'GET', path: '/db/User/OAuth/:provider?state=&code=&oauth_verifier=&oauth_token=&error_description=', status: [200], }); interface OAuth1 { /** * Method to invoke a OAuth-1.0 login/register * The resource requests a request-token and redirects the user to the provider page to log-in and grant permission for * your application. * * @param provider The OAuth provider */ new(provider: string): Message; } export const OAuth1 = Message.create<OAuth1>({ method: 'GET', path: '/db/User/OAuth1/:provider', status: [200], }); interface DeletePassword { /** * Deletes the password of the currently logged in user * Method to delete the password of the currently logged in user */ new(): Message; } export const DeletePassword = Message.create<DeletePassword>({ method: 'DELETE', path: '/db/User/password', status: [204], }); interface UserToken { /** * Generate a token without lifetime * Method to generate a token without lifetime * * @param oid The unique object identifier */ new(oid: string): Message; } export const UserToken = Message.create<UserToken>({ method: 'POST', path: '/db/User/:oid/token', status: [200], }); interface RevokeUserToken { /** * Revoke all tokens * Method to revoke all previously created tokens * * @param oid The unique object identifier */ new(oid: string): Message; } export const RevokeUserToken = Message.create<RevokeUserToken>({ method: 'DELETE', path: '/db/User/:oid/token', status: [204], }); interface MFAInitChallenge { /** * Starts MFA initialization * Method to create a MFA */ new(): Message; } export const MFAInitChallenge = Message.create<MFAInitChallenge>({ method: 'GET', path: '/db/User/mfa/init', status: [200], }); interface MFAInitFinish { /** * Finishes MFA initialization * Method to create a MFA * * @param body The massage Content */ new(body?: json): Message; } export const MFAInitFinish = Message.create<MFAInitFinish>({ method: 'POST', path: '/db/User/mfa/init', status: [200], }); interface MFAToken { /** * Finalize the generation of the shared secret for MFA * * @param body The massage Content */ new(body?: json): Message; } export const MFAToken = Message.create<MFAToken>({ method: 'POST', path: '/db/User/mfa/token', status: [200], }); interface MFADelete { /** * Deletes the users mfaSecret and mfaService */ new(): Message; } export const MFADelete = Message.create<MFADelete>({ method: 'DELETE', path: '/db/User/mfa', status: [204], }); interface MFAStatus { /** * Returns the current state of MFA */ new(): Message; } export const MFAStatus = Message.create<MFAStatus>({ method: 'GET', path: '/db/User/mfa/status', status: [200], }); interface AssumeRole { /** * Assumes a role * Assumes a role if it is permitted to the requesting user and returns a new token wich represents * the assumed role * * @param oid The unique role identifier */ new(oid: string): Message; } export const AssumeRole = Message.create<AssumeRole>({ method: 'POST', path: '/db/Role/:oid/assume', status: [200], }); interface GetBaqendCode { /** * Gets the code of the the given bucket and type * * @param bucket The bucket name * @param type The type of the script */ new(bucket: string, type: string): Message; } export const GetBaqendCode = Message.create<GetBaqendCode>({ method: 'GET', path: '/code/:bucket/:type', status: [200], }); interface SetBaqendCode { /** * Sets the code of the bucket and type * * @param bucket The bucket name * @param type The type of the script * @param body The massage Content */ new(bucket: string, type: string, body?: string): Message; } export const SetBaqendCode = Message.create<SetBaqendCode>({ method: 'PUT', path: '/code/:bucket/:type', status: [200, 202], }); interface DeleteBaqendCode { /** * Delete the code of the given bucket and type * * @param bucket The bucket name * @param type The type of the script */ new(bucket: string, type: string): Message; } export const DeleteBaqendCode = Message.create<DeleteBaqendCode>({ method: 'DELETE', path: '/code/:bucket/:type', status: [202, 204], }); interface PostBaqendModule { /** * Calls the module of the specific bucket * * @param bucket The method name */ new(bucket: string): Message; } export const PostBaqendModule = Message.create<PostBaqendModule>({ method: 'POST', path: '/code/:bucket', status: [200, 204], }); interface GetBaqendModule { /** * Calls the module of the specific bucket * * @param bucket The module name */ new(bucket: string): Message; } export const GetBaqendModule = Message.create<GetBaqendModule>({ method: 'GET', path: '/code/:bucket', status: [200, 204], }); interface GetAllModules { /** * List all available modules */ new(): Message; } export const GetAllModules = Message.create<GetAllModules>({ method: 'GET', path: '/code', status: [200], }); interface GetAllCodeContent { /** * List all available modules */ new(): Message; } export const GetAllCodeContent = Message.create<GetAllCodeContent>({ method: 'GET', path: '/code-content', status: [200], }); interface ListFiles { /** * Get all file ID's in the given folder * Retrieve meta-information about all accessible Files and folders in a specified folder. * * @param bucket The bucket name * @param path The folder to list * @param start The file/folder name from where to start listing * @param count The upper limit to return, -1 is equal to the upper limit of 1000 * @param deep If true, files of subdirectories are returned as well */ new(bucket: string, path?: string, start?: string, count?: number, deep?: boolean): Message; } export const ListFiles = Message.create<ListFiles>({ method: 'GET', path: '/file/:bucket/ids?path=/&start=&count=-1&deep=false', status: [200], }); interface ListBuckets { /** * Get all buckets * Gets all buckets. */ new(): Message; } export const ListBuckets = Message.create<ListBuckets>({ method: 'GET', path: '/file/buckets', status: [200], }); interface DownloadArchive { /** * Download a bucket archive * Downloads an archive containing the bucket contents. * * @param archive The archive file name */ new(archive: string): Message; } export const DownloadArchive = Message.create<DownloadArchive>({ method: 'GET', path: '/file', status: [200], }); interface UploadPatchArchive { /** * Upload a patch bucket archive * Uploads an archive; files contained within that archive will be replaced within the bucket. * * @param archive The archive file name * @param body The massage Content */ new(archive: string, body?: string): Message; } export const UploadPatchArchive = Message.create<UploadPatchArchive>({ method: 'POST', path: '/file', status: [200], }); interface GetFileBucketMetadata { /** * Retrieve the bucket Metadata * The bucket metadata object contains the bucketAcl. * * @param bucket The bucket name */ new(bucket: string): Message; } export const GetFileBucketMetadata = Message.create<GetFileBucketMetadata>({ method: 'GET', path: '/file/:bucket', status: [200], }); interface SetFileBucketMetadata { /** * Set the Bucket Metadata * Creates or replaces the bucket Metadata to control permission access to all included Files. * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const SetFileBucketMetadata = Message.create<SetFileBucketMetadata>({ method: 'PUT', path: '/file/:bucket', status: [204], }); interface DeleteFileBucket { /** * Delete all files of a file Bucket * Deletes the bucket and all its content. * * @param bucket The bucket name */ new(bucket: string): Message; } export const DeleteFileBucket = Message.create<DeleteFileBucket>({ method: 'DELETE', path: '/file/:bucket', status: [204], }); interface CreateFile { /** * Creates a new file with a random UUID * Creates a file with a random ID, only Insert permissions are required. * * @param bucket The bucket name */ new(bucket: string): Message; } export const CreateFile = Message.create<CreateFile>({ method: 'POST', path: '/file/:bucket', status: [200], }); interface DownloadFile { /** * Download a file * Downloads a file by its ID. * * @param bucket The bucket name * @param oid The unique object identifier */ new(bucket: string, oid: string): Message; } export const DownloadFile = Message.create<DownloadFile>({ method: 'GET', path: '/file/:bucket/*oid', status: [200, 304], }); interface UploadFile { /** * Upload a new file * Uploads and replace an existing file with a new one. * The If-Match or If-Unmodified-Since header can be used to make a conditional update * * @param bucket The bucket name * @param oid The unique file identifier */ new(bucket: string, oid: string): Message; } export const UploadFile = Message.create<UploadFile>({ method: 'PUT', path: '/file/:bucket/*oid', status: [200], }); interface GetFileMetadata { /** * Get the file metadata * Gets the file Acl and metadata. * * @param bucket The bucket name * @param oid The unique object identifier */ new(bucket: string, oid: string): Message; } export const GetFileMetadata = Message.create<GetFileMetadata>({ method: 'HEAD', path: '/file/:bucket/*oid', status: [200], }); interface UpdateFileMetadata { /** * Update File Metadata * Updates the file Metadata. * * @param bucket The bucket name * @param oid The unique object identifier * @param body The massage Content */ new(bucket: string, oid: string, body?: json): Message; } export const UpdateFileMetadata = Message.create<UpdateFileMetadata>({ method: 'POST', path: '/file/:bucket/*oid', status: [200], }); interface DeleteFile { /** * Delete a file * Deletes a file or a folder with all its contents. * The If-Match or If-Unmodified-Since header can be used to make a conditional deletion * * @param bucket The bucket name * @param oid The unique file identifier */ new(bucket: string, oid: string): Message; } export const DeleteFile = Message.create<DeleteFile>({ method: 'DELETE', path: '/file/:bucket/*oid', status: [200, 204], }); interface CreateManifest { /** * Creates the manifest * Creates the manifest with the given data * * @param body The massage Content */ new(body?: json): Message; } export const CreateManifest = Message.create<CreateManifest>({ method: 'POST', path: '/pwa/manifest', status: [202], }); interface DownloadAsset { /** * Downloads (and clones) an external asset * Downloads an external file. * * @param url The url of the external asset to download */ new(url: string): Message; } export const DownloadAsset = Message.create<DownloadAsset>({ method: 'GET', path: '/asset/*url', status: [200, 304], }); interface RevalidateAssets { /** * Checks and purges assets * Checks and purges assets for the SpeedKit. * * @param body The massage Content */ new(body?: json): Message; } export const RevalidateAssets = Message.create<RevalidateAssets>({ method: 'POST', path: '/asset/revalidate', status: [202], }); interface EditRevalidationJob { /** * Changes the status * Change the status of the given revalidation job * * @param id The status id * @param body The massage Content */ new(id: string, body?: json): Message; } export const EditRevalidationJob = Message.create<EditRevalidationJob>({ method: 'POST', path: '/asset/revalidate/:id', status: [204], }); interface GetRevalidationStatus { /** * Gets the status * Get the current status of the revalidation * * @param id The status id */ new(id: string): Message; } export const GetRevalidationStatus = Message.create<GetRevalidationStatus>({ method: 'GET', path: '/asset/revalidate/:id', status: [200, 202], }); interface CancelRevalidation { /** * Cancel the revalidation * Cancel the revalidation for the given ID * * @param id The revalidation id */ new(id: string): Message; } export const CancelRevalidation = Message.create<CancelRevalidation>({ method: 'DELETE', path: '/asset/revalidate/:id', status: [202], }); interface GetAllRevalidationStatus { /** * Gets all status * Get all revalidation status * * @param state Filter status by its state */ new(state?: string): Message; } export const GetAllRevalidationStatus = Message.create<GetAllRevalidationStatus>({ method: 'GET', path: '/asset/revalidate?state=', status: [200], }); interface CleanUpAssets { /** * Checks for expired assets * Purges assets, which has been expired. * * @param body The massage Content */ new(body?: string): Message; } export const CleanUpAssets = Message.create<CleanUpAssets>({ method: 'POST', path: '/asset/cleanup', status: [202], }); interface CleanUpStorage { /** * Check for missing DB entries * Deletes assets without a DB entry from storage. */ new(): Message; } export const CleanUpStorage = Message.create<CleanUpStorage>({ method: 'POST', path: '/asset/cleanup/storage', status: [202], }); interface ListIndexes { /** * List bucket indexes * List all indexes of the given bucket * * @param bucket The bucket name */ new(bucket: string): Message; } export const ListIndexes = Message.create<ListIndexes>({ method: 'GET', path: '/index/:bucket', status: [200], }); interface CreateDropIndex { /** * Create or drop bucket index * Create or drop a index for the given bucket * * @param bucket The bucket name * @param body The massage Content */ new(bucket: string, body?: json): Message; } export const CreateDropIndex = Message.create<CreateDropIndex>({ method: 'POST', path: '/index/:bucket', status: [202], }); interface DropAllIndexes { /** * Drop all indexes * Drop all indexes on the given bucket * * @param bucket The bucket name */ new(bucket: string): Message; } export const DropAllIndexes = Message.create<DropAllIndexes>({ method: 'DELETE', path: '/index/:bucket', status: [202], }); interface DeviceRegister { /** * Method to register a new device * Registers a new devices * * @param body The massage Content */ new(body?: json): Message; } export const DeviceRegister = Message.create<DeviceRegister>({ method: 'POST', path: '/db/Device/register', status: [200], }); interface DevicePush { /** * Method to push a message to devices * Pushes a message to devices * * @param body The massage Content */ new(body?: json): Message; } export const DevicePush = Message.create<DevicePush>({ method: 'POST', path: '/db/Device/push', status: [204], }); interface DeviceRegistered { /** * Check if device is registered * Checks if the device is already registered */ new(): Message; } export const DeviceRegistered = Message.create<DeviceRegistered>({ method: 'GET', path: '/db/Device/registered', status: [200], }); interface VAPIDKeys { /** * Generate VAPID Keys * Generate VAPID Keys for web push */ new(): Message; } export const VAPIDKeys = Message.create<VAPIDKeys>({ method: 'POST', path: '/config/VAPIDKeys', status: [200], }); interface VAPIDPublicKey { /** * Get VAPID Public Key * Get VAPID Public Key for web push */ new(): Message; } export const VAPIDPublicKey = Message.create<VAPIDPublicKey>({ method: 'GET', path: '/config/VAPIDPublicKey', status: [200], }); interface GCMAKey { /** * Set GCM-API-Key * Sets the GCM/FCM API-Key for Android Push * * @param body The massage Content */ new(body?: string): Message; } export const GCMAKey = Message.create<GCMAKey>({ method: 'POST', path: '/config/GCMKey', status: [204], }); interface UploadAPNSCertificate { /** * Upload APNS certificate * Upload APNS certificate for IOS Push */ new(): Message; } export const UploadAPNSCertificate = Message.create<UploadAPNSCertificate>({ method: 'POST', path: '/config/APNSCert', status: [204], }); interface ConfigAPI { /** * Installation Project * ##GetInstallationByDomainAndConfigVersion : Returns the complete Installation Object as it would do via the CRUD API * * @param domain domain to be searched * @param configVersion configVersion to be searched */ new(domain: string, configVersion: string): Message; } export const ConfigAPI = Message.create<ConfigAPI>({ method: 'GET', path: '/speedkit/installation/:domain/:configVersion', status: [200], }); interface GetInstallationById { /** * Returns the complete Installation Object which had the given Id as it would do via the CRUD API * * @param id id to be searched */ new(id: string): Message; } export const GetInstallationById = Message.create<GetInstallationById>({ method: 'GET', path: '/speedkit/installation/:id', status: [200], }); interface CreateNewInstallation { /** * Creates Installation object properties and returns the updated version * * @param domain domain to be used to create new installation * @param body The massage Content */ new(domain: string, body?: json): Message; } export const CreateNewInstallation = Message.create<CreateNewInstallation>({ method: 'POST', path: '/speedkit/installation/:domain', status: [200], }); interface UpdateInstallationByDomainAndConfigVersion { /** * Updates an existing installtion version * * @param domain domain to be searched * @param configVersion configVersion to be searched * @param body The massage Content */ new(domain: string, configVersion: string, body?: json): Message; } export const UpdateInstallationByDomainAndConfigVersion = Message.create<UpdateInstallationByDomainAndConfigVersion>({ method: 'PUT', path: '/speedkit/installation/:domain/:configVersion', status: [200], }); interface UpdateInstallationById { /** * Updates an existing installtion version * * @param id id to be searched * @param body The massage Content */ new(id: string, body?: json): Message; } export const UpdateInstallationById = Message.create<UpdateInstallationById>({ method: 'PUT', path: '/speedkit/installation/:id', status: [200], }); interface CloneInstallationByDomainAndConfigVersion { /** * Clone existing installation, update it and return the cloned version with the updated properties * * @param domain domain * @param configVersion configVersion the configuration version */ new(domain: string, configVersion: string): Message; } export const CloneInstallationByDomainAndConfigVersion = Message.create<CloneInstallationByDomainAndConfigVersion>({ method: 'POST', path: '/speedkit/installation/:domain/:configVersion/clone', status: [200], }); interface CloneInstallationById { /** * Clone existing installation, update it and return the cloned version with the updated properties * * @param id id to be searched */ new(id: string): Message; } export const CloneInstallationById = Message.create<CloneInstallationById>({ method: 'POST', path: '/speedkit/installation/:id/clone', status: [200], }); interface ActivateInstallationByDomainAndConfigVersion { /** * Activate a selected speedKit install configuration version by selecting the current active version of the same domain * * @param domain domain to be activated * @param configVersion configVersion to be activated (current active version of the same domain) * @param testing for switch between testing and active installation status */ new(domain: string, configVersion: string, testing?: string): Message; } export const ActivateInstallationByDomainAndConfigVersion = Message.create<ActivateInstallationByDomainAndConfigVersion>({ method: 'POST', path: '/speedkit/installation/:domain/:configVersion/activate?testing=', status: [200], }); interface ActivateInstallationById { /** * Activate a selected speedKit install configuration version by selecting the current active version of the same domain * * @param id Id of a Speed Kit Installation to be activated * @param testing for switch between testing and active installation status */ new(id: string, testing?: string): Message; } export const ActivateInstallationById = Message.create<ActivateInstallationById>({ method: 'POST', path: '/speedkit/installation/:id/activate?testing=', status: [200], }); interface FindSpecificInstallation { /** * Search for a specific installation * * @param domain domain to be used to filter * @param status status to be used to filter * @param start start the amount of configs to skip * @param count count the amount of configs to return */ new(domain?: string, status?: string, start?: number, count?: number): Message; } export const FindSpecificInstallation = Message.create<FindSpecificInstallation>({ method: 'GET', path: '/speedkit/installation?domain=&status=&start=0&count=-1', status: [200], }); interface GetAllDomains { /** * Queries the Database for all configured domains */ new(): Message; } export const GetAllDomains = Message.create<GetAllDomains>({ method: 'GET', path: '/speedkit/installation/domain', status: [200], }); interface DeactivateTestingInstallationById { /** * Deactivate a selected SpeedKit intallation * * @param id Id of a Speed Kit Installation to be deactivated * @param force set to 'true' to deactivate an ACTIVE installation (admin only) */ new(id: string, force?: string): Message; } export const DeactivateTestingInstallationById = Message.create<DeactivateTestingInstallationById>({ method: 'PUT', path: '/speedkit/installation/:id/deactivate?force=', status: [200], }); interface Mail { /** * Endpoint to send e-mails * Send an e-mail with the data given from the object * * @param body The massage Content */ new(body?: json): Message; } export const Mail = Message.create<Mail>({ method: 'POST', path: '/mail', status: [200], }); interface Ready { /** * Readiness */ new(): Message; } export const Ready = Message.create<Ready>({ method: 'GET', path: '/-/ready', status: [200], }); interface Live { /** * Liveness */ new(): Message; } export const Live = Message.create<Live>({ method: 'GET', path: '/-/live', status: [200], }); interface Startup { /** * Startup */ new(): Message; } export const Startup = Message.create<Startup>({ method: 'GET', path: '/-/startup', status: [200], });