@tappify/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -0
- package/bin/tappify +17 -0
- package/dist/commitlint.config.d.ts +8 -0
- package/dist/commitlint.config.js +29 -0
- package/dist/commitlint.config.js.map +1 -0
- package/dist/src/app.module.d.ts +2 -0
- package/dist/src/app.module.js +29 -0
- package/dist/src/app.module.js.map +1 -0
- package/dist/src/core/api/api.service.d.ts +11 -0
- package/dist/src/core/api/api.service.js +82 -0
- package/dist/src/core/api/api.service.js.map +1 -0
- package/dist/src/core/auth/auth.service.d.ts +30 -0
- package/dist/src/core/auth/auth.service.js +84 -0
- package/dist/src/core/auth/auth.service.js.map +1 -0
- package/dist/src/core/config/config.service.d.ts +16 -0
- package/dist/src/core/config/config.service.js +49 -0
- package/dist/src/core/config/config.service.js.map +1 -0
- package/dist/src/core/core.module.d.ts +2 -0
- package/dist/src/core/core.module.js +24 -0
- package/dist/src/core/core.module.js.map +1 -0
- package/dist/src/core/index.d.ts +4 -0
- package/dist/src/core/index.js +21 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/domains/auth/auth.module.d.ts +2 -0
- package/dist/src/domains/auth/auth.module.js +21 -0
- package/dist/src/domains/auth/auth.module.js.map +1 -0
- package/dist/src/domains/auth/index.d.ts +2 -0
- package/dist/src/domains/auth/index.js +19 -0
- package/dist/src/domains/auth/index.js.map +1 -0
- package/dist/src/domains/auth/runners/index.d.ts +2 -0
- package/dist/src/domains/auth/runners/index.js +19 -0
- package/dist/src/domains/auth/runners/index.js.map +1 -0
- package/dist/src/domains/auth/runners/login.runner.d.ts +9 -0
- package/dist/src/domains/auth/runners/login.runner.js +66 -0
- package/dist/src/domains/auth/runners/login.runner.js.map +1 -0
- package/dist/src/domains/auth/runners/logout.runner.d.ts +7 -0
- package/dist/src/domains/auth/runners/logout.runner.js +35 -0
- package/dist/src/domains/auth/runners/logout.runner.js.map +1 -0
- package/dist/src/domains/deploy/deploy.module.d.ts +2 -0
- package/dist/src/domains/deploy/deploy.module.js +20 -0
- package/dist/src/domains/deploy/deploy.module.js.map +1 -0
- package/dist/src/domains/deploy/index.d.ts +2 -0
- package/dist/src/domains/deploy/index.js +19 -0
- package/dist/src/domains/deploy/index.js.map +1 -0
- package/dist/src/domains/deploy/runners/deploy.runner.d.ts +10 -0
- package/dist/src/domains/deploy/runners/deploy.runner.js +132 -0
- package/dist/src/domains/deploy/runners/deploy.runner.js.map +1 -0
- package/dist/src/domains/deploy/runners/index.d.ts +1 -0
- package/dist/src/domains/deploy/runners/index.js +18 -0
- package/dist/src/domains/deploy/runners/index.js.map +1 -0
- package/dist/src/domains/deployments/deployments.module.d.ts +2 -0
- package/dist/src/domains/deployments/deployments.module.js +20 -0
- package/dist/src/domains/deployments/deployments.module.js.map +1 -0
- package/dist/src/domains/deployments/index.d.ts +1 -0
- package/dist/src/domains/deployments/index.js +18 -0
- package/dist/src/domains/deployments/index.js.map +1 -0
- package/dist/src/domains/deployments/runners/create-deployment.runner.d.ts +14 -0
- package/dist/src/domains/deployments/runners/create-deployment.runner.js +79 -0
- package/dist/src/domains/deployments/runners/create-deployment.runner.js.map +1 -0
- package/dist/src/domains/deployments/runners/index.d.ts +1 -0
- package/dist/src/domains/deployments/runners/index.js +18 -0
- package/dist/src/domains/deployments/runners/index.js.map +1 -0
- package/dist/src/domains/index.d.ts +4 -0
- package/dist/src/domains/index.js +21 -0
- package/dist/src/domains/index.js.map +1 -0
- package/dist/src/domains/init/index.d.ts +2 -0
- package/dist/src/domains/init/index.js +19 -0
- package/dist/src/domains/init/index.js.map +1 -0
- package/dist/src/domains/init/init.module.d.ts +2 -0
- package/dist/src/domains/init/init.module.js +20 -0
- package/dist/src/domains/init/init.module.js.map +1 -0
- package/dist/src/domains/init/runners/index.d.ts +1 -0
- package/dist/src/domains/init/runners/index.js +18 -0
- package/dist/src/domains/init/runners/index.js.map +1 -0
- package/dist/src/domains/init/runners/init.runner.d.ts +4 -0
- package/dist/src/domains/init/runners/init.runner.js +93 -0
- package/dist/src/domains/init/runners/init.runner.js.map +1 -0
- package/dist/src/main.d.ts +1 -0
- package/dist/src/main.js +14 -0
- package/dist/src/main.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +212 -0
package/README.md
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Tap CLI
|
|
2
|
+
|
|
3
|
+
A command line interface for managing deployments and more, built with NestJS Commander.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Homebrew (macOS/Linux)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
brew tap tappify-dev/homebrew-tap
|
|
11
|
+
brew install tappify
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Or install directly from the formula:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
brew install --build-from-source ./homebrew/tap.rb
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### NPM (Alternative)
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @tappify/cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### From Source
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
git clone https://github.com/tappify-dev/cli.git
|
|
30
|
+
cd tap/cli
|
|
31
|
+
pnpm install
|
|
32
|
+
pnpm build
|
|
33
|
+
npm link
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Show available commands
|
|
40
|
+
tap --help
|
|
41
|
+
|
|
42
|
+
# Create a deployment
|
|
43
|
+
tap create-deployment <project-id> --environment production --branch main
|
|
44
|
+
|
|
45
|
+
# Create a deployment (dry run)
|
|
46
|
+
tap create-deployment <project-id> --environment staging --dry-run
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Commands
|
|
50
|
+
|
|
51
|
+
### `create-deployment`
|
|
52
|
+
|
|
53
|
+
Create a new deployment for a project.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
tap create-deployment <project-id> [options]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Arguments:**
|
|
60
|
+
|
|
61
|
+
- `project-id`: The ID of the project to deploy
|
|
62
|
+
|
|
63
|
+
**Options:**
|
|
64
|
+
|
|
65
|
+
- `-e, --environment <environment>`: Target environment (e.g., production, staging)
|
|
66
|
+
- `-b, --branch <branch>`: Git branch to deploy
|
|
67
|
+
- `-d, --dry-run`: Run without making actual changes
|
|
68
|
+
|
|
69
|
+
## Development
|
|
70
|
+
|
|
71
|
+
### Setup
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pnpm install
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Run in Development Mode
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pnpm start:dev
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Build
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pnpm build
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Testing
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Unit tests
|
|
93
|
+
pnpm test
|
|
94
|
+
|
|
95
|
+
# Test coverage
|
|
96
|
+
pnpm test
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Linting and Formatting
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Lint code
|
|
103
|
+
pnpm lint
|
|
104
|
+
|
|
105
|
+
# Format code
|
|
106
|
+
pnpm format
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Committing
|
|
110
|
+
|
|
111
|
+
This project uses Commitizen and Commitlint for conventional commits:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Use commitizen to create commits
|
|
115
|
+
pnpm commit
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Project Structure
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
cli/
|
|
122
|
+
├── src/
|
|
123
|
+
│ ├── domains/ # Feature domains
|
|
124
|
+
│ │ └── deployments/ # Deployment-related commands
|
|
125
|
+
│ │ ├── runners/ # Command runners
|
|
126
|
+
│ │ └── deployments.module.ts
|
|
127
|
+
│ ├── core/ # Core utilities
|
|
128
|
+
│ ├── app.module.ts # Main application module
|
|
129
|
+
│ └── main.ts # Application entry point
|
|
130
|
+
├── scripts/ # Build scripts
|
|
131
|
+
│ └── tap # CLI wrapper script
|
|
132
|
+
├── homebrew/ # Homebrew formula and docs
|
|
133
|
+
│ ├── tap.rb # Homebrew formula
|
|
134
|
+
│ └── HOMEBREW.md # Distribution guide
|
|
135
|
+
├── test/ # Tests
|
|
136
|
+
└── package.json
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Contributing
|
|
141
|
+
|
|
142
|
+
1. Fork the repository
|
|
143
|
+
2. Create your feature branch (`git checkout -b feat/amazing-feature`)
|
|
144
|
+
3. Commit your changes using commitizen (`pnpm commit`)
|
|
145
|
+
4. Push to the branch (`git push origin feat/amazing-feature`)
|
|
146
|
+
5. Open a Pull Request
|
|
147
|
+
|
|
148
|
+
## License
|
|
149
|
+
|
|
150
|
+
MIT
|
package/bin/tappify
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { spawn } = require('child_process');
|
|
5
|
+
|
|
6
|
+
const mainPath = path.resolve(__dirname, '../dist/src/main.js');
|
|
7
|
+
const nodeArgs = [mainPath, ...process.argv.slice(2)];
|
|
8
|
+
|
|
9
|
+
const child = spawn('node', nodeArgs, {
|
|
10
|
+
stdio: 'inherit',
|
|
11
|
+
env: process.env
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
child.on('exit', (code) => {
|
|
15
|
+
process.exit(code);
|
|
16
|
+
});
|
|
17
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
extends: ['@commitlint/config-conventional'],
|
|
5
|
+
rules: {
|
|
6
|
+
'type-enum': [
|
|
7
|
+
2,
|
|
8
|
+
'always',
|
|
9
|
+
[
|
|
10
|
+
'feat',
|
|
11
|
+
'fix',
|
|
12
|
+
'docs',
|
|
13
|
+
'style',
|
|
14
|
+
'refactor',
|
|
15
|
+
'perf',
|
|
16
|
+
'test',
|
|
17
|
+
'build',
|
|
18
|
+
'ci',
|
|
19
|
+
'chore',
|
|
20
|
+
'revert',
|
|
21
|
+
'wip',
|
|
22
|
+
'cont',
|
|
23
|
+
'improve',
|
|
24
|
+
],
|
|
25
|
+
],
|
|
26
|
+
'subject-case': [0],
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=commitlint.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitlint.config.js","sourceRoot":"","sources":["../commitlint.config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,OAAO,EAAE,CAAC,iCAAiC,CAAC;IAC5C,KAAK,EAAE;QACL,WAAW,EAAE;YACX,CAAC;YACD,QAAQ;YACR;gBACE,MAAM;gBACN,KAAK;gBACL,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,IAAI;gBACJ,OAAO;gBACP,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,SAAS;aACV;SACF;QACD,cAAc,EAAE,CAAC,CAAC,CAAC;KACpB;CACF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AppModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const core_1 = require("./core");
|
|
12
|
+
const domains_1 = require("./domains");
|
|
13
|
+
let AppModule = class AppModule {
|
|
14
|
+
};
|
|
15
|
+
exports.AppModule = AppModule;
|
|
16
|
+
exports.AppModule = AppModule = __decorate([
|
|
17
|
+
(0, common_1.Module)({
|
|
18
|
+
imports: [
|
|
19
|
+
core_1.CoreModule,
|
|
20
|
+
domains_1.DeploymentsModule,
|
|
21
|
+
domains_1.AuthModule,
|
|
22
|
+
domains_1.InitModule,
|
|
23
|
+
domains_1.DeployModule,
|
|
24
|
+
],
|
|
25
|
+
controllers: [],
|
|
26
|
+
providers: [],
|
|
27
|
+
})
|
|
28
|
+
], AppModule);
|
|
29
|
+
//# sourceMappingURL=app.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iCAAoC;AACpC,uCAKmB;AAaZ,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAXrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,iBAAU;YACV,2BAAiB;YACjB,oBAAU;YACV,oBAAU;YACV,sBAAY;SACb;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;KACd,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ConfigService } from '../config/config.service.js';
|
|
2
|
+
export declare class ApiService {
|
|
3
|
+
private readonly configService;
|
|
4
|
+
private readonly logger;
|
|
5
|
+
constructor(configService: ConfigService);
|
|
6
|
+
private get baseUrl();
|
|
7
|
+
private get headers();
|
|
8
|
+
get<T = unknown>(path: string): Promise<T>;
|
|
9
|
+
post<T = unknown>(path: string, body: unknown): Promise<T>;
|
|
10
|
+
upload<T = unknown>(path: string, filePath: string): Promise<T>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
var ApiService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ApiService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
|
+
const config_service_js_1 = require("../config/config.service.js");
|
|
21
|
+
let ApiService = ApiService_1 = class ApiService {
|
|
22
|
+
configService;
|
|
23
|
+
logger = new common_1.Logger(ApiService_1.name);
|
|
24
|
+
constructor(configService) {
|
|
25
|
+
this.configService = configService;
|
|
26
|
+
}
|
|
27
|
+
get baseUrl() {
|
|
28
|
+
return (this.configService.get('apiBaseUrl') ?? 'https://api.tappify.io/api/v1');
|
|
29
|
+
}
|
|
30
|
+
get headers() {
|
|
31
|
+
const token = this.configService.get('accessToken');
|
|
32
|
+
return {
|
|
33
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async get(path) {
|
|
37
|
+
const res = await fetch(`${this.baseUrl}${path}`, {
|
|
38
|
+
method: 'GET',
|
|
39
|
+
headers: { ...this.headers, 'Content-Type': 'application/json' },
|
|
40
|
+
});
|
|
41
|
+
if (!res.ok) {
|
|
42
|
+
const text = await res.text();
|
|
43
|
+
throw new Error(`GET ${path} failed (${res.status}): ${text}`);
|
|
44
|
+
}
|
|
45
|
+
return res.json();
|
|
46
|
+
}
|
|
47
|
+
async post(path, body) {
|
|
48
|
+
const res = await fetch(`${this.baseUrl}${path}`, {
|
|
49
|
+
method: 'POST',
|
|
50
|
+
headers: { ...this.headers, 'Content-Type': 'application/json' },
|
|
51
|
+
body: JSON.stringify(body),
|
|
52
|
+
});
|
|
53
|
+
if (!res.ok) {
|
|
54
|
+
const text = await res.text();
|
|
55
|
+
throw new Error(`POST ${path} failed (${res.status}): ${text}`);
|
|
56
|
+
}
|
|
57
|
+
return (await res.json());
|
|
58
|
+
}
|
|
59
|
+
async upload(path, filePath) {
|
|
60
|
+
const form = new form_data_1.default();
|
|
61
|
+
form.append('file', (0, node_fs_1.createReadStream)(filePath));
|
|
62
|
+
const res = await fetch(`${this.baseUrl}${path}`, {
|
|
63
|
+
method: 'POST',
|
|
64
|
+
headers: {
|
|
65
|
+
...this.headers,
|
|
66
|
+
...form.getHeaders(),
|
|
67
|
+
},
|
|
68
|
+
body: form,
|
|
69
|
+
});
|
|
70
|
+
if (!res.ok) {
|
|
71
|
+
const text = await res.text();
|
|
72
|
+
throw new Error(`Upload to ${path} failed (${res.status}): ${text}`);
|
|
73
|
+
}
|
|
74
|
+
return (await res.json());
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.ApiService = ApiService;
|
|
78
|
+
exports.ApiService = ApiService = ApiService_1 = __decorate([
|
|
79
|
+
(0, common_1.Injectable)(),
|
|
80
|
+
__metadata("design:paramtypes", [config_service_js_1.ConfigService])
|
|
81
|
+
], ApiService);
|
|
82
|
+
//# sourceMappingURL=api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../../src/core/api/api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,0DAAiC;AACjC,qCAA2C;AAC3C,mEAA4D;AAGrD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGQ;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,YAAU,CAAC,IAAI,CAAC,CAAC;IAEtD,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,IAAY,OAAO;QACjB,OAAO,CACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,+BAA+B,CACxE,CAAC;IACJ,CAAC;IAED,IAAY,OAAO;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO;YACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAc,IAAY;QACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;SACjE,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAc,IAAY,EAAE,IAAa;QACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAChE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAc,IAAY,EAAE,QAAgB;QACtD,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,0BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,IAAI,CAAC,UAAU,EAAE;aACrB;YACD,IAAI,EAAE,IAA2B;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAC;IAC1C,CAAC;CACF,CAAA;AAnEY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAIiC,iCAAa;GAH9C,UAAU,CAmEtB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ConfigService } from '../config/config.service.js';
|
|
2
|
+
export interface DeviceAuthResponse {
|
|
3
|
+
device_code: string;
|
|
4
|
+
user_code: string;
|
|
5
|
+
verification_uri: string;
|
|
6
|
+
verification_uri_complete: string;
|
|
7
|
+
expires_in: number;
|
|
8
|
+
interval: number;
|
|
9
|
+
}
|
|
10
|
+
interface TokenResponse {
|
|
11
|
+
access_token: string;
|
|
12
|
+
refresh_token: string;
|
|
13
|
+
user: {
|
|
14
|
+
id: string;
|
|
15
|
+
email: string;
|
|
16
|
+
first_name: string;
|
|
17
|
+
last_name: string;
|
|
18
|
+
};
|
|
19
|
+
organization_id?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class AuthService {
|
|
22
|
+
private readonly configService;
|
|
23
|
+
private readonly logger;
|
|
24
|
+
constructor(configService: ConfigService);
|
|
25
|
+
startDeviceAuthorization(): Promise<DeviceAuthResponse>;
|
|
26
|
+
pollForToken(deviceCode: string, interval: number, expiresIn: number): Promise<TokenResponse>;
|
|
27
|
+
private storeCredentials;
|
|
28
|
+
private sleep;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var AuthService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.AuthService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const config_service_js_1 = require("../config/config.service.js");
|
|
16
|
+
const WORKOS_BASE_URL = 'https://api.workos.com';
|
|
17
|
+
const CLIENT_ID = process.env.WORKOS_CLIENT_ID ?? 'client_01JMQE7SPRY6W1JBQB8JWAK4JK';
|
|
18
|
+
let AuthService = AuthService_1 = class AuthService {
|
|
19
|
+
configService;
|
|
20
|
+
logger = new common_1.Logger(AuthService_1.name);
|
|
21
|
+
constructor(configService) {
|
|
22
|
+
this.configService = configService;
|
|
23
|
+
}
|
|
24
|
+
async startDeviceAuthorization() {
|
|
25
|
+
const res = await fetch(`${WORKOS_BASE_URL}/user_management/authorize/device`, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
headers: { 'Content-Type': 'application/json' },
|
|
28
|
+
body: JSON.stringify({ client_id: CLIENT_ID }),
|
|
29
|
+
});
|
|
30
|
+
if (!res.ok) {
|
|
31
|
+
const text = await res.text();
|
|
32
|
+
throw new Error(`Failed to start device authorization: ${text}`);
|
|
33
|
+
}
|
|
34
|
+
return res.json();
|
|
35
|
+
}
|
|
36
|
+
async pollForToken(deviceCode, interval, expiresIn) {
|
|
37
|
+
const deadline = Date.now() + expiresIn * 1000;
|
|
38
|
+
let pollInterval = interval * 1000;
|
|
39
|
+
while (Date.now() < deadline) {
|
|
40
|
+
await this.sleep(pollInterval);
|
|
41
|
+
const res = await fetch(`${WORKOS_BASE_URL}/user_management/authenticate`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
headers: { 'Content-Type': 'application/json' },
|
|
44
|
+
body: JSON.stringify({
|
|
45
|
+
client_id: CLIENT_ID,
|
|
46
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
47
|
+
device_code: deviceCode,
|
|
48
|
+
}),
|
|
49
|
+
});
|
|
50
|
+
if (res.ok) {
|
|
51
|
+
const data = (await res.json());
|
|
52
|
+
this.storeCredentials(data);
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
const error = (await res.json());
|
|
56
|
+
if (error.error === 'authorization_pending') {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (error.error === 'slow_down') {
|
|
60
|
+
pollInterval += 5000;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
throw new Error(error.error_description ?? `Authorization failed: ${error.error}`);
|
|
64
|
+
}
|
|
65
|
+
throw new Error('Device authorization timed out.');
|
|
66
|
+
}
|
|
67
|
+
storeCredentials(data) {
|
|
68
|
+
this.configService.set('accessToken', data.access_token);
|
|
69
|
+
this.configService.set('refreshToken', data.refresh_token);
|
|
70
|
+
this.configService.set('userId', data.user.id);
|
|
71
|
+
if (data.organization_id) {
|
|
72
|
+
this.configService.set('organizationId', data.organization_id);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
sleep(ms) {
|
|
76
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.AuthService = AuthService;
|
|
80
|
+
exports.AuthService = AuthService = AuthService_1 = __decorate([
|
|
81
|
+
(0, common_1.Injectable)(),
|
|
82
|
+
__metadata("design:paramtypes", [config_service_js_1.ConfigService])
|
|
83
|
+
], AuthService);
|
|
84
|
+
//# sourceMappingURL=auth.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../src/core/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface TappifyConfig {
|
|
2
|
+
accessToken?: string;
|
|
3
|
+
refreshToken?: string;
|
|
4
|
+
userId?: string;
|
|
5
|
+
organizationId?: string;
|
|
6
|
+
apiBaseUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ConfigService {
|
|
9
|
+
private readonly store;
|
|
10
|
+
constructor();
|
|
11
|
+
get<K extends keyof TappifyConfig>(key: K): TappifyConfig[K];
|
|
12
|
+
set<K extends keyof TappifyConfig>(key: K, value: TappifyConfig[K]): void;
|
|
13
|
+
delete<K extends keyof TappifyConfig>(key: K): void;
|
|
14
|
+
clear(): void;
|
|
15
|
+
isAuthenticated(): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ConfigService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const conf_1 = __importDefault(require("conf"));
|
|
18
|
+
let ConfigService = class ConfigService {
|
|
19
|
+
store;
|
|
20
|
+
constructor() {
|
|
21
|
+
this.store = new conf_1.default({
|
|
22
|
+
projectName: 'tappify',
|
|
23
|
+
defaults: {
|
|
24
|
+
apiBaseUrl: 'https://api.tappify.io/api/v1',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
get(key) {
|
|
29
|
+
return this.store.get(key);
|
|
30
|
+
}
|
|
31
|
+
set(key, value) {
|
|
32
|
+
this.store.set(key, value);
|
|
33
|
+
}
|
|
34
|
+
delete(key) {
|
|
35
|
+
this.store.delete(key);
|
|
36
|
+
}
|
|
37
|
+
clear() {
|
|
38
|
+
this.store.clear();
|
|
39
|
+
}
|
|
40
|
+
isAuthenticated() {
|
|
41
|
+
return !!this.store.get('accessToken');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.ConfigService = ConfigService;
|
|
45
|
+
exports.ConfigService = ConfigService = __decorate([
|
|
46
|
+
(0, common_1.Injectable)(),
|
|
47
|
+
__metadata("design:paramtypes", [])
|
|
48
|
+
], ConfigService);
|
|
49
|
+
//# sourceMappingURL=config.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../../src/core/config/config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,gDAAwB;AAWjB,IAAM,aAAa,GAAnB,MAAM,aAAa;IACP,KAAK,CAAsB;IAE5C;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,cAAI,CAAgB;YACnC,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE;gBACR,UAAU,EAAE,+BAA+B;aAC5C;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAgC,GAAM;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAgC,GAAM,EAAE,KAAuB;QAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAgC,GAAM;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,eAAe;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA/BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;;GACA,aAAa,CA+BzB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CoreModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const api_service_js_1 = require("./api/api.service.js");
|
|
12
|
+
const auth_service_js_1 = require("./auth/auth.service.js");
|
|
13
|
+
const config_service_js_1 = require("./config/config.service.js");
|
|
14
|
+
let CoreModule = class CoreModule {
|
|
15
|
+
};
|
|
16
|
+
exports.CoreModule = CoreModule;
|
|
17
|
+
exports.CoreModule = CoreModule = __decorate([
|
|
18
|
+
(0, common_1.Global)(),
|
|
19
|
+
(0, common_1.Module)({
|
|
20
|
+
providers: [config_service_js_1.ConfigService, auth_service_js_1.AuthService, api_service_js_1.ApiService],
|
|
21
|
+
exports: [config_service_js_1.ConfigService, auth_service_js_1.AuthService, api_service_js_1.ApiService],
|
|
22
|
+
})
|
|
23
|
+
], CoreModule);
|
|
24
|
+
//# sourceMappingURL=core.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../src/core/core.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,yDAAkD;AAClD,4DAAqD;AACrD,kEAA2D;AAOpD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,iCAAa,EAAE,6BAAW,EAAE,2BAAU,CAAC;QACnD,OAAO,EAAE,CAAC,iCAAa,EAAE,6BAAW,EAAE,2BAAU,CAAC;KAClD,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./api/api.service.js"), exports);
|
|
18
|
+
__exportStar(require("./auth/auth.service.js"), exports);
|
|
19
|
+
__exportStar(require("./config/config.service.js"), exports);
|
|
20
|
+
__exportStar(require("./core.module.js"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,mDAAiC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AuthModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const login_runner_js_1 = require("./runners/login.runner.js");
|
|
12
|
+
const logout_runner_js_1 = require("./runners/logout.runner.js");
|
|
13
|
+
let AuthModule = class AuthModule {
|
|
14
|
+
};
|
|
15
|
+
exports.AuthModule = AuthModule;
|
|
16
|
+
exports.AuthModule = AuthModule = __decorate([
|
|
17
|
+
(0, common_1.Module)({
|
|
18
|
+
providers: [login_runner_js_1.LoginRunner, logout_runner_js_1.LogoutRunner],
|
|
19
|
+
})
|
|
20
|
+
], AuthModule);
|
|
21
|
+
//# sourceMappingURL=auth.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../src/domains/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+DAAwD;AACxD,iEAA0D;AAKnD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAHtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,6BAAW,EAAE,+BAAY,CAAC;KACvC,CAAC;GACW,UAAU,CAAG"}
|