# `@rocketmakers/orbit-template-http-repository`

## Repository classes needed to interact with a git(lab/hub) repository containing orbit notification templates

We have setup an [example repo](https://gitlab.com/rocketmakers/spike-template-source) to serve as a demonstration and for testing purposes.

### Implementation

When using `@rocketmakers/orbit-template-http-repository` there are two options to register service classes with your ioc framework.

Option #1:

If you only want to register individual classes as needed, you can bootstrap repositories as you would with any other class.

Option #2:

You can bootstrap template http repository classes using the exposed `registerTemplateRepositoryIoC()` function by following the steps below.

```typescript
// Register core types and services from @rocketmakers/orbit-core
registerCoreIoC();

// Register types and repository classes from @rocketmakers/orbit-template-http-repository
registerTemplateRepositoryIoC({ rootUrl, serviceName });
```

_N.B. the format for the provided `rootUrl` should be `https://<remote-repo-provider>.com/<organisation>/<project>/raw/<branch-name>`. For example: `https://gitlab.com/rocketmakers/spike-template-source/raw/master`_

### Docs

Hosted docs covering types, interfaces and all repository class/method signatures within this package can be found using the link below:

[Documentation](https://rocketmakers.gitlab.io/microservices/orbit-packages/docs/modules/orbit_template_http_repository.html)

### Source code

Source code for this package can be found using the link below:

[Source code](https://gitlab.com/rocketmakers/core/orbit/-/tree/develop/packages/template/orbit-template-http-repoository)

Contributing docs can be found in the [README.md](https://gitlab.com/rocketmakers/core/orbit/-/blob/develop/README.md)
