mirror of https://github.com/Squidex/squidex.git
Browse Source
* Verify * Tests fixed. * Another test fix. * Improved tests. * Cleanup. * Test fixes * Another search fix. * Remove slow testpull/909/head
committed by
GitHub
109 changed files with 3365 additions and 290 deletions
@ -0,0 +1,65 @@ |
|||
{ |
|||
name: Guid_1, |
|||
version: 2, |
|||
id: Guid_2, |
|||
canAccessContent: true, |
|||
_links: { |
|||
assets: { |
|||
method: GET |
|||
}, |
|||
assets/create: { |
|||
method: POST |
|||
}, |
|||
assets/scripts: { |
|||
method: DELETE |
|||
}, |
|||
backups: { |
|||
method: GET |
|||
}, |
|||
clients: { |
|||
method: GET |
|||
}, |
|||
contributors: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
image/delete: { |
|||
method: DELETE |
|||
}, |
|||
image/upload: { |
|||
method: POST |
|||
}, |
|||
languages: { |
|||
method: GET |
|||
}, |
|||
ping: { |
|||
method: GET |
|||
}, |
|||
plans: { |
|||
method: GET |
|||
}, |
|||
roles: { |
|||
method: GET |
|||
}, |
|||
rules: { |
|||
method: GET |
|||
}, |
|||
schemas: { |
|||
method: GET |
|||
}, |
|||
schemas/create: { |
|||
method: POST |
|||
}, |
|||
settings: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
workflows: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,65 @@ |
|||
{ |
|||
name: Guid_1, |
|||
version: 2, |
|||
id: Guid_2, |
|||
canAccessContent: true, |
|||
_links: { |
|||
assets: { |
|||
method: GET |
|||
}, |
|||
assets/create: { |
|||
method: POST |
|||
}, |
|||
assets/scripts: { |
|||
method: DELETE |
|||
}, |
|||
backups: { |
|||
method: GET |
|||
}, |
|||
clients: { |
|||
method: GET |
|||
}, |
|||
contributors: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
image/delete: { |
|||
method: DELETE |
|||
}, |
|||
image/upload: { |
|||
method: POST |
|||
}, |
|||
languages: { |
|||
method: GET |
|||
}, |
|||
ping: { |
|||
method: GET |
|||
}, |
|||
plans: { |
|||
method: GET |
|||
}, |
|||
roles: { |
|||
method: GET |
|||
}, |
|||
rules: { |
|||
method: GET |
|||
}, |
|||
schemas: { |
|||
method: GET |
|||
}, |
|||
schemas/create: { |
|||
method: POST |
|||
}, |
|||
settings: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
workflows: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
{ |
|||
id: Guid_1, |
|||
name: Guid_1, |
|||
role: Editor, |
|||
allowAnonymous: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
id: default, |
|||
name: default, |
|||
role: Owner, |
|||
allowAnonymous: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
id: default, |
|||
name: default, |
|||
role: Owner, |
|||
allowAnonymous: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
id: Guid_1, |
|||
name: My Client, |
|||
role: Owner, |
|||
apiCallsLimit: 100, |
|||
apiTrafficLimit: 200, |
|||
allowAnonymous: true, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
{ |
|||
role: Developer, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: POST |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
{ |
|||
maxContributors: -1, |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
contributorId: 62e7ef6018142ae0daa22fb2, |
|||
contributorName: 5a1671f5-5651-415c-95a3-9e29bc83658e@squidex.io, |
|||
contributorEmail: 5a1671f5-5651-415c-95a3-9e29bc83658e@squidex.io, |
|||
role: Owner, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: POST |
|||
} |
|||
} |
|||
} |
|||
], |
|||
maxContributors: -1, |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1 @@ |
|||
|
|||
@ -0,0 +1,65 @@ |
|||
{ |
|||
name: Guid_1, |
|||
version: 2, |
|||
id: Guid_2, |
|||
canAccessContent: true, |
|||
_links: { |
|||
assets: { |
|||
method: GET |
|||
}, |
|||
assets/create: { |
|||
method: POST |
|||
}, |
|||
assets/scripts: { |
|||
method: DELETE |
|||
}, |
|||
backups: { |
|||
method: GET |
|||
}, |
|||
clients: { |
|||
method: GET |
|||
}, |
|||
contributors: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
image/delete: { |
|||
method: DELETE |
|||
}, |
|||
image/upload: { |
|||
method: POST |
|||
}, |
|||
languages: { |
|||
method: GET |
|||
}, |
|||
ping: { |
|||
method: GET |
|||
}, |
|||
plans: { |
|||
method: GET |
|||
}, |
|||
roles: { |
|||
method: GET |
|||
}, |
|||
rules: { |
|||
method: GET |
|||
}, |
|||
schemas: { |
|||
method: GET |
|||
}, |
|||
schemas/create: { |
|||
method: POST |
|||
}, |
|||
settings: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
workflows: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,396 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
id: Guid_1, |
|||
name: pages, |
|||
properties: { |
|||
label: Pages, |
|||
validateOnPublish: false |
|||
}, |
|||
isPublished: true, |
|||
version: 7, |
|||
scripts: { |
|||
create: |
|||
|
|||
var data = ctx.data; |
|||
|
|||
if (data.title && data.title.iv) { |
|||
data.slug = { iv: slugify(data.title.iv) }; |
|||
|
|||
replace(data); |
|||
}, |
|||
update: |
|||
|
|||
var data = ctx.data; |
|||
|
|||
if (data.title && data.title.iv) { |
|||
data.slug = { iv: slugify(data.title.iv) }; |
|||
|
|||
replace(data); |
|||
} |
|||
}, |
|||
fields: [ |
|||
{ |
|||
fieldId: 1, |
|||
name: title, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: false, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
maxLength: 100, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
label: Title, |
|||
hints: The title of the page., |
|||
isRequired: true, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
fieldId: 2, |
|||
name: text, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: false, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
editor: RichText, |
|||
label: Text, |
|||
hints: The text of the page., |
|||
isRequired: true, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
fieldId: 3, |
|||
name: slug, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: true, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
label: Slug (Autogenerated), |
|||
hints: Autogenerated slug that can be used to identity the page., |
|||
isRequired: false, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
enable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
contents: { |
|||
method: GET |
|||
}, |
|||
contents/create: { |
|||
method: POST |
|||
}, |
|||
contents/create/publish: { |
|||
method: POST |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
fields/add: { |
|||
method: POST |
|||
}, |
|||
fields/order: { |
|||
method: PUT |
|||
}, |
|||
fields/ui: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
unpublish: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
update/category: { |
|||
method: PUT |
|||
}, |
|||
update/rules: { |
|||
method: PUT |
|||
}, |
|||
update/scripts: { |
|||
method: PUT |
|||
}, |
|||
update/sync: { |
|||
method: PUT |
|||
}, |
|||
update/urls: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
id: Guid_2, |
|||
name: posts, |
|||
properties: { |
|||
label: Posts, |
|||
validateOnPublish: false |
|||
}, |
|||
isPublished: true, |
|||
version: 7, |
|||
scripts: { |
|||
create: |
|||
|
|||
var data = ctx.data; |
|||
|
|||
if (data.title && data.title.iv) { |
|||
data.slug = { iv: slugify(data.title.iv) }; |
|||
|
|||
replace(data); |
|||
}, |
|||
update: |
|||
|
|||
var data = ctx.data; |
|||
|
|||
if (data.title && data.title.iv) { |
|||
data.slug = { iv: slugify(data.title.iv) }; |
|||
|
|||
replace(data); |
|||
} |
|||
}, |
|||
fields: [ |
|||
{ |
|||
fieldId: 1, |
|||
name: title, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: false, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
maxLength: 100, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
label: Title, |
|||
hints: The title of the post., |
|||
isRequired: true, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
fieldId: 2, |
|||
name: text, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: false, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
editor: RichText, |
|||
label: Text, |
|||
hints: The text of the post., |
|||
isRequired: true, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
fieldId: 3, |
|||
name: slug, |
|||
isHidden: false, |
|||
isLocked: false, |
|||
isDisabled: true, |
|||
partitioning: invariant, |
|||
properties: { |
|||
fieldType: String, |
|||
isUnique: false, |
|||
isEmbeddable: false, |
|||
inlineEditable: false, |
|||
createEnum: false, |
|||
label: Slug (Autogenerated), |
|||
hints: Autogenerated slug that can be used to identity the post., |
|||
isRequired: false, |
|||
isRequiredOnPublish: false, |
|||
isHalfWidth: false |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
enable: { |
|||
method: PUT |
|||
}, |
|||
hide: { |
|||
method: PUT |
|||
}, |
|||
lock: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
contents: { |
|||
method: GET |
|||
}, |
|||
contents/create: { |
|||
method: POST |
|||
}, |
|||
contents/create/publish: { |
|||
method: POST |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
fields/add: { |
|||
method: POST |
|||
}, |
|||
fields/order: { |
|||
method: PUT |
|||
}, |
|||
fields/ui: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
unpublish: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
update/category: { |
|||
method: PUT |
|||
}, |
|||
update/rules: { |
|||
method: PUT |
|||
}, |
|||
update/scripts: { |
|||
method: PUT |
|||
}, |
|||
update/sync: { |
|||
method: PUT |
|||
}, |
|||
update/urls: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
iso2Code: en, |
|||
englishName: English, |
|||
isMaster: true, |
|||
isOptional: false |
|||
}, |
|||
{ |
|||
iso2Code: abc, |
|||
englishName: , |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
iso2Code: xyz, |
|||
englishName: , |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
iso2Code: en, |
|||
englishName: English, |
|||
isMaster: true, |
|||
isOptional: false |
|||
}, |
|||
{ |
|||
iso2Code: de, |
|||
englishName: German, |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
iso2Code: it, |
|||
englishName: Italian, |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
iso2Code: en, |
|||
englishName: English, |
|||
isMaster: true, |
|||
isOptional: false |
|||
}, |
|||
{ |
|||
iso2Code: it, |
|||
englishName: Italian, |
|||
isMaster: false, |
|||
isOptional: true, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
iso2Code: en, |
|||
englishName: English, |
|||
isMaster: true, |
|||
isOptional: false |
|||
}, |
|||
{ |
|||
iso2Code: de, |
|||
englishName: German, |
|||
fallback: [ |
|||
it |
|||
], |
|||
isMaster: false, |
|||
isOptional: true, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
iso2Code: it, |
|||
englishName: Italian, |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
iso2Code: it, |
|||
englishName: Italian, |
|||
isMaster: true, |
|||
isOptional: false |
|||
}, |
|||
{ |
|||
iso2Code: de, |
|||
englishName: German, |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
iso2Code: en, |
|||
englishName: English, |
|||
isMaster: false, |
|||
isOptional: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
{ |
|||
isDefaultRole: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
{ |
|||
isDefaultRole: false, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
{ |
|||
isDefaultRole: false, |
|||
permissions: [ |
|||
a, |
|||
b |
|||
], |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
{ |
|||
patterns: [ |
|||
{ |
|||
name: pattern, |
|||
regex: .* |
|||
} |
|||
], |
|||
editors: [ |
|||
{ |
|||
name: editor, |
|||
url: http://squidex.io/path/to/editor |
|||
} |
|||
], |
|||
hideScheduler: false, |
|||
hideDateTimeModeButton: false, |
|||
_links: { |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
{ |
|||
id: Guid_1, |
|||
name: Guid_2, |
|||
steps: { |
|||
Archived: { |
|||
transitions: { |
|||
Draft: {} |
|||
}, |
|||
color: #eb3142, |
|||
validate: false, |
|||
noUpdate: true |
|||
}, |
|||
Draft: { |
|||
transitions: { |
|||
Archived: {}, |
|||
Published: {} |
|||
}, |
|||
color: #8091a5, |
|||
validate: false, |
|||
noUpdate: false |
|||
}, |
|||
Published: { |
|||
transitions: { |
|||
Archived: {}, |
|||
Draft: {} |
|||
}, |
|||
color: #4bb958, |
|||
validate: false, |
|||
noUpdate: false |
|||
} |
|||
}, |
|||
initial: Draft, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
{ |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
{ |
|||
items: [ |
|||
{ |
|||
id: Guid_1, |
|||
name: Guid_2, |
|||
steps: { |
|||
Draft: { |
|||
transitions: { |
|||
Published: {} |
|||
}, |
|||
validate: false, |
|||
noUpdate: false |
|||
}, |
|||
Published: { |
|||
validate: false, |
|||
noUpdate: false |
|||
} |
|||
}, |
|||
initial: Draft, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
], |
|||
_links: { |
|||
create: { |
|||
method: POST |
|||
}, |
|||
self: { |
|||
method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -1,100 +0,0 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using Squidex.ClientLibrary.Management; |
|||
using TestSuite.Fixtures; |
|||
|
|||
namespace TestSuite.ApiTests |
|||
{ |
|||
public class AssetFixture : CreatedAppFixture |
|||
{ |
|||
public async Task<MemoryStream> DownloadAsync(AssetDto asset, int? version = null) |
|||
{ |
|||
var temp = new MemoryStream(); |
|||
|
|||
using (var client = new HttpClient()) |
|||
{ |
|||
client.BaseAddress = new Uri(ServerUrl); |
|||
|
|||
var url = asset._links["content"].Href[1..]; |
|||
|
|||
if (version > 0) |
|||
{ |
|||
url += $"?version={version}"; |
|||
} |
|||
|
|||
var response = await client.GetAsync(url); |
|||
|
|||
response.EnsureSuccessStatusCode(); |
|||
|
|||
await using (var stream = await response.Content.ReadAsStreamAsync()) |
|||
{ |
|||
await stream.CopyToAsync(temp); |
|||
} |
|||
} |
|||
|
|||
return temp; |
|||
} |
|||
|
|||
public async Task<AssetDto> UploadFileAsync(string path, AssetDto asset, string fileName = null) |
|||
{ |
|||
var fileInfo = new FileInfo(path); |
|||
|
|||
await using (var stream = fileInfo.OpenRead()) |
|||
{ |
|||
var upload = new FileParameter(stream, fileName ?? RandomName(fileInfo.Extension), asset.MimeType); |
|||
|
|||
return await Assets.PutAssetContentAsync(AppName, asset.Id, upload); |
|||
} |
|||
} |
|||
|
|||
public async Task<AssetDto> UploadFileAsync(string path, string mimeType, string fileName = null, string parentId = null, string id = null) |
|||
{ |
|||
var fileInfo = new FileInfo(path); |
|||
|
|||
await using (var stream = fileInfo.OpenRead()) |
|||
{ |
|||
var upload = new FileParameter(stream, fileName ?? RandomName(fileInfo.Extension), mimeType); |
|||
|
|||
return await Assets.PostAssetAsync(AppName, parentId, id, true, upload); |
|||
} |
|||
} |
|||
|
|||
public async Task<AssetDto> UploadFileAsync(int size, string fileName = null, string parentId = null, string id = null) |
|||
{ |
|||
using (var stream = RandomAsset(size)) |
|||
{ |
|||
var upload = new FileParameter(stream, fileName ?? RandomName(".txt"), "text/csv"); |
|||
|
|||
return await Assets.PostAssetAsync(AppName, parentId, id, true, upload); |
|||
} |
|||
} |
|||
|
|||
private static MemoryStream RandomAsset(int length) |
|||
{ |
|||
var stream = new MemoryStream(length); |
|||
|
|||
var random = new Random(); |
|||
|
|||
for (var i = 0; i < length; i++) |
|||
{ |
|||
stream.WriteByte((byte)random.Next()); |
|||
} |
|||
|
|||
stream.Position = 0; |
|||
|
|||
return stream; |
|||
} |
|||
|
|||
private static string RandomName(string extension) |
|||
{ |
|||
var fileName = $"{Guid.NewGuid()}{extension}"; |
|||
|
|||
return fileName; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-wide-rotated.jpg, |
|||
fileHash: TLNAlI4UM3i8O4IF/O7ZuH3PrI3+bsz4AsBt9NrEydI=, |
|||
isProtected: false, |
|||
slug: logo-wide-rotated.jpg, |
|||
mimeType: image/jpg, |
|||
fileType: jpg, |
|||
metadataText: 600x135px, 15.1 kB, |
|||
metadata: { |
|||
description: JFIF File, |
|||
imageQuality: 79, |
|||
pixelHeight: 135, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/jpg, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 15425, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleAudio_0.4mb.mp3, |
|||
fileHash: 0pbi5CFhQWqqSVy37vaw8bUOg3k1tDrlK1ySXxDrmNE=, |
|||
isProtected: false, |
|||
slug: sampleaudio-0.4mb.mp3, |
|||
mimeType: audio/mp3, |
|||
fileType: mp3, |
|||
metadataText: 00:00:28.2708750, 433.5 kB, |
|||
metadata: { |
|||
audioBitrate: 128, |
|||
audioChannels: 2, |
|||
audioSampleRate: 44100, |
|||
description: MPEG Version 1 Audio, Layer 3, |
|||
duration: 00:00:28.2708750 |
|||
}, |
|||
tags: [ |
|||
type/mp3 |
|||
], |
|||
fileSize: 443926, |
|||
type: Audio, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_700kb.bmp, |
|||
fileHash: LNQGH33R2ShAFTo54UlxKOKzBg8a+yjVaFgzwiHw2LQ=, |
|||
isProtected: false, |
|||
slug: sampleimage-700kb.bmp, |
|||
mimeType: image/bmp, |
|||
fileType: bmp, |
|||
metadataText: 600x400px, 703.2 kB, |
|||
metadata: { |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/bmp, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 720054, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_700kb.bmp, |
|||
fileHash: LNQGH33R2ShAFTo54UlxKOKzBg8a+yjVaFgzwiHw2LQ=, |
|||
isProtected: false, |
|||
slug: sampleimage-700kb.bmp, |
|||
mimeType: image/bmp, |
|||
fileType: bmp, |
|||
metadataText: 600x400px, 703.2 kB, |
|||
metadata: { |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/bmp, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 720054, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_150kb.gif, |
|||
fileHash: j+n9HuQJ0F4n5z0G29NfFlWJTuaGIW+eqw3NDOYCtU8=, |
|||
isProtected: false, |
|||
slug: sampleimage-150kb.gif, |
|||
mimeType: image/gif, |
|||
fileType: gif, |
|||
metadataText: 600x400px, 154.2 kB, |
|||
metadata: { |
|||
description: GIF File, |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/gif, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 157934, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
isProtected: false, |
|||
mimeType: image/gif, |
|||
fileType: blob, |
|||
metadataText: 600x400px, 154.2 kB, |
|||
metadata: { |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/blob, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 157934, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_62kb.jpg, |
|||
fileHash: hmGXmHleJqbU37bbPExix+Jbu36GNq6ZPf09Uw63t8w=, |
|||
isProtected: false, |
|||
slug: sampleimage-62kb.jpg, |
|||
mimeType: image/jpg, |
|||
fileType: jpg, |
|||
metadataText: 600x400px, 62 kB, |
|||
metadata: { |
|||
description: JFIF File, |
|||
imageQuality: 79, |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/jpg, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 63507, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_400kb.png, |
|||
fileHash: RpNNfc8ES2rBybyEgqP//18IgQReGtvjzb845gh0Ews=, |
|||
isProtected: false, |
|||
slug: sampleimage-400kb.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x400px, 428.9 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 439244, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_600kb.tga, |
|||
fileHash: KIi1RB34TaH+sGhnOIVsaPSn8ZRW1EMnM8noCzFbwsk=, |
|||
isProtected: false, |
|||
slug: sampleimage-600kb.tga, |
|||
mimeType: image/x-tga, |
|||
fileType: tga, |
|||
metadataText: 600x400px, 617.2 kB, |
|||
metadata: { |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/tga, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 631995, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_400kb.tiff, |
|||
fileHash: f+ZdTDOoK23jmThbfPhWhXL8Q9+KIQajHeFfT/MtWFU=, |
|||
isProtected: false, |
|||
slug: sampleimage-400kb.tiff, |
|||
mimeType: image/jpg, |
|||
fileType: tiff, |
|||
metadataText: 600x400px, 473.6 kB, |
|||
metadata: { |
|||
description: TIFF File, |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/tiff, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 485012, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleImage_100kb.webp, |
|||
fileHash: WwD409RVswvccG2YopnFqJzpWrCveLrd0Zj6Buw8Vao=, |
|||
isProtected: false, |
|||
slug: sampleimage-100kb.webp, |
|||
mimeType: image/jpg, |
|||
fileType: webp, |
|||
metadataText: 600x400px, 109.5 kB, |
|||
metadata: { |
|||
pixelHeight: 400, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/webp, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 112138, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleVideo_176x144_1mb.3gp, |
|||
fileHash: 5zD+lLsuo4GmL9csQoc25ihbmRzkRUAym+PNe1Z73Y0=, |
|||
isProtected: false, |
|||
slug: samplevideo-176x144-1mb.3gp, |
|||
mimeType: audio/3gpp, |
|||
fileType: 3gp, |
|||
metadataText: 1014.4 kB, |
|||
tags: [ |
|||
type/3gp |
|||
], |
|||
fileSize: 1038741, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleVideo_1280x720_1mb.flv, |
|||
fileHash: 3oKq+MS0nT4apMnvvhPkIpFIBkk+GY8z2qevv16cbgI=, |
|||
isProtected: false, |
|||
slug: samplevideo-1280x720-1mb.flv, |
|||
mimeType: audio/x-flv, |
|||
fileType: flv, |
|||
metadataText: 1 MB, |
|||
tags: [ |
|||
type/flv |
|||
], |
|||
fileSize: 1051185, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleVideo_1280x720_1mb.flv, |
|||
fileHash: 3oKq+MS0nT4apMnvvhPkIpFIBkk+GY8z2qevv16cbgI=, |
|||
isProtected: false, |
|||
slug: samplevideo-1280x720-1mb.flv, |
|||
mimeType: audio/webm, |
|||
fileType: flv, |
|||
metadataText: 1 MB, |
|||
tags: [ |
|||
type/flv |
|||
], |
|||
fileSize: 1051185, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,48 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: SampleVideo_1280x720_1mb.mp4, |
|||
fileHash: SoNpw/wBHvjtUJPXWHOoJrGZco0qSJWp27vl5qXcQOo=, |
|||
isProtected: false, |
|||
slug: samplevideo-1280x720-1mb.mp4, |
|||
mimeType: audio/mp4, |
|||
fileType: mp4, |
|||
metadataText: 1280x720pt, 00:00:05.3120000, 1 MB, |
|||
metadata: { |
|||
audioBitrate: 384, |
|||
audioChannels: 2, |
|||
audioSampleRate: 48000, |
|||
description: MPEG-4 Audio (mp4a); MPEG-4 Video (avc1), |
|||
duration: 00:00:05.3120000, |
|||
videoHeight: 720, |
|||
videoWidth: 1280 |
|||
}, |
|||
tags: [ |
|||
type/mp4 |
|||
], |
|||
fileSize: 1055736, |
|||
type: Video, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: My Image, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: blob, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 19 kB, |
|||
metadata: { |
|||
ph: 20, |
|||
pw: 100 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: my-image, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
tag1, |
|||
tag2 |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: true, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,48 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: zWbRIMB2AYcz3lddAtaNFB4//qDyuwTwNKuUgKHp0Vc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x135px, 17.1 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 135, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 17539, |
|||
fileVersion: 1, |
|||
type: Image, |
|||
version: 1, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
{ |
|||
id: Guid_1, |
|||
parentId: Guid_Empty, |
|||
fileName: logo-squared.png, |
|||
fileHash: pAp0RDvipkoNCCTgey1HTJekRKKEWT6Ft5JdRLuAfAc=, |
|||
isProtected: false, |
|||
slug: logo-squared.png, |
|||
mimeType: image/png, |
|||
fileType: png, |
|||
metadataText: 600x600px, 19 kB, |
|||
metadata: { |
|||
description: PNG File, |
|||
pixelHeight: 600, |
|||
pixelWidth: 600 |
|||
}, |
|||
tags: [ |
|||
type/png, |
|||
image, |
|||
image/medium |
|||
], |
|||
fileSize: 19430, |
|||
type: Image, |
|||
_links: { |
|||
content: { |
|||
method: GET |
|||
}, |
|||
content/slug: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
move: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
upload: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
{ |
|||
createdComments: [ |
|||
{ |
|||
id: Guid_1, |
|||
user: client:root |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,6 @@ |
|||
{ |
|||
deletedComments: [ |
|||
Guid_1 |
|||
], |
|||
version: 1 |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
{ |
|||
updatedComments: [ |
|||
{ |
|||
id: Guid_1, |
|||
user: client:root |
|||
} |
|||
], |
|||
version: 1 |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 1 |
|||
} |
|||
}, |
|||
Status: Draft, |
|||
Id: Guid_1, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
{ |
|||
Data: { |
|||
Localized: { |
|||
custom: default, |
|||
de: default, |
|||
en: null |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 1, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
{ |
|||
Data: { |
|||
String: { |
|||
iv: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36 |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 1, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,5 @@ |
|||
{ |
|||
Number: { |
|||
iv: 1 |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 2 |
|||
}, |
|||
String: { |
|||
iv: test |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 3, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
{ |
|||
Data: {}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 2, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 2 |
|||
}, |
|||
String: { |
|||
iv: test |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 3, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 2 |
|||
}, |
|||
String: { |
|||
iv: test |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 3, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
{ |
|||
Data: { |
|||
Id: { |
|||
iv: id2 |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 2, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
{ |
|||
Items: [ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 2 |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 4, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
], |
|||
Total: 1, |
|||
_links: { |
|||
create: { |
|||
Method: POST |
|||
}, |
|||
create/publish: { |
|||
Method: POST |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
{ |
|||
Items: [ |
|||
{ |
|||
Data: { |
|||
Number: { |
|||
iv: 2 |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 1, |
|||
_links: { |
|||
delete: { |
|||
Method: DELETE |
|||
}, |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
], |
|||
Total: 1, |
|||
_links: { |
|||
create: { |
|||
Method: POST |
|||
}, |
|||
create/publish: { |
|||
Method: POST |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
{ |
|||
Data: { |
|||
my-field: { |
|||
iv: singleton |
|||
} |
|||
}, |
|||
Status: Published, |
|||
Id: Guid_1, |
|||
Version: 2, |
|||
_links: { |
|||
draft/create: { |
|||
Method: POST |
|||
}, |
|||
previous: { |
|||
Method: GET |
|||
}, |
|||
self: { |
|||
Method: GET |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using TestSuite.Fixtures; |
|||
|
|||
#pragma warning disable SA1300 // Element should begin with upper-case letter
|
|||
|
|||
namespace TestSuite.ApiTests |
|||
{ |
|||
public class DiagnosticsTests : IClassFixture<CreatedAppFixture> |
|||
{ |
|||
public CreatedAppFixture _ { get; } |
|||
|
|||
public DiagnosticsTests(CreatedAppFixture fixture) |
|||
{ |
|||
_ = fixture; |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_create_gc_dump() |
|||
{ |
|||
await _.Diagnostics.GetGCDumpAsync(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using TestSuite.Fixtures; |
|||
|
|||
#pragma warning disable SA1300 // Element should begin with upper-case letter
|
|||
|
|||
namespace TestSuite.ApiTests |
|||
{ |
|||
public class HistoryTests : IClassFixture<CreatedAppFixture> |
|||
{ |
|||
public CreatedAppFixture _ { get; } |
|||
|
|||
public HistoryTests(CreatedAppFixture fixture) |
|||
{ |
|||
_ = fixture; |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_get_history() |
|||
{ |
|||
var history = await _.History.WaitForHistoryAsync(_.AppName, null, x => true, TimeSpan.FromSeconds(30)); |
|||
|
|||
Assert.NotEmpty(history); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using TestSuite.Fixtures; |
|||
|
|||
#pragma warning disable SA1300 // Element should begin with upper-case letter
|
|||
|
|||
namespace TestSuite.ApiTests |
|||
{ |
|||
public class PlansTests : IClassFixture<CreatedAppFixture> |
|||
{ |
|||
public CreatedAppFixture _ { get; } |
|||
|
|||
public PlansTests(CreatedAppFixture fixture) |
|||
{ |
|||
_ = fixture; |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task Should_get_plans() |
|||
{ |
|||
var plans = await _.Plans.GetPlansAsync(_.AppName); |
|||
|
|||
Assert.NotNull(plans); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
{ |
|||
id: Guid_1, |
|||
isEnabled: true, |
|||
trigger: { |
|||
triggerType: ContentChanged, |
|||
handleAll: true |
|||
}, |
|||
action: { |
|||
actionType: Webhook, |
|||
url: http://squidex.io |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
logs: { |
|||
method: GET |
|||
}, |
|||
trigger: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
{ |
|||
id: Guid_1, |
|||
version: 1, |
|||
isEnabled: true, |
|||
name: Guid_2, |
|||
trigger: { |
|||
triggerType: ContentChanged, |
|||
handleAll: true |
|||
}, |
|||
action: { |
|||
actionType: Webhook, |
|||
url: http://squidex.io |
|||
}, |
|||
_links: { |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
disable: { |
|||
method: PUT |
|||
}, |
|||
logs: { |
|||
method: GET |
|||
}, |
|||
trigger: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,50 @@ |
|||
{ |
|||
id: Guid_1, |
|||
type: Singleton, |
|||
properties: { |
|||
validateOnPublish: false |
|||
}, |
|||
isPublished: true, |
|||
scripts: {}, |
|||
_links: { |
|||
contents: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
fields/add: { |
|||
method: POST |
|||
}, |
|||
fields/order: { |
|||
method: PUT |
|||
}, |
|||
fields/ui: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
unpublish: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
update/category: { |
|||
method: PUT |
|||
}, |
|||
update/rules: { |
|||
method: PUT |
|||
}, |
|||
update/scripts: { |
|||
method: PUT |
|||
}, |
|||
update/sync: { |
|||
method: PUT |
|||
}, |
|||
update/urls: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,50 @@ |
|||
{ |
|||
id: Guid_1, |
|||
type: Singleton, |
|||
properties: { |
|||
validateOnPublish: false |
|||
}, |
|||
isPublished: true, |
|||
scripts: {}, |
|||
_links: { |
|||
contents: { |
|||
method: GET |
|||
}, |
|||
delete: { |
|||
method: DELETE |
|||
}, |
|||
fields/add: { |
|||
method: POST |
|||
}, |
|||
fields/order: { |
|||
method: PUT |
|||
}, |
|||
fields/ui: { |
|||
method: PUT |
|||
}, |
|||
self: { |
|||
method: GET |
|||
}, |
|||
unpublish: { |
|||
method: PUT |
|||
}, |
|||
update: { |
|||
method: PUT |
|||
}, |
|||
update/category: { |
|||
method: PUT |
|||
}, |
|||
update/rules: { |
|||
method: PUT |
|||
}, |
|||
update/scripts: { |
|||
method: PUT |
|||
}, |
|||
update/sync: { |
|||
method: PUT |
|||
}, |
|||
update/urls: { |
|||
method: PUT |
|||
} |
|||
} |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue