DreamineVMS.Web 1.0.0.0
DreamineVMS 에이전트가 제공하는 HLS 카메라 영상을 브라우저에서 관리·재생하는 원격 CCTV 웹 서비스입니다.
로딩중...
검색중...
일치하는것 없음
DreamineVMS.Web.Services.Auth.VmsDatabase 클래스 참조sealed

더 자세히 ...

Public 멤버 함수

 VmsDatabase ()
SqliteConnection Open ()

Private 멤버 함수

void Initialize ()

Private 속성

readonly string _connectionString

상세한 설명

VMS SQLite 데이터베이스 초기화 및 연결 팩토리입니다.

VmsDatabase.cs 파일의 14 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ VmsDatabase()

DreamineVMS.Web.Services.Auth.VmsDatabase.VmsDatabase ( )
inline

지정한 설정으로 VmsDatabase 클래스의 새 인스턴스를 초기화합니다.

VmsDatabase.cs 파일의 34 번째 라인에서 정의되었습니다.

35 {
36 var dbPath = Path.Combine(AppContext.BaseDirectory, "vms.db");
37 _connectionString = $"Data Source={dbPath}";
38 Initialize();
39 }

다음을 참조함 : _connectionString, Initialize().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ Initialize()

void DreamineVMS.Web.Services.Auth.VmsDatabase.Initialize ( )
inlineprivate

Initialize 작업을 수행합니다.

VmsDatabase.cs 파일의 72 번째 라인에서 정의되었습니다.

73 {
74 using var conn = Open();
75 using var cmd = conn.CreateCommand();
76 cmd.CommandText = """
77 CREATE TABLE IF NOT EXISTS users (
78 id TEXT PRIMARY KEY,
79 email TEXT UNIQUE NOT NULL,
80 display_name TEXT NOT NULL,
81 public_slug TEXT UNIQUE NOT NULL,
82 password_hash TEXT NOT NULL,
83 password_salt TEXT NOT NULL,
84 created_at TEXT NOT NULL
85 );
86
87 CREATE TABLE IF NOT EXISTS cameras (
88 id TEXT PRIMARY KEY,
89 tenant_id TEXT NOT NULL,
90 name TEXT NOT NULL,
91 host TEXT NOT NULL,
92 rtsp_url TEXT NOT NULL,
93 display_order INTEGER NOT NULL DEFAULT 0,
94 enabled INTEGER NOT NULL DEFAULT 1,
95 auto_reconnect INTEGER NOT NULL DEFAULT 1,
96 is_public INTEGER NOT NULL DEFAULT 0
97 );
98 """;
99 cmd.ExecuteNonQuery();
100
101 // 기존 DB 마이그레이션 (컬럼이 이미 있으면 무시)
102 foreach (var ddl in new[]
103 {
104 "ALTER TABLE cameras ADD COLUMN is_public INTEGER NOT NULL DEFAULT 0",
105 "ALTER TABLE users ADD COLUMN live_layout TEXT NOT NULL DEFAULT 'auto'",
106 "ALTER TABLE users ADD COLUMN og_title TEXT NOT NULL DEFAULT ''",
107 "ALTER TABLE users ADD COLUMN og_description TEXT NOT NULL DEFAULT ''",
108 "ALTER TABLE users ADD COLUMN og_image TEXT NOT NULL DEFAULT ''"
109 })
110 {
111 using var alter = conn.CreateCommand();
112 alter.CommandText = ddl;
113 try { alter.ExecuteNonQuery(); } catch { }
114 }
115 }

다음을 참조함 : Open().

다음에 의해서 참조됨 : VmsDatabase().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Open()

SqliteConnection DreamineVMS.Web.Services.Auth.VmsDatabase.Open ( )
inline

Open 작업을 수행합니다.

반환값
Open 작업에서 생성한 SqliteConnection 결과입니다.

VmsDatabase.cs 파일의 57 번째 라인에서 정의되었습니다.

58 {
59 var conn = new SqliteConnection(_connectionString);
60 conn.Open();
61 return conn;
62 }

다음을 참조함 : _connectionString.

다음에 의해서 참조됨 : Initialize().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _connectionString

readonly string DreamineVMS.Web.Services.Auth.VmsDatabase._connectionString
private

connection String 값을 보관합니다.

VmsDatabase.cs 파일의 24 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Open(), VmsDatabase().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: