Сущности - TheRecoveryTeam/TheQuests GitHub Wiki

Содержание

User

interface User {
	id: string;
	nickname: string;
	email: string;
	password: string;
}

Resource

interface QuestResouce {
	id: string;
	name: string;
}

Card

interface CardLink {
	id: string;
	toId: string;
	// не в MVP
	weight?: {
		// Каким образом данная ссылка повлияет на каждый ресурс
		[resourceName: sting]: number;
	}
}
interface Card {
	id: string;
	questId: string;
	title: string;
	imagePath?: string;
	description?: string;
	links?: { [answer: string]: CardLink };
	type: 'choose' | 'input' | 'finish';
}

Quest

interface Quest {
	id: string;
	title: string;
	description: string;
	imagePath: string;
	firstCardId: string | null;
	authorId: string | null;
	// не в MVP
	resources: {
		// Начальное значение ресурса
		[resourceName: string]: number;
	};
}

History

interface HistoryItem {
	questId: string;
	cardId: string;
	stage: 'process' | 'end';
	resources: {
		[resourceName: string]: number;
	};
}
interface History {
	id: string;
	userId: string;
	quests: Array<HistoryItem>;
}

Sessions

interface Token {
	key: string;
	expires: string;
}
interface Sessions {
	[userId: string]: Array<Token>;
}

Ограничения

  • title: 30
  • description: 140
  • nickname: 16
⚠️ **GitHub.com Fallback** ⚠️