entity

package
v0.0.0-...-11149d6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package entity エンティティ関連の構造体を定義するパッケージ。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Absence

type Absence struct {
	AbsenceID    uuid.UUID `json:"absence_id"`
	AttendanceID uuid.UUID `json:"attendance_id"`
}

Absence 欠席を表す構造体。

type AttachableItem

type AttachableItem struct {
	AttachableItemID uuid.UUID `json:"attachable_item_id"`
	OwnerID          UUID      `json:"owner_id"`
	URL              string    `json:"url"`
	Size             Float     `json:"size"`
	MimeTypeID       uuid.UUID `json:"mime_type_id"`
	Image            Image     `json:"image,omitempty"`
	File             File      `json:"file,omitempty"`
}

AttachableItem 添付アイテムを表す構造体。

type AttachableItemWithMimeType

type AttachableItemWithMimeType struct {
	AttachableItemID uuid.UUID `json:"attachable_item_id"`
	OwnerID          UUID      `json:"owner_id"`
	URL              string    `json:"url"`
	Size             Float     `json:"size"`
	MimeType         MimeType  `json:"mime_type"`
	Image            Image     `json:"image,omitempty"`
	File             File      `json:"file,omitempty"`
}

AttachableItemWithMimeType 添付アイテムと MIME タイプを表す構造体。

type AttachableItemWithOnChatRoom

type AttachableItemWithOnChatRoom struct {
	AttachedMessageID uuid.UUID `json:"attached_message_id"`
	MessageID         uuid.UUID `json:"message_id"`
	FileURL           string    `json:"file_url"`
}

AttachableItemWithOnChatRoom チャットルームに添付された添付を表す構造体。

type AttachedMessageOnMessage

type AttachedMessageOnMessage struct {
	AttachedMessageID uuid.UUID `json:"attached_message_id"`
	FileURL           string    `json:"file_url"`
}

AttachedMessageOnMessage メッセージに添付された添付を表す構造体。

type AttendStatus

type AttendStatus struct {
	AttendStatusID uuid.UUID `json:"attend_status_id"`
	Name           string    `json:"name"`
	Key            string    `json:"key"`
}

AttendStatus 出欠ステータスを表す構造体。

type Attendance

type Attendance struct {
	AttendanceID       uuid.UUID `json:"attendance_id"`
	AttendanceTypeID   uuid.UUID `json:"attendance_type_id"`
	MemberID           uuid.UUID `json:"member_id"`
	Description        string    `json:"description"`
	Date               Date      `json:"date"`
	MailSendFlag       bool      `json:"mail_send_flag"`
	SendOrganizationID UUID      `json:"send_organization_id"`
	PostedAt           time.Time `json:"posted_at"`
	LastEditedAt       time.Time `json:"last_edited_at"`
}

Attendance 出席を表す構造体。

type AttendanceType

type AttendanceType struct {
	AttendanceTypeID uuid.UUID `json:"attendance_type_id"`
	Name             string    `json:"name"`
	Key              string    `json:"key"`
	Color            string    `json:"color"`
}

AttendanceType 出席種別を表す構造体。

type ChatRoom

type ChatRoom struct {
	ChatRoomID       uuid.UUID `json:"chat_room_id"`
	Name             String    `json:"name"`
	IsPrivate        bool      `json:"is_private"`
	FromOrganization bool      `json:"from_organization"`
	CoverImageURL    String    `json:"cover_image_url"`
	OwnerID          UUID      `json:"owner_id"`
}

ChatRoom チャットルームを表す構造体。

type ChatRoomBelonging

type ChatRoomBelonging struct {
	MemberID   uuid.UUID `json:"member_id"`
	ChatRoomID uuid.UUID `json:"chat_room_id"`
	AddedAt    time.Time `json:"added_at"`
}

ChatRoomBelonging チャットルーム所属を表す構造体。

type Date

type Date struct {
	Time             time.Time
	Status           Status
	InfinityModifier InfinityModifier
}

Date 日付型。

type EarlyLeaving

type EarlyLeaving struct {
	EarlyLeavingID uuid.UUID `json:"early_leaving_id"`
	AttendanceID   uuid.UUID `json:"attendance_id"`
	LeaveTime      time.Time `json:"leave_time"`
}

EarlyLeaving 早退を表す構造体。

type Entity

type Entity any

Entity エンティティのインターフェース。

type Event

