nestjs-confluence
v1.0.7
Published
Nestjs Confluence api v2 module
Maintainers
Readme
nestjs-confluence
Info
This project was generated from the OpenAPI file at https://developer.atlassian.com/cloud/confluence/rest/v2/intro/#about
Building
To install the required dependencies and to build the typescript sources run:
npm install
npm run buildGeneral usage
In your Nestjs project:
// without configuring providers
import { ConfluenceApiModule } from "nestjs-confluence";
import { HttpModule } from "@nestjs/axios";
@Module({
imports: [ConfluenceApiModule, HttpModule],
providers: [],
})
export class AppModule {}// configuring providers
import { ConfluenceApiModule, Configuration, ConfigurationParameters } from '';
export function apiConfigFactory (): Configuration => {
const params: ConfigurationParameters = {
// set configuration parameters here.
}
return new Configuration(params);
}
@Module({
imports: [ ConfluenceApiModule.forRoot(apiConfigFactory) ],
declarations: [ AppComponent ],
providers: [],
bootstrap: [ AppComponent ]
})
export class AppModule {}import { DefaultApi } from "";
export class AppComponent {
constructor(private apiGateway: DefaultApi) {}
}Note: The ConfluenceApiModule a dynamic module and instantiated once app wide. This is to ensure that all services are treated as singletons.
Using multiple swagger files / APIs / ConfluenceApiModules
In order to use multiple ConfluenceApiModules generated from different swagger files,
you can create an alias name when importing the modules
in order to avoid naming conflicts:
import { ConfluenceApiModule } from "nestjs-confluence";
import { ConfluenceApiModule as OtherConfluenceApiModule } from "nestjs-confluence";
import { HttpModule } from "@nestjs/axios";
@Module({
imports: [ConfluenceApiModule, OtherConfluenceApiModule, HttpModule],
})
export class AppModule {}Set service base path
If different than the generated base path, during app bootstrap, you can provide the base path to your service.
import { BASE_PATH } from "";
bootstrap(AppComponent, [
{ provide: BASE_PATH, useValue: "https://your-web-service.com" },
]);or
import { BASE_PATH } from '';
@Module({
imports: [],
declarations: [ AppComponent ],
providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ],
bootstrap: [ AppComponent ]
})
export class AppModule {}Configuring the module with forRootAsync
You can also use the Nestjs Config Module/Service to configure your app with forRootAsync.
@Module({
imports: [
ConfluenceApiModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService): Configuration => {
const params: ConfigurationParameters = {
// set configuration parameters here.
basePath: config.get("API_URL"),
};
return new Configuration(params);
},
}),
],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}Using @nestjs/cli
First extend your src/environments/*.ts files by adding the corresponding base path:
export const environment = {
production: false,
API_BASE_PATH: "http://127.0.0.1:8080",
};In the src/app/app.module.ts:
import { BASE_PATH } from "";
import { environment } from "../environments/environment";
@Module({
declarations: [AppComponent],
imports: [],
providers: [
{
provide: "BASE_PATH",
useValue: environment.API_BASE_PATH,
},
],
})
export class AppModule {}Service
| Service Name | Description (API Reference) | |-----------------------------|--------------------------------------------------------------------------------------------| | AdminKeyService | Admin Key API | | AncestorsService | Ancestors API | | AttachmentService | Attachment API | | BlogPostService | Blog Post API | | ChildrenService | Children API | | ClassificationLevelService | Classification Level API | | CommentService | Comment API | | ContentService | Content API | | ContentPropertiesService| Content Properties API | | CustomContentService | Custom Content API | | DataPoliciesService | Data Policies API | | DatabaseService | Database API | | DescendantsService | Descendants API | | EAPService | EAP API | | FolderService | Folder API | | LabelService | Label API | | LikeService | Like API | | OperationService | Operation API | | PageService | Page API | | RedactionsService | Redactions API | | SmartLinkService | Smart Link API | | SpaceService | Space API | | SpacePermissionsService | Space Permissions API | | SpacePropertiesService | Space Properties API | | SpaceRolesService | Space Roles API | | TaskService | Task API | | UserService | User API | | VersionService | Version API | | WhiteboardService | Whiteboard API |
