@lokalise/projects-engine-contracts 2.8.5 → 2.9.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/dist/apiContracts/contributorsContracts.d.ts +46 -0
- package/dist/apiContracts/contributorsContracts.js +21 -0
- package/dist/apiContracts/contributorsContracts.js.map +1 -0
- package/dist/apiContracts/projectsContracts.d.ts +6 -6
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/domainSchemas.d.ts +3 -3
- package/dist/schemas/projectSchemas.d.ts +6 -6
- package/dist/schemas/suggestedContributorsSchemas.d.ts +87 -0
- package/dist/schemas/suggestedContributorsSchemas.js +55 -0
- package/dist/schemas/suggestedContributorsSchemas.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Projects Engine router definition for listing suggested contributors for a project.
|
|
3
|
+
*
|
|
4
|
+
* Proxies the Expert (Lokalise API v2) `POST /projects/:projectId/suggested-contributors`
|
|
5
|
+
* endpoint. It is a POST because the request carries a body (the languages to scope the
|
|
6
|
+
* suggestions to) even though it is semantically a read.
|
|
7
|
+
*/
|
|
8
|
+
export declare const listSuggestedContributorsContract: import("@lokalise/api-contracts").PayloadRouteDefinition<import("zod/v4").ZodObject<{
|
|
9
|
+
languages: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
|
|
10
|
+
limit: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
11
|
+
offset: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
12
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
|
|
13
|
+
languages: import("zod/v4").ZodRecord<import("zod/v4").ZodString, import("zod/v4").ZodObject<{
|
|
14
|
+
lang_iso: import("zod/v4").ZodString;
|
|
15
|
+
lang_iso_bcp47: import("zod/v4").ZodString;
|
|
16
|
+
contributors: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
17
|
+
user_id: import("zod/v4").ZodNumber;
|
|
18
|
+
user_uuid: import("zod/v4").ZodOptional<import("zod/v4").ZodGUID>;
|
|
19
|
+
email: import("zod/v4").ZodEmail;
|
|
20
|
+
fullname: import("zod/v4").ZodString;
|
|
21
|
+
avatar_url: import("zod/v4").ZodString;
|
|
22
|
+
role_id: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
|
|
23
|
+
is_owner: import("zod/v4").ZodBoolean;
|
|
24
|
+
is_admin: import("zod/v4").ZodBoolean;
|
|
25
|
+
is_pending: import("zod/v4").ZodBoolean;
|
|
26
|
+
last_logged_in_at: import("zod/v4").ZodNullable<import("zod/v4").ZodISODateTime>;
|
|
27
|
+
last_logged_in_at_timestamp: import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>;
|
|
28
|
+
team_role: import("zod/v4").ZodString;
|
|
29
|
+
languages: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
30
|
+
lang_iso: import("zod/v4").ZodString;
|
|
31
|
+
lang_name: import("zod/v4").ZodString;
|
|
32
|
+
is_writable: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<0>, import("zod/v4").ZodLiteral<1>, import("zod/v4").ZodBoolean]>;
|
|
33
|
+
}, import("zod/v4/core").$strip>>;
|
|
34
|
+
}, import("zod/v4/core").$strip>>;
|
|
35
|
+
total: import("zod/v4").ZodNumber;
|
|
36
|
+
}, import("zod/v4/core").$strip>>;
|
|
37
|
+
limit: import("zod/v4").ZodNumber;
|
|
38
|
+
offset: import("zod/v4").ZodNumber;
|
|
39
|
+
project_uuid: import("zod/v4").ZodGUID;
|
|
40
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
|
|
41
|
+
workspaceId: import("zod/v4").ZodGUID;
|
|
42
|
+
projectId: import("zod/v4").ZodGUID;
|
|
43
|
+
}, import("zod/v4/core").$strip>, undefined, import("zod/v4").ZodObject<{
|
|
44
|
+
authorization: import("zod/v4").ZodString;
|
|
45
|
+
'content-type': import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
46
|
+
}, import("zod/v4/core").$strip>, undefined, false, false, undefined>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { buildRestContract } from '@lokalise/api-contracts';
|
|
2
|
+
import { AUTH_HEADERS } from "../schemas/domainSchemas.js";
|
|
3
|
+
import { LIST_SUGGESTED_CONTRIBUTORS_PATH_PARAMS_SCHEMA, LIST_SUGGESTED_CONTRIBUTORS_REQUEST_BODY_SCHEMA, LIST_SUGGESTED_CONTRIBUTORS_SUCCESS_RESPONSE_BODY, } from "../schemas/suggestedContributorsSchemas.js";
|
|
4
|
+
/**
|
|
5
|
+
* Projects Engine router definition for listing suggested contributors for a project.
|
|
6
|
+
*
|
|
7
|
+
* Proxies the Expert (Lokalise API v2) `POST /projects/:projectId/suggested-contributors`
|
|
8
|
+
* endpoint. It is a POST because the request carries a body (the languages to scope the
|
|
9
|
+
* suggestions to) even though it is semantically a read.
|
|
10
|
+
*/
|
|
11
|
+
export const listSuggestedContributorsContract = buildRestContract({
|
|
12
|
+
method: 'post',
|
|
13
|
+
pathResolver: (params) => `/v1/workspaces/${params.workspaceId}/projects/${params.projectId}/suggested-contributors`,
|
|
14
|
+
summary: 'List suggested contributors for a project',
|
|
15
|
+
description: 'Paginated list of suggested contributors for a project, grouped by language. The suggestions are based on user activity within the project and may include both current contributors and non-contributors.',
|
|
16
|
+
requestHeaderSchema: AUTH_HEADERS,
|
|
17
|
+
requestPathParamsSchema: LIST_SUGGESTED_CONTRIBUTORS_PATH_PARAMS_SCHEMA,
|
|
18
|
+
requestBodySchema: LIST_SUGGESTED_CONTRIBUTORS_REQUEST_BODY_SCHEMA,
|
|
19
|
+
successResponseBodySchema: LIST_SUGGESTED_CONTRIBUTORS_SUCCESS_RESPONSE_BODY,
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=contributorsContracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contributorsContracts.js","sourceRoot":"","sources":["../../src/apiContracts/contributorsContracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EACL,8CAA8C,EAC9C,+CAA+C,EAC/C,iDAAiD,GAClD,MAAM,4CAA4C,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,iBAAiB,CAAC;IACjE,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,kBAAkB,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,SAAS,yBAAyB;IAC5F,OAAO,EAAE,2CAA2C;IACpD,WAAW,EACT,4MAA4M;IAC9M,mBAAmB,EAAE,YAAY;IACjC,uBAAuB,EAAE,8CAA8C;IACvE,iBAAiB,EAAE,+CAA+C;IAClE,yBAAyB,EAAE,iDAAiD;CAC7E,CAAC,CAAA"}
|
|
@@ -5,14 +5,14 @@ export declare const getProjectContract: import("@lokalise/api-contracts").GetRo
|
|
|
5
5
|
name: import("zod/v4").ZodString;
|
|
6
6
|
description: import("zod/v4").ZodString;
|
|
7
7
|
baseLanguage: import("zod/v4").ZodObject<{
|
|
8
|
-
languageId: import("zod/v4").ZodNumber;
|
|
9
8
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
9
|
+
languageId: import("zod/v4").ZodNumber;
|
|
10
10
|
languageIso: import("zod/v4").ZodString;
|
|
11
11
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
12
12
|
}, import("zod/v4/core").$strip>;
|
|
13
13
|
targetLanguages: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
14
|
-
languageId: import("zod/v4").ZodNumber;
|
|
15
14
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
15
|
+
languageId: import("zod/v4").ZodNumber;
|
|
16
16
|
languageIso: import("zod/v4").ZodString;
|
|
17
17
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
18
18
|
}, import("zod/v4/core").$strip>>;
|
|
@@ -55,14 +55,14 @@ export declare const patchProjectContract: import("@lokalise/api-contracts").Pay
|
|
|
55
55
|
name: import("zod/v4").ZodString;
|
|
56
56
|
description: import("zod/v4").ZodString;
|
|
57
57
|
baseLanguage: import("zod/v4").ZodObject<{
|
|
58
|
-
languageId: import("zod/v4").ZodNumber;
|
|
59
58
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
59
|
+
languageId: import("zod/v4").ZodNumber;
|
|
60
60
|
languageIso: import("zod/v4").ZodString;
|
|
61
61
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
62
62
|
}, import("zod/v4/core").$strip>;
|
|
63
63
|
targetLanguages: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
64
|
-
languageId: import("zod/v4").ZodNumber;
|
|
65
64
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
65
|
+
languageId: import("zod/v4").ZodNumber;
|
|
66
66
|
languageIso: import("zod/v4").ZodString;
|
|
67
67
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
68
68
|
}, import("zod/v4/core").$strip>>;
|
|
@@ -106,14 +106,14 @@ export declare const getProjectsListContract: import("@lokalise/api-contracts").
|
|
|
106
106
|
name: import("zod/v4").ZodString;
|
|
107
107
|
description: import("zod/v4").ZodString;
|
|
108
108
|
baseLanguage: import("zod/v4").ZodObject<{
|
|
109
|
-
languageId: import("zod/v4").ZodNumber;
|
|
110
109
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
110
|
+
languageId: import("zod/v4").ZodNumber;
|
|
111
111
|
languageIso: import("zod/v4").ZodString;
|
|
112
112
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
113
113
|
}, import("zod/v4/core").$strip>;
|
|
114
114
|
targetLanguages: import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
115
|
-
languageId: import("zod/v4").ZodNumber;
|
|
116
115
|
projectLanguageId: import("zod/v4").ZodNumber;
|
|
116
|
+
languageId: import("zod/v4").ZodNumber;
|
|
117
117
|
languageIso: import("zod/v4").ZodString;
|
|
118
118
|
projectLanguageUuid: import("zod/v4").ZodGUID;
|
|
119
119
|
}, import("zod/v4/core").$strip>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './apiContracts/contributorsContracts.ts';
|
|
1
2
|
export * from './apiContracts/defaultReviewersContracts.ts';
|
|
2
3
|
export * from './apiContracts/languageContracts.ts';
|
|
3
4
|
export * from './apiContracts/projectsContracts.ts';
|
|
@@ -7,4 +8,5 @@ export * from './schemas/domainSchemas.ts';
|
|
|
7
8
|
export * from './schemas/languageSchemas.ts';
|
|
8
9
|
export * from './schemas/pathParamsSchemas.ts';
|
|
9
10
|
export * from './schemas/projectSchemas.ts';
|
|
11
|
+
export * from './schemas/suggestedContributorsSchemas.ts';
|
|
10
12
|
export * from './schemas/translationSettingsSchemas.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from "./apiContracts/contributorsContracts.js";
|
|
1
2
|
export * from "./apiContracts/defaultReviewersContracts.js";
|
|
2
3
|
export * from "./apiContracts/languageContracts.js";
|
|
3
4
|
export * from "./apiContracts/projectsContracts.js";
|
|
@@ -7,5 +8,6 @@ export * from "./schemas/domainSchemas.js";
|
|
|
7
8
|
export * from "./schemas/languageSchemas.js";
|
|
8
9
|
export * from "./schemas/pathParamsSchemas.js";
|
|
9
10
|
export * from "./schemas/projectSchemas.js";
|
|
11
|
+
export * from "./schemas/suggestedContributorsSchemas.js";
|
|
10
12
|
export * from "./schemas/translationSettingsSchemas.js";
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yCAAyC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA"}
|
|
@@ -14,8 +14,8 @@ export declare const LANGUAGE_SCHEMA: z.ZodObject<{
|
|
|
14
14
|
}, z.core.$strip>;
|
|
15
15
|
export type Language = z.infer<typeof LANGUAGE_SCHEMA>;
|
|
16
16
|
export declare const PROJECT_LANGUAGE_SCHEMA: z.ZodObject<{
|
|
17
|
-
languageId: z.ZodNumber;
|
|
18
17
|
projectLanguageId: z.ZodNumber;
|
|
18
|
+
languageId: z.ZodNumber;
|
|
19
19
|
languageIso: z.ZodString;
|
|
20
20
|
projectLanguageUuid: z.ZodGUID;
|
|
21
21
|
}, z.core.$strip>;
|
|
@@ -25,14 +25,14 @@ export declare const PROJECT_SCHEMA: z.ZodObject<{
|
|
|
25
25
|
name: z.ZodString;
|
|
26
26
|
description: z.ZodString;
|
|
27
27
|
baseLanguage: z.ZodObject<{
|
|
28
|
-
languageId: z.ZodNumber;
|
|
29
28
|
projectLanguageId: z.ZodNumber;
|
|
29
|
+
languageId: z.ZodNumber;
|
|
30
30
|
languageIso: z.ZodString;
|
|
31
31
|
projectLanguageUuid: z.ZodGUID;
|
|
32
32
|
}, z.core.$strip>;
|
|
33
33
|
targetLanguages: z.ZodArray<z.ZodObject<{
|
|
34
|
-
languageId: z.ZodNumber;
|
|
35
34
|
projectLanguageId: z.ZodNumber;
|
|
35
|
+
languageId: z.ZodNumber;
|
|
36
36
|
languageIso: z.ZodString;
|
|
37
37
|
projectLanguageUuid: z.ZodGUID;
|
|
38
38
|
}, z.core.$strip>>;
|
|
@@ -15,14 +15,14 @@ export declare const GET_PROJECTS_LIST_SUCCESS_RESPONSE_BODY: z.ZodObject<{
|
|
|
15
15
|
name: z.ZodString;
|
|
16
16
|
description: z.ZodString;
|
|
17
17
|
baseLanguage: z.ZodObject<{
|
|
18
|
-
languageId: z.ZodNumber;
|
|
19
18
|
projectLanguageId: z.ZodNumber;
|
|
19
|
+
languageId: z.ZodNumber;
|
|
20
20
|
languageIso: z.ZodString;
|
|
21
21
|
projectLanguageUuid: z.ZodGUID;
|
|
22
22
|
}, z.core.$strip>;
|
|
23
23
|
targetLanguages: z.ZodArray<z.ZodObject<{
|
|
24
|
-
languageId: z.ZodNumber;
|
|
25
24
|
projectLanguageId: z.ZodNumber;
|
|
25
|
+
languageId: z.ZodNumber;
|
|
26
26
|
languageIso: z.ZodString;
|
|
27
27
|
projectLanguageUuid: z.ZodGUID;
|
|
28
28
|
}, z.core.$strip>>;
|
|
@@ -66,14 +66,14 @@ export declare const GET_PROJECT_SUCCESS_RESPONSE_BODY: z.ZodObject<{
|
|
|
66
66
|
name: z.ZodString;
|
|
67
67
|
description: z.ZodString;
|
|
68
68
|
baseLanguage: z.ZodObject<{
|
|
69
|
-
languageId: z.ZodNumber;
|
|
70
69
|
projectLanguageId: z.ZodNumber;
|
|
70
|
+
languageId: z.ZodNumber;
|
|
71
71
|
languageIso: z.ZodString;
|
|
72
72
|
projectLanguageUuid: z.ZodGUID;
|
|
73
73
|
}, z.core.$strip>;
|
|
74
74
|
targetLanguages: z.ZodArray<z.ZodObject<{
|
|
75
|
-
languageId: z.ZodNumber;
|
|
76
75
|
projectLanguageId: z.ZodNumber;
|
|
76
|
+
languageId: z.ZodNumber;
|
|
77
77
|
languageIso: z.ZodString;
|
|
78
78
|
projectLanguageUuid: z.ZodGUID;
|
|
79
79
|
}, z.core.$strip>>;
|
|
@@ -118,14 +118,14 @@ export declare const PATCH_PROJECT_SUCCESS_RESPONSE_BODY: z.ZodObject<{
|
|
|
118
118
|
name: z.ZodString;
|
|
119
119
|
description: z.ZodString;
|
|
120
120
|
baseLanguage: z.ZodObject<{
|
|
121
|
-
languageId: z.ZodNumber;
|
|
122
121
|
projectLanguageId: z.ZodNumber;
|
|
122
|
+
languageId: z.ZodNumber;
|
|
123
123
|
languageIso: z.ZodString;
|
|
124
124
|
projectLanguageUuid: z.ZodGUID;
|
|
125
125
|
}, z.core.$strip>;
|
|
126
126
|
targetLanguages: z.ZodArray<z.ZodObject<{
|
|
127
|
-
languageId: z.ZodNumber;
|
|
128
127
|
projectLanguageId: z.ZodNumber;
|
|
128
|
+
languageId: z.ZodNumber;
|
|
129
129
|
languageIso: z.ZodString;
|
|
130
130
|
projectLanguageUuid: z.ZodGUID;
|
|
131
131
|
}, z.core.$strip>>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
export declare const SUGGESTED_DEFAULT_CONTRIBUTOR_SCHEMA: z.ZodObject<{
|
|
3
|
+
user_id: z.ZodNumber;
|
|
4
|
+
user_uuid: z.ZodOptional<z.ZodGUID>;
|
|
5
|
+
email: z.ZodEmail;
|
|
6
|
+
fullname: z.ZodString;
|
|
7
|
+
avatar_url: z.ZodString;
|
|
8
|
+
role_id: z.ZodNullable<z.ZodNumber>;
|
|
9
|
+
is_owner: z.ZodBoolean;
|
|
10
|
+
is_admin: z.ZodBoolean;
|
|
11
|
+
is_pending: z.ZodBoolean;
|
|
12
|
+
last_logged_in_at: z.ZodNullable<z.ZodISODateTime>;
|
|
13
|
+
last_logged_in_at_timestamp: z.ZodNullable<z.ZodNumber>;
|
|
14
|
+
team_role: z.ZodString;
|
|
15
|
+
languages: z.ZodArray<z.ZodObject<{
|
|
16
|
+
lang_iso: z.ZodString;
|
|
17
|
+
lang_name: z.ZodString;
|
|
18
|
+
is_writable: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodBoolean]>;
|
|
19
|
+
}, z.core.$strip>>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type SuggestedDefaultContributor = z.infer<typeof SUGGESTED_DEFAULT_CONTRIBUTOR_SCHEMA>;
|
|
22
|
+
export declare const SUGGESTED_CONTRIBUTORS_LANGUAGE_SCHEMA: z.ZodObject<{
|
|
23
|
+
lang_iso: z.ZodString;
|
|
24
|
+
lang_iso_bcp47: z.ZodString;
|
|
25
|
+
contributors: z.ZodArray<z.ZodObject<{
|
|
26
|
+
user_id: z.ZodNumber;
|
|
27
|
+
user_uuid: z.ZodOptional<z.ZodGUID>;
|
|
28
|
+
email: z.ZodEmail;
|
|
29
|
+
fullname: z.ZodString;
|
|
30
|
+
avatar_url: z.ZodString;
|
|
31
|
+
role_id: z.ZodNullable<z.ZodNumber>;
|
|
32
|
+
is_owner: z.ZodBoolean;
|
|
33
|
+
is_admin: z.ZodBoolean;
|
|
34
|
+
is_pending: z.ZodBoolean;
|
|
35
|
+
last_logged_in_at: z.ZodNullable<z.ZodISODateTime>;
|
|
36
|
+
last_logged_in_at_timestamp: z.ZodNullable<z.ZodNumber>;
|
|
37
|
+
team_role: z.ZodString;
|
|
38
|
+
languages: z.ZodArray<z.ZodObject<{
|
|
39
|
+
lang_iso: z.ZodString;
|
|
40
|
+
lang_name: z.ZodString;
|
|
41
|
+
is_writable: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodBoolean]>;
|
|
42
|
+
}, z.core.$strip>>;
|
|
43
|
+
}, z.core.$strip>>;
|
|
44
|
+
total: z.ZodNumber;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export type SuggestedContributorsLanguage = z.infer<typeof SUGGESTED_CONTRIBUTORS_LANGUAGE_SCHEMA>;
|
|
47
|
+
export declare const LIST_SUGGESTED_CONTRIBUTORS_PATH_PARAMS_SCHEMA: z.ZodObject<{
|
|
48
|
+
workspaceId: z.ZodGUID;
|
|
49
|
+
projectId: z.ZodGUID;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
export type ListSuggestedContributorsPathParams = z.infer<typeof LIST_SUGGESTED_CONTRIBUTORS_PATH_PARAMS_SCHEMA>;
|
|
52
|
+
export declare const LIST_SUGGESTED_CONTRIBUTORS_REQUEST_BODY_SCHEMA: z.ZodObject<{
|
|
53
|
+
languages: z.ZodArray<z.ZodString>;
|
|
54
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export type ListSuggestedContributorsRequestBody = z.infer<typeof LIST_SUGGESTED_CONTRIBUTORS_REQUEST_BODY_SCHEMA>;
|
|
58
|
+
export declare const LIST_SUGGESTED_CONTRIBUTORS_SUCCESS_RESPONSE_BODY: z.ZodObject<{
|
|
59
|
+
languages: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
60
|
+
lang_iso: z.ZodString;
|
|
61
|
+
lang_iso_bcp47: z.ZodString;
|
|
62
|
+
contributors: z.ZodArray<z.ZodObject<{
|
|
63
|
+
user_id: z.ZodNumber;
|
|
64
|
+
user_uuid: z.ZodOptional<z.ZodGUID>;
|
|
65
|
+
email: z.ZodEmail;
|
|
66
|
+
fullname: z.ZodString;
|
|
67
|
+
avatar_url: z.ZodString;
|
|
68
|
+
role_id: z.ZodNullable<z.ZodNumber>;
|
|
69
|
+
is_owner: z.ZodBoolean;
|
|
70
|
+
is_admin: z.ZodBoolean;
|
|
71
|
+
is_pending: z.ZodBoolean;
|
|
72
|
+
last_logged_in_at: z.ZodNullable<z.ZodISODateTime>;
|
|
73
|
+
last_logged_in_at_timestamp: z.ZodNullable<z.ZodNumber>;
|
|
74
|
+
team_role: z.ZodString;
|
|
75
|
+
languages: z.ZodArray<z.ZodObject<{
|
|
76
|
+
lang_iso: z.ZodString;
|
|
77
|
+
lang_name: z.ZodString;
|
|
78
|
+
is_writable: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodBoolean]>;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
}, z.core.$strip>>;
|
|
81
|
+
total: z.ZodNumber;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
limit: z.ZodNumber;
|
|
84
|
+
offset: z.ZodNumber;
|
|
85
|
+
project_uuid: z.ZodGUID;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
export type ListSuggestedContributorsSuccessResponse = z.infer<typeof LIST_SUGGESTED_CONTRIBUTORS_SUCCESS_RESPONSE_BODY>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { PROJECT_PATH_PARAMS_SCHEMA } from "./pathParamsSchemas.js";
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// SUGGESTED CONTRIBUTORS (PROJECT)
|
|
5
|
+
//
|
|
6
|
+
// Self-contained copy of the project "suggested contributors" shapes originally
|
|
7
|
+
// defined in `@lokalise/workspaces-api-schemas` (suggestedContributorTypes.ts).
|
|
8
|
+
// Kept verbatim (snake_case) so the projects-engine response matches what the
|
|
9
|
+
// public API returns and the frontend can consume both flag branches unchanged.
|
|
10
|
+
// =============================================================================
|
|
11
|
+
const LOCALE_KEY = z.string().regex(/^[A-Za-z0-9]+(?:[-_][A-Za-z0-9]+)*$/, 'Invalid locale key');
|
|
12
|
+
const SUGGESTED_CONTRIBUTOR_LANGUAGE_SCHEMA = z.object({
|
|
13
|
+
lang_iso: z.string(),
|
|
14
|
+
lang_name: z.string(),
|
|
15
|
+
is_writable: z.union([
|
|
16
|
+
z.literal(0),
|
|
17
|
+
z.literal(1),
|
|
18
|
+
// The upstream API returns a boolean instead of 0/1, contrary to the spec.
|
|
19
|
+
z.boolean(),
|
|
20
|
+
]),
|
|
21
|
+
});
|
|
22
|
+
export const SUGGESTED_DEFAULT_CONTRIBUTOR_SCHEMA = z.object({
|
|
23
|
+
user_id: z.number(),
|
|
24
|
+
user_uuid: z.guid().optional(),
|
|
25
|
+
email: z.email(),
|
|
26
|
+
fullname: z.string(),
|
|
27
|
+
avatar_url: z.string(),
|
|
28
|
+
role_id: z.number().nullable(),
|
|
29
|
+
is_owner: z.boolean(),
|
|
30
|
+
is_admin: z.boolean(),
|
|
31
|
+
is_pending: z.boolean(),
|
|
32
|
+
last_logged_in_at: z.iso.datetime().nullable(),
|
|
33
|
+
last_logged_in_at_timestamp: z.number().nullable(),
|
|
34
|
+
team_role: z.string(),
|
|
35
|
+
languages: z.array(SUGGESTED_CONTRIBUTOR_LANGUAGE_SCHEMA),
|
|
36
|
+
});
|
|
37
|
+
export const SUGGESTED_CONTRIBUTORS_LANGUAGE_SCHEMA = z.object({
|
|
38
|
+
lang_iso: z.string(),
|
|
39
|
+
lang_iso_bcp47: z.string(),
|
|
40
|
+
contributors: z.array(SUGGESTED_DEFAULT_CONTRIBUTOR_SCHEMA),
|
|
41
|
+
total: z.number(),
|
|
42
|
+
});
|
|
43
|
+
export const LIST_SUGGESTED_CONTRIBUTORS_PATH_PARAMS_SCHEMA = PROJECT_PATH_PARAMS_SCHEMA;
|
|
44
|
+
export const LIST_SUGGESTED_CONTRIBUTORS_REQUEST_BODY_SCHEMA = z.object({
|
|
45
|
+
languages: z.array(LOCALE_KEY),
|
|
46
|
+
limit: z.number().int().nonnegative().optional(),
|
|
47
|
+
offset: z.number().int().nonnegative().optional(),
|
|
48
|
+
});
|
|
49
|
+
export const LIST_SUGGESTED_CONTRIBUTORS_SUCCESS_RESPONSE_BODY = z.object({
|
|
50
|
+
languages: z.record(LOCALE_KEY, SUGGESTED_CONTRIBUTORS_LANGUAGE_SCHEMA),
|
|
51
|
+
limit: z.number().int().nonnegative(),
|
|
52
|
+
offset: z.number().int().nonnegative(),
|
|
53
|
+
project_uuid: z.guid(),
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=suggestedContributorsSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestedContributorsSchemas.js","sourceRoot":"","sources":["../../src/schemas/suggestedContributorsSchemas.ts"],"names":[],"mappings":"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"}
|