Merge pull request #239 from kimatata/develop

This commit is contained in:
kimatata
2025-06-07 22:14:21 +09:00
committed by GitHub
3 changed files with 26 additions and 4 deletions

View File

@@ -1,11 +1,14 @@
const express = require('express');
const router = express.Router();
const defineProject = require('../../models/projects');
const { DataTypes, Op } = require('sequelize');
const defineProject = require('../../models/projects');
const defineMember = require('../../models/members');
module.exports = function (sequelize) {
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const Project = defineProject(sequelize, DataTypes);
const Member = defineMember(sequelize, DataTypes);
Project.hasMany(Member, { foreignKey: 'projectId' });
router.get('/', verifySignedIn, async (req, res) => {
try {
@@ -17,9 +20,24 @@ module.exports = function (sequelize) {
},
});
} else {
// public projects, owned projects, participated projects will be returned
projects = await Project.findAll({
include: [
{
model: Member,
attributes: [],
where: {
[Op.or]: [{ isPublic: true }, { userId: req.userId }],
userId: req.userId,
},
required: false,
},
],
where: {
[Op.or]: [
{ isPublic: true },
{ userId: req.userId },
sequelize.where(sequelize.col('Members.userId'), req.userId),
],
},
});
}

View File

@@ -100,7 +100,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
<NavbarItem className="hidden md:block">
<Chip size="sm" variant="flat">
<Link className="data-[active=true]:text-primary data-[active=true]:font-medium" href="/" locale={locale}>
1.0.0-beta.13
1.0.0-beta.14
</Link>
</Chip>
</NavbarItem>

View File

@@ -78,7 +78,11 @@ export default function AccountPage({ messages, locale }: Props) {
</CardHeader>
<CardFooter className="justify-between pt-0">
<p className="text-small text-default-500">{myProject.detail}</p>
<PublicityChip isPublic={true} publicText={messages.public} privateText={messages.private} />
<PublicityChip
isPublic={myProject.isPublic}
publicText={messages.public}
privateText={messages.private}
/>
</CardFooter>
</Card>
);