# -*- text -*-
#
#  cui/mysql/queries.conf -- Queries to update a MySQL CUI table.
#
#  $Id: f8f18cab562e7321756cd1f3411bbc9897ef3377 $

post-auth {
	query = "\
		INSERT IGNORE INTO ${..cui_table} \
			(clientipaddress, callingstationid, username, cui, lastaccounting) \
		VALUES \
			('%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}', '%{Calling-Station-Id}', \
			'%{User-Name}', '%{reply:Chargeable-User-Identity}', NULL) \
		ON DUPLICATE KEY UPDATE \
			lastaccounting='0000-00-00 00:00:00', \
			cui='%{reply:Chargeable-User-Identity}'"

}

accounting {
	reference = "%{tolower:type.%{Acct-Status-Type}.query}"
	type {
		start {
			query = "\
				UPDATE ${....cui_table} SET \
					lastaccounting = CURRENT_TIMESTAMP \
				WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \
				AND callingstationid = '%{Calling-Station-Id}' \
				AND username = '%{User-Name}' \
				AND cui = '%{Chargeable-User-Identity}'"
		}
		interim-update {
			query ="\
				UPDATE ${....cui_table} SET \
					lastaccounting = CURRENT_TIMESTAMP \
				WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \
				AND callingstationid = '%{Calling-Station-Id}' \
				AND username = '%{User-Name}' \
				AND cui = '%{Chargeable-User-Identity}'"
		}
		stop {
			query ="\
				DELETE FROM ${....cui_table} \
				WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \
				AND callingstationid = '%{Calling-Station-Id}' \
				AND username = '%{User-Name}' \
				AND cui = '%{Chargeable-User-Identity}'"
		}
	}
}