type Event struct {
	EventID            uuid.UUID `json:"event_id"`
	EventTypeID        uuid.UUID `json:"event_type_id"`
	Title              string    `json:"title"`
	Description        String    `json:"description"`
	OrganizationID     UUID      `json:"organization_id"`
	StartTime          time.Time `json:"start_time"`
	EndTime            time.Time `json:"end_time"`
	MailSendFlag       bool      `json:"mail_send_flag"`
	SendOrganizationID UUID      `json:"send_organization_id"`
	PostedBy           UUID      `json:"posted_by"`
	LastEditedBy       UUID      `json:"last_edited_by"`
	PostedAt           time.Time `json:"posted_at"`
	LastEditedAt       time.Time `json:"last_edited_at"`
}

Event イベントを表す構造体。

type EventType

type EventType struct {
	EventTypeID uuid.UUID `json:"event_type_id"`
	Name        string    `json:"name"`
	Key         string    `json:"key"`
	Color       string    `json:"color"`
}

EventType イベント種別を表す構造体。

type File

type File struct {
	FileID           uuid.UUID `json:"file_id"`
	AttachableItemID uuid.UUID `json:"attachable_item_id"`
}

File ファイルを表す構造体。

type Float

type Float struct {
	Float64 float64
	Status  Status
}

Float 浮動小数点数型。

type Grade

type Grade struct {
	GradeID        uuid.UUID `json:"grade_id"`
	Key            string    `json:"key"`
	OrganizationID uuid.UUID `json:"organization_id"`
}

Grade 学年を表す構造体。

type Group

type Group struct {
	GroupID        uuid.UUID `json:"group_id"`
	Key            string    `json:"key"`
	OrganizationID uuid.UUID `json:"organization_id"`
}

Group グループを表す構造体。

type Image

type Image struct {
	ImageID          uuid.UUID `json:"image_id"`
	Height           Float     `json:"height"`
	Width            Float     `json:"width"`
	AttachableItemID uuid.UUID `json:"attachable_item_id"`
}

Image 画像を表す構造体。

type InfinityModifier

type InfinityModifier int8

InfinityModifier 無限大の修飾子。

const (
	// Infinity 無限大。
	Infinity InfinityModifier = 1
	// None 無限大なし。
	None InfinityModifier = 0
	// NegativeInfinity 負の無限大。
	NegativeInfinity InfinityModifier = -Infinity
)

type Int

type Int struct {
	Int64 int64
	Valid bool
}

Int 整数型。

type LabIOHistory

type LabIOHistory struct {
	LabIoHistoryID uuid.UUID   `json:"lab_io_history_id"`
	MemberID       uuid.UUID   `json:"member_id"`
	EnteredAt      time.Time   `json:"entered_at"`
	ExitedAt       Timestamptz `json:"exited_at"`
}

LabIOHistory ラボ出入履歴を表す構造体。

type LateArrival

type LateArrival struct {
	LateArrivalID uuid.UUID `json:"late_arrival_id"`
	AttendanceID  uuid.UUID `json:"attendance_id"`
	ArriveTime    time.Time `json:"arrive_time"`
}

LateArrival 遅刻を表す構造体。

type Member

type Member struct {
	MemberID               uuid.UUID `json:"member_id"`
	Email                  string    `json:"email"`
	Name                   string    `json:"name"`
	AttendStatusID         uuid.UUID `json:"attend_status_id"`
	ProfileImageURL        String    `json:"profile_image_url"`
	GradeID                uuid.UUID `json:"grade_id"`
	GroupID                uuid.UUID `json:"group_id"`
	PersonalOrganizationID uuid.UUID `json:"personal_organization_id"`
	RoleID                 UUID      `json:"role_id"`
}

Member メンバーを表す構造体。

type Message

type Message struct {
	MessageID    uuid.UUID `json:"message_id"`
	ChatRoomID   uuid.UUID `json:"chat_room_id"`
	SenderID     UUID      `json:"sender_id"`
	Body         string    `json:"body"`
	PostedAt     time.Time `json:"posted_at"`
	LastEditedAt time.Time `json:"last_edited_at"`
}

Message メッセージを表す構造体。

type MimeType

type MimeType struct {
	MimeTypeID uuid.UUID `json:"mime_type_id"`
	Name       string    `json:"name"`
	Key        string    `json:"key"`
	Kind       string    `json:"kind"`
}

MimeType MIMEタイプを表す構造体。

type OID

type OID uint32

OID オブジェクトID型。

type Organization

