@symbo.ls/sdk 3.2.3 → 3.2.7
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 +141 -0
- package/dist/cjs/config/environment.js +94 -10
- package/dist/cjs/index.js +152 -12
- package/dist/cjs/services/AdminService.js +351 -0
- package/dist/cjs/services/AuthService.js +738 -305
- package/dist/cjs/services/BaseService.js +158 -6
- package/dist/cjs/services/BranchService.js +484 -0
- package/dist/cjs/services/CollabService.js +439 -116
- package/dist/cjs/services/DnsService.js +340 -0
- package/dist/cjs/services/FeatureFlagService.js +175 -0
- package/dist/cjs/services/FileService.js +201 -0
- package/dist/cjs/services/IntegrationService.js +538 -0
- package/dist/cjs/services/MetricsService.js +62 -0
- package/dist/cjs/services/PaymentService.js +271 -0
- package/dist/cjs/services/PlanService.js +426 -0
- package/dist/cjs/services/ProjectService.js +1207 -0
- package/dist/cjs/services/PullRequestService.js +503 -0
- package/dist/cjs/services/ScreenshotService.js +304 -0
- package/dist/cjs/services/SubscriptionService.js +396 -0
- package/dist/cjs/services/TrackingService.js +661 -0
- package/dist/cjs/services/WaitlistService.js +148 -0
- package/dist/cjs/services/index.js +60 -4
- package/dist/cjs/state/RootStateManager.js +2 -23
- package/dist/cjs/state/rootEventBus.js +9 -0
- package/dist/cjs/utils/CollabClient.js +78 -12
- package/dist/cjs/utils/TokenManager.js +16 -3
- package/dist/cjs/utils/changePreprocessor.js +199 -0
- package/dist/cjs/utils/jsonDiff.js +46 -4
- package/dist/cjs/utils/ordering.js +309 -0
- package/dist/cjs/utils/services.js +285 -128
- package/dist/cjs/utils/validation.js +0 -3
- package/dist/esm/config/environment.js +94 -10
- package/dist/esm/index.js +47862 -18248
- package/dist/esm/services/AdminService.js +1132 -0
- package/dist/esm/services/AuthService.js +1493 -386
- package/dist/esm/services/BaseService.js +757 -6
- package/dist/esm/services/BranchService.js +1265 -0
- package/dist/esm/services/CollabService.js +24956 -16089
- package/dist/esm/services/DnsService.js +1121 -0
- package/dist/esm/services/FeatureFlagService.js +956 -0
- package/dist/esm/services/FileService.js +982 -0
- package/dist/esm/services/IntegrationService.js +1319 -0
- package/dist/esm/services/MetricsService.js +843 -0
- package/dist/esm/services/PaymentService.js +1052 -0
- package/dist/esm/services/PlanService.js +1207 -0
- package/dist/esm/services/ProjectService.js +2526 -0
- package/dist/esm/services/PullRequestService.js +1284 -0
- package/dist/esm/services/ScreenshotService.js +1085 -0
- package/dist/esm/services/SubscriptionService.js +1177 -0
- package/dist/esm/services/TrackingService.js +18454 -0
- package/dist/esm/services/WaitlistService.js +929 -0
- package/dist/esm/services/index.js +47373 -18027
- package/dist/esm/state/RootStateManager.js +11 -23
- package/dist/esm/state/rootEventBus.js +9 -0
- package/dist/esm/utils/CollabClient.js +17526 -16120
- package/dist/esm/utils/TokenManager.js +16 -3
- package/dist/esm/utils/changePreprocessor.js +542 -0
- package/dist/esm/utils/jsonDiff.js +958 -43
- package/dist/esm/utils/ordering.js +291 -0
- package/dist/esm/utils/services.js +285 -128
- package/dist/esm/utils/validation.js +116 -50
- package/dist/node/config/environment.js +94 -10
- package/dist/node/index.js +183 -16
- package/dist/node/services/AdminService.js +332 -0
- package/dist/node/services/AuthService.js +742 -310
- package/dist/node/services/BaseService.js +148 -6
- package/dist/node/services/BranchService.js +465 -0
- package/dist/node/services/CollabService.js +439 -116
- package/dist/node/services/DnsService.js +321 -0
- package/dist/node/services/FeatureFlagService.js +156 -0
- package/dist/node/services/FileService.js +182 -0
- package/dist/node/services/IntegrationService.js +519 -0
- package/dist/node/services/MetricsService.js +43 -0
- package/dist/node/services/PaymentService.js +252 -0
- package/dist/node/services/PlanService.js +407 -0
- package/dist/node/services/ProjectService.js +1188 -0
- package/dist/node/services/PullRequestService.js +484 -0
- package/dist/node/services/ScreenshotService.js +285 -0
- package/dist/node/services/SubscriptionService.js +377 -0
- package/dist/node/services/TrackingService.js +632 -0
- package/dist/node/services/WaitlistService.js +129 -0
- package/dist/node/services/index.js +60 -4
- package/dist/node/state/RootStateManager.js +2 -23
- package/dist/node/state/rootEventBus.js +9 -0
- package/dist/node/utils/CollabClient.js +77 -11
- package/dist/node/utils/TokenManager.js +16 -3
- package/dist/node/utils/changePreprocessor.js +180 -0
- package/dist/node/utils/jsonDiff.js +46 -4
- package/dist/node/utils/ordering.js +290 -0
- package/dist/node/utils/services.js +285 -128
- package/dist/node/utils/validation.js +0 -3
- package/package.json +30 -18
- package/src/config/environment.js +95 -10
- package/src/index.js +190 -23
- package/src/services/AdminService.js +374 -0
- package/src/services/AuthService.js +874 -328
- package/src/services/BaseService.js +166 -6
- package/src/services/BranchService.js +536 -0
- package/src/services/CollabService.js +557 -148
- package/src/services/DnsService.js +366 -0
- package/src/services/FeatureFlagService.js +174 -0
- package/src/services/FileService.js +213 -0
- package/src/services/IntegrationService.js +548 -0
- package/src/services/MetricsService.js +40 -0
- package/src/services/PaymentService.js +287 -0
- package/src/services/PlanService.js +468 -0
- package/src/services/ProjectService.js +1366 -0
- package/src/services/PullRequestService.js +537 -0
- package/src/services/ScreenshotService.js +258 -0
- package/src/services/SubscriptionService.js +425 -0
- package/src/services/TrackingService.js +853 -0
- package/src/services/WaitlistService.js +130 -0
- package/src/services/index.js +79 -5
- package/src/services/tests/BranchService/createBranch.test.js +153 -0
- package/src/services/tests/BranchService/deleteBranch.test.js +173 -0
- package/src/services/tests/BranchService/getBranchChanges.test.js +146 -0
- package/src/services/tests/BranchService/listBranches.test.js +87 -0
- package/src/services/tests/BranchService/mergeBranch.test.js +210 -0
- package/src/services/tests/BranchService/publishVersion.test.js +183 -0
- package/src/services/tests/BranchService/renameBranch.test.js +240 -0
- package/src/services/tests/BranchService/resetBranch.test.js +152 -0
- package/src/services/tests/FeatureFlagService/adminFeatureFlags.test.js +67 -0
- package/src/services/tests/FeatureFlagService/getFeatureFlags.test.js +75 -0
- package/src/services/tests/FileService/createFileFormData.test.js +74 -0
- package/src/services/tests/FileService/getFileUrl.test.js +69 -0
- package/src/services/tests/FileService/updateProjectIcon.test.js +109 -0
- package/src/services/tests/FileService/uploadDocument.test.js +36 -0
- package/src/services/tests/FileService/uploadFile.test.js +78 -0
- package/src/services/tests/FileService/uploadFileWithValidation.test.js +114 -0
- package/src/services/tests/FileService/uploadImage.test.js +36 -0
- package/src/services/tests/FileService/uploadMultipleFiles.test.js +111 -0
- package/src/services/tests/FileService/validateFile.test.js +63 -0
- package/src/services/tests/PlanService/createPlan.test.js +104 -0
- package/src/services/tests/PlanService/createPlanWithValidation.test.js +523 -0
- package/src/services/tests/PlanService/deletePlan.test.js +92 -0
- package/src/services/tests/PlanService/getActivePlans.test.js +123 -0
- package/src/services/tests/PlanService/getAdminPlans.test.js +84 -0
- package/src/services/tests/PlanService/getPlan.test.js +50 -0
- package/src/services/tests/PlanService/getPlanByKey.test.js +109 -0
- package/src/services/tests/PlanService/getPlanWithValidation.test.js +85 -0
- package/src/services/tests/PlanService/getPlans.test.js +53 -0
- package/src/services/tests/PlanService/getPlansByPriceRange.test.js +109 -0
- package/src/services/tests/PlanService/getPlansWithValidation.test.js +48 -0
- package/src/services/tests/PlanService/initializePlans.test.js +75 -0
- package/src/services/tests/PlanService/updatePlan.test.js +111 -0
- package/src/services/tests/PlanService/updatePlanWithValidation.test.js +556 -0
- package/src/state/RootStateManager.js +37 -32
- package/src/state/rootEventBus.js +19 -0
- package/src/utils/CollabClient.js +99 -12
- package/src/utils/TokenManager.js +20 -3
- package/src/utils/changePreprocessor.js +239 -0
- package/src/utils/jsonDiff.js +40 -5
- package/src/utils/ordering.js +271 -0
- package/src/utils/services.js +306 -139
- package/src/utils/validation.js +0 -3
- package/dist/cjs/services/AIService.js +0 -155
- package/dist/cjs/services/BasedService.js +0 -1185
- package/dist/cjs/services/CoreService.js +0 -2295
- package/dist/cjs/services/SocketService.js +0 -309
- package/dist/cjs/services/SymstoryService.js +0 -571
- package/dist/cjs/utils/basedQuerys.js +0 -181
- package/dist/cjs/utils/symstoryClient.js +0 -259
- package/dist/esm/services/AIService.js +0 -185
- package/dist/esm/services/BasedService.js +0 -5262
- package/dist/esm/services/CoreService.js +0 -2827
- package/dist/esm/services/SocketService.js +0 -456
- package/dist/esm/services/SymstoryService.js +0 -7025
- package/dist/esm/utils/basedQuerys.js +0 -163
- package/dist/esm/utils/symstoryClient.js +0 -354
- package/dist/node/services/AIService.js +0 -136
- package/dist/node/services/BasedService.js +0 -1156
- package/dist/node/services/CoreService.js +0 -2266
- package/dist/node/services/SocketService.js +0 -280
- package/dist/node/services/SymstoryService.js +0 -542
- package/dist/node/utils/basedQuerys.js +0 -162
- package/dist/node/utils/symstoryClient.js +0 -230
- package/src/services/AIService.js +0 -150
- package/src/services/BasedService.js +0 -1302
- package/src/services/CoreService.js +0 -2548
- package/src/services/SocketService.js +0 -336
- package/src/services/SymstoryService.js +0 -649
- package/src/utils/basedQuerys.js +0 -164
- package/src/utils/symstoryClient.js +0 -252
package/src/utils/basedQuerys.js
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
// deprecated
|
|
2
|
-
export const buildProjectQuery = projectId => ({
|
|
3
|
-
$id: projectId,
|
|
4
|
-
$all: true,
|
|
5
|
-
createdAt: true,
|
|
6
|
-
updatedAt: true,
|
|
7
|
-
package: true,
|
|
8
|
-
schema: true,
|
|
9
|
-
bucket: true,
|
|
10
|
-
settings: true,
|
|
11
|
-
tier: true,
|
|
12
|
-
members: {
|
|
13
|
-
$list: { $inherit: true },
|
|
14
|
-
id: true,
|
|
15
|
-
name: true,
|
|
16
|
-
username: true,
|
|
17
|
-
email: true,
|
|
18
|
-
state: true,
|
|
19
|
-
roles: {
|
|
20
|
-
$list: { $inherit: true },
|
|
21
|
-
$all: true
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
users: {
|
|
25
|
-
$list: { $inherit: true },
|
|
26
|
-
$all: true
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
// deprecated
|
|
31
|
-
export const buildUserQuery = userId => ({
|
|
32
|
-
$id: userId,
|
|
33
|
-
name: true,
|
|
34
|
-
username: true,
|
|
35
|
-
email: true,
|
|
36
|
-
state: true,
|
|
37
|
-
roles: {
|
|
38
|
-
$list: { $inherit: true },
|
|
39
|
-
$all: true
|
|
40
|
-
}
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
export const buildGetUserDataQuery = userId => ({
|
|
44
|
-
$id: userId,
|
|
45
|
-
id: true,
|
|
46
|
-
name: true,
|
|
47
|
-
email: true,
|
|
48
|
-
username: true,
|
|
49
|
-
globalRole: true,
|
|
50
|
-
updatedAt: true,
|
|
51
|
-
createdAt: true,
|
|
52
|
-
memberProjects: {
|
|
53
|
-
$list: true,
|
|
54
|
-
id: true,
|
|
55
|
-
role: true,
|
|
56
|
-
createdAt: true,
|
|
57
|
-
updatedAt: true,
|
|
58
|
-
project: {
|
|
59
|
-
id: true,
|
|
60
|
-
key: true,
|
|
61
|
-
name: true,
|
|
62
|
-
thumbnail: true,
|
|
63
|
-
icon: true,
|
|
64
|
-
tier: true,
|
|
65
|
-
visibility: true,
|
|
66
|
-
access: true,
|
|
67
|
-
members: {
|
|
68
|
-
$list: true,
|
|
69
|
-
user: {
|
|
70
|
-
id: true,
|
|
71
|
-
name: true,
|
|
72
|
-
email: true,
|
|
73
|
-
globalRole: true
|
|
74
|
-
},
|
|
75
|
-
role: true,
|
|
76
|
-
updatedAt: true,
|
|
77
|
-
createdAt: true
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
export const buildGetProjectsByKeysQuery = keys => (
|
|
84
|
-
{
|
|
85
|
-
projects: {
|
|
86
|
-
id: true,
|
|
87
|
-
key: true,
|
|
88
|
-
name: true,
|
|
89
|
-
thumbnail: true,
|
|
90
|
-
icon: true,
|
|
91
|
-
tier: true,
|
|
92
|
-
visibility: true,
|
|
93
|
-
access: true,
|
|
94
|
-
members: {
|
|
95
|
-
$list: true,
|
|
96
|
-
user: {
|
|
97
|
-
id: true,
|
|
98
|
-
name: true,
|
|
99
|
-
email: true,
|
|
100
|
-
globalRole: true
|
|
101
|
-
},
|
|
102
|
-
role: true,
|
|
103
|
-
updatedAt: true,
|
|
104
|
-
createdAt: true
|
|
105
|
-
},
|
|
106
|
-
$list: {
|
|
107
|
-
$find: {
|
|
108
|
-
$traverse: "children",
|
|
109
|
-
$filter: [
|
|
110
|
-
{ $field: "type", $operator: "=", $value: "project" },
|
|
111
|
-
{ $field: "key", $operator: "=", $value: keys }
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
)
|
|
118
|
-
|
|
119
|
-
const GetProjectFields = {
|
|
120
|
-
id: true,
|
|
121
|
-
name: true,
|
|
122
|
-
key: true,
|
|
123
|
-
tier: true,
|
|
124
|
-
projectType: true,
|
|
125
|
-
icon: true,
|
|
126
|
-
package: true,
|
|
127
|
-
seats: true,
|
|
128
|
-
projectPassword: true,
|
|
129
|
-
stripe: true,
|
|
130
|
-
payments:{
|
|
131
|
-
$list: true,
|
|
132
|
-
id: true,
|
|
133
|
-
name: true
|
|
134
|
-
},
|
|
135
|
-
access: true,
|
|
136
|
-
isSharedLibrary: true,
|
|
137
|
-
framework: true,
|
|
138
|
-
designTool: true,
|
|
139
|
-
language: true,
|
|
140
|
-
visibility: true,
|
|
141
|
-
domains: true,
|
|
142
|
-
subscription:{id: true},
|
|
143
|
-
members: {
|
|
144
|
-
$list: true,
|
|
145
|
-
user: {id: true, name: true, email: true},
|
|
146
|
-
role: true,
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
export const buildGetProjectDataQuery = projectId => ({
|
|
151
|
-
$id: projectId,
|
|
152
|
-
...GetProjectFields
|
|
153
|
-
})
|
|
154
|
-
|
|
155
|
-
export const buildGetProjectByKeyDataQuery = key => ({
|
|
156
|
-
...GetProjectFields,
|
|
157
|
-
$find: {
|
|
158
|
-
$traverse: 'children',
|
|
159
|
-
$filter: [
|
|
160
|
-
{ $field: 'type', $operator: '=', $value: 'project' },
|
|
161
|
-
{ $field: 'key', $operator: '=', $value: key }
|
|
162
|
-
]
|
|
163
|
-
}
|
|
164
|
-
})
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import config from '../config/environment.js'
|
|
2
|
-
|
|
3
|
-
const DEFAULT_OPTIONS = {
|
|
4
|
-
apiUrl: config.apiUrl
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
class SymstoryClient {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of SymstoryClient.
|
|
10
|
-
* @param {string} appKey - The application key.
|
|
11
|
-
* @param {object} [options={}] - The options for the client.
|
|
12
|
-
*/
|
|
13
|
-
constructor (appKey, options = {}) {
|
|
14
|
-
if (!appKey) {
|
|
15
|
-
throw new Error('AppKey is required')
|
|
16
|
-
}
|
|
17
|
-
this.appKey = appKey
|
|
18
|
-
this.options = { ...DEFAULT_OPTIONS, ...options }
|
|
19
|
-
this.headers = {
|
|
20
|
-
'Content-Type': 'application/json',
|
|
21
|
-
...this.options.headers,
|
|
22
|
-
'X-AppKey': appKey
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Makes a request to the Symstory service.
|
|
28
|
-
* @param {string} [path=''] - The request path.
|
|
29
|
-
* @param {object} [options={}] - The request options.
|
|
30
|
-
* @returns {Promise<any>} - The response data.
|
|
31
|
-
*/
|
|
32
|
-
async request (path = '', options = {}) {
|
|
33
|
-
const url = `${this.options.apiUrl}/symstory/${this.appKey}${path}`
|
|
34
|
-
const response = await fetch(url, {
|
|
35
|
-
...options,
|
|
36
|
-
headers: { ...this.headers, ...options.headers }
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
if (!response.ok) {
|
|
40
|
-
const error = await response.json()
|
|
41
|
-
throw new Error(error.message || error.error || 'Request failed')
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return response.status === 204 ? null : response.json()
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Fetches project data.
|
|
49
|
-
* @param {object} query - The query object to filter data.
|
|
50
|
-
* @param {string|null} [branch=null] - The branch name.
|
|
51
|
-
* @param {string|null} [version=null] - The version number.
|
|
52
|
-
* @returns {Promise<any>} - The project data.
|
|
53
|
-
*/
|
|
54
|
-
get (query, branch = null, version = null) {
|
|
55
|
-
const params = new URLSearchParams({
|
|
56
|
-
...(branch && { branch }),
|
|
57
|
-
...(version ? { version } : { cacheId: Math.random() }),
|
|
58
|
-
...(query && { query: JSON.stringify(query) })
|
|
59
|
-
})
|
|
60
|
-
return this.request(`?${params}`)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Sets a value at the specified path.
|
|
65
|
-
* @param {string} path - The path where the value should be set.
|
|
66
|
-
* @param {any} value - The value to set.
|
|
67
|
-
* @returns {Promise<any>} - The response data.
|
|
68
|
-
*/
|
|
69
|
-
set (path, value) {
|
|
70
|
-
return this.request('', {
|
|
71
|
-
method: 'POST',
|
|
72
|
-
body: JSON.stringify({ changes: [['update', path, value]] })
|
|
73
|
-
})
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Updates project data.
|
|
78
|
-
* @param {Array} changes - The changes to apply.
|
|
79
|
-
* @param {object} [options={}] - The update options.
|
|
80
|
-
* @param {string} [options.type='patch'] - The type of update.
|
|
81
|
-
* @param {string} [options.message=''] - A message describing the update.
|
|
82
|
-
* @param {string} [options.branch='main'] - The branch name.
|
|
83
|
-
* @returns {Promise<any>} - The response data.
|
|
84
|
-
*/
|
|
85
|
-
async update (
|
|
86
|
-
changes,
|
|
87
|
-
{ type = 'patch', message = '', branch = 'main' } = {}
|
|
88
|
-
) {
|
|
89
|
-
return await this.request('', {
|
|
90
|
-
method: 'POST',
|
|
91
|
-
body: JSON.stringify({ changes, type, message, branch })
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Retrieves all branches of the project.
|
|
97
|
-
* @returns {Promise<any>} - The branches data.
|
|
98
|
-
*/
|
|
99
|
-
getBranches () {
|
|
100
|
-
return this.request('/branches')
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Creates a new branch.
|
|
105
|
-
* @param {string} branch - The name of the new branch.
|
|
106
|
-
* @param {object} [options={}] - The branch creation options.
|
|
107
|
-
* @param {string} [options.message] - A message describing the branch creation.
|
|
108
|
-
* @param {string} [options.source='main'] - The source branch.
|
|
109
|
-
* @param {string} [options.version] - The version number.
|
|
110
|
-
* @returns {Promise<any>} - The response data.
|
|
111
|
-
*/
|
|
112
|
-
createBranch (branch, { message, source = 'main', version } = {}) {
|
|
113
|
-
return this.request('/branch', {
|
|
114
|
-
method: 'POST',
|
|
115
|
-
body: JSON.stringify({ branch, message, source, version })
|
|
116
|
-
})
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Edit an existing branch. (For now only supports branch renaming)
|
|
121
|
-
* @param {string} branch - The current name of the branch to edit.
|
|
122
|
-
* @param {object} [options={}] - The branch edit options.
|
|
123
|
-
* @param {string} [options.name] - New name for the branch
|
|
124
|
-
* @returns {Promise<any>} - The response data.
|
|
125
|
-
*/
|
|
126
|
-
editBranch (branch, { name } = {}) {
|
|
127
|
-
return this.request('/branch', {
|
|
128
|
-
method: 'PATCH',
|
|
129
|
-
body: JSON.stringify({ branch, name })
|
|
130
|
-
})
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Delete an existing branch.
|
|
135
|
-
* @param {string} branch - The name of the branch to delete.
|
|
136
|
-
* @returns {Promise<any>} - The response data.
|
|
137
|
-
*/
|
|
138
|
-
deleteBranch (branch) {
|
|
139
|
-
return this.request('/branch', {
|
|
140
|
-
method: 'DELETE',
|
|
141
|
-
body: JSON.stringify({ branch })
|
|
142
|
-
})
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Merges a branch into the target branch.
|
|
147
|
-
* @param {string} target - The target branch.
|
|
148
|
-
* @param {object} [options={}] - The merge options.
|
|
149
|
-
* @param {string} [options.message] - A message describing the merge.
|
|
150
|
-
* @param {string} [options.source='main'] - The source branch.
|
|
151
|
-
* @param {string} [options.type='patch'] - The type of merge.
|
|
152
|
-
* @param {string} [options.version] - The version number.
|
|
153
|
-
* @param {boolean} [options.commit='false'] - Whether to commit the merge.
|
|
154
|
-
* @param {Array} [options.changes] - The changes to apply during the merge.
|
|
155
|
-
* @returns {Promise<any>} - The response data.
|
|
156
|
-
*/
|
|
157
|
-
mergeBranch (
|
|
158
|
-
target,
|
|
159
|
-
{
|
|
160
|
-
message,
|
|
161
|
-
source = 'main',
|
|
162
|
-
type = 'patch',
|
|
163
|
-
version,
|
|
164
|
-
commit = 'false',
|
|
165
|
-
changes
|
|
166
|
-
} = {}
|
|
167
|
-
) {
|
|
168
|
-
return this.request('/merge', {
|
|
169
|
-
method: 'POST',
|
|
170
|
-
body: JSON.stringify({
|
|
171
|
-
target,
|
|
172
|
-
source,
|
|
173
|
-
message,
|
|
174
|
-
type,
|
|
175
|
-
version,
|
|
176
|
-
commit,
|
|
177
|
-
changes
|
|
178
|
-
})
|
|
179
|
-
})
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Restores an older version of the project.
|
|
184
|
-
* @param {string} version - The version number to restore.
|
|
185
|
-
* @param {object} [options={}] - The restore options.
|
|
186
|
-
* @param {string} [options.branch='main'] - The branch name.
|
|
187
|
-
* @param {string} [options.type='patch'] - The type of restore.
|
|
188
|
-
* @param {string} [options.message] - A message describing the restore.
|
|
189
|
-
* @returns {Promise<any>} - The response data.
|
|
190
|
-
*/
|
|
191
|
-
restoreVersion (version, { branch = 'main', type = 'patch', message } = {}) {
|
|
192
|
-
return this.request('/restore', {
|
|
193
|
-
method: 'POST',
|
|
194
|
-
body: JSON.stringify({ branch, version, type, message })
|
|
195
|
-
})
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Publishes an existing version of the project.
|
|
200
|
-
* @param {string} version - The version ID/number to publish.
|
|
201
|
-
* @param {object} [options={}] - The publishing options.
|
|
202
|
-
* @param {string} [options.branch='main'] - The branch name. (Only if version number is provided)
|
|
203
|
-
* @returns {Promise<any>} - The response data.
|
|
204
|
-
*/
|
|
205
|
-
publishVersion (version) {
|
|
206
|
-
return this.request('/publish', {
|
|
207
|
-
method: 'POST',
|
|
208
|
-
body: JSON.stringify({ version })
|
|
209
|
-
})
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Retrieves all changes after a specific version.
|
|
214
|
-
* @param {object} [options={}] - The changes options.
|
|
215
|
-
* @param {string} [options.versionId] - The version ID to publish.
|
|
216
|
-
* @param {string} [options.versionValue] - The version ID to publish. (alternative to versionId)
|
|
217
|
-
* @param {string} [options.branch] - The branch to publish (Only in combination to versionValue)
|
|
218
|
-
* @returns {Promise<any>} - The changes data.
|
|
219
|
-
*/
|
|
220
|
-
getChanges ({ versionId, versionValue, branch } = {}) {
|
|
221
|
-
return this.request(
|
|
222
|
-
`/changes?${
|
|
223
|
-
new URLSearchParams({
|
|
224
|
-
...(versionId ? { versionId } : {}),
|
|
225
|
-
...(versionValue ? { versionValue } : {}),
|
|
226
|
-
...(branch ? { branch } : {})
|
|
227
|
-
}).toString()}`,
|
|
228
|
-
{}
|
|
229
|
-
)
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
export default {
|
|
234
|
-
/**
|
|
235
|
-
* Creates a new SymstoryClient instance.
|
|
236
|
-
* @param {string} appKey - The application key.
|
|
237
|
-
* @param {object} options - The options for the client.
|
|
238
|
-
* @returns {SymstoryClient} - The SymstoryClient instance.
|
|
239
|
-
*/
|
|
240
|
-
create: (appKey, options) => new SymstoryClient(appKey, options),
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Initializes the Symstory client.
|
|
244
|
-
* @param {string} appKey - The application key.
|
|
245
|
-
* @param {object} options - The options for the client.
|
|
246
|
-
* @returns {SymstoryClient} - The initialized SymstoryClient instance.
|
|
247
|
-
*/
|
|
248
|
-
init (appKey, options) {
|
|
249
|
-
this.client = this.create(appKey, options)
|
|
250
|
-
return this
|
|
251
|
-
}
|
|
252
|
-
}
|