рдирдорд╕реНрддреЗ!
рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг var APICURIO_SHARE_FOR_EVERYONE рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдореИрдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдПрдкреАрдЖрдИ рджреЗрдЦ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ " рд╕рд╣рдпреЛрдЧреА " рдпрд╛ " рдореЙрдХреНрд╕ " рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдХрд╛рд░рдг рдЦреЛрдЬрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕реЗрд╡рд╛ "getMocks" рд╕рдВрдкрддреНрддрд┐ "isShareForEveryone ()" рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдФрд░ 404 HTTP рддреНрд░реБрдЯрд┐ рд╕реИрдЯрд╕ рд▓реМрдЯрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред "рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ" рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╡рд╣реАред
this.endpoint("/designs/:designId/mocks",
```
public getMocks(apiId: string, from?: number, to?: number): Promise
let getMocksUrl: string = this.endpoint("/designs/:designId/mocks", {
designId: apiId
}, {
start: from,
end: to
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching API mocks: %s", getMocksUrl);
return this.httpGet<ApiMock[]>(getMocksUrl, options);
}
> this.endpoint("/designs/:designId/collaborators",
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ getCollaborators(apiId: string): Promise
let getCollaboratorsUrl: string = this.endpoint("/designs/:designId/collaborators", {
designId: apiId
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching collaborator list: %s", getCollaboratorsUrl);
return this.httpGet<ApiCollaborator[]>(getCollaboratorsUrl, options);
}
**https://github.com/Apicurio/apicurio-studio/blob/master/back-end/hub-api/src/main/java/io/apicurio/hub/api/rest/impl/DesignsResource.java**
> !this.storage.hasWritePermission
@ рдУрд╡рд░рд░рд╛рдЗрдб
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдЧреНрд░рд╣
рд╕рд░реНрд╡рд░ рдПрд░рд░ рдлреЗрдВрдХрддрд╛ рд╣реИ, рдиреЙрдЯрдлрд╛рдЙрдВрдб рдЕрдкрд╡рд╛рдж {
рдЗрдВрдЯ = 0 рд╕реЗ;
рдЗрдВрдЯ рд╕реЗ = 20;
рдЕрдЧрд░ (рд╢реБрд░реВ! = рд╢реВрдиреНрдп) {
рд╕реЗ = start.intValue ();
}
рдЕрдЧрд░ (рдЕрдВрдд! = рд╢реВрдиреНрдп) {
to = end.intValue ();
}
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listApiDesignMocks(designId, from, to);
} catch (StorageException e) {
throw new ServerError(e);
}
}
@ рдУрд╡рд░рд░рд╛рдЗрдб
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдЧреНрд░рд╣
logger.debug ("рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛: {}", designId);
metrics.apiCall("/designs/{designId}/collaborators", "GET");
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listPermissions(designId);
} catch (StorageException e) {
throw new ServerError(e);
}
}
```
рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@AguRyan рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдкрд░, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ hasWritePermission()
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░, isShareForEveryone()
рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИ?
рдирдорд╕реНрддреЗ! рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдмрдЧ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗред 0.2.27.
рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ред
рдореИрдВ рдРрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред
рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ! рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдмрдЧ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗред 0.2.27.
рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ред
рдореИрдВ рдРрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред
рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзрдиреНрдпрд╡рд╛рджред