@mdguggenbichler/slugbase-core 0.0.17 → 0.0.18
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/backend/dist/app-factory.d.ts +1 -1
- package/backend/dist/app-factory.d.ts.map +1 -1
- package/backend/dist/app-factory.js +2 -13
- package/backend/dist/app-factory.js.map +1 -1
- package/backend/dist/index.js +1 -1
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/admin/settings.d.ts.map +1 -1
- package/backend/dist/routes/admin/settings.js +0 -281
- package/backend/dist/routes/admin/settings.js.map +1 -1
- package/backend/dist/routes/admin/stats.d.ts.map +1 -1
- package/backend/dist/routes/admin/stats.js +0 -39
- package/backend/dist/routes/admin/stats.js.map +1 -1
- package/backend/dist/routes/admin/teams.d.ts.map +1 -1
- package/backend/dist/routes/admin/teams.js +0 -344
- package/backend/dist/routes/admin/teams.js.map +1 -1
- package/backend/dist/routes/admin/users.d.ts.map +1 -1
- package/backend/dist/routes/admin/users.js +0 -317
- package/backend/dist/routes/admin/users.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +0 -284
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/bookmarks.d.ts.map +1 -1
- package/backend/dist/routes/bookmarks.js +0 -522
- package/backend/dist/routes/bookmarks.js.map +1 -1
- package/backend/dist/routes/config.d.ts.map +1 -1
- package/backend/dist/routes/config.js +0 -27
- package/backend/dist/routes/config.js.map +1 -1
- package/backend/dist/routes/csrf.d.ts.map +1 -1
- package/backend/dist/routes/csrf.js +0 -24
- package/backend/dist/routes/csrf.js.map +1 -1
- package/backend/dist/routes/dashboard.d.ts.map +1 -1
- package/backend/dist/routes/dashboard.js +0 -35
- package/backend/dist/routes/dashboard.js.map +1 -1
- package/backend/dist/routes/email-verification.d.ts.map +1 -1
- package/backend/dist/routes/email-verification.js +0 -53
- package/backend/dist/routes/email-verification.js.map +1 -1
- package/backend/dist/routes/folders.d.ts.map +1 -1
- package/backend/dist/routes/folders.js +0 -217
- package/backend/dist/routes/folders.js.map +1 -1
- package/backend/dist/routes/go.d.ts.map +1 -1
- package/backend/dist/routes/go.js +0 -95
- package/backend/dist/routes/go.js.map +1 -1
- package/backend/dist/routes/health.d.ts.map +1 -1
- package/backend/dist/routes/health.js +0 -45
- package/backend/dist/routes/health.js.map +1 -1
- package/backend/dist/routes/oidc-providers.d.ts.map +1 -1
- package/backend/dist/routes/oidc-providers.js +0 -221
- package/backend/dist/routes/oidc-providers.js.map +1 -1
- package/backend/dist/routes/password-reset.d.ts.map +1 -1
- package/backend/dist/routes/password-reset.js +0 -67
- package/backend/dist/routes/password-reset.js.map +1 -1
- package/backend/dist/routes/tags.d.ts.map +1 -1
- package/backend/dist/routes/tags.js +0 -174
- package/backend/dist/routes/tags.js.map +1 -1
- package/backend/dist/routes/teams.d.ts.map +1 -1
- package/backend/dist/routes/teams.js +0 -36
- package/backend/dist/routes/teams.js.map +1 -1
- package/backend/dist/routes/tokens.d.ts.map +1 -1
- package/backend/dist/routes/tokens.js +0 -108
- package/backend/dist/routes/tokens.js.map +1 -1
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +0 -81
- package/backend/dist/routes/users.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/routes/teams.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/routes/teams.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAsBxB,eAAe,MAAM,CAAC"}
|
|
@@ -4,42 +4,6 @@ import { requireAuth } from '../middleware/auth.js';
|
|
|
4
4
|
import { getTenantId } from '../utils/tenant.js';
|
|
5
5
|
const router = Router();
|
|
6
6
|
router.use(requireAuth());
|
|
7
|
-
/**
|
|
8
|
-
* @swagger
|
|
9
|
-
* /api/teams:
|
|
10
|
-
* get:
|
|
11
|
-
* summary: Get teams for current user
|
|
12
|
-
* description: Returns all teams that the authenticated user is a member of
|
|
13
|
-
* tags: [Teams]
|
|
14
|
-
* security:
|
|
15
|
-
* - cookieAuth: []
|
|
16
|
-
* - bearerAuth: []
|
|
17
|
-
* responses:
|
|
18
|
-
* 200:
|
|
19
|
-
* description: List of teams the user is a member of
|
|
20
|
-
* content:
|
|
21
|
-
* application/json:
|
|
22
|
-
* schema:
|
|
23
|
-
* type: array
|
|
24
|
-
* items:
|
|
25
|
-
* type: object
|
|
26
|
-
* properties:
|
|
27
|
-
* id:
|
|
28
|
-
* type: string
|
|
29
|
-
* example: "123e4567-e89b-12d3-a456-426614174000"
|
|
30
|
-
* name:
|
|
31
|
-
* type: string
|
|
32
|
-
* example: "Development Team"
|
|
33
|
-
* description:
|
|
34
|
-
* type: string
|
|
35
|
-
* nullable: true
|
|
36
|
-
* example: "Team for development work"
|
|
37
|
-
* created_at:
|
|
38
|
-
* type: string
|
|
39
|
-
* format: date-time
|
|
40
|
-
* 401:
|
|
41
|
-
* description: Unauthorized
|
|
42
|
-
*/
|
|
43
7
|
router.get('/', async (req, res) => {
|
|
44
8
|
const authReq = req;
|
|
45
9
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/routes/teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/routes/teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,GAAkB,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAK,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,KAAK,CACvB;;;uBAGiB,EACjB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/routes/tokens.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/routes/tokens.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA6CxB,eAAe,MAAM,CAAC"}
|
|
@@ -5,41 +5,6 @@ import * as apiTokens from '../services/api-tokens.js';
|
|
|
5
5
|
import { getTenantId } from '../utils/tenant.js';
|
|
6
6
|
const router = Router();
|
|
7
7
|
router.use(requireAuth());
|
|
8
|
-
/**
|
|
9
|
-
* @swagger
|
|
10
|
-
* /api/tokens:
|
|
11
|
-
* get:
|
|
12
|
-
* summary: List API tokens
|
|
13
|
-
* description: Returns the authenticated user's API tokens. Tokens are masked (sb_********************************). Never returns plaintext.
|
|
14
|
-
* tags: [API Tokens]
|
|
15
|
-
* security:
|
|
16
|
-
* - cookieAuth: []
|
|
17
|
-
* - bearerAuth: []
|
|
18
|
-
* - apiTokenAuth: []
|
|
19
|
-
* responses:
|
|
20
|
-
* 200:
|
|
21
|
-
* description: List of tokens
|
|
22
|
-
* content:
|
|
23
|
-
* application/json:
|
|
24
|
-
* schema:
|
|
25
|
-
* type: array
|
|
26
|
-
* items:
|
|
27
|
-
* type: object
|
|
28
|
-
* properties:
|
|
29
|
-
* id:
|
|
30
|
-
* type: string
|
|
31
|
-
* name:
|
|
32
|
-
* type: string
|
|
33
|
-
* created_at:
|
|
34
|
-
* type: string
|
|
35
|
-
* format: date-time
|
|
36
|
-
* last_used_at:
|
|
37
|
-
* type: string
|
|
38
|
-
* format: date-time
|
|
39
|
-
* nullable: true
|
|
40
|
-
* 401:
|
|
41
|
-
* description: Unauthorized
|
|
42
|
-
*/
|
|
43
8
|
router.get('/', async (req, res) => {
|
|
44
9
|
const authReq = req;
|
|
45
10
|
const userId = authReq.user.id;
|
|
@@ -52,54 +17,6 @@ router.get('/', async (req, res) => {
|
|
|
52
17
|
res.status(500).json({ error: error.message });
|
|
53
18
|
}
|
|
54
19
|
});
|
|
55
|
-
/**
|
|
56
|
-
* @swagger
|
|
57
|
-
* /api/tokens:
|
|
58
|
-
* post:
|
|
59
|
-
* summary: Create API token
|
|
60
|
-
* description: Creates a new personal API token. The plaintext token is returned ONLY ONCE. Store it securely; it cannot be retrieved again.
|
|
61
|
-
* tags: [API Tokens]
|
|
62
|
-
* security:
|
|
63
|
-
* - cookieAuth: []
|
|
64
|
-
* - bearerAuth: []
|
|
65
|
-
* requestBody:
|
|
66
|
-
* required: true
|
|
67
|
-
* content:
|
|
68
|
-
* application/json:
|
|
69
|
-
* schema:
|
|
70
|
-
* type: object
|
|
71
|
-
* required:
|
|
72
|
-
* - name
|
|
73
|
-
* properties:
|
|
74
|
-
* name:
|
|
75
|
-
* type: string
|
|
76
|
-
* description: Descriptive name for the token (e.g. CLI, CI/CD)
|
|
77
|
-
* maxLength: 100
|
|
78
|
-
* responses:
|
|
79
|
-
* 200:
|
|
80
|
-
* description: Token created (plaintext returned once)
|
|
81
|
-
* content:
|
|
82
|
-
* application/json:
|
|
83
|
-
* schema:
|
|
84
|
-
* type: object
|
|
85
|
-
* properties:
|
|
86
|
-
* token:
|
|
87
|
-
* type: string
|
|
88
|
-
* description: The plaintext token. Store securely; never shown again.
|
|
89
|
-
* id:
|
|
90
|
-
* type: string
|
|
91
|
-
* name:
|
|
92
|
-
* type: string
|
|
93
|
-
* created_at:
|
|
94
|
-
* type: string
|
|
95
|
-
* format: date-time
|
|
96
|
-
* 400:
|
|
97
|
-
* description: Validation error (name required, max tokens exceeded)
|
|
98
|
-
* 401:
|
|
99
|
-
* description: Unauthorized
|
|
100
|
-
* 429:
|
|
101
|
-
* description: Too many token creation attempts
|
|
102
|
-
*/
|
|
103
20
|
router.post('/', tokenCreateRateLimiter, async (req, res) => {
|
|
104
21
|
const authReq = req;
|
|
105
22
|
const userId = authReq.user.id;
|
|
@@ -114,31 +31,6 @@ router.post('/', tokenCreateRateLimiter, async (req, res) => {
|
|
|
114
31
|
}
|
|
115
32
|
res.status(201).json(result.data);
|
|
116
33
|
});
|
|
117
|
-
/**
|
|
118
|
-
* @swagger
|
|
119
|
-
* /api/tokens/{id}:
|
|
120
|
-
* delete:
|
|
121
|
-
* summary: Revoke API token
|
|
122
|
-
* description: Revokes an API token. The token stops working immediately. Idempotent.
|
|
123
|
-
* tags: [API Tokens]
|
|
124
|
-
* security:
|
|
125
|
-
* - cookieAuth: []
|
|
126
|
-
* - bearerAuth: []
|
|
127
|
-
* - apiTokenAuth: []
|
|
128
|
-
* parameters:
|
|
129
|
-
* - in: path
|
|
130
|
-
* name: id
|
|
131
|
-
* required: true
|
|
132
|
-
* schema:
|
|
133
|
-
* type: string
|
|
134
|
-
* responses:
|
|
135
|
-
* 200:
|
|
136
|
-
* description: Token revoked
|
|
137
|
-
* 400:
|
|
138
|
-
* description: Token not found
|
|
139
|
-
* 401:
|
|
140
|
-
* description: Unauthorized
|
|
141
|
-
*/
|
|
142
34
|
router.delete('/:id', async (req, res) => {
|
|
143
35
|
const authReq = req;
|
|
144
36
|
const userId = authReq.user.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/routes/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/routes/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAsIxB,eAAe,MAAM,CAAC"}
|
|
@@ -7,43 +7,6 @@ import crypto from 'crypto';
|
|
|
7
7
|
import { sendEmailVerificationEmail } from '../utils/email.js';
|
|
8
8
|
const router = Router();
|
|
9
9
|
router.use(requireAuth());
|
|
10
|
-
/**
|
|
11
|
-
* @swagger
|
|
12
|
-
* /api/users/me:
|
|
13
|
-
* get:
|
|
14
|
-
* summary: Get current user profile
|
|
15
|
-
* description: Returns the authenticated user's profile information
|
|
16
|
-
* tags: [Users]
|
|
17
|
-
* security:
|
|
18
|
-
* - cookieAuth: []
|
|
19
|
-
* - bearerAuth: []
|
|
20
|
-
* responses:
|
|
21
|
-
* 200:
|
|
22
|
-
* description: User profile
|
|
23
|
-
* content:
|
|
24
|
-
* application/json:
|
|
25
|
-
* schema:
|
|
26
|
-
* type: object
|
|
27
|
-
* properties:
|
|
28
|
-
* id:
|
|
29
|
-
* type: string
|
|
30
|
-
* email:
|
|
31
|
-
* type: string
|
|
32
|
-
* name:
|
|
33
|
-
* type: string
|
|
34
|
-
* user_key:
|
|
35
|
-
* type: string
|
|
36
|
-
* is_admin:
|
|
37
|
-
* type: boolean
|
|
38
|
-
* language:
|
|
39
|
-
* type: string
|
|
40
|
-
* example: "en"
|
|
41
|
-
* theme:
|
|
42
|
-
* type: string
|
|
43
|
-
* example: "auto"
|
|
44
|
-
* 401:
|
|
45
|
-
* description: Unauthorized
|
|
46
|
-
*/
|
|
47
10
|
// Get current user profile
|
|
48
11
|
router.get('/me', async (req, res) => {
|
|
49
12
|
const authReq = req;
|
|
@@ -56,50 +19,6 @@ router.get('/me', async (req, res) => {
|
|
|
56
19
|
res.status(500).json({ error: error.message });
|
|
57
20
|
}
|
|
58
21
|
});
|
|
59
|
-
/**
|
|
60
|
-
* @swagger
|
|
61
|
-
* /api/users/me:
|
|
62
|
-
* put:
|
|
63
|
-
* summary: Update user settings
|
|
64
|
-
* description: Updates the authenticated user's profile information including email, name, language, and theme preferences
|
|
65
|
-
* tags: [Users]
|
|
66
|
-
* security:
|
|
67
|
-
* - cookieAuth: []
|
|
68
|
-
* - bearerAuth: []
|
|
69
|
-
* requestBody:
|
|
70
|
-
* required: true
|
|
71
|
-
* content:
|
|
72
|
-
* application/json:
|
|
73
|
-
* schema:
|
|
74
|
-
* type: object
|
|
75
|
-
* properties:
|
|
76
|
-
* email:
|
|
77
|
-
* type: string
|
|
78
|
-
* format: email
|
|
79
|
-
* example: "updated@example.com"
|
|
80
|
-
* description: User's email address (must be unique)
|
|
81
|
-
* name:
|
|
82
|
-
* type: string
|
|
83
|
-
* example: "Updated Name"
|
|
84
|
-
* description: User's display name
|
|
85
|
-
* language:
|
|
86
|
-
* type: string
|
|
87
|
-
* enum: [en, de, fr]
|
|
88
|
-
* example: "en"
|
|
89
|
-
* description: User's preferred language
|
|
90
|
-
* theme:
|
|
91
|
-
* type: string
|
|
92
|
-
* enum: [light, dark, auto]
|
|
93
|
-
* example: "auto"
|
|
94
|
-
* description: User's preferred theme
|
|
95
|
-
* responses:
|
|
96
|
-
* 200:
|
|
97
|
-
* description: User settings updated successfully
|
|
98
|
-
* 400:
|
|
99
|
-
* description: Invalid input or email already exists
|
|
100
|
-
* 401:
|
|
101
|
-
* description: Unauthorized
|
|
102
|
-
*/
|
|
103
22
|
// Update user settings
|
|
104
23
|
router.put('/me', async (req, res) => {
|
|
105
24
|
const authReq = req;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AACxB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"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"}
|