Files
zpan/shared/constants.ts
T
Jasper VanandBob 85554512c4 feat: add licenseBinding table, migration 0013_licensing, and shared licensing types (#339)
- Add `licenseBinding` singleton table (id=1) to server/db/schema.ts
- Correct `0012_image-hosting` journal idx from 11→12 (matches its prefix;
  was left wrong by previous rename-only fix in ef1fab8), then auto-generate
  migration 0013_licensing.sql via drizzle-kit
- New 0013_snapshot.json created; 0012_snapshot.json unchanged
- Add ProFeatures enum to shared/constants.ts
- Add shared/types/licensing.ts with LicenseEntitlement, ProFeature, BindingState
- Export new types from shared/types/index.ts

Agent-Profile: https://agent-kanban.dev/agents/a6bb038c4226a87f

Co-authored-by: Bob <aibob@mails.agent-kanban.dev>
2026-04-23 22:39:55 -04:00

54 lines
1.2 KiB
TypeScript

export const StorageMode = {
PRIVATE: 'private',
PUBLIC: 'public',
} as const
export type StorageMode = (typeof StorageMode)[keyof typeof StorageMode]
export const UserRole = {
ADMIN: 'admin',
MEMBER: 'member',
} as const
export type UserRole = (typeof UserRole)[keyof typeof UserRole]
export const DirType = {
FILE: 0,
USER_FOLDER: 1,
SYSTEM_FOLDER: 2,
} as const
export type DirType = (typeof DirType)[keyof typeof DirType]
export const StorageStatus = {
ACTIVE: 'active',
INACTIVE: 'inactive',
} as const
export type StorageStatus = (typeof StorageStatus)[keyof typeof StorageStatus]
export const ObjectStatus = {
DRAFT: 'draft',
ACTIVE: 'active',
TRASHED: 'trashed',
} as const
export type ObjectStatus = (typeof ObjectStatus)[keyof typeof ObjectStatus]
export const SignupMode = {
OPEN: 'open',
INVITE_ONLY: 'invite_only',
CLOSED: 'closed',
} as const
export type SignupMode = (typeof SignupMode)[keyof typeof SignupMode]
export const ProFeatures = {
WHITE_LABEL: 'white_label',
OPEN_REGISTRATION: 'open_registration',
TEAMS_UNLIMITED: 'teams_unlimited',
TEAM_QUOTAS: 'team_quotas',
} as const
export type ProFeatures = (typeof ProFeatures)[keyof typeof ProFeatures]