// Code generated by tygo. DO NOT EDIT.

//////////
// source: WeeklyReport.go

/**
 * This is what should be submitted to the server, the username will be derived from the JWT token
 */
export interface NewWeeklyReport {
  /**
   * The name of the project, as it appears in the database
   */
  projectName: string;
  /**
   * The week number
   */
  week: number /* int */;
  /**
   * Total time spent on development
   */
  developmentTime: number /* int */;
  /**
   * Total time spent in meetings
   */
  meetingTime: number /* int */;
  /**
   * Total time spent on administrative tasks
   */
  adminTime: number /* int */;
  /**
   * Total time spent on personal projects
   */
  ownWorkTime: number /* int */;
  /**
   * Total time spent on studying
   */
  studyTime: number /* int */;
  /**
   * Total time spent on testing
   */
  testingTime: number /* int */;
}

//////////
// source: project.go

/**
 * Project is a struct that holds the information about a project
 */
export interface Project {
  id: number /* int */;
  name: string;
  description: string;
  owner: string;
}
/**
 * As it arrives from the client, Owner is derived from the JWT token
 */
export interface NewProject {
  name: string;
  description: string;
}

//////////
// source: users.go

/**
 * User struct represents a user in the system
 */
export interface User {
  userId: string;
  username: string;
  password: string;
}
/**
 * Should be used when registering, for example
 */
export interface NewUser {
  username: string;
  password: string;
}
/**
 * PublicUser represents a user that is safe to send over the API (no password)
 */
export interface PublicUser {
  userId: string;
  username: string;
}
