147 lines
2.9 KiB
JSON
147 lines
2.9 KiB
JSON
{
|
|
"name": "challenge",
|
|
"base": "PersistedModel",
|
|
"idInjection": true,
|
|
"trackChanges": false,
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"id": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"index": {
|
|
"mongodb": {
|
|
"unique": true,
|
|
"background": true
|
|
}
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"type": "number"
|
|
},
|
|
"suborder": {
|
|
"type": "number"
|
|
},
|
|
"isBeta": {
|
|
"type": "boolean",
|
|
"description": "Show only during dev or on beta site. Completely omitted otherwise"
|
|
},
|
|
"isComingSoon": {
|
|
"type": "boolean",
|
|
"description": "Challenge shows in production, but is unreachable and disabled. Is reachable in beta/dev only if isBeta flag is set"
|
|
},
|
|
"dashedName": {
|
|
"type": "string"
|
|
},
|
|
"superBlock": {
|
|
"type": "string",
|
|
"description": "Used for ordering challenge blocks in map"
|
|
},
|
|
"superOrder": {
|
|
"type": "number",
|
|
"description": "Used to determine super block order, set by prepending two digit number to super block folder name"
|
|
},
|
|
"block": {
|
|
"type": "string"
|
|
},
|
|
"difficulty": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "array"
|
|
},
|
|
"tests": {
|
|
"type": "array"
|
|
},
|
|
"head": {
|
|
"type": "array",
|
|
"default": [],
|
|
"description": "appended to user code"
|
|
},
|
|
"tail": {
|
|
"type": "array",
|
|
"default": [],
|
|
"description": "prepended to user code"
|
|
},
|
|
"helpRoom": {
|
|
"type": "string",
|
|
"default": "Help",
|
|
"description": "Gitter help chatroom this challenge belongs too. Must be PascalCase"
|
|
},
|
|
"fileName": {
|
|
"type": "string",
|
|
"description": "filename challenge comes from. Used in dev mode"
|
|
},
|
|
"challengeSeed": {
|
|
"type": "array"
|
|
},
|
|
"challengeType": {
|
|
"type": "string"
|
|
},
|
|
"MDNlinks": {
|
|
"type": "array"
|
|
},
|
|
"nameCn": {
|
|
"type": "string"
|
|
},
|
|
"descriptionCn": {
|
|
"type": "array"
|
|
},
|
|
"nameFr": {
|
|
"type": "string"
|
|
},
|
|
"descriptionFr": {
|
|
"type": "array"
|
|
},
|
|
"nameRu": {
|
|
"type": "string"
|
|
},
|
|
"descriptionRu": {
|
|
"type": "array"
|
|
},
|
|
"nameEs": {
|
|
"type": "string"
|
|
},
|
|
"descriptionEs": {
|
|
"type": "array"
|
|
},
|
|
"namePt": {
|
|
"type": "string"
|
|
},
|
|
"descriptionPt": {
|
|
"type": "array"
|
|
},
|
|
"solutions": {
|
|
"type": "array",
|
|
"default": []
|
|
},
|
|
"releasedOn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"validations": [],
|
|
"relations": {},
|
|
"acls": [
|
|
{
|
|
"accessType": "*",
|
|
"principalType": "ROLE",
|
|
"principalId": "$everyone",
|
|
"permission": "DENY"
|
|
},
|
|
{
|
|
"accessType": "READ",
|
|
"principalType": "ROLE",
|
|
"principalId": "$everyone",
|
|
"permission": "ALLOW"
|
|
}
|
|
],
|
|
"methods": []
|
|
}
|