mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-12 18:32:44 +00:00
fix: allow user to basic access conference information
This commit is contained in:
@@ -6,7 +6,7 @@ import { ConferenceStatus } from "./types";
|
||||
export default class Conference {
|
||||
private _data: IConferenceDocument;
|
||||
private _repositories: Repository[] = null;
|
||||
|
||||
|
||||
constructor(data: IConferenceDocument) {
|
||||
this._data = data;
|
||||
}
|
||||
@@ -79,6 +79,30 @@ export default class Conference {
|
||||
return this._data.status;
|
||||
}
|
||||
|
||||
get conferenceID() {
|
||||
return this._data.conferenceID;
|
||||
}
|
||||
|
||||
get name() {
|
||||
return this._data.name;
|
||||
}
|
||||
|
||||
get startDate() {
|
||||
return this._data.startDate;
|
||||
}
|
||||
|
||||
get endDate() {
|
||||
return this._data.endDate;
|
||||
}
|
||||
|
||||
get url() {
|
||||
return this._data.url;
|
||||
}
|
||||
|
||||
get options() {
|
||||
return this._data.options;
|
||||
}
|
||||
|
||||
toJSON(opt?: { billing: boolean }): any {
|
||||
const pricePerHourPerRepo = this._data.plan.pricePerRepository / 30;
|
||||
let price = 0;
|
||||
|
||||
@@ -215,20 +215,31 @@ router.get(
|
||||
"/:conferenceID",
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
try {
|
||||
const user = await getUser(req);
|
||||
const data = await ConferenceModel.findOne({
|
||||
conferenceID: req.params.conferenceID,
|
||||
});
|
||||
if (!data)
|
||||
throw new AnonymousError("conf_not_found", {
|
||||
object: req.params.conferenceID,
|
||||
httpStatus: 404,
|
||||
});
|
||||
throw new AnonymousError("conf_not_found", {
|
||||
object: req.params.conferenceID,
|
||||
httpStatus: 404,
|
||||
});
|
||||
const user = await getUser(req);
|
||||
const conference = new Conference(data);
|
||||
isOwnerOrAdmin(conference.ownerIDs, user);
|
||||
const o: any = conference.toJSON();
|
||||
o.repositories = (await conference.repositories()).map((r) => r.toJSON());
|
||||
res.json(o);
|
||||
try {
|
||||
isOwnerOrAdmin(conference.ownerIDs, user);
|
||||
const o: any = conference.toJSON();
|
||||
o.repositories = (await conference.repositories()).map((r) => r.toJSON());
|
||||
res.json(o);
|
||||
} catch (error) {
|
||||
return res.json({
|
||||
conferenceID: conference.conferenceID,
|
||||
name: conference.name,
|
||||
url: conference.url,
|
||||
startDate: conference.startDate,
|
||||
endDate: conference.endDate,
|
||||
options: conference.options,
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user