README.md 2.14 KB
Newer Older
Moises Sacal's avatar
Moises Sacal committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
## A Sails Hook Redbox Template

In this example template you will find the barebones requirements for a Hook

This Project is divided between folders

## api

Main API of your Hook can be stored in controllers and services

- controllers
- services
  
## config & form-config

This configurations are redbox-portal dependent. They will allow redbox to be available as a record
If you require to have a form in your portal

- `config/recordtype`
- `config/workflow`
- `form-config/template-1.0-draft`

## index

Main entry point for the hook

### initialize

Init code before it gets hooked. 

### routes

Controller routes exposed to the sails front-end

```javascript
'get /your/route' : YourController.method
```

### configure

Add configuration and services to your sails app

```javascript
sails.services['YourService'] = function() { };
sails.config = _.merge(sails.config, {object});
```

## test

First run `npm install`

Test your sails hook with mocha by running `npm test` before adding the hook to your redbox-portal. 
It may cause your application to not lift.    

```sh
$ npm test

Moises Sacal's avatar
Moises Sacal committed
58
> @uts-eresearch/sails-hook-redbox-template@1.0.0 test /Users/moises/source/code.research/sails-hook-redbox-template
Moises Sacal's avatar
Moises Sacal committed
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
> NODE_ENV=test node_modules/.bin/mocha



  Basic tests ::
    ✓ should have a service
    ✓ should have a form
    ✓ should have a route
    ✓ sails does not crash


  4 passing (864ms)

```

For more information on testing your hook go to : https://sailsjs.com/documentation/concepts/testing
Moises Sacal's avatar
Moises Sacal committed
75
76
77
78


## Development in redbox-portal

Andrew Brazzatti's avatar
Andrew Brazzatti committed
79
A docker-compose.yml file is present in support/development and is setup to run the full ReDBox stack and install the hook. To run the stack there is a ReDBox Sails Hook Run Utility in the root of the project
Moises Sacal's avatar
Moises Sacal committed
80

Andrew Brazzatti's avatar
Andrew Brazzatti committed
81
Usage
Moises Sacal's avatar
Moises Sacal committed
82
```
Andrew Brazzatti's avatar
Andrew Brazzatti committed
83
84
85
86
ReDBox Sails Hook Run Utility
Usage: ./runForDev.sh [-a|--(no-)angular] [-h|--help]
	-a,--angular,--no-angular: Angular mode. Will ensure permissions are set correctly on the Sails working directory so that changes can be applied (off by default)
	-h,--help: Prints help
Moises Sacal's avatar
Moises Sacal committed
87
88
```

89
Note: The first time the stack runs it may take some time as yarn initialises the hook within ReDBox Portal. All subsequent runs should be faster
Moises Sacal's avatar
Moises Sacal committed
90