type Organization struct {
	OrganizationID uuid.UUID `json:"organization_id"`
	Name           string    `json:"name"`
	Color          string    `json:"color"`
	Description    String    `json:"description"`
	IsPersonal     bool      `json:"is_personal"`
	IsWhole        bool      `json:"is_whole"`
	ChatRoomID     UUID      `json:"chat_room_id"`
}

Organization 組織を表す構造体。

type Permission

type Permission struct {
	PermissionID         uuid.UUID `json:"permission_id"`
	Name                 string    `json:"name"`
	Description          string    `json:"description"`
	Key                  string    `json:"key"`
	PermissionCategoryID uuid.UUID `json:"permission_category_id"`
}

Permission 権限を表す構造体。

type PermissionCategory

type PermissionCategory struct {
	PermissionCategoryID uuid.UUID `json:"permission_category_id"`
	Name                 string    `json:"name"`
	Description          string    `json:"description"`
	Key                  string    `json:"key"`
}

PermissionCategory 権限カテゴリを表す構造体。

type Policy

type Policy struct {
	PolicyID         uuid.UUID `json:"policy_id"`
	Name             string    `json:"name"`
	Description      string    `json:"description"`
	Key              string    `json:"key"`
	PolicyCategoryID uuid.UUID `json:"policy_category_id"`
}

Policy ポリシーを表す構造体。

type PolicyCategory

type PolicyCategory struct {
	PolicyCategoryID uuid.UUID `json:"policy_category_id"`
	Name             string    `json:"name"`
	Description      string    `json:"description"`
	Key              string    `json:"key"`
}

PolicyCategory ポリシーカテゴリを表す構造体。

type PositionHistory

type PositionHistory struct {
	PositionHistoryID uuid.UUID `json:"position_history_id"`
	MemberID          uuid.UUID `json:"member_id"`
	XPos              float64   `json:"x_pos"`
	YPos              float64   `json:"y_pos"`
	SentAt            time.Time `json:"sent_at"`
}

PositionHistory 位置情報の履歴を表す構造体。

type Professor

type Professor struct {
	ProfessorID uuid.UUID `json:"professor_id"`
	MemberID    uuid.UUID `json:"member_id"`
}

Professor 教授を表す構造体。

type Record

type Record struct {
	RecordID       uuid.UUID `json:"record_id"`
	RecordTypeID   uuid.UUID `json:"record_type_id"`
	Title          string    `json:"title"`
	Body           String    `json:"body"`
	OrganizationID UUID      `json:"organization_id"`
	PostedBy       UUID      `json:"posted_by"`
	LastEditedBy   UUID      `json:"last_edited_by"`
	PostedAt       time.Time `json:"posted_at"`
	LastEditedAt   time.Time `json:"last_edited_at"`
}

Record レコードを表す構造体。

type RecordType

type RecordType struct {
	RecordTypeID uuid.UUID `json:"record_type_id"`
	Name         string    `json:"name"`
	Key          string    `json:"key"`
}

RecordType レコードタイプを表す構造体。

type Role

type Role struct {
	RoleID      uuid.UUID `json:"role_id"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
}

Role ロールを表す構造体。

type RoleAssociation

type RoleAssociation struct {
	RoleID   uuid.UUID `json:"role_id"`
	PolicyID uuid.UUID `json:"policy_id"`
}

RoleAssociation ロールとポリシーの関連を表す構造体。

type Status

type Status byte

Status ステータスを表す型。

const (
	// Undefined 未定義。
	Undefined Status = iota
	// Null 無効。
	Null
	// Present 有効。
	Present
)

type String

type String struct {
	String string
	Valid  bool
}

String 文字列型。

type Student

type Student struct {
	StudentID uuid.UUID `json:"student_id"`
	MemberID  uuid.UUID `json:"member_id"`
}

Student 生徒を表す構造体。

type Timestamptz

type Timestamptz struct {
	Time             time.Time
	Status           Status
	InfinityModifier InfinityModifier
}

Timestamptz タイムスタンプ型。

type UUID

type UUID struct {
	Bytes  [16]byte
	Status Status
}

UUID UUID型。

type UUIDs

type UUIDs struct {
	UUIDs  []UUID
	Status Status
}

UUIDs UUIDのスライス型。

type WorkPosition

type WorkPosition struct {
	WorkPositionID uuid.UUID `json:"work_position_id"`
	Name           string    `json:"name"`
	OrganizationID uuid.UUID `json:"organization_id"`
	Description    string    `json:"description"`
}

WorkPosition 役職を表す構造体。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL