diff options
Diffstat (limited to 'shared')
-rw-r--r-- | shared/extra-utils/users/users.ts | 27 | ||||
-rw-r--r-- | shared/models/users/user-register.model.ts | 10 |
2 files changed, 35 insertions, 2 deletions
diff --git a/shared/extra-utils/users/users.ts b/shared/extra-utils/users/users.ts index 2bd37b8be..c00da19e0 100644 --- a/shared/extra-utils/users/users.ts +++ b/shared/extra-utils/users/users.ts | |||
@@ -1,10 +1,11 @@ | |||
1 | import * as request from 'supertest' | 1 | import * as request from 'supertest' |
2 | import { makePostBodyRequest, makePutBodyRequest, updateAvatarRequest } from '../requests/requests' | 2 | import { makeGetRequest, makePostBodyRequest, makePutBodyRequest, updateAvatarRequest } from '../requests/requests' |
3 | 3 | ||
4 | import { UserRole } from '../../index' | 4 | import { UserCreate, UserRole } from '../../index' |
5 | import { NSFWPolicyType } from '../../models/videos/nsfw-policy.type' | 5 | import { NSFWPolicyType } from '../../models/videos/nsfw-policy.type' |
6 | import { ServerInfo, userLogin } from '..' | 6 | import { ServerInfo, userLogin } from '..' |
7 | import { UserAdminFlag } from '../../models/users/user-flag.model' | 7 | import { UserAdminFlag } from '../../models/users/user-flag.model' |
8 | import { UserRegister } from '../../models/users/user-register.model' | ||
8 | 9 | ||
9 | type CreateUserArgs = { url: string, | 10 | type CreateUserArgs = { url: string, |
10 | accessToken: string, | 11 | accessToken: string, |
@@ -70,6 +71,27 @@ function registerUser (url: string, username: string, password: string, specialS | |||
70 | .expect(specialStatus) | 71 | .expect(specialStatus) |
71 | } | 72 | } |
72 | 73 | ||
74 | function registerUserWithChannel (options: { | ||
75 | url: string, | ||
76 | user: { username: string, password: string }, | ||
77 | channel: { name: string, displayName: string } | ||
78 | }) { | ||
79 | const path = '/api/v1/users/register' | ||
80 | const body: UserRegister = { | ||
81 | username: options.user.username, | ||
82 | password: options.user.password, | ||
83 | email: options.user.username + '@example.com', | ||
84 | channel: options.channel | ||
85 | } | ||
86 | |||
87 | return makePostBodyRequest({ | ||
88 | url: options.url, | ||
89 | path, | ||
90 | fields: body, | ||
91 | statusCodeExpected: 204 | ||
92 | }) | ||
93 | } | ||
94 | |||
73 | function getMyUserInformation (url: string, accessToken: string, specialStatus = 200) { | 95 | function getMyUserInformation (url: string, accessToken: string, specialStatus = 200) { |
74 | const path = '/api/v1/users/me' | 96 | const path = '/api/v1/users/me' |
75 | 97 | ||
@@ -312,6 +334,7 @@ export { | |||
312 | getMyUserInformation, | 334 | getMyUserInformation, |
313 | getMyUserVideoRating, | 335 | getMyUserVideoRating, |
314 | deleteMe, | 336 | deleteMe, |
337 | registerUserWithChannel, | ||
315 | getMyUserVideoQuotaUsed, | 338 | getMyUserVideoQuotaUsed, |
316 | getUsersList, | 339 | getUsersList, |
317 | getUsersListPaginationAndSort, | 340 | getUsersListPaginationAndSort, |
diff --git a/shared/models/users/user-register.model.ts b/shared/models/users/user-register.model.ts new file mode 100644 index 000000000..ce5c9c3d2 --- /dev/null +++ b/shared/models/users/user-register.model.ts | |||
@@ -0,0 +1,10 @@ | |||
1 | export interface UserRegister { | ||
2 | username: string | ||
3 | password: string | ||
4 | email: string | ||
5 | |||
6 | channel?: { | ||
7 | name: string | ||
8 | displayName: string | ||
9 | } | ||
10 | } | ||