-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: request data from generated files correctly
- Loading branch information
Showing
49 changed files
with
21,443 additions
and
2,543 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
dist | ||
lib/nile/src/generated | ||
lib/nile/src/generated | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,28 @@ | ||
{ | ||
"extends": ["prettier", "plugin:@typescript-eslint/recommended"], | ||
"parser": "@typescript-eslint/parser", | ||
"plugins": [ | ||
"react-hooks", | ||
"@typescript-eslint" | ||
], | ||
"extends": [ | ||
"eslint:recommended", | ||
"prettier", | ||
"plugin:@typescript-eslint/recommended", | ||
"plugin:react-hooks/recommended" | ||
], | ||
"env": { | ||
"browser": true, | ||
"node": true | ||
}, | ||
"rules": { | ||
"quotes": ["error", "single", { "avoidEscape": true }] | ||
"quotes": [ | ||
"error", | ||
"single", | ||
{ | ||
"avoidEscape": true | ||
} | ||
], | ||
"react-hooks/rules-of-hooks": "error", | ||
"react-hooks/exhaustive-deps": "error" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import NileApi from './NileApi'; | ||
/** | ||
* the below files need generated with `yarn build:exp` | ||
*/ | ||
import { createConfiguration, ConfigurationParameters } from './generated/openapi/configuration'; | ||
import { ServerConfiguration } from './generated/openapi/servers'; | ||
|
||
|
||
import { DefaultApiRequestFactory, DefaultApiResponseProcessor } from './generated/openapi/apis/DefaultApi'; | ||
|
||
function ApiImpl(config?: ConfigurationParameters & { apiUrl: string }): NileApi { | ||
const server = new ServerConfiguration<{ [key: string]: string }>(config?.apiUrl ?? '/', {}) | ||
const _config = { | ||
baseServer: server, | ||
...config, | ||
}; | ||
const cfg = createConfiguration(_config); | ||
const nileService = new DefaultApiRequestFactory(cfg); | ||
const nileProcessor = new DefaultApiResponseProcessor(); | ||
const nile = new NileApi(cfg, nileService, nileProcessor); | ||
return nile | ||
} | ||
export default ApiImpl; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
import { Configuration } from './generated/openapi/configuration'; | ||
import { AcceptedInvite } from './generated/openapi/models/AcceptedInvite'; | ||
import { CreateOrganizationRequest } from './generated/openapi/models/CreateOrganizationRequest'; | ||
import { CreateUserRequest } from './generated/openapi/models/CreateUserRequest'; | ||
import { InlineResponse200 } from './generated/openapi/models/InlineResponse200'; | ||
import { Invite } from './generated/openapi/models/Invite'; | ||
import { LoginInfo } from './generated/openapi/models/LoginInfo'; | ||
import { Organization } from './generated/openapi/models/Organization'; | ||
import { PatchOrganizationRequest } from './generated/openapi/models/PatchOrganizationRequest'; | ||
import { PatchUserRequest } from './generated/openapi/models/PatchUserRequest'; | ||
import { User } from './generated/openapi/models/User'; | ||
import { PromiseDefaultApi } from './generated/openapi/types/PromiseAPI'; | ||
import { ObservableDefaultApi } from './generated/openapi/types/ObservableAPI'; | ||
import { DefaultApiRequestFactory, DefaultApiResponseProcessor } from './generated/openapi/apis/DefaultApi'; | ||
import { RequestContext } from './generated/openapi/http/http'; | ||
|
||
import { AuthMethods } from './generated/openapi/auth/auth'; | ||
export default class NileApi extends PromiseDefaultApi implements PromiseDefaultApi { | ||
private _api: ObservableDefaultApi | ||
private _config: Configuration; | ||
authToken: string | ||
public constructor( | ||
configuration: Configuration, | ||
requestFactory?: DefaultApiRequestFactory, | ||
responseProcessor?: DefaultApiResponseProcessor | ||
) { | ||
super(configuration, requestFactory, responseProcessor); | ||
this._api = new ObservableDefaultApi(configuration, requestFactory, responseProcessor); | ||
this._config = configuration; | ||
this.authToken = ''; | ||
} | ||
private applyOptions(_options?: Configuration) { | ||
const authentication: AuthMethods = { | ||
default: { | ||
getName: (): string => 'Bearer Authentication', | ||
applySecurityAuthentication: (requestContext: RequestContext): void => { | ||
requestContext.setHeaderParam('Authorization', `Bearer ${this.authToken}`); | ||
} | ||
} | ||
} | ||
return { ..._options, ...this._config, authMethods: authentication } | ||
} | ||
/** | ||
* Accept an invite. | ||
* @param code Invite code. | ||
*/ | ||
public acceptInvite(code: number, _options?: Configuration): Promise<void> { | ||
const result = this._api.acceptInvite(code, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Create a new Organization. | ||
* @param createOrganizationRequest | ||
*/ | ||
public createOrganization(createOrganizationRequest: CreateOrganizationRequest, _options?: Configuration): Promise<void> { | ||
const result = this._api.createOrganization(createOrganizationRequest, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Create a new User. | ||
* @param createUserRequest | ||
*/ | ||
public createUser(createUserRequest: CreateUserRequest, _options?: Configuration): Promise<void> { | ||
const result = this._api.createUser(createUserRequest, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Delete this Organization. | ||
* @param id Unique identifier. | ||
*/ | ||
public deleteOrganization(id: number, _options?: Configuration): Promise<void> { | ||
const result = this._api.deleteOrganization(id, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Delete this User. | ||
* @param id Unique identifier. | ||
*/ | ||
public deleteUser(id: number, _options?: Configuration): Promise<void> { | ||
const result = this._api.deleteUser(id, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Get an accepted invite. | ||
* @param id Unique identifier. | ||
*/ | ||
public getAcceptedInvite(id: number, _options?: Configuration): Promise<AcceptedInvite> { | ||
const result = this._api.getAcceptedInvite(id, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Get an invite. | ||
* @param code Invite code. | ||
*/ | ||
public getInvite(code: number, _options?: Configuration): Promise<Invite> { | ||
const result = this._api.getInvite(code, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Get information for this Organization. | ||
* @param id Unique identifier. | ||
*/ | ||
public getOrganization(id: number, _options?: Configuration): Promise<Organization> { | ||
const result = this._api.getOrganization(id, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Get information for this User. | ||
* @param id Unique identifier. | ||
*/ | ||
public getUser(id: number, _options?: Configuration): Promise<User> { | ||
const result = this._api.getUser(id, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* List all accepted invites. | ||
*/ | ||
public listAcceptedInvites(_options?: Configuration): Promise<AcceptedInvite[]> { | ||
const result = this._api.listAcceptedInvites(this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* List all Invites. | ||
* @param orgId Org ID. | ||
*/ | ||
|
||
public listInvites(orgId?: number, _options?: Configuration): Promise<Invite[]> { | ||
const result = this._api.listInvites(orgId, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* List all Organizations. | ||
*/ | ||
public listOrganizations(_options?: Configuration): Promise<Organization[]> { | ||
const result = this._api.listOrganizations(this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* List all Users. | ||
* @param orgId Org ID. | ||
* @param email User email. | ||
*/ | ||
public listUsers(orgId?: number, email?: string, _options?: Configuration): Promise<void | User[]> { | ||
const result = this._api.listUsers(orgId, email, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Log in to service | ||
* Saves an auth token for later calls | ||
* @param loginInfo | ||
*/ | ||
public async login(loginInfo: LoginInfo, _options?: Configuration): Promise<InlineResponse200> { | ||
const result = this._api.login(loginInfo, this.applyOptions(_options)); | ||
const res = await result.toPromise(); | ||
const { token } = ((res as unknown) as { token: string }) ?? {}; | ||
if (token) { | ||
this.authToken = token; | ||
} | ||
return res; | ||
} | ||
/** | ||
* Update this Organization. | ||
* @param id Unique identifier. | ||
* @param patchOrganizationRequest | ||
*/ | ||
public updateOrganization(id: number, patchOrganizationRequest: PatchOrganizationRequest, _options?: Configuration): Promise<Organization> { | ||
const result = this._api.updateOrganization(id, patchOrganizationRequest, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
/** | ||
* Update this User. | ||
* @param id Unique identifier. | ||
* @param patchUserRequest | ||
*/ | ||
public updateUser(id: number, patchUserRequest: PatchUserRequest, _options?: Configuration): Promise<User> { | ||
const result = this._api.updateUser(id, patchUserRequest, this.applyOptions(_options)); | ||
return result.toPromise(); | ||
} | ||
|
||
} |
Oops, something went wrong.