@frigear-nu/活动
以数据库为基础的Frigear生态系统事件:票型(免费和付费),食品、容量、销售等附加物
窗口、每个用户限制、可选会员资格要求、条纹支付
@frigear-nu/payments,使用 @nuxt/ui。 。 。 .
快速设置
要求数 @nuxthub/core 与 hub.kv: true, (中文(简体) ), @frigear-nu/users, (中文(简体) ), @frigear-nu/stripe 财务报告和审定财务报表 @frigear-nu/payments。 。 。 .
@frigear-nu/subscriptions (会员资格要求)和 @frigear-nu/menu 是可选的.
export default defineNuxtConfig({
modules: ['@frigear-nu/users', '@frigear-nu/stripe', '@frigear-nu/payments', '@frigear-nu/events'],
events: { settings: { pages: { events: true, event: true, tickets: true } } },
})
为您的应用程序中的事件表创建并执行迁移( 请参见仓库) AGENTS.md) (中文(简体) ).
工作人员路线(活动管理、报到) events:manage 权限( MCP 需要访问的细节) events:pii, (中文(简体) ),
只退还会话 events:refund) (中文(简体) ). 让他们扮演一个角色, 无论是模块的 eventmanager 角色
(单位:千美元)events: { settings: { roles: true } })或你自己:
export default defineNuxtConfig({
authorization: { roles: { coordinator: { label: 'Coordinator', grant: ['events:manage', 'events:refund', 'events:pii'] } } },
})
联合国 events:manage 财务报告和审定财务报表 events:refund (单位:千美元)definePolicy)接收事件行(typeof schema.events.$inferSelect(中文(简体) )
作为 record,在每个路由和MCP工具上:同样当动作在一个票型,加到组,加到或入票,
保险单获得它所属的事件(从不包含儿童行)。 无记录的检查( 列出、 创建事件) 运行
保险单 withoutRecord。 。 。 .
// server/policies.ts: youth coordinators manage the `youth-*` events only
export default [
definePolicy<typeof schema.events.$inferSelect>('events:manage', async ({ event, user, record }) =>
(await getEffectiveRoles(event, user)).includes('youth') ? record?.slug.startsWith('youth-') : undefined),
]
车票(tickets:read, (中文(简体) ), tickets:write)是自助服务:每个登录用户都持有. 命名范围 tickets
为 API 令牌 和 OAuth 客户端提供 .
完整文档: apps/docs/content/3.modules/3.features/1.events/index.md。 。 。 .
发展
pnpm --filter @frigear-nu/events test
pnpm --filter @frigear-nu/events lint