decap-cms-backend-forgejo 3.4.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/src/types.ts ADDED
@@ -0,0 +1,344 @@
1
+ export type ForgejoUser = {
2
+ active: boolean;
3
+ avatar_url: string;
4
+ created: string;
5
+ description: string;
6
+ email: string;
7
+ followers_count: number;
8
+ following_count: number;
9
+ full_name: string;
10
+ id: number;
11
+ is_admin: boolean;
12
+ language: string;
13
+ last_login: string;
14
+ location: string;
15
+ login: string;
16
+ login_name?: string;
17
+ prohibit_login: boolean;
18
+ restricted: boolean;
19
+ starred_repos_count: number;
20
+ visibility: string;
21
+ website: string;
22
+ };
23
+
24
+ export type ForgejoTeam = {
25
+ can_create_org_repo: boolean;
26
+ description: string;
27
+ id: number;
28
+ includes_all_repositories: boolean;
29
+ name: string;
30
+ organization: ForgejoOrganization;
31
+ permission: string;
32
+ units: Array<string>;
33
+ units_map: Map<string, string>;
34
+ };
35
+
36
+ export type ForgejoOrganization = {
37
+ avatar_url: string;
38
+ description: string;
39
+ full_name: string;
40
+ id: number;
41
+ location: string;
42
+ name: string;
43
+ repo_admin_change_team_access: boolean;
44
+ username: string;
45
+ visibility: string;
46
+ website: string;
47
+ };
48
+
49
+ type CommitUser = {
50
+ date: string;
51
+ email: string;
52
+ name: string;
53
+ };
54
+
55
+ type CommitMeta = {
56
+ created: string;
57
+ sha: string;
58
+ url: string;
59
+ };
60
+
61
+ type PayloadUser = {
62
+ email: string;
63
+ name: string;
64
+ username: string;
65
+ };
66
+
67
+ type PayloadCommitVerification = {
68
+ payload: string;
69
+ reason: string;
70
+ signature: string;
71
+ signer: PayloadUser;
72
+ verified: boolean;
73
+ };
74
+
75
+ type ReposListCommitsResponseItemCommit = {
76
+ author: CommitUser;
77
+ committer: CommitUser;
78
+ message: string;
79
+ tree: CommitMeta;
80
+ url: string;
81
+ verification: PayloadCommitVerification;
82
+ };
83
+
84
+ type ForgejoRepositoryPermissions = {
85
+ admin: boolean;
86
+ pull: boolean;
87
+ push: boolean;
88
+ };
89
+
90
+ type ForgejoRepositoryExternalTracker = {
91
+ external_tracker_format: string;
92
+ external_tracker_regexp_pattern: string;
93
+ external_tracker_style: string;
94
+ external_tracker_url: string;
95
+ };
96
+
97
+ type ForgejoRepositoryExternalWiki = {
98
+ external_wiki_url: string;
99
+ };
100
+
101
+ type ForgejoRepositoryInternalTracker = {
102
+ allow_only_contributors_to_track_time: boolean;
103
+ enable_issue_dependencies: boolean;
104
+ enable_time_tracker: boolean;
105
+ };
106
+
107
+ type ForgejoRepositoryRepoTransfer = {
108
+ description: string;
109
+ doer: ForgejoUser;
110
+ recipient: ForgejoUser;
111
+ teams: Array<ForgejoTeam>;
112
+ enable_issue_dependencies: boolean;
113
+ enable_time_tracker: boolean;
114
+ };
115
+
116
+ export type ForgejoRepository = {
117
+ allow_merge_commits: boolean;
118
+ allow_rebase: boolean;
119
+ allow_rebase_explicit: boolean;
120
+ allow_rebase_update: boolean;
121
+ allow_squash_merge: boolean;
122
+ archived: boolean;
123
+ avatar_url: string;
124
+ clone_url: string;
125
+ created_at: string;
126
+ default_branch: string;
127
+ default_delete_branch_after_merge: boolean;
128
+ default_merge_style: boolean;
129
+ description: string;
130
+ empty: boolean;
131
+ external_tracker: ForgejoRepositoryExternalTracker;
132
+ external_wiki: ForgejoRepositoryExternalWiki;
133
+ fork: boolean;
134
+ forks_count: number;
135
+ full_name: string;
136
+ has_issues: boolean;
137
+ has_projects: boolean;
138
+ has_pull_requests: boolean;
139
+ has_wiki: boolean;
140
+ html_url: string;
141
+ id: number;
142
+ ignore_whitespace_conflicts: boolean;
143
+ internal: boolean;
144
+ internal_tracker: ForgejoRepositoryInternalTracker;
145
+ language: string;
146
+ languages_url: string;
147
+ mirror: boolean;
148
+ mirror_interval: string;
149
+ mirror_updated: string;
150
+ name: string;
151
+ open_issues_count: number;
152
+ open_pr_counter: number;
153
+ original_url: string;
154
+ owner: ForgejoUser;
155
+ parent?: { full_name: string } | null;
156
+ permissions: ForgejoRepositoryPermissions;
157
+ private: boolean;
158
+ release_counter: number;
159
+ repo_transfer: ForgejoRepositoryRepoTransfer;
160
+ size: number;
161
+ ssh_url: string;
162
+ stars_count: number;
163
+ template: boolean;
164
+ updated_at: string;
165
+ watchers_count: number;
166
+ website: string;
167
+ };
168
+
169
+ type ReposListCommitsResponseItemCommitAffectedFiles = {
170
+ filename: string;
171
+ };
172
+
173
+ type ReposListCommitsResponseItemCommitStats = {
174
+ additions: number;
175
+ deletions: number;
176
+ total: number;
177
+ };
178
+
179
+ type ReposListCommitsResponseItem = {
180
+ author: ForgejoUser;
181
+ commit: ReposListCommitsResponseItemCommit;
182
+ committer: ForgejoUser;
183
+ created: string;
184
+ files: Array<ReposListCommitsResponseItemCommitAffectedFiles>;
185
+ html_url: string;
186
+ parents: Array<CommitMeta>;
187
+ sha: string;
188
+ stats: ReposListCommitsResponseItemCommitStats;
189
+ url: string;
190
+ };
191
+
192
+ export type ReposListCommitsResponse = Array<ReposListCommitsResponseItem>;
193
+
194
+ export type GitGetBlobResponse = {
195
+ content: string;
196
+ encoding: string;
197
+ sha: string;
198
+ size: number;
199
+ url: string;
200
+ };
201
+
202
+ type GitGetTreeResponseTreeItem = {
203
+ mode: string;
204
+ path: string;
205
+ sha: string;
206
+ size?: number;
207
+ type: string;
208
+ url: string;
209
+ };
210
+
211
+ export type GitGetTreeResponse = {
212
+ page: number;
213
+ sha: string;
214
+ total_count: number;
215
+ tree: Array<GitGetTreeResponseTreeItem>;
216
+ truncated: boolean;
217
+ url: string;
218
+ };
219
+
220
+ type FileLinksResponse = {
221
+ git: string;
222
+ html: string;
223
+ self: string;
224
+ };
225
+
226
+ type ContentsResponse = {
227
+ _links: FileLinksResponse;
228
+ content?: string | null;
229
+ download_url: string;
230
+ encoding?: string | null;
231
+ git_url: string;
232
+ html_url: string;
233
+ last_commit_sha: string;
234
+ name: string;
235
+ path: string;
236
+ sha: string;
237
+ size: number;
238
+ submodule_git_url?: string | null;
239
+ target?: string | null;
240
+ type: string;
241
+ url: string;
242
+ };
243
+
244
+ type FileCommitResponse = {
245
+ author: CommitUser;
246
+ committer: CommitUser;
247
+ created: string;
248
+ html_url: string;
249
+ message: string;
250
+ parents: Array<CommitMeta>;
251
+ sha: string;
252
+ tree: CommitMeta;
253
+ url: string;
254
+ };
255
+
256
+ export type FilesResponse = {
257
+ commit: FileCommitResponse;
258
+ content: Array<ContentsResponse>;
259
+ verification: PayloadCommitVerification;
260
+ };
261
+
262
+ // Editorial Workflow Types
263
+
264
+ export type ForgejoLabel = {
265
+ id?: number;
266
+ name: string;
267
+ color?: string;
268
+ description?: string;
269
+ url?: string;
270
+ };
271
+
272
+ export type ForgejoBranch = {
273
+ commit: {
274
+ id: string;
275
+ message: string;
276
+ url: string;
277
+ author: CommitUser;
278
+ committer: CommitUser;
279
+ };
280
+ name: string;
281
+ protected: boolean;
282
+ };
283
+
284
+ export type ForgejoPullRequestHead = {
285
+ label?: string;
286
+ ref: string;
287
+ sha: string;
288
+ repo?: ForgejoRepository;
289
+ };
290
+
291
+ export type ForgejoPullRequestBase = {
292
+ label?: string;
293
+ ref?: string;
294
+ sha?: string;
295
+ repo?: ForgejoRepository;
296
+ };
297
+
298
+ // ForgejoPullRequest represents a pull request from the Forgejo API.
299
+ // Many fields are optional to accommodate:
300
+ // 1. Mock PRs used for open authoring branch-only drafts (MOCK_PULL_REQUEST)
301
+ // 2. Partial API responses that may not include all fields
302
+ export type ForgejoPullRequest = {
303
+ id?: number;
304
+ number: number;
305
+ state: 'open' | 'closed';
306
+ title?: string;
307
+ body?: string;
308
+ user?: ForgejoUser;
309
+ labels: ForgejoLabel[];
310
+ head: ForgejoPullRequestHead;
311
+ base?: ForgejoPullRequestBase;
312
+ merged?: boolean;
313
+ merged_at?: string | null;
314
+ updated_at?: string;
315
+ created_at?: string;
316
+ };
317
+
318
+ export type ForgejoChangedFile = {
319
+ filename: string;
320
+ status: 'added' | 'removed' | 'modified' | 'renamed';
321
+ additions: number;
322
+ deletions: number;
323
+ changes: number;
324
+ previous_filename?: string;
325
+ sha?: string;
326
+ };
327
+
328
+ export type ForgejoCompareCommit = {
329
+ sha: string;
330
+ commit: {
331
+ message: string;
332
+ author: {
333
+ name: string;
334
+ email: string;
335
+ date: string;
336
+ };
337
+ };
338
+ };
339
+
340
+ export type ForgejoCompareResponse = {
341
+ commits: ForgejoCompareCommit[];
342
+ files: ForgejoChangedFile[];
343
+ total_commits: number;
344
+ };
@@ -0,0 +1,3 @@
1
+ const { getConfig } = require('../../scripts/webpack.js');
2
+
3
+ module.exports = getConfig